Coming Up on the Roadmap
The year, so far, has been incredibly productive for us: between February and May, we've managed to publish 6 new releases on macOS and 3 on Windows for our beloved Tower Git client. 💪 Big new features like support for "undo" via CMD+Z, Partial Stashing, and First-Parent Filtering have been rolled out alongside many smaller improvements and fixes.
In this post, we want to take a look at the future and give you a glimpse into what's coming up on our roadmap for Tower on Mac and Windows.
A More Powerful Diff Viewer
A large part of "working with Git" is synonymous with "looking at diffs": if you want to understand what happened in your project, you need to look at und understand the actual diffs. The interface Tower provides for this task - our integrated diff viewer - has been a joy to work with in most aspects: being a native implementation, both performance and UI have always been really good.
Nonetheless, we knew that a couple of additional features could lift our diff viewer to a whole new level. At the same time, we were hesitant to go in this direction, because it would mean that Tower would be almost as powerful as a dedicated, separate diff tool application - and we were very cognizant of the complexity and efforts this would bring.
With version 5.0, we're proud to say, the integrated diff viewer in Tower will be a lot more powerful 💪
- Diffs for Untracked Files: Tower can now display the diffs of new/untracked files. And it even allows you to stage/unstage/discard parts of their changes - again, even though they are still untracked!
- Show/Hide Whitespace Changes: Depending on your use case and preferences, you might want to either explicitly hide or show changes that are made up of only whitespace. This small, but very valuable feature is now also available in Tower's diff viewer.
- Highlight Inline Changes: Especially when a longer line of code is changed, it might be hard to spot what exactly has been changed. Tower can now highlight the exact change that occured in a certain line!
These changes make Tower's internal diff viewer much more powerful. And for some of our users, this might be the day Tower replaces their external diff tool application altogether! Although not publicly released yet, you will soon be able to download and use version 5.0 via our beta updates channel!
The "Rebase" command is well known in Git, but not its
--onto option, which can be immensely helpful. In short,
rebase --onto allows you to "switch the base" for a series of commits.
A common, practical use case for this is when you want to switch the base of a feature branch to a different branch:
A normal rebase wouldn't work for this scenario.
rebase --onto allows you to be much more precise - and it will soon be available in Tower for Mac and Windows!
Force Push with Lease
git push with its
--force option is generally discouraged, because it has the power to completely overwrite valuable changes from your coworkers (or yourself). And yet, there are situations when a little bit of
force is necessary.
We're happy to announce that Tower will soon include a safer alternative, by offering the
--force-with-lease option for
git push. In a nutshell (and a bit simplified), this will only allow you to force-push if none of your teammates have pushed additional changes to the remote repository in the meantime. This effectively acts as a safety mechanism and helps to prevent disastrous usage of the
Dark Mode on Windows
The upcoming version 3.0 for Windows will bring the eagerly awaited Dark Mode! 🎉
But not only that: we've also taken the chance to make a general visual overhaul in all parts of the app, although this has taken us quite some time and effort. This means that, in addition to a gorgeous-looking "Dark Mode", you will also find the normal/light mode much improved: from all main views down to the dialogs, you will find Tower for Windows in a refreshed interface.
Since we're already close to publishing this release, I'm allowed to do some teasing:
The commit history view in the upcoming "Dark Mode" release of Tower for Windows.
The working copy view, showing a diff, in the upcoming "Dark Mode" release of Tower for Windows.
Commit Message Composing
On first look, composing a commit message seems like a simple and straightforward endeavor: you enter a subject and possibly a body - and that's it!
However, we think there's more to it and will soon offer the following new features in Tower for Mac:
- Recently / Often-Used Subjects: If you want to use a recent message again (or even have certain messages you use all the time), you will be able to easily access these directly in Tower's interface.
- Autocomplete: We also want to make it easier to reference certain information like filenames or issue numbers in your commit messages. That's why Tower will soon offer an intelligent autocomplete engine for this kind of data.
- Longer Commit Messages: In most cases, commit message descriptions should be rather short and concise. But in some cases, you simply have to write a bit more to properly describe what happened in that commit. We will work on making it easier and more convenient to compose longer commit message bodies in Tower.
Quick Actions + Navigation
When we published Tower 3 for macOS, we soon heard how much users loved the new "Quick Actions" dialog and the "Navigation" functionality. For those of you who are not familiar with these two gems:
- Quick Actions: This unimposing little dialog has quite a lot of power under its hood: you can feed it with almost any information (a commit hash, a branch name, a file name...) and can then execute a wealth of actions on the items that it finds. In a nutshell, you can switch branches, find commits, look at file history and much more without having to sift through your repository or even taking your fingers off the keyboard.
- Navigation: The navigation feature mainly consists of two components: (1) a powerful, clickable breadcrumb path that allows to better understand where exactly in your repository you are and (2) new back and forward buttons that allow you to navigate your Git repository like in a browser.
After they have been around in Tower for Mac for a while, we are beginning to bring these powerful features to Tower for Windows.
The following two topics are a bit further down the road, but we're already looking forward to these as well...
New "Services" View
The "Services" area in Tower allows you to manage your hosting accounts from GitHub, GitLab, Bitbucket, Azure DevOps and almost any other Git hosting service. Since it is such a central area in the app, we have a couple of improvements in mind that will help you get things done more efficiently.
New "Bookmarks" View
Similar to the "Services" view, the "Bookmarks" area in Tower is one of the central management interfaces. We want to give it an overhaul, both in design and functionality. Our goal is to provide a more streamlined and productive user experience when working with your local Git repositories.
🎁 As you can see, our roadmap is stuffed with exciting new features and improvements. Finally, after talking so much about "what" we're building, I would like to add some words about the "why" behind our decisions.
Why We Develop Tower
Tower is loved by thousands of developers and designers around the world - for a couple of good reasons:
Productivity is one of them - e.g. by streamlining many recurring tasks to be incredibly easy with our "Quick Actions" dialog. Or by allowing you to clone a repository with a single click, without the need to constantly wrestle with usernames, passwords, and personal access tokens.
Power is another reason: being able to perform complex actions like "Interactive Rebase" simply via drag and drop makes valuable but complex features available to everyone. The same goes for staging and discarding chunks and even lines of code by pointing and clicking.
But the biggest reason why people come to find and use Tower is probably this: ease of use. And, especially with things like our new "Undo" feature in version 4, also "peace of mind." It's great to know that your tool of choice has your back, even when things go wrong (which they inevitably will).
With the ton of features that Tower already has under the hood, adding new features is always a tough decision: what functionality could be most useful - and how can we add it in a way that doesn't clutter an otherwise clear and efficient user interface?
But we believe that this is what makes a great tool. One that gets out of your way and helps you accomplish your tasks easier and more efficiently.
🙏 Thanks so much to all our users for your continued support and feedback! If you haven't already, make sure to update your Tower to the latest version or start a free trial today!