Coming Up on the Roadmap
A little over a year ago, we published a post detailing some of the features on our roadmap. As you might expect, some of those features have now been released: the diff viewer with inline highlighting for changes was part of Tower 5.0,
rebase --onto arrived with Tower 5.2 and Tower 6.3 brought us force push with lease. Along the way, we’ve also released a big overhaul for macOS Big Sur and a selection of other features, big and small.
The time is ripe, then, for another look at what we’ve got coming up! In this post, we’ll cover some of the things you can expect in future versions of Tower.
How do we choose which features make their way into Tower? In the previous roadmap post, Tobi mentioned three cornerstones of the Tower development philosophy: productivity, power, and ease of use. This sums it up pretty well. Tower helps productivity by making daily tasks more streamlined, so you spend less time tinkering with version control and more time working on the stuff that matters. Far from being a dumbed-down version of Git, Tower brings you the power of Git in a GUI, perhaps allowing you to utilize functions of Git you wouldn’t even have discovered if you were only using the command line. Finally, we place great emphasis on making Tower easy to use — this is a tool, a part of peoples workflows, and we want to make sure Tower provides an intuitive, dependable user experience!
Windows Beta and Beyond
Let’s begin with some news for our Windows users. Tower 3 for Windows is currently in beta, bringing a visual overhaul (including a new dark mode), greatly improved performance, new features including Quick Actions and search, and much more. If you’re on Windows and this sounds interesting to you, head over to our Tower Windows beta page and sign up for the beta!
Of course, there are updates in the works for Windows beyond what's in the current beta. Here's a short selection:
GPG support will make it possible to sign commits and tags and to verify signed commits and tags — in short, making sure a commit really is from the author it claims to be.
Force push with lease is a safer alternative to force pushing — a somewhat simplified explanation is that this operation will warn you if there have been commits you might not be aware of on the remote branch you’re trying to overwrite.
Publish service repository lets you take a local repository and publish it to a service like GitHub or Bitbucket without leaving Tower.
A welcome change for many will be the improvements to commit message composing. The commit message body will get a scrollable text control and will autocomplete references to commits, issues and more from associated service repositories. This will make things like referencing a GitHub issue in your commit message that much easier.
Another improvement in the works is configurable line wrapping, making it easier to adhere to commit message formatting standards.
Commit composing is available in the Tower 7.0 beta. If you want early access, simply switch to our beta channel within Tower, as described here. Here's a sneak peek at the feature as it currently exists:
We’re making some improvements to branches and their history views. In particular, we’re making it possible to filter the commits shown to those specific to the current branch, i.e. those made after it diverged from another branch. You’ll be able to quickly merge a base branch into a feature branch and vice versa, close the feature branch after merging it, and to show any pull request associated with the current branch. If your day-to-day workflow includes working with feature branches and pull requests, these small improvements may make a big difference!
We’re working on updates to the way references like branches and tags are shown in the sidebar. We want to let users filter branches and tags by name, configure how references are sorted, and even hide references according to configurable criteria. Another feature in the works is a view providing a detailed overview of all branches and tags in a repository, making it easier to do things like detecting stale branches and removing them.
The history view also has some tweaks coming up. Jumping to branches or commits in the history will be easier, it will be possible to see which branches a particular commit is on, and to auto-expand commit changesets depending on a configurable treshold.
Tower handles merge conflicts pretty well already: our merge conflict wizard makes it easy to pick a version of a file to resolve a conflict. However, there’s always potential for improvement! In the Working Copy view, we’re working on making it possible to filter the view to only show files with merge conflicts and to reset resolved entries so they can be re-resolved. We also want to add merge conflict indicators for the pull and merge actions.
One of the bigger changes currently planned is the new Dashboard view. This view will fulfil the duties of two existing views: the Services view and the Bookmark view. As such, the Dashboard will be the place to manage your repositories as well as your accounts for services like GitHub and GitLab.
As you can see, development on Tower for both macOS and Windows is proceeding at a fast pace! Great care is taken, however, to ensure that new features align with the vision of Tower as a streamlined, powerful yet easy-to-use tool. We look forward to hearing your thoughts on these new features when they land in betas or releases. Thanks for reading!