We released Deveo 3.10 yesterday. We are releasing a new version of Deveo approximately monthly, typically during the first week of every month. Releasing a new version of Deveo monthly allows us to balance the release cadence between the requirements we get and the roadmap we are following with the cost of releasing.
The release 3.10, or "May release" as it reads in our internal backlog, was quite a success. As a team, we were able to "estimate" the number of tasks quite well. We had 31 tasks originally, and we were able to complete 29 of them. I put "estimate" in quotes since we don't really do severe up-front estimations, but rather try to think how much we are able to accomplish and keep the number of tasks in a current iteration small and pull more stuff from the backlog if needed. But that's enough talk about our internal workflows for now. The following chapters will highlight what's new in Deveo 3.10, and why we are delivering these features.
One of the bigger enhancements we delivered with Deveo 3.10 is the code comparison. We have actually had the API capability to this functionality for quite some time, but the UI hasn't been implemented. The usage of the functionality is fairly straightforward. You can go to the code browser, click on the "compare to another revision" button, select the revisions you wish to compare, and enjoy. The functionality supports all Git, Subversion and Mercurial repositories. You can watch the functionality in action below.
For long, some of our customers have requested that Deveo would support side-by-side diffs in addition to traditional diffs. You know what, your wishes have now come true. Side-by-side diffs are pretty self-explanatory. They can be used in code reviews, code browser as well as in the code comparison. Watch the video below to see them in code reviews.
Keyboard navigation support for dropdowns
There are basically two types of people, those who navigate using the mouse, and those who navigate using keyboard. For those who like to do a lot with the keyboard, Deveo 3.10 gives some enhancements. All the dropdowns have been converted to support keyboard navigation. You have the possibility to filter the content as well as the ability to select the options using the keyboard.
Linking commits and feature branches to issues
We have compared Deveo issue tracking functionality to some of the similar products available, such as Github and Bitbucket, in a separate blog post. While Deveo has had advantages over the two aforementioned, such as the ability to define the workflow better, it has lacked the ability to link code changes to issues. In Deveo 3.10 it is now possible to link any commit in a repository that belongs to a project to an issue that belongs to the same project. The linking happens simply by referencing the issue number (e.g. #1) in the commit message.
In addition to linking individual commits, it's sometimes convenient to link the whole branch, so it's easy to see which branches in different repositories relate to a certain issue. A simple use case would be where the project is divided into, say, backend and front-end, and where we would like to reference a feature branch in both of the repositories in one issue. This is also possible now.
If the previous functionalities weren't enough, we included one feature that enhances the daily tasks and saves a click or two. The functionality is called quick actions, and it replaces the existing "New project" button. With quick actions, you can access the most common actions quickly from the top bar. Quick actions are context-specific, meaning that if you are in a project, you will see project related quick actions whereas if you are browsing projects, users or groups at the company level, you will see a different set of quick actions.
Trigger hooks based on path or reference
As an example of customer focus at Deveo, one of our customers had evaluated Deveo and Bitbucket server side-by-side. They had a need for triggering hooks based on file paths or specific refs. It seems Bitbucket has had the ticket open quite a long time already. We managed to match the needs of our customer in less than 3 months from the initial request. You can read more about restricting the hooks from our user guide.
In addition to the more visible improvements, we have a list of smaller enhancements that are there for your convenience. The first of these improvements has bothered us internally for some time. For a while now, the project selector dropdown has had two tabs, one for jumping into a project you are affiliated with, and another for searching projects. We have finally taken the time and combined the two tabs into one, where both of the functionality is in place. It makes searching projects more convenient and saves one step if you want to search for a project.
Deveo has a Git powered Wiki, which stores the documentation in Markdown format. The Wiki got a nice new side-by-side editor in Deveo 3.8, and in Deveo 3.10 we made it easier to see the change history of a page by including a page history link on top of each page.
If you install Deveo on your own hardware, you might have the need to have a specific email template for password and account related emails Deveo sends. While we had templates for most of the emails already, in Deveo 3.10 we included a template for password resets and recoveries. In addition, we added the company id to be shown in the welcome emails.
Some even smaller improvements include removing username from Subversion HTTP clone URL, since Subversion doesn't use it, hiding Admin and Customer portal links from non-company admin users, as well as selecting the first available milestone by default when creating new issues unless you have selected a milestone already from issue listing.
For those of you, who don't use master as a default branch, Deveo has had the possibility to configure a default branch that is used in the repository browser for some time, and now the default branch is also used for Git checkouts. Lastly, it is now possible to configure a custom SSH port to be used with Git and Mercurial clone URLs.
Security and audit logging
Deveo supports audit logging in multiple ways. Some of the data that is used for audit logging is available through our APIs and is stored in a database. In Deveo 3.10 we added events from user and collaborator removal to be logged and accessed via APIs.
For security improvements, we revised our security headers and hardened them to match requirements that were set during a security audit. We also added the ability to configure MongoDB authentication for combo on-premise installations. You can read how to configure it from the Administrator documentation.
In Deveo 3.10 we fixed some bugs as well. Renaming paths containing whitespace were encoded for Subversion over HTTP and HTTPS protocols. Because it only affected HTTP and HTTPS (not SSH), it had been there for quite some time. Luckily it's now fixed. We also managed to squash a rarely happening bug in the Wiki that caused the page content to be shown twice. Some other bugs were also squashed. The full list can be found from the release notes.
Deveo 3.10 should offer any existing user something new and worthy to upgrade. For those of you who haven't used Deveo before, sign up for free.