Release Notes
New features, improvements, and fixes. Here are the latest Tower updates!
Version 8
New
Branch Dependencies: We have introduced the ability to create branch dependencies in Tower, laying the groundwork for many upcoming features and enhancements. This function allows Tower to keep track of the original branch from which a new branch is created—a capability not natively supported by Git. Newly created branches in Tower automatically inherit their parent branch, and users can manually set or change the parent branch using the context menu.
Stacked Branches: As the first feature to leverage our new Branch Dependencies, Tower enables you to create "stacks" of branches—branches that depend on other branches—and effortlessly restack them with a single action. This greatly simplifies workflows that rely on stacked branches, eliminating the cumbersome and error-prone process of manually restacking multiple branches. You can activate this feature through the "Workflows" toolbar button.
Sync Action: This feature synchronizes your HEAD branch with a remote branch by first pulling commits and, if the pull is successful, then pushing the commits.
UI: The app now uses a "Mica material" for a semi-transparent, softly blurred background.
UI: The in-app accent color is now synchronized with the Windows accent color.
UI: The Windows taskbar now displays the repository name for easier identification of open windows.
Improved
Compare branches: Improved the readability of the branch selector in the Compare branches feature to accommodate longer branch names.
Compare branches: When a parent branch is defined, it will now be set as the default branch for comparison.
Commit list view: Adjusted the order of ref badges to align with Tower on macOS.
Keyboard shortcuts - Quick Open: Added the shortcut
Shift+Enter
to open a repository in a new window.Keyboard shortcuts: Introduced
Ctrl+Shift+Backspace
to discard all local changes.Keyboard shortcuts: Assigned
Shift+Ctrl+A
to stage all local changes.Keyboard shortcuts: Improved reliability of keyboard navigation using
Ctrl+0..5
.Error Logging: Enhanced for more detailed and effective diagnostics.
UI: The top bar has been rearranged for better usability.
Updated the provided Portable Git to version 2.47.2.
Fixed
Detecting unsafe directories accessed via mapped network drives and adding them to “safe.directories” in gitconfig now works as expected.
Commit View: The issue where commit history would disappear from the list while scrolling in certain scenarios has been fixed.
When adding a repository via "File -> Open" the repository will now be added to bookmarks and opened.
Services: Previously, GitLab repositories were incorrectly displayed in some groups, but this issue has now been resolved.
Sidebar: The application no longer crashes when opening the submodule context menu.
Commit list view: Resolved an issue where Ref badges were missing in certain scenarios.
Installer: The extraction of Portable Git was failing under certain locale settings, but this issue has now been resolved.
Services: Creating new repositories on GitLab is now functioning as expected.
Repository Settings: An issue that prevented the .gitattributes file from being opened in an external editor when configuring Git LFS has been corrected.
UI: A bug that caused window borders to clip when maximizing Tower has been addressed.
Cloning LFS repositories through SSH, which occasionally failed, has been fixed.
A crash that occurred when opening a repository that does not contain any branches has been fixed.
A potential crash that occurred when displaying a toast notification has also been fixed.
Version 7
Fixed
Cloning of service account repositories via HTTPS could fail with a “Repository not found” error. It has been fixed.
New
New App Icon! This version ships with a brand new App icon!
Fixed
SSH Signing: Retrieval of SSH signing keys when using “Embedded SSH-Agent” has been fixed.
Services: Validation of adding private SSH keys now works as expected.
AzureDevOps: Cloning of repositories containing spaces in the name has been fixed.
Version 6
New
Services View: It is now possible to filter remote repositories and SSH keys based on their name.
Fixed
Services View: An issue limiting the number of repositories retrieved from GitHub has been fixed.
Top menu: Some entries were incorrectly enabled in some cases. This has been fixed.
In certain scenarios, product licenses could not be updated, showing a message that the license had expired or is about to expire. It’s now working as expected.
Authentication: in certain scenarios when using embedded Git, a “Credential Helper Selector” window might pop up, despite having the “Use Git Credential Manager” option enabled in Preferences → Git Config. This has been fixed as well.
Potential crashes that could occur when setting a submodule or adding a remote repository are no longer an issue.
New
Compare Branches: In a branch's history, toggle the “Compare” icon to compare the branch against a base branch and show only the commits that have been made on the local branch. This is especially helpful for reviewing all changes introduced by a branch. Also, the number of merge conflicts is now being displayed. Also, a popover will reveal the conflicting file paths on click.
Partial Stashing and Snapshots: You can now select individual files for stashes and snapshots.
Improved
Services View: We have improved the presentation of GitHub service accounts. Repositories to which you have been invited as a contributor are now grouped as separate organizations.
Fixed
A potential crash when pushing branches/revisions has been fixed.
SSH authentication when “Git for Windows” is selected as the Git binary and “Embedded SSH-Agent” as the SSH authentication method, should now be working as expected.
A UI glitch affecting some dialog boxes has been fixed.
Version 5
Fixed
Clone URLs for GitLab repositories are now appropriately constructed.
An application crash that could happen while adding or editing service accounts shouldn't be a problem anymore.
Despite successful authentication, the GitHub service account couldn't be created or modified in specific scenarios. That has been fixed.
Dragging multiple bookmarks could cause an application crash - we also fixed that.
Fixed
Authentication for Azure DevOps and Beanstalk accounts might not work correctly in certain scenarios - this has been fixed.
The selected “Allowed signers file” in the Repository → Settings view might display incorrect values - it's been fixed as well.
New
Detection of HTTPS authentication errors has been added - we now provide an option to enable the “Use Git Credential Manager” setting and retry the remote operation.
Fixed
The application might crash upon unsuccessful retrieval of the GPG signing keys. It’s fixed now.
Services -> Git connection settings: adding SSH keys from a path containing spaces is no longer an issue.
We fixed a potential crash when editing the remote repository settings.
“Preferences → Git Config → HTTPS: Use Git Credential Manager” is now enabled by default.
SSH key-based custom accounts should now work as expected.
Recently cloned repositories popup: The “Clear” button sometimes gets stuck in a disabled state - this should not happen anymore.
Saving Azure DevOps Server credentials is now working as expected.
Azure DevOps account view: The “Open” button was missing for cloned repositories - this has been fixed.
New
SSH Signing: You can now sign commits and tags using your SSH key, see which commits have been signed and by who, and connect SSH keys with your User Profiles - all right from within Tower.
SSH Authentication: Authentication is now possible using the Embedded SSH Agent, a Custom SSH Agent, OpenSSH and 1Password. You can set your preferred option in Preferences → Git Config → SSH.
HTTPS Authentication: Tower can now handle HTTPS Authentication using Git Credential Manager. You can enable this in Preferences → Git Config → HTTPS.
Undo: It is now possible to undo the “Reset to Revision” action.
Improved
Merge Wizard: A tooltip has been added to show the full tag name for each version.
Diff Tools: Meld and KDiff3 can now be detected at C:\Program Files.
Bookmarks: When adding a repository from an “unsafe” directory, Tower now offers a dialog to add the path automatically to .gitconfig.
Fixed
In some cases, scrolling commits after a search cleared the commit list. This is now working as expected.
The Undo commit action now restores the commit message.
The “Show only conflicts” setting was reset after merging multiple times. This has been fixed.
Opening a repository from the File menu or using a shortcut is now working as expected.
We fixed a crash that occurred when deleting multiple repositories from the Bookmarks.
The “Remind me later” button on the update dialog is now working as expected.
File names containing special characters are now displayed correctly in the Working Tree view.
A potential crash, that could occur during changing branches, has been fixed.
We fixed an occasional crash that could happen when the “Auto-expand with threshold” option was enabled.
Improved
Performance: We optimized the processing of large diffs, resulting in significantly improved performance and shorter loading times.
Performance: Some background operations have also been optimized for the Services View in order to provide a faster UI and better error handling.
Fixed
The Ctrl + Enter shortcut for the commit subject field is now working as expected.
A misleading message asked the user to update the Git binary when in fact a newer version was installed. This has now been fixed.
A potential crash when updating OAuth tokens for GitHub service accounts has been fixed.
New
Improved Commit Composing: Tower’s commit message fields have just become a lot smarter! This release brings improvements that make commit composing a seamless experience. Read on to find out more…
Issue Numbers: You can now search for and autocomplete issue numbers in your commit messages. Simply type the “#” symbol from the subject or body field to find the required issue number. (This feature requires an associated service account in order to work.)
Commit References: Just like issue numbers, you can search for and autocomplete commit references by typing “c:”. (This feature requires an associated service account in order to work.)
fixup! and squash!: It is now possible to search and autocomplete Git's “fixup!” and “squash!” conventions within a commit's subject, allowing you to easily amend any commit down the history. When commits whose subject start with “fixup!” or “squash!” are detected in the current HEAD branch History, an action will be offered to “autosquash” them. This will automatically fixup or squash these commits.
Autocomplete Service Keywords: Service-specific issue keywords (closes/fixes/resolves) can also be autocompleted.
Autocomplete Changed Files: Changed files from the working copy can now be searched and quickly inserted by typing .
Command Help: You can type the “/“ character to see a list of the above commands available for each field.
Hard Line Wrapping: You can now configure a character limit for the commit message body in Tower’s Preferences -> Editor. This will show as a guide when composing the body.
Keyword Highlighting: Keywords (such as commit hashes, issue numbers, and the fixup! and squash! expressions) are now automatically highlighted both in the commit title and body fields.
Scrollable and Resizable Text Field: The commit message body field can now be scrolled and resized.
Improved
Commit Composing: Hitting ”Enter” in the subject field will now take you to the body field.
Performance: We have improved the performance of the app when switching between commits with large changesets.
Fixed
Fixed a certificate file location error that was preventing execution of remote commands (pull, push, clone, etc.) when using Git binaries v2.40
Version 4
New
Skip Hooks: It is now possible to skip the execution of hooks for commit push, pull, merge, rebase and apply.
Improved
Bookmarks: The "Open" button is now displayed next to already cloned repositories in the bookmarks view.
Fixed
Stashes: The list of stashes is now refreshed even when the Stashes view is not active.
Stashes: An error message was not correctly displayed when a conflict occurred when applying a stash.
Bookmarks: Adding a new folder via the File -> Open menu option now offers to create a Git repository if one does not exist.
Services: Removing a remote service should trigger a reset of the detail view. This is now fixed.
Remote Actions: Automatic fetching is now working as expected again.
New
Auto-expand changesets: A new view option has been added to configure the behavior of auto-expanding diffs in the History changeset views. You can find it under “Diffs in Changeset” in the “View” main menu.
Snapshots: Create snapshots of your working copy or individual changed files. Changes are safely stored in a stash but they remain in your working tree. This feature is available from the context menu of changed files or from the “Working Copy” main menu.
Show branch/commit in History: You can now reveal a branch, tag, or any commit in the Tower's History view by selecting “Reveal in History” from the context menu.
Large diffs: Large diffs are not displayed automatically anymore. Instead, you will be prompted to display the diff. The threshold for displaying the warning can now be configured in the General preferences.
Improved
Bookmarks: The Open button is now displayed for cloned repositories in the repository list.
Embedded Git: The bundled Git has been updated to version 2.39.1.
Fixed
Bookmarks: Adding a repository via the File -> Open menu item now offers the option to create a Git repository.
Services View: The services view is now correctly refreshed after removing an existing service account.
New
New Merge UI: We have redesigned the Merge UI to be more consistent across different merge modes and to be more explanatory about the current merge state and when editing revisions.
Filter conflicted files: During a merge conflict, a new option is now available to show only conflicted files.
Merge conflict detection: Dialogs which involve merging another branch or revision (e.g. merge, rebase, pull, …) will now show if merging will result in any conflicts or merge cleanly.
Merge Conflicts: You can now reset a merge conflict to its unmerged state, even after it has been resolved. This is available in the “Restore Merge Conflict Versions” submenu from the context menu of a working tree entry.
Command Line Tool: You can now open a repository directly from the CLI using the option
-o <PATH_TO_REPO>
. For example,Tower.exe -o c:\Repos\jquery
will launch Tower and open the selected repository. No bookmark will be created for the repo.
Improved
Empty merge commits: When a merge commit becomes empty, you can now create an empty commit or skip the commit.
Rebase: You can now edit the merge message after resolving conflicts during a rebase.
Merge Conflicts: Resolved merge conflicts now remain always visible in the working tree entry even when they have been resolved without introducing any changes.
Fixed
Cherry-Pick and Revert: An error dialog was shown if Cherry-Pick or Revert resulted in a merge conflict. Tower now shows the Working Copy instead.
Bitbucket Service Accounts: BitBucket service accounts are now correctly showing workspace repositories again.
Also includes some minor fixes and stability improvements.
New
You can now undo a vast amount of Git actions by simply pressing CTRL+Z!
Actions include deleting branches and files, staging and discarding changes, rebasing & merging branches, and even publishing a branch on a remote. Correcting mistakes has never been easier!
Fixed
Crashes: We fixed a number of uncommon crashes that occurred during certain processes.
Version 3
New
Publish Repository: Publishing a local repository on a selected service such as GitHub or GitLab has become a lot easier in Tower! You can now do this without having to leave the app.
Fixed
Search. The search field now behaves as expected when clicked.
Crashes: We fixed a number of uncommon crashes that occurred during certain processes.
New
Publish Repository: Publishing a local repository on a selected service such as GitHub or GitLab has become a lot easier in Tower! You can now do this without having to leave the app.
Fixed
Search. The search field now behaves as expected when clicked.
Crashes: We fixed a number of uncommon crashes that occurred during certain processes.
Fixed
Full Screen View: Maximising the app window should now work as expected.
Crashes: We fixed a number of uncommon crashes that occurred during certain processes.
New
Force Push with Lease: Tower now supports the --force-with-lease flag for the git push command. Force Push with Lease is a safer option that can be used as an alternative to the --force flag: you can now force push in Tower without the risk of unintentionally overwriting someone else’s work.
Fixed
Crashes: We fixed a number of uncommon crashes that occurred during certain processes.
New
GPG Support: You can now sign commits and tags, see which commits have been signed and by who, and connect GPG keys with your User Profiles - all right from within Tower.
Read more in our help: https://www.git-tower.com/help/guides/integration/gpg/windows
Fixed
Notifications: Tower notifications now work as expected.
Crashes: We fixed a crash that occurred when creating a Pull Request on GitHub.
Crashes: We fixed a potential crash that occurred when retrieving stashes.
New
Quick Actions: The Quick Actions dialog is now available in Tower for Windows. This handy feature allows you to quickly find actionable items in your repository (such as branches, tags, commits and files) and invoke certain actions on them (like checking out a branch or showing a file in the history). The dialog can be opened by pressing "Alt + Shift + A". Learn more about this new feature here.
Dark Mode: Tower Windows users can now enjoy the gorgeous new dark theme! Dark and light mode can also be set independently from the system settings.
History Search: The new Tower allows you to search the commit history by commit message, author and committer name. You can also use the search feature to find specific files in commit changesets.
Navigation: You can now navigate the different views in Tower back and forward, just like you’d do using a web browser. The navigation state is saved, so after reopening Tower you will see the same view that you had open when the application was closed.
New Installer: We have replaced the old installer / updater with a more efficient option. New updates will now only take seconds to install, without having to click through multiple dialogs.
Improved
Performance: We have significantly improved performance across the whole app, as well as stability.
UI/UX: Tower 3 boasts an improved user interface and a more polished design for a better user experience.
Title Bar: We combined the title and menu bar in order to improve visual consistency across the Mac and Windows apps.
History View: Commits in the history can now be grouped by date.
Avatars: If no avatar image can be loaded, Tower now uses the user’s initials instead of a placeholder image.
Avatars: Avatar images are now loaded in a higher resolution.
Toolbar: Tooltips are now shown for all items immediately.
Toolbar: Visibility of toolbar item labels can now be enabled/disabled from the preferences or the view menu.
Scrollbars: Scrollbars across the app have been made less obtrusive.
Sidebars: We increased the vertical spacing for all sidebar items and also the padding to the scrollbar.
Fixed
History View: The branch history is now correctly shown when the remote tracking branch does not exist anymore.
Working Copy: Refreshing the UI while reverting a commit will no longer reset the commit subject.
Working Copy: We’ve fixed an issue with unstaging files when the branch has a detached HEAD and improved performance for unstaging operations.
Working Copy: Files are no longer being opened when double-clicking the staging / unstaging checkbox in the Working Copy.
*Working Copy: The working tree was not refreshed after applying a stash which resulted in merge conflicts.
Pull Requests: Pull Request comments are now being sorted in the correct order.
Stashing: We’ve fixed the refresh behavior for stashing operations.
Stashes: The stash list is now correctly refreshed after making changes.
Clone Dialog: We fixed an issue with the Clone button not being enabled after filling in the input fields.
GitFlow: The GitFlow toolbar button now works as expected.
History View: The commit history now loads correctly when scrolling down to the bottom of the commit list.
View Menu: The View -> Show Repositories & Show Services menu items now behave as expected.
Crashes: We fixed a number of less common crashes occurring in different situations.
Assorted Bug Fixes: We fixed several smaller issues reported by users on earlier versions.
Version 12
Improved
Diff Tools: Tower now supports the ksdiff tool bundled with Kaleidoscope and no longer requires a separate installation.
Fixed
– Working Copy: Improved removing comments from the commit message.
– Working Copy: Fixed an issue where Tower would crash if removing comments from the commit message resulted in an empty message.
New
Commits: Comments can now be stripped from commit messages on commit. The default action can be changed in the preferences.
Improved
Quick Start Window: The bookmark name of a repository is now displayed if available.
Quick Start Window: The repository path is now truncated at the beginning instead of the end.
History: The changeset of merge commits will now show the changeset of the first parent by default.
Stacked Branches: Determining if a branch needs to be restacked is faster now for larger stacks.
Fixed
Stacked Branches: Stack validation performance has been improved.
Stacked Branches: Restacking a branch could lead to a crash or inconsistent behavior. This has been fixed.
Working Copy: Discarding all changes in a repository without commits led to a crash. This has been fixed.
Working Copy: The diff view did not always update correctly in certain situations. It is refreshing properly now.
Working Copy: Undo/Redo for the "Continue Merge" action now properly handles empty commits and custom commit messages.
Pull Requests: Diffs for changeset items affected by multiple commits have been incorrect. The correct diff is loaded now.
Branches Review: Diffs for changeset items affected by multiple commits have been incorrect. The correct diff is loaded now.
History: Clicking the compare branches button could lead to a crash in some cases. This has been fixed.
History: Clicking on a branch in the sidebar of a bare repository led to a crash. This has been fixed.
Branches: A crash in the dialog for creating new branches has been fixed.
Branches: The "Stacked Branch" checkbox is not visible any longer if the Stacked Branches workflow is inactive.
Branches: The "Stacked Branch" flag was not restored if the "Unset Parent" action was undone. It is working as expected now.
Remotes: When auto-fetching a remote, a crash could occur in some circumstances. This has been fixed.
Services: The number of concurrent calls to a service API have been reduced to improve performance in certain situations.
Services: Tower would crash on startup if the OAuth token for Bitbucket Server was unavailable. This has been fixed.
Services: Tower could hang on startup when cleaning up service accounts and repositories. This has been fixed.
Sidebar: Stacked branches were grouped under their parents if the Stacked Branches workflow was inactive. This has been fixed.
Sidebar: For some services an invalid pull request number was displayed in the sidebar. This is not happening anymore.
General: Tower could crash when running Git operations. This has been fixed.
New
Branch Dependencies: We added the ability to create branch dependencies in Tower, which will serve as a foundation for many new features and improvements in the future. It allows Tower to keep track of the original branch from which another branch was created, a capability not natively supported by Git. Newly created branches in Tower automatically inherit their starting branch, and users can manually set or change the parent branch via the context menu at any time.
Stacked Branches: As the first feature to leverage our new Branch Dependencies, Tower enables you to create “stacks” of branches — branches that depend on other branches — and effortlessly restack them (using rebase) with a single action. This greatly simplifies workflows that rely on stacked branches, eliminating the cumbersome and error-prone process of manually restacking multiple branches. You can activate this feature through the “Workflows” toolbar button.
Launch Window: If Tower is launched or activated and there are currently no windows open, Tower will now show a special launch window to let you quickly open a repository. If you prefer to open the “Bookmarks” View instead, uncheck the “Show Quickstart Window on Launch” option.
Repository Sidebar: If a local branch has an associated pull request, the pull request number will be shown next to the branch name.
Quick Actions: “Branches Review” has been added to the navigatable items.
Improved
CLI Tool: Repositories can now optionally be opened in a new window by passing the “-n” argument to the “gittower” command.
App Icon: The selected app icon will now persist in the Dock, even when Tower is not running.
Commit Details: If author and committer of a commit are identical even though the timestamps differ (caused by modifying the commit), do not show the avatar image twice.
Create Branch: We added the ability to select the parent branch and wether or not it should be part of a stack “Options”.
Branches: The automatic cleanup of entered branch names now allows multiple hyphens.
Help Menu: The help menu item has been renamed to “Tower Help” to properly follow platform conventions.
Fixed
Repository Sidebar: The table view now scrolls to the selected branch when navigating to branches via
Cmd + 0
or Quick Actions.Repository Sidebar: The delete branch keyboard shortcut did not do anything. This has been fixed.
Repository Sidebar: The stash count is now updating as expected.
Services: Bitbucket pull requests are now displaying the correct number and can be shown via the branch context menu in the repository sidebar.
Remotes: Trying to add a remote with an IPv6 address led to a crash. This has been fixed by not validating the URL. We are looking at adding proper IPv6 support.
Services: Searching for GitHub issues in the commit message editor now yields the same results as a search on the website.
Submodules: The “Go to Parent” toolbar icon is now updated properly when switching between repository windows/tabs.
Diff View: The diff view jumped to the top when staging a line or chunk for the first time. This has been fixed.
Branches: The shortcut for creating stacked branches is now available independent of the focused view.
Branches: Deleting branches with unmgerged changes displayed an error instead of the dialog asking to force delete the branch. This has been fixed.
Also updated the bundled Git version to 2.45.1.
Version 11
New
Commit Templates: A new preference setting allows you to hide the templates button in the commit subject field.
Fixed
Commit Composing: Match the "t:" command for invoking the template selection only at the beginning of the subject.
Commit Composing: Filtering commit templates when composing a commit message could crash.
Preferences: The "Ignore Paths" table in the "Advanced" preference pane was visible when it should be hidden.
New
New App Icon(s)! We have created two new Tower App icons – for light and dark mode. It will automatically switch based on your current appearance, but this behaviour can be customized in the Settings under “Appearance“.
Commit Templates: You can now use Commit Templates when writing a commit message! To manage your templates, go to the new "Templates" tab in the Settings.
Fixed
git-flow: When configuring a repository for use with git-flow, a regression caused the trailing slashes from branch prefixes to be discarded upon saving the configuration.
Commit Composing: When using “fixup!“, the commit selection was not shown in certain cases unless a character was typed.
Commit Composing: When using hard line wrapping for commit composing, a regression caused the monospace font being replaced with the default font.
Repository Settings: The “Convert GitMoji to Code” setting did not reflect the setting from the Git config. This has been fixed.
Version 10
New
GitMoji: Tower now supports GitMoji in writing and viewing commit messages.
Ref name: Add setting in general to automatically convert ref names into valid format while typing
Improved
Working Copy: Pasting multi-line text into the commit subject will now paste the first line into the subject and the rest into the commit body.
Merge tool: Not showing anymore an error message if the merge tool was closed without fixing the conflicts.
Fixed
Working Copy: Typing an emoji into the commit subject field altered the font in some cases. This has been fixed.
Branches Review: The commit list for a branch was not reloaded when a new commit was added to a branch. This is working as expected now.
Ref name: Allow users to input single character "@"
New
Refs: Ref names are now automatically converted into a valid ref format while typing.
Team Invites: If you are able to invite team members, you will be notified in the sidebar now.
Improved
Device Activations: The list of activated devices is now scrollable instead of taking up a lot of vertical space.
Fixed
Diffs: Diffs containing certain newline characters were rendered incorrectly. This has been fixed.
Team Invites: The "Send" button did not enable when confirming an entered email address by pressing the "Tab" key.
New
Environment settings: In addition to adding custom environment variables, environment variables from the login shell are now also automatically added when running Git commands. This should make hook scripts work without additional configuration.
Improved
Branches: Deleting a branch with unmerged changes will now trigger the “Delete Anyway?” confirmation dialog again that is supposed to appear if the “Force Delete” option was not set.
Diffs: If a diff is hidden behind a “Large Diff Warning”, syntax coloring will only be triggered if the user decides to actually show the diff.
Syntax highlighting: Improved memory management
Merge tool: Show error dialogue when merge tool fails to open
About panel: We gave the About panel a new, modern look. The version string is now selectable, too!
Settings: We have moved the Appearance selection into its own “Appearance” tab to free up space in the “General” tab.
Fixed
Syntax highlighting: Showing diffs for deleted files could fail or crash in some cases. This has been fixed.
Syntax highlighting: Deleted files are now highlighted properly.
Terminal integration: “Open in Terminal” now works if there is no visible Terminal window open.
Environment variables: Removed values from environment are now being deleted
Environment variables: "GIT_EDITOR" and "GIT_SEQUENCE_EDITOR" are now ignored if they are set by the user
Tower CLI: Opening Tower with a path from the command line would not open the repository, only the Bookmarks view.
History: Showing the “no selection” view when no commit was selected was broken.
Commit Composing: The commit message draft was not properly saved/restored in certain cases.
Git remote URLs: HTTP URLs containing an unencoded
@
character in the username part of the URL could not be read on macOS 14 Sonoma.
Fixed
App startup: In certain scenarios, “Getting Started” was not completed correctly for new users and it prevented the app from opening any new windows.
Fixed
Application Launch: A crash could occur during application launch if the custom environment file was in an invalid format.
Getting Started: A crash could occur during the Git configuration step in some cases.
Sync Dialog: The state of the “Use rebase instead of merge” option is now persisted.
New
Sync Action: This action synchronizes your HEAD branch with a remote branch by pulling and then pushing commits (if pulling was successful). If you are not using the default toolbar item set, you can add the Sync action to your toolbar by running “Customize Toolbar” from the “View“ main menu.
Settings: You can now configure custom environment variables used when running Git commands by visiting the new “Environment” tab in Tower's settings.
Settings: You can now choose 1Password as an SSH Agent for SSH Signing in the “Git Config” tab.
Settings: A new option under the “Integration” tab allows you to choose 1Password as SSH Agent used for remote connections and signing.
New Onboarding: This release includes new and improved Welcome & Getting Started workflows.
New License View: An improved license window will show more license information and allows you to deactivate devices.
Invite your Team Members: If you are on the Tower Pro plan, you can now invite team members directly from Tower! The view is available in the new Account window, accessible from “Tower” -> “License…”.
Refer a Friend: If you are on a single user license, you can start referring friends from within the app and both of you will receive a discount. The view is available in the new Account window, accessible from “Tower” -> “License…”.
Improved
Commit Info: "Signing Key" and "Signing Status" have been added for commits signed with SSH keys.
Fixed
Araxis Merge: Fixed an issue with the order of files being swapped when comparing them.
Syntax Highlighting: Text is now highlighted correctly when selecting lines for staging.
Syntax Highlighting: Colors rendered in syntax coloring are no longer darker than the ones in Settings.
Syntax Highlighting: Expanding a diff with syntax coloring enabled sometimes broke the view. This has been fixed.
GPG Config: Tower now recognizes GPG config when it is installed while the app is running.
SSH Signing: Tower now supports relative paths for allowed signers files.
Bitbucket accounts: We fixed a crash that occurred when creating or updating Pull Requests.
Themes: Renaming a theme no longer resets the colors to default.
Update build number to 365
SSH Keys: Tower could crash on startup when using certain types of SSH keys. This has been fixed.
Merge Tools: The integration now works as expected with newer versions of Araxis Merge.
Improved
Syntax Coloring: We added support for more languages. If the language of a file cannot be determined by its file extension, it will now be attempted to auto-detect the language.
Themes: The color schemes for the default light and dark theme have been adjusted to improve contrast for added/deleted lines.
Fixed
Diff Views: Viewing diffs with syntax coloring enabled could potentially cause a crash.
Changesets: In certain scenarios, patches from changesets in the History or Stashes view could not be applied to the Working Copy.
Memory Management: Resolved an issue where certain view components could cause cause a memory leak.
New
What's New: Tower will now display a "What's New" window on start for updates that introduce new features or important improvements.
Syntax Coloring: you can now enable syntax coloring for diff views and raw diff views! Head over to "Text" — our new Settings dialog — to add syntax highlighting to your diffs.
"Text": this new Settings dialog also allows you to configure your preferred tab width and enable/disable showing invisible characters in diff views and raw views.
Syntax Coloring support in Themes: navigate to "Settings" → "Themes" to customize the way syntax coloring is presented. Select one of the existing themes, modify them, or come up with your own!
Fixed
Commit Signing: The option to enable commit signing is now always available, even if no GPG binary is installed. Signing via SSH could not be enabled in this case.
Version 9
New
SSH Signing: You can now sign commits and tags using your SSH key, see which commits have been signed and by who, and connect SSH keys with your User Profiles - all right from within Tower.
Improved
Signing verification: The signature popover now contains a help button that will open our online help about signing verification.
Commit Composing: The autocomplete window is now a bit wider to improve readability of longer texts. In addition, truncated labels now have a tooltip that is shown on hover.
Fixed
Commit Message Editing: The hard line wrapping guide is now shown in the “Edit Commit Message” dialog.
Commit Message Editing: The “Reformat Paragraph” function now also works in the “Edit Commit Message” dialog.
Commit Message Editing: The commit subject character count label is not hidden beneath the scrollbar if a mouse is connected anymore.
Stashes: The stashes list could become empty if the changeset was filtered in some cases. This has been fixed.
Reflog: The reflog list could become empty if the changeset was filtered in some cases. This has been fixed.
Preferences: The “Sign Commits” option would become unusable if the GPG binary was uninstalled, making it impossible to turn signing off. This has been fixed.
Preferences: The “Key does not match committer email” warning icon did not disappear after creating a matching key. This has been fixed.
Preferences: Tower does not crash anymore if a user profile with an empty name is present. Furthermore user profiles cannot be saved if the title, username or email are empty .
Repository Sidebar: Tower would show incorrect tooltips in some cases. This has been fixed.
History: Gravatar images are now displayed correctly again.
New
Merge Wizard: The Merge Wizard now shows all commits that actually changed the file on each side, instead of just showing the - often unrelated - commit at the tip of the branch or revision for a conflict side. This provides helpful context information about the conflict and shows who modified the file on each side and when.
Merge Wizard: The last modified timestamp is now displayed for each side, making it easy to determine which version is newer.
Quick Actions: You can now execute the “Fast-Forward” command on a non-HEAD branch that has changes.
Improved
Merge Wizard: Each conflict side is now labeled with the branch name or revision that the version originated from, making it easier to understand which side belongs to which branch or revision.
Merge Wizard: Branches are also more accurately displayed, identical to the Merge Status view.
Merge Wizard: All merge cases are now properly displayed, including merging arbitrary commits or merging into a detached HEAD.
Merge Wizard: A loading view is now displayed if loading the merge conflict takes longer than a certain threshold.
Diff Tool: The
--no-symlinks
option is now passed to diff tools by default.
Fixed
Branches: Renaming a pinned branch within Tower will now preserve its “pinned” status.
Working Copy: Creating a snapshot that includes untracked files now works as expected.
Working Copy: A crash that occurred when searching for files using tree view has been fixed.
Diff View: The diff view would incorrectly display “Diff contains only whitespace changes” while loading a large diff. This has been replaced by a loading indicator.
Stashes: If the list of stashes was filtered by a search, dragging a stash to the working copy to apply it would apply an incorrect stash. This has been fixed.
Branches Review: The compare branch context menu action now opens the compare dialog with a pre-filled text field.
History: After turning off GPG verification, the ref badges would be shown on an old commit as well as on a new one after creating it. This has been fixed.
New
Preferences: You can now customize the app appearance to always dark, always light or match the system.
Fixed
Diff View: Inline highlighting is now drawn correctly if a diff contains Windows line endings.
Pull Requests: GitLab Pull Requests refresh properly instead of showing a “Data not available” warning.
Working Copy and Branches Review: On macOS 13, the width of the middle pane in the Working Copy and Branches Review sections always reset themselves to the default after leaving the view.
Commit Area: The commit area was not automatically expanded in all cases if the body contained input.
Avatars: In some views, the avatar images of users were not loaded initially.
Also updates the bundled Git binary to version 2.39.1.
New
Allow auto-stash for merges: You can now re-apply auto-stashes when merging revisions.
Improved
Merging: When an empty commit is about to be created during a merge, a dialog will now make users aware of this.
Merging: When creating empty commits in merge sequences, the original author information is now retained.
Merging: Merged branch names displayed in the merge status area are now more accurate again.
Diff Views: Line numbers for wrapped lines are now aligned to the top again.
Fixed
Diff Views: Resizing the window did not properly redraw line numbers in all cases.
Diff Views: Inline change highlighting and line numbers could get out of sync when quickly resizing the view.
Diff Views: Drag-selecting single lines could make diff content flicker or vanish.
Working Copy: Resizing the diff view could result in a crash.
Commit Area: When editing revisions, the “Commit” button was enabled even if there were no more staged changes.
Branches Review: On macOS 10.15, navigating to the “Branches Review” view could crash.
Autosquash: If a “fixup!” or “squash!” commit introduced conflicts, continuing the merge sequence didn't correctly fixup/squash the commit.
Working Copy: Some working copy actions could be started multiple times before they were disabled in the UI, resulting in crash.
Toolbar: Clicking “New Tab” button could leave the toolbar disabled until window deactivation and reactivation.
New
New Merge UI: We have redesigned the Merge UI to be more consistent across different merge modes and to be more explanatory about the current merge state and when editing revisions.
Filter conflicted files: During a merge conflict, a new option is now available to show only conflicted files.
Auto-expand changesets: A new view option has been added to configure behaviour of auto-expanding diffs in the History changeset views. You can find it under “Diffs in Changeset” in the “View” main menu.
Merge conflict detection: Dialogs which involve merging another branch or revision (e.g. merge, rebase, pull, …) will now show if merging will result in any conflicts or merge cleanly.
Show branch/commit in History: You can now reveal a branch, tag or any commit in the Tower's History view by selecting “Reveal in History” from the context menu.
Snapshots: Create snapshots of your working copy or individual changed files. Changes are safely stored in a stash but they remain in your working tree. This feature is available from the context menu of changed files or from the “Working Copy” main menu.
Merge Conflicts: You can now reset a merge conflict to its unmerged state, even after it has been resolved. This is available in “Restore Merge Conflict Versions” submenu from the context menu of a working tree entry.
Improved
Empty merge commits: When a merge commit becomes empty, you can now create an empty commit or skip the commit.
Rebase: You can now edit the merge message after resolving conflicts during a rebase.
Large diffs: Large diffs are not displayed automatically anymore. Instead, you will be prompted to display the diff. The threshold for displaying the warning can now be configured in the General preferences.
Merge Conflicts: Resolved merge conflicts now remain always visible in the working tree entry even when they have been resolved without introducing any changes.
Dialogs: Validation errors and status views (e.g. in the “Force Push” dialogue) are now using a unified appearance.
Fixed
Auto-Fetch: Further improved cancellation of hung auto-fetch operations which could block other remote operations.
Pull dialog: The Pull dialog grew in width based on the length of branch names.
Pull Requests: Tower could crash when reloading pull requests.
Working Copy: Files could not be dragged to external editors.
History: Dragging changeset entries to apply patches did not work if the changeset entry was not expanded before.
Working Copy: The search field used a case-sensitive search when filtering for files. This has been changed to be case-insensitive.
Cherry-Pick and Revert: An error dialog was shown if Cherry-Pick or Revert resulted in a merge conflict. Tower now shows the Working Copy instead.
Also includes a couple of minor fixes and stability improvements.
Version 8
Fixed
Dragging files from Working Copy to other apps stopped working.
Closing the last open window could sometimes crash the app.
Loading available hook scripts for a repository could sometimes crash the app.
New
Skip Hooks: It is now possible to skip the execution of hooks for commit push, pull, merge, rebase and apply.
Sidebar: An option to show the number of stashes in the sidebar has been added to the General preference pane.
Pull Requests: Branches and Remote Branches can now be dragged on the Pull Requests workspace item to create a new pull request. Furthermore, the Ctrl + Cmd + P keyboard shortcut for creating pull requests is now available in all repository views.
DiffTool: The diff tool can now be opened with the current working copy status.
Improved
Performance: We’ve improved the loading speed for repositories with many tags.
Auto-Fetch: Fetch operations are now automatically aborted if no data is received for some time, resolving an issue where Fetch operations block other remote operations until manually cancelled.
Pull Requests: The commit and changeset views have been improved. It is now possible to see the diffs for the changeset items of individual commits.
Pull Requests: The context menu in the sidebar now has an entry to show a pull request if one exists for the selected branch.
Git Flow: The default branch is now "main" instead of "master".
History: A keyboard shortcut to toggle the "Compare Branch" feature has been added (Ctrl + Opt + Cmd + C).
Branches Review: GPG signature status is now available for commits.
Services: GitHub repositories are now created with Issues enabled by default.
Git LFS: the version was updated to 3.1.2 and the binary is now universal to support Macs with Apple Silicon chips.
Fixed
Sidebar: Branches could be dragged to workspace items, creating a detached HEAD. This has been fixed.
Sidebar: The tag section is not automatically expanded anymore.
History: The "Autosquash" button is now disabled if the working copy is updating.
Remotes: Pulling with Git versions >= 2.35 could lead to an error in Tower. This has been fixed.
Remotes: Updating remotes crashed if multiple values existed for the same key in a remote config section. This has been fixed.
Diff Tools: When comparing two branches or tags, the full ref names are now passed to the Diff Tool to resolve any ambiguity errors.
Several crashes have been fixed.
Improved
Repository Sidebar: You can now drag'n drop branches on ref groups to rename them.
Repository Sidebar: Tags are now sorted by semantic versioning rules.
Repository Sidebar: We've ensured that groups are expanded after creating a new grouped branch or tag.
Branches Review: Context menus for commits and changeset views have been added.
Branches Review: Information about the merge status and tracking errors are now shown in more detail in the summary header view.
Branches Review: Added “DiffTool” as row action to the detail views.
Branches Review: A diff stats summary row is now shown in the detail views.
Branches Review: All diffs in the “Changeset” detail view can now be expanded.
Merge Conflicts: You can now copy file paths in the merge conflicts popover using the context menu.
Pull Requests: Pull Requests are now updated in intervals in the background.
Tag Filtering: Added lower number options for filtering tags.
Fixed
Branches Review: Filter icon is not colored if filter is active on first start.
Branches Review: Deleting one or more branches through the list view can now be undone properly.
Branch Tracking: You can now remove the tracking configuration for branches where the tracking brach is missing.
Repository Sidebar: Ref Groups are not collapsed properly after clearing the sidebar filter.
Repository Sidebar: Fixed branch renaming when dragging a branch onto the "Pinned" section.
New
Compare Branches: In a branch's history, toggle the “Compare” icon to compare the branch against a base branch and show only the commits that have been made on the local branch. This is especially helpful for reviewing all changes introduced by a branch. Also, the number of merge conflicts is now being displayed. Also, a popover will reveal the conflicting file paths on click.
Branches Review: Accessible from the “Workspace“ section in the sidebar, quickly review your local branches to identify stale branches and view their merge status by comparing them to a base branch. This helps you to clean up obsolete branches that have been fully merged and can be safely deleted.
Sidebar Filtering: You can now filter branches, tags and submodules using the input field at the bottom of the sidebar.
Filter Tags and Remote Branches: You can now limit the number of visible tag and remote branch items in the sidebar to the last created/updated ones using the ”View” menu and then “Tags” and “Remote Branches”, respectively. All tags and remote branches remain accessible from e.g. Quick Actions and selection controls.
Branch Pinning: Pin branches to a new “Pinned” section in the sidebar. This way your most important branches are always there when you need them.
Improved
History: If there is a related Pull Request for the currently selected branch, it will indicate this by displaying the Pull Request number in the header.
Tags Loading: Initially loading many tags is now much faster and does not prevent other operations from running.
Fixed
Working Copy: In some cases the “Compose Commit” view did not automatically collapse after committing. This has been fixed.
Commit Composing: Settings for spelling checks will now persist again for commit subject and body fields.
File History: Resolved a drawing issue on macOS 12+ where the graph line was not continuously drawn.
Repository sidebar: In some cases, the Repository sidebar could lose its selection and did not display any detail view. It is now ensured that the sidebar always has an item selected.
Tags: Updating tags could cause a crash if the repository had been deleted outside of Tower.
Version 7
Fixed
Adapting latest Bitbucket Cloud API changes which affects updating organization and collaboration memberships.
GPG: Tower could not find GPG binaries installed by homebrew on Apple Silicon Macs. This has been fixed.
Improved
Commit Composing: You can now disable service integrations for the commit message text view in Preferences -> Editor.
Fixed
Commit Composing: The issue autocomplete window is no longer shown if the service is not supported at the moment.
Interactive Rebase: Undo is now possible in the “Edit Commit Message” dialog text views.
Working Copy: The implementation of Tower’s Single Line Staging feature has been improved.
AutoSquash: Autosquash will now always correctly preserve merge commits.
Pull Requests: The warning view now disappears if required data becomes available.
User Profiles: The “Manage User Profiles” action from the context menu now opens the correct preference window.
Interactive Rebase: We have improved keyboard navigation for interactive rebase dialogs. It is now possible to move focus between the text inputs by pressing the tab key and to submit the dialog by pressing Cmd + Return.
Autocomplete: The autocomplete window incorrectly appeared at the bottom of the screen in some cases. This has been fixed.
Performance: Opening some GitLab repositories could lead to high CPU usage of Tower. This has been fixed.
Working Copy: The commit progress indicator is no longer shown when the commit fails (e.g. because of a hook script).
New
Improved Commit Composing: Tower’s commit message fields have just become a lot smarter! This release brings improvements that make commit composing a seamless experience. Read on to find out more…
Issue Numbers: You can now search for and autocomplete issue numbers in your commit messages. Simply type the “#” symbol from the subject or body field to find the required issue number. (This feature requires an associated service account in order to work.)
Commit References: Just like issue numbers, you can search for and autocomplete commit references by typing “c:”. (This feature requires an associated service account in order to work.)
fixup! and squash!: It is now possible to search and autocomplete Git's “fixup!” and “squash!” conventions within a commit's subject, allowing you to easily amend any commit down the history. When commits whose subject start with “fixup!” or “squash!” are detected in the current HEAD branch History, an action will be offered to “autosquash” them. This will automatically fixup or squash these commits.
Autocomplete Service Keywords: Service-specific issue keywords (closes/fixes/resolves) can also be autocompleted.
Autocomplete Changed Files: Changed files from the working copy can now be searched and quickly inserted by typing
\
.Command Help: You can type the “/“ character to see a list of the above commands available for each field.
Hard Line Wrapping: You can now configure a character limit for the commit message body in Tower’s Preferences -> Editor. This will show as a guide when composing the body.
Scrollable and Resizable Text Field: The commit message body field can now be scrolled and resized.
Improved
Symbol images are now used in more places in the UI on macOS 11.0 and newer
Commit Composing: Hitting ”Enter” in the subject field will now take you to the body field.
Working Copy: If a commit takes longer than a certain amount of time (e.g. when running a hook script) a progress indicator will now be displayed.
Fixed
Services: Fixed incorrect offset in detail views on macOS 11.0 and above.
Version 6
Improved
Remote Operations: The “Push” option has been enabled for branches where no remote equivalent exists. Selecting this option will show the “Publish Repository” dialog.
Services View: We have improved the icons for the repository and SSH key views.
Fixed
UI: We improved the appearance of the text fields when using light mode on macOS Big Sur. In addition, these fields no longer appear disabled on prior OS versions.
Toolbar: The new toolbar icons now appear correctly on macOS 10.13.
New
Publish Repository: Publishing a local repository on a selected service such as GitHub or GitLab has become a lot easier in Tower! You can now do this without having to leave the app.
Improved
Force Push: Many of you requested an easier way to force push, so we added a dedicated force push toolbar button to make this possible. The button can be added by customizing the toolbar.
Create New Branch: We also added a dedicated toolbar button to create a new branch. The button can be added by customizing the toolbar.
Preferences: Action bars used in preference panes now all have the same appearance.
UI: We improved the appearance of the Quick Actions and Quick Open dialogs, as well as the repository icons.
UI: The text input fields in the commit composing area now have a darker background in Light appearance to improve contrast.
Bundled Git: We updated the bundled Git version to 2.30.2.
Fixed
Working Copy: A regression caused the filename column not being shown correctly.
History View: Commit details are now being refreshed correctly after a tag has been added.
Preferences: The view height of the Git preferences pane is now correctly sized.
UI: Autocomplete windows are now displayed without extra spacing.
Crashes: We fixed a crash which prevented some users from being able to launch Tower.
New
Force Push with Lease: Tower now supports the --force-with-lease flag for the git push command. Force Push with Lease is a safer option that can be used as an alternative to the --force flag: you can now force push in Tower without the risk of unintentionally overwriting someone else’s work.
Fixed
Merge and Rebase: In some cases, when performing a merge or rebase which resulted in a conflict, the conflicted files were not correctly displayed (the files could be revealed by scrolling). This has now been fixed.
Sidebar: We fixed an additional case where the width of the sidebar was not remembered after reopening a repository.
Sidebar: The icons in the repository sidebar are now correctly aligned.
Crashes: We fixed a number of smaller / less common crashes in different situations.
Working Copy: The working tree is now refreshed after a commit if a commit hook failed.
Working Copy: After merging or rebasing, entries could appear under the commit area view and had to be scrolled down. The scrolling position is now updated correctly.
History: When switching between ref histories the scrolling position was not reset to the top.
View Restoration: After re-opening the app, the width of some views was not correctly restored in certain cases.
Improved
Edit Commit Message: It is now possible to select the Amend option when editing a commit message. When this option is selected, the author of the commit will not be changed.
LFS Image Diffing: You can now view the diff for LFS image files. We also included a clickable badge which shows the LFS pointer information.
Toolbar: Tower now uses the short labels again for the “Toolbar” and “Terminal” buttons, resulting in a more even spacing for toolbar items.
Rebase Backend: Since version 2.26, Git changed the default rebase backend from apply to merge. We have made sure that Tower handles the new backend correctly.
Our bundled Git has been updated and is compiled as universal binary supporting Apple Silicon hardware.
Fixed
The TowerCLI crashed on hardware using Apple Silicon. This has been fixed.
We fixed an issue where using multiple Bitbucket service accounts with Git HTTPS connections could fail.
Working Copy: In some cases, navigating the sidebar with the arrow keys caused changed files to disappear in the Working Copy. This has been fixed.
GPG: We fixed the incorrect label that was displayed when no GPG binary was selected in Tower’s Preferences.
History View: The tab bar was showing "Counting Commits" whenever the window title was hidden.
Bookmarks: It is now possible to filter repositories correctly in the bookmarks view.
Sidebar: Tower again remembers the width of the sidebar after the repository is re-opened.
Working Copy: Animations are now working correctly again when selecting files to stage & unstage.
Working Copy: After resolving a merge conflict, the background color of the conflicted file now changes back to normal.
Toolbar: The toolbar was displayed incorrectly for users on macOS 10.13 and below.
Submodules: Editing a submodule URL resulted in wrong changes. This is now working as expected.
Rebase: In certain cases, continuing a rebase step after resolving all conflicts failed. This has been fixed.
Other
We have updated the bundled Git version to 2.29.2.
We have updated Git-LFS to version 2.12.1.
Fixed
Repository Bookmarks: Icons next to bookmarks and bookmark groups are now displayed correctly. This issue affected users on macOS 10.15 and below.
Working Copy: The working copy diff view now behaves as expected when using a mouse with a scroll wheel.
All Tower trials have been reset for version 6.0. Users who tested Tower in the past, can give the new version a try.
New
Designed for macOS Big Sur: We made lots of large and small improvements to make Tower feel at home on the new macOS Big Sur. Read on to learn more...
Icons: In the toolbar, the sidebar, and other areas in the app, we’re introducing new, redesigned icons.
App Icon: Take a look at your Dock and you’ll see that the Tower app icon now fits right in with other app icons on Big Sur.
Full-Height Sidebar: In macOS 11, sidebars in apps now typically take the full window height. We’ve made this possible in Tower, too.
Improved
Navigation Bar: With the new style in Big Sur in mind, we decided to remove the “Navigation Bar” (below the toolbar). This results in a much cleaner, much clearer UI.
Submodule Navigation: When navigating into a submodule you’ll see that a new toolbar icon appears; this allows you to jump back to the parent repository.
View Subheadlines: Some detail views now show their own subheadlines, giving you a quicker overview of the situation.
Services & Bookmarks: These icons, previously located in the Navigation Bar, are now also located in the main toolbar.
Rounded Selections: List views (like the Commit History) and the sidebar now feature the new rounded selection style in Big Sur.
Apple Silicon Architecture: Tower is now compiled with support for the new Apple Silicon architecture. Additionally, we improved the way background tasks are handled in order to get the best performance and battery life from the new Apple Silicon architecture.
GitHub Service Accounts: We removed support for Basic Authentication as this is deprecated by GitHub. We also updated OAuth authorization to use our own web flow instead of the one provided by GitHub for native apps, which is deprecated as well.
Version 5
New
Rebase Onto: Tower now supports the “--onto” flag of the Rebase operation. In a nutshell, this allows you to “switch the base” for a series of commits, which is especially useful for those of you who work extensively with feature branches.
Amend Commit: It is now possible to edit a commit without removing the original author’s name using the new Amend Commit option. The resulting commit will still have the original committer as the author and you as the committer.
Improved
Diff View: The ignore whitespace option will now remain enabled / disabled on file changes.
Quick Actions: We’ve improved the sorting of results in the Quick Actions dialog: exact matches now appear at the top of the list.
Cherry-Picking: You can now cherry-pick commits that are behind (only available on the remote branch) when viewing the current HEAD branch.
Performance: We refactored the initial config loading process, removing potential blocking calls that can result in beachballing.
Fixed
Azure DevOps Pull Requests: In some cases, the URL for Pull Requests was incorrectly generated.
Improved
Branch Naming: Tower now considers "main" to be a priority branch, just like "master". This means that it will be sorted at the top in the repository sidebar and any other ref listings.
Performance: We optimized background operations for certain actions - such as checking out a revision or committing changes - resulting in a performance boost.
Performance: We were also able to improve the background execution of Git processes. Repository loading times are now significantly faster.
Fixed
Undo: Undoing applying a stash reverted existing changes on the same file in the Working Copy. This has been fixed.
Working Copy: For some users, single line staging failed if the "Ignore Whitespace" option was active. This works as expected now.
Repository Finder: Excluded repositories are now cleaned up after the user changes the excluded file list.
File History: The commit count is now shown correctly in File History.
Remotes: The “Skip on Fetch All” option is now working as expected.
Services: An endless loop affecting API calls for Azure DevOps service accounts has been fixed.
New
Ignore Whitespace Changes: Multiple whitespace changes in a diff can make it difficult to focus on changes in the code itself. The improved diff view brings you the option to toggle this setting, either showing or ignoring whitespace changes.
Inline Highlighting of Changes: Viewing changes in a file has just become a lot easier in Tower. Inline changes are now highlighted in diffs, so you can spot changes at first glance.
Diff Themes: Ever wished you were able to change the font type, size, and color for Tower’s diff view? Now you can! Select one of the pre-installed themes, or create your own by customizing the font, the background color, and even the color used to highlight Added and Deleted lines. Created a theme you really love? Grab it and share it with others! Learn more about the new diff themes in our documentation.
Improved
Diff View: Tower now shows diffs for untracked files (including images), eliminating the need to stage a file just to see the diff for it.
Diff View: It is now possible to stage, unstage, and discard contents of untracked files.
Preferences: Unified the appearance of all list view action bars in the preferences.
Fixed
Diff View: In some cases, the diff was being generated incorrectly after discarding/unstaging deleted lines.
History View: The file path for renamed files now correctly shows the old and new file path in the changeset view.
GPG Keys: Reloading the user's current GPG keys could crash in certain cases.
Version 4
New
Repository Finder: It is now possible to specify directories which Tower should exclude when searching for repositories. You can find this in Tower’s Preferences on the “Advanced” tab.
Branches: We have added the option to delete the tracking branch when deleting a local branch.
Improved
Merging: The --no-commit option has been added to the merge dialog through the checkbox “Directly Commit Merged Changes”.
Sorting in Dialogs: Remotes are now being sorted by relevance in dialogs.
Azure DevOps Pull Requests: We have improved error mapping for errors that can occur when merging Azure DevOps Pull Requests.
Azure DevOps Server: Added support for authenticating with Personal Access Tokens.
Fixed
Check Out Pull Request: The Check Out Pull Request button is now validated again if the HEAD branch changes.
Check Out Pull Request: The Check Out Pull Request button is now disabled if the remote branch is not available.
Pull Requests: Creating pull requests now works as expected for forks on Bitbucket.
Pull Requests: In some cases, a newly created Pull Request was displayed in the list if it was created for another repository.
New
Azure DevOps Pull Requests: Pull Requests for Azure DevOps repositories are now supported in Tower.
Improved
Azure DevOps Service Accounts: The “Create Repository” button has been removed for Azure DevOps service accounts. The button is now available for organizations only.
Fixed
Azure DevOps Service Accounts: A crash which affected the creation of Azure DevOps service repositories has been fixed.
Switching Branches: Some users reported that switching branches and saving a stash with only untracked files in the Working Copy stopped working after our latest update.
New
Partial Stashing: You can now select individual files for stashing.
First Parent Filtering: It is now possible to filter out merged commits in the History view.
Improved
Commit Count Computing: For some users, this operation caused slowness in repositories with lots of commits. This has now been addressed.
GitHub's "Open in Desktop": GitHub's URL scheme for "Open in Desktop" changed; as a result users were no longer able to open a repository in Tower using this feature. This has been fixed.
Fixed
Crash when Saving a Stash: In some situations, Tower crashed when trying to save a stash.
Working Copy: After a commit, the File Detail View is now correctly updated.
Grouping Commits by Week: The "Group by Week" option in the History View wasn't working as expected.
Pull Request Changeset View: The changeset view is now being updated correctly when switching between Pull Requests.
Quick Actions: Remote branches are now correctly sorted by name.
Fixed
Pull Requests: A regression caused the pull request conversation view not being updated after changes have been made.
New
Pull Requests: Tower's search now also supports filtering Pull Requests by number.
Improved
Dialogs: In many dialogs, we have an "Options" area. Now, you can also click on the text label (not only the disclosure triangle) to reveal.
Fixed
Interactive Rebase: The auto-stash dialog now appears for all interactive rebase actions if required.
Pull Requests: If editing a pull request failed, the "Edit Pull Request" dialog is now shown again (instead of the dialog for editing the pull request body).
Pull Requests: The pull request commits and changeset views used to flicker when expanding a commit or changeset item. This has been fixed now.
Committing: A commit can now be created again if the HEAD is detached.
Remotes: In some rare situations, Tower crashed when a push was initiated.
Window Tabs: On older macOS versions, Tower crashed in some cases when opening a new tab.
New
Undo with CMD+Z: This new version makes it incredibly easy to undo many mistakes, simply by typing CMD+Z! Read more about this awesome new feature on our blog.
Improved
Reflog View: We've improved the refreshing of items in the Reflog view.
Excluding "Go" Module Caches: Tower's "Quick Open" dialog allows you to open any repository on your machine. However, users with "Go module caches" reported a slowdown in this dialog; that's why Tower now excludes these special repositories for the "Quick Open" search.
Bitbucket Server: Tower now supports personal access tokens for Bitbucket Server accounts.
Azure DevOps Server: With this update, accounts can now be created for multiple collections.
Fixed
History Badges: Clicking directly on a badge (representing a tag or branch) on a commit in one of Tower's history views sometimes failed to select the commit item.
Selecting Lines in Diffs: On macOS 10.15, some users reported a crash when trying to select individual lines for staging in a working copy diff.
Checkout Pull Request Menu Item: The menu item for our new "Checkout Pull Request" feature didn't work in all cases.
Saving Stashes: In some situations, Tower could crash when trying to save a stash.
Pull Request Comments: These are now sorted by creation date instead of updated date.
Renaming Remote Branches: If no local tracking branch existed, Tower didn't allow to rename a remote branch. This is fixed now.
History: When restoring user selections the application could become unresponsive in some cases
Avatar Image: In some cases, the font size calculated for drawing the user's initials was not a valid font size, leading to a crash
Diffs: Loading image data for diffs in the working copy could sometimes result in a crash
Window Titles: In some cases, Tower didn't display the correct titles from tabs.
A regression caused opening a new tab for a window without existing tabs opening in a new window instead. Tabs now open a new tab for the current window in all cases now.
Various crashes: We fixed a number of smaller / less common crashes in different situations.
Version 3
New
Check Out Pull Requests: This update makes it very easy and convenient to check out a Pull Request as a local branch.
Improved
Quick Actions Navigation: Opening and closing the "more actions" interface for a Quick Action item is now more fluent and intelligent.
GPG Email Settings: Tower now displays a warning message in cases where the committer email and GPG key email do not match.
Commit Area UI: When the "commit compose area" is expanded (showing both the "Subject" and the "Description" textfields), it is now possible to click-select a changed file from the list before the UI changes.
Fixed
Commit Changeset Drag and Drop: Dragging an item from a commit's changeset to Finder.app failed in some situations.
Diff Tool Shortcut: The keyboard shortcut to open the diff tool didn't work reliably in the Pull Requests view.
Toolbar Buttons Glitch: On some installations, toolbar buttons were misplaced by 1 pixel between groups.
Empty View for Pull Requests: When deselecting a Pull Request item, the appropriate "empty view" is now displayed.
Crash in Pull Requests: When Tower tried to update a Pull Request item with an invalid/empty username, the app could crash.
File Selection: In certain scenarios, when a file in the Working Copy view was selected, Tower could hang when that file was included in a commit.
Loading Commit Diffs: Fixed a potential crash when loading commits diffs.
Mouse Wheel in Services List: When using a mouse wheel to scroll, some users reported problems in the list of repositories in the "Services" view.
Keyboard Shortcuts: Some keyboard shortcuts and menu actions failed to be available in some scenarios.
Drag and Drop in History: Dragging a commit in the history table views sometimes did not work as smoothly as expected.
Support for "log.showSignature": Users that had the Git config setting "log.showSignature" set to true experienced problems when loading commits in Tower. This has been fixed.
Improved
Branches: We improved the workflow for deleting branches with unmerged changes without the “Force deletion” option being selected. Tower now asks for confirmation to delete any branches with unmerged changes and then deletes them in one go.
Window Restoration: Window restoration now works smoothly even when an update requires the migration of application data. The internal repository identifiers remain identical after migration and therefore no longer affect window restoration.
Repository Sidebar: We improved the user experience for selecting items in the sidebar and the change of first responder.
Stashes: Selecting and deleting one or more stashes now resets the selection to the first stash.
Push HEAD: The “Push HEAD” dialogue now includes the current HEAD branch in the description.
AppleScript: We replaced an AppleScript with a native API implementation, stopping an access control dialogue to appear.
Diff and Merge Tools: Tower now reloads the diff and merge tools each time the preferences pane is opened.
Action Dialogues: Using various actions such as “Push to…”, “Merge…”, “Rebase…” etc. now correctly preselects the action dialogues independent of the first responder status.
Working Copy: We significantly improved the loading time of the “Open With” submenu entries in the working tree entry context menu.
Performance: We optimized the background execution of Git processes to improve repository loading times.
Fixed
Working Copy: During a merge, the action buttons to continue or abort a merge are now properly re-enabled in all cases.
Working Copy: A directory entry replaced with a file entry of the same name, or vice versa, could cause a crash in tree view mode.
Working Copy: When switching branches using auto-stashing, the working copy sometimes did not correctly refresh its file list.
Repository Sidebar: Toggling ref grouping for the repository sidebar no longer leads to erroneous branch information.
Pull Requests: In some cases, the “Merge” button in the pull request detail view was incorrectly disabled.
Window Restoration: The current repository view is now stored for window restoration in all cases.
git-flow: Tower now validates Ref names entered by the user.
Navigation Bar: After switching or renaming branches, the path component is now immediately updated.
Stashes: Saving stashes now works again for older Git versions (<2.13.2).
User Preferences: We’ve made sure that opening the integration preferences pane no longer causes high CPU usage.
New
GPG Support: You can now sign commits and tags, see which commits have been signed and by who, and connect GPG keys with your User Profiles - all right from within Tower. Read more in our help: https://www.git-tower.com/help/mac/integration/gpg
New
App Notarization: Tower builds are now signed using the "Apple notary service", providing an additional layer of security.
Improved
Better License Information: Opening the "License..." dialog from the main menu now provides more information about your license.
Fixed
Default Avatar for User Profile: In our new "User Profiles", we now also show a "default" avatar image if none is connected with the entered email address.
Group Repositories in Services View: For users with multiple GitLab accounts, it could happen that a repository was listed under the wrong account / group.
Commit Message Editing: When editing a commit message and starting it with a "#" character, Tower wasn't always able to correctly save the message.
Reflog Crash: On older macOS versions, opening an item from the "Reflog" could result in a crash.
New
Check Out Remote Branch: You can now double-click a remote branch in the sidebar to perform a checkout.
Check Out Tags: Also, you can now double-click on a tag in the sidebar to check out a corresponding branch.
Gender Neutral Avatars: If no avatar image can be loaded, Tower now uses the user's initials instead of a placeholder image.
Refresh Expiring OAuth Tokens: On some code hosting platforms (e.g. bitbucket.org), OAuth tokens expire very quickly. Tower now refreshes expiring OAuth tokens periodically in the background for you. This makes Git remote operations over HTTPS work much more smoothly.
Improved
Azure DevOps Rebranding: Microsoft's VSTS and VSTFS products were rebranded to "Azure DevOps", which is now reflected in Tower, too.
Bitbucket API: The service API calls for bitbucket.org are now updated to work with their upcoming API changes.
Submodule Improvements: We improved and fine-tuned many details in Tower's Submodule handling (e.g. when changing shared Submodule URLs).
Fixed
Commit Composing View: When the "Sign-Off" option was checked while composing a commit message, the view could become wider as desired.
Cherry-Pick Dialog: You can now combine the "--no-commit" option and the "--ff" option when performing a cherry-pick.
Git Submodule Status: In this update, we're working around several regressions in recent Git versions that incorrectly regard Submodules as “clean”.
Toolbar Refresh: A couple of users reported that the toolbar wasn't always up to date (in terms of enabled / disabled buttons), which should now be improved.
New
User Profiles: In Tower's preferences, you can now add "user profiles". These can be used to quickly switch between different Git committer identities (e.g. one for work and others for private coding).
Copy Ref Names: You can now copy ref names from local branches, remote branches and tags to the clipboard via contextual menu or Quick Actions.
Fixed
History: Ctrl + Click now correctly opens the contextual menu when performed over the graph or ref badges.
Improved
Performance: We were able to speed up opening and navigating repositories once more, for all types of repositories.
Performance: Loading commit changesets is significantly faster now.
Performance: The "edit commit message" dialog during an interactive rebase operation is now loading faster.
Fixed
Working Copy: The staging checkboxes could become disabled when the progress view was shown. This has been fixed.
Working Copy: The background color of the subject and descriptions fields is now white again (when having Tower in "Light Mode").
Image Diff: Images with a width smaller than 20px don't lead to UI layout issues anymore.
Image Diff: Fixed loading image data for deleted and staged working tree entries.
History: When branch tracking information changes while viewing the branch's history, the commit list is now correctly updated.
Navigation: Navigating back/forward between refs (branches, tags) does not lead to the back/forward buttons becoming inactive anymore.
Services: A crash when unexpected data was received from a service API has been fixed.
Services: Fixed sorting of organization and collaborator service repositories.
Services: Fixed an issue with the “Edit Account” button not working in some cases.
Repository Window: Fixed updating represented URL of main window.
Touch Bar: The "Quick Open" item can now be removed permanently.
Window Restoration: Tower correctly restores the last window now if it was quit while being minimized or hidden.
Activity Window: Clicking the "clear" button does not remove running repository or service activities anymore.
New
Quick Actions: You can now use the "Quick Actions" dialog to merge and rebase remote branches.
Fixed
Fixed an issue with invoking “Open in Terminal” scripts.
Fixed a crash when opening the Activity window.
Fixed visual glitches in the “Merge” view.
Fixed an issue with refreshing images in the Image Diff view when changing files in some cases.
New
Dark Mode: Users on macOS 10.14 can now enjoy Tower in our new "Dark Mode"!
Updates for Mojave: Many code updates to improve compatibility with the new macOS 10.14.
Fixed
Image Diffing: Images with different aspect ratios are displayed correctly now.
Services: Service accounts that are members and collaborators of an organization at the same time do not cause Tower to crash anymore.
Fixed
CLI Tool: The CLI tool can now be updated from within the Tower preferences.
Fixed
Image Diffing: A crash if no image data can be loaded has been fixed.
Pull Requests: Remote URLs are not required to have a .git suffix anymore.
Services: A crash when clicking on an organization that invited the user as a collaborator has been fixed.
Services: A crash when clicking on a VSTS project has been fixed.
Services: A crash when listing repositories on older GitLab instances has been fixed.
New
Image Diffing: Tower now supports image diffs for a variety of formats (PNG, JPG, GIF, BMP, TIFF, JPEG2000, HEIC), in both the Working Copy and various history / changeset views. In future updates, we will further extend and improve this feature.
Improved
Reflog: The Reflog list loads faster now.
Fixed
Services: GitLab CE/EE integration now works as intended for servers with a directory install.
Services: Bitbucket Server integration now works as intended if account names contain uppercase characters.
Services: Tower crashed in some cases when clicking on an organization account or subgroup. This has been fixed.
Services: Service repositories of configured accounts were not displayed correctly in some cases.
Improved
GitLab Subgroups: Subgroups are integrated in the service view.
Pull Requests: Your GitLab subgroup repositories work with the new Pull Requests view.
Fixed
Pull Requests: Pull Requests work with older GitLab instances using API v3.
Fixed
Activation now works indepedent of the configured system locale
Tower 3 is here!
Version 2
No further updates, last release in 05/2018
Version 1
No further updates, last release in 06/2014
Version 2
No further updates, last release in 11/2021
Version 1
No further updates, last release in 05/2018