Would prevent system shutdown when one of the rebase, merge or branch creation dialogs were open
Would sometimes crash when using Open In Retcon service
On macOS 27, would create a .DS_Store file in sandbox repositories
Fixed various appearance issues on macOS 27
In welcome window, couldn’t use ⏎ if another window was open
Retcon 1.6.2
New
See content of deleted files
Improved
Added kitty to supported terminal apps
Line actions palette now appears near mouse cursor
Diff view now shows edge shadows when scrolled, providing context
Source paths of moved files now have a trailing slash, for clarity
Fixed
Diff sometimes showed stale changes when system was under significant load
Workdir size warning could incorrectly trigger for files without changes
Commit list would show misleading animation when completing a split
Line actions palette would sometimes be unexpectedly dismissed
Source path of files moved from repo root was empty
Retcon 1.6.1
New
Navigate commits while right pane is focused using ⌃⇧▲ and ⌃⇧▼
In settings, choose between tabs or windows
Improved
Inactive windows are better differentiated
.orig files are no longer created when using mergetool
Fixed
Commit conflict icon was sometimes displayed much too small
“Was edited” green checkmarks would incorrectly reappear on scroll
Would sometimes show an error when cancelling a folder open
Locked index files trigger recovery less often still
Would crash when moving a commit to the very bottom using ⌘▼
Retcon 1.6
Deftly move commits across branches. Copy a commit with ⌘C, then paste it anywhere else using ⌘V. Or to move rather than copy, just use ⌘X.
Transparently jump between apps: paste a hash in Retcon to insert its commit, or drag a commit out to share its title and hash.
New
Cut, copy and paste commits between branches
Copy a commit with ⌘C, then paste it on another branch with ⌘V
Or, cut the commit with ⌘X, to move rather than duplicate
Paste above the selection using ⇧⌘V, or using the context menu
Paste hashes from other apps to insert commits
Or, directly drag hashes into the commit list
Drag commit previews out of the commit list
Create or open a repository from the Dock menu
Improved
When paused, see which commits have a stale hash
See more clearly which open repos have changes, or are paused
Fixed
Would ignore pending message edit when copying commit hash
Wouldn't scroll to reveal new selection when deleting or fixupping
In rare cases, would be unable to exit paused state after rebasing
Would sometimes crash when staging a line if the index was locked
Locked index files trigger recovery less often
When paused, changes of yet-to-be-realized commits are now correctly described as “unavailable”
When aborting opening a repo, would add to recents list anyway
Retcon 1.5.3
Improved & changed
Rebase On… shortcut is now ⌥⌘R
More types of generated files are now collapsed by default
Fixed
With keyboard navigation enabled, would lose focus when using spacebar to stage a file
Background CPU usage would grow after running for a long time
Retcon 1.5.2
Improved
Window size and position are better restored
Fixed
Wouldn't always update commit list while paused
Wouldn't hide conflict indicator after resolving workdir conflicts
Wouldn't update workdir cache when changing .git/info/exclude
Retcon 1.5.1
Improved
Drag files from the commit file list to open, copy or share them
With a file selected, use system services in Retcon > Services
Fixed
Behind/ahead counts in toolbar were sometimes truncated
Welcome window would sometimes be slow to open
Would sometimes become unresponsive when selecting a diff line
Retcon 1.5
New
Retcon adopts Liquid Glass and now looks at home on macOS Tahoe
Retcon has a new app icon, which features a striking new layout, but remains true to its predecessor
Find menu items faster thanks to clear, distinct action icons
Improved
Silence LFS support warning, per-repository
Select diff lines by dragging in the gutter
Improved accuracy of error recovery
Fixed
Could cause other Git clients to incorrectly read the stage
When switching back and forth between branches with different ignores, would sometimes discard newly-ignored files
Would show What’s New screen to new users
Would show empty recents list when launched in background
Rarely, would crash when selecting a commit
Would incorrectly display subscription renewal issues
Retcon 1.4.2
Improved
In file list, stage checkboxes now toggle all selected items
Fixed
Large ignored files could prevent the workdir diff from showing
Retcon 1.4.1
Fixed
Tracked files at ignored paths would show as deleted in workdir diffs
Retcon 1.4
Enjoy staggering performance improvements. Every last part of the app has been thoroughly tuned: Retcon is now incredibly responsive, and easily handles Git histories with hundreds of thousands of commits.
No compromise was made to reach these speeds: Retcon still transparently preserves your working directory and stage, offers pervasive undo, a combined stage, and the ability to rewrite history even when conflicts are pending.
Improved
Up to 35× faster performance for every single operation:
Application launch
Repository open
File staging
Commit manipulation: reword, move, delete, etc
Commit parsing and display
State refresh after external changes
Fixed
Couldn't communicate with some remote hosts
Would ignore pending message edit when copying commit preview
Wouldn't display message for some binary files
Would sometimes scroll incorrectly when changing message field focus
Wouldn't always close welcome window after opening a repository
Retcon 1.3.1
New
Opt in to beta updates in Retcon settings
In the welcome window, reveal repositories in the Finder from their context menu
Improved
Added Hyper to supported terminal apps
In the welcome window, select multiple repositories at once
When contacting support, repository stats are now automatically attached
Fixed
Would fail to discard lines in files with staged changes
Would fail to discard files in “absent in parent” conflict state
Wouldn't automatically scroll when moving cursor in commit message
Wouldn't always select the correct lines when focusing the diff with ⇥
Couldn't show missing commit list when on a detached head
Retcon 1.3.0
Configure your SSH setup to your exact needs. Retcon now supports OpenSSH configuration files, allowing you to customize every aspect of individual SSH connections.
New
OpenSSH configuration support (.ssh/config file)
Use third-party SSH agents with no extra setup
Override active SSH keys based on host
Set up intricate, personalized rules to match your workflow
Added support for repos using the index.manyFiles or index.skipHash Git options
Improved
Opening repositories with many merged commits is now much faster
When revealing a folder from the diff header's parents menu, it is now shown in its parent folder, matching system behavior
Fixed
⌥▼ would skip over the first commit in the list
Retcon 1.2.1
New
Quickly act on files from their diff header
Open the file with a single click
See the file's parents by right-clicking or ⌘-clicking
Drag the file to a different app, to open or move it there
As before, use the inline menu for more actions
Improved
When composing the first commit of a repo, the default message is now “Initial commit”
The current draft message is now preserved when relaunching the app
Fixed
Now actually correctly discards whole conflicting files, or specific lines
Wouldn't automatically scroll when typing a long commit message
Working directory change count was sometimes incorrect
Wouldn't show type-specific icon for now-deleted files
Retcon 1.2.0
Get sprawling diffs under control with commit splitting. Break down oversized commits into granular, meaningful ones.
While editing any commit, unstage some of its changes, then confirm the edit. The changes will be moved to a new commit. Done!
New
Split commits by unstaging changes in Edit mode
Jump between tagged commits using ⌥▲ and ⌥▼
Improved
Added Ghostty and Prompt to supported terminal apps
When focusing the diff with ⇥, any visible selection is now preserved
App now warns when closing a repository with active tasks
When contacting support, issue diagnostics are now attached
Fixed
Would omit empty commits when rebasing
Wouldn't save credentials when authenticating with HTTPS
Now correctly discards conflicting files
Sometimes showed “not fully merged index” error when trying to manipulate history
Would show irrelevant error when staging lines in non-editable commit
When paused, commit title wasn't focused when using Stage All and related actions
Couldn't use ⏎ in commit list to focus working directory title field
Retcon 1.1.5
Improved
Significant performance improvements when opening or manipulating repos with a very long history
When focusing the diff with ⇥, a visible line group is now selected
When scrolling diff, multiple selections in the file list are now preserved
In diffs, adjacent changes are more often grouped in a single hunk
Rebase preview now truncates long commit messages
CLI tool now supports --help
Fixed
Fixed undoing a message edit in specific circumstances
Fix reverting to initial state during conflict resolution
Fix “Delete Commit Only” being enabled when paused
Fixed occasional layout issues in diff
Files with Windows line endings were improperly displayed
CLI tool didn't support paths starting with two dashes
Rarely, would crash when selecting a commit
Retcon 1.1.4
Fixed
Scrolling with the mouse was much too fast
Couldn't manipulate history after some rebases
Retcon 1.1.3
Improved
Rebase no longer inserts duplicates of rewritten commits
Fixed
Would sometimes hang when displaying a diff
Wouldn't correctly handle conflicts in renamed files
Retcon 1.1.2
New
Open a repository by dropping it on the welcome window
Improved
The last file of a commit can now always scroll to the top
Open Difftool is now Open Mergetool when conflicts are present
Use Use Selection for Find (⌘E) in diffs, to search in other apps
Improved reliability of jumping between the message fields with ▲/▼
Fixed
Would crash when selecting text in files with composed characters
Couldn't stage files with composed characters in their name
When staging a file, would sometimes stage similar files
Wouldn't properly display mainline commits that are already merged
Would sometimes hang when undoing message edits
Wouldn't apply edited message upon navigating branches
Wouldn't always properly setup resolution of conflicts in renamed files
Would sometimes unexpectedly empty the stage
Unreadable recovery data can now be dismissed to open a repository
Retcon 1.1.1
This is the release version of Retcon, and requires a paid license. Do not update if you wish to keep using your current build.
Fixed
Couldn't manipulate history while paused for conflict resolution
Retcon 1.1.0
This is the release version of Retcon, and requires a paid license. Do not update if you wish to keep using your current build.
New
Finder integration
From any app, open a folder in Retcon
From Retcon, open the active repository in the Finder
Terminal integration
From a terminal, open the current directory in Retcon
From Retcon, open the active repository in a terminal
Select your favorite terminal app in Retcon settings
Improved
Drag any file or folder to Retcon's icon to open its repository
Drag any modified file to Retcon's icon to reveal it in the working directory
Improved reliability of displaying changes when the index is locked
Improved reliability of restoring changes when the index is locked
Fixed
Would allow overwriting an existing branch when creating a new one
Would allow discarding files in non-editable file lists
Wouldn't preserve author information in resolved conflicts
Couldn't start resolution for conflicts in renamed files
Opening Retcon from another app
From a terminal: Setup the CLI tool in Retcon settings. From any app: Select a folder or file, and choose App name > Services > Open in Retcon.
Opening another app from Retcon
Using the menus: Choose File > Open Repository in Finder/Terminal (⇧⌘J/⌥⌘J). Using the toolbar: Add the toolbar buttons by choosing View > Customize Toolbar….
Retcon 1.0.1
This is the release version of Retcon, and requires a paid license. Do not update if you wish to keep using your current build.
Improved
SSH authentication failure message now gives better instructions
Fixed
Would sometimes prompt for SSH authentication too frequently
Retcon 1.0.0
This is the release version of Retcon, and requires a paid license. Do not update if you wish to keep using your current build.
This is the first public release. Hello, world!
Retcon 1.0.0 β27
New
Set a branch's remote when first pushing it
Remotes are fetched automatically
Add File > New (⌘N), to respect muscle memory
Improved & changed
Rebase On… shortcut is now ⌃⌘R
Dock icon now bounces when pausing in the background
Help menu now offers help
App now warns about unsupported repository types
Fixed
When skipping an edit, the committer info was updated anyway
While paused, edits were reset when editing the history
Pushing while editing a message would push the old message
Merged commits were shown as editable
Pushing/pulling branches with long names would change sidebar width
Couldn't perform operations anymore after specific manipulations
Locked index files no longer trigger recovery
Would crash when restoring with a locked index
Retcon 1.0.0 β26
New
See meta file changes
Identify meta changes by their badge
Distinguish between moves and renames
See previous file name or path
See a change recap before confirming a commit edit
Large files and some generated files are collapsed by default
Improved
The two message fields are now linked
Navigate between the two fields using the arrows keys, or ⏎
⇥ no longer focuses the description field
Pasting correctly spreads over the two fields
File diffs now show the final line, like in a text editor
Deletion conflicts now show a clear description
Fixed
Empty, binary and deleted files are displayed properly
Staging moved files would separate the old and new versions
The message placeholder was sometimes incorrect
Rewording during a commit edit sometimes saved the wrong message
Fixed some memory leaks, and related crashes
Retcon 1.0.0 β25
New
Welcome window
See recent repositories or quickly open a new one
Open an example repository for trying out manipulations
Settings
Choose auto-update behavior
See global values for supported Git settings
A badge in the Dock now indicates if the app has paused for editing
Improved
When a push is unable to fast-forward, force pushing is suggested
Force push menu option is no longer hidden
Orphaned stage lines now have a prominent striped background
Retcon now shows a prompt for completing user details when relevant
Retcon now automatically recovers from errors that occur while paused
Fixed
Couldn't fixup merge commits
Empty commits are now automatically discarded
Tab indents in file diffs were misaligned
Scrolling through diffs could be stuttery
Diff elements could be layout improperly
Disable difftool actions when no tool is set
Whitespace is now trimmed when entering new branch name
In empty repositories, initial branch name was ignored
Retcon 1.0.0 β24
New
Merge branches
See remote branches in list and create new tracking branches
Initialize a new repository when opening a non-repo folder
Improved
Copy a commit's info from its context menu
Fully support detached heads
Fixed
Couldn't rewrite the first commit of a branch
Wouldn't show untracked files in workdir diffs
Corrected merge commit diffs
Corrected first commit diffs
Would hang when launching some difftools
Couldn't fixup a commit that's marked for editing
Retcon 1.0.0 β23
New
Create and delete branches
Commits now have a context menu
Improved
SSH keys are more reliably loaded
HTTPS remote credentials can now be entered in Retcon
Fixed
Wouldn't read HTTPS remote credentials from keychain
Stale changes would be restored to workdir in specific circumstances
Retcon 1.0.0 β22
The commit list and commit header now show author metadata, instead of committer metadata.
New
Pull, push and fetch branches
Safely undo any pull or push with ⌘Z
See behind/ahead count in toolbar
Monitor or cancel remote operations in the main window
Improved & changed
“Rebase on Parent Branch” is now “Pull Parent Branch And Rebase” (⌘R)
In a single action, without having to switch branches, both pull the parent branch and rebase on it
In commit list, junction header now also counts parent's remote commits
Show author metadata instead of committer metadata
When relevant, committer metadata is shown at the bottom of the commit's details
Only show inline highlights for contiguous multi-line changes
Fixed
In discard confirmation dialog, fix file count when paused
Would crash when clicking an empty first line
Rarely, would crash when changing selection
Retcon 1.0.0 β21
New
Undo any stage/unstage operation
Undo Revert Changes during conflict resolution
Improved
Most shortcuts can now be used regardless of current focus
Add keyboard shortcut for Open in Difftool (⇧⌘D)
Reveal Pausing Commit now scrolls the commit list
App now warns when confirming an edit without staging changes
Fixed
Couldn't use Amend Tip to only change a commit's message
Would crash when clicking a trailing empty line
Type-to-select in file list now works for nested files
Fix external changes undo sometimes failing to register
Very rarely, staging lines would incorrectly write the stage
Retcon 1.0.0 β20
New
Stage or discard selected lines using the contextual palette
Or, use spacebar and ⌫ as before
Improved
Improved inline change highlights
Commit description is now displayed with a maximum width
Working directory is now selected after uncommitting
Generated reflog messages are more detailed
Fixed
Fixed windows not automatically grouping into tabs
Fixed working directory row display for long messages
Fixed toolbar customization being reset at launch
Fixed toolbar button widths in icon-only mode
Fixed diff scrolling to the top when clicking in an empty area
Fixed gutter checkboxes sometimes being missing
Fixed flashing when scrolling some diffs
Fix inactive scrollbars sometimes showing for commit description
Retcon 1.0.0 β19
New
New icon! Gone away is the bluebird; here to stay is a whiteboard ♫
Quickly spot individual changes with inline highlights
Improved & changed
Show line number for staged lines
Significantly improved performance in repositories with many merge commits
Tab title wouldn't update for background tabs
Fixed
Couldn't scroll diffs using ⇞/⇟/↖︎/↘︎
Couldn't properly stage lines in a conflicting file
Fixed some erratic crashes
Retcon 1.0.0 β18
Improved
Increased commit list legibility
Fixed
Repeated hunks would sometimes be invisible
Would crash when opening some repos
Retcon 1.0.0 ß17
Retcon has been completely redesigned! The app sports a new, easy-to-parse layout, and gains powerful new features for working with git.
New
Redesigned viewer/editor
Use a single consistent view for reading commits, editing them, creating new commits and resolving conflicts
Focus on your code with the heavily decluttered presentation
Wide layout gives the diff ample space
Edit commit messages in place
See exact commit status at a glance
When unsure of how to proceed, get concrete instructions with contextual guide
Redesigned diff
See both working directory and stage at a glance using the combined diff
No back and forth between distinct sections
Stage/unstage lines in one stable view
See diffs even for conflicting files
See correct line number even for staged lines
Stage line groups with a single click
…or select specific lines by dragging over the text
Select line groups with ▲/▼; stage and discard with spacebar and ⌫
Redesigned file list
Quickly act on multiple files using the contextual menu: open, diff, reveal, copy path, discard
Open the commit in your difftool
Double-click a file to open your editor
Redesigned commit list
See commit tags inline
Stay oriented while rewriting: see which commits you've already paused at, and which will pause for editing
See the list of missing parent branch commits
Rebase on parent branch with a single click
Denser commit list now shows twice as many commits
See draft commit message in top row
Added Revert Unapplied Changes (⌥⌘R), to abort the current rewrite
Improved & changed
Updated some shortcuts
Reveal Working Directory: ⇧⌘C
Fixup Into Parent: ⌥⌘E
Copy Preview: ⌥⌘C
Background tabs now show the repository’s status
Removed Fixup Together
Fixed
Picking a branch from the list sometimes did nothing
Commit dates are now formatted according to user preferences
Toggle Sidebar menu item is now available
Retcon 1.0.0 ⍺16
App expiration date is refreshed
Retcon 1.0.0 ⍺15
Improved
Significant performance improvements when rewriting history, switching branches, displaying the working directory, and opening a repository
Fixed
Submodule contents were sometimes cleared when rewinding
Couldn't rewind to before a submodule's initialization
Undo External Changes sometimes affected the wrong changes
Stage All would fail for deleted conflicting files
Back/forward navigation wouldn't record the initial head
Retcon 1.0.0 ⍺14
New
Get live feedback in Rebase Branch window
Added rebasing on a commit hash
Added Focus Next Pane (⌃`)
Added Copy Preview (⇧⌘C)
Improved & changed
Show Uncommited Changes shortcut is now ⇧⌘A
Retcon would hang when focused
Improved performance when opening Rebase Branch window
Improved performance when selecting many commits
Moved View menu to its proper location, after Edit
Fixed
Could amend a commit with an empty message
Would crash when selecting a merged commit
Would sometimes crash when rebasing
Fixed memory leak when closing repo window
Retcon 1.0.0 ⍺13
New
Added Delete Commit Only (⌫), which keeps changes
Added Switch to Home Branch (⇧⌘H)
Added back/forward navigation through visited heads
Improved
Commit list now has animated transitions
Switching branches no longer creates an undo point
Improved performance in large repos in some circumstances
Fixed
Workdir summary wouldn't update when discarding changes
Fixed parent junction row location when rewriting shared commits
Retcon 1.0.0 ⍺12
New
Added Toggle Amend Head (⌃⌘A)
Ignored files remain ignored while rewinding to old commits
Improved
Commit editor and resolver now support confirming with ⌘⏎
App now warns about unsupported in-progress external git operations (merge conflict resolution, etc)
Recover swapped changes when relaunching app after a crash
Fixed
Untracked files wouldn't be removed when swapping out workdir
Recently committed changes would sometimes be copied to workdir
Workdir summary wouldn't update while in the background
Manipulating commits while app is in the background would fail
Submodule changes would get discarded when rewriting
Couldn't open submodule repositories
Retcon 1.0.0 ⍺11
New
Create commits
List and stage changes, compose a message, commit
Amend head commit
Keyboard shortcuts for common operations
Reliable undo/redo, even if workdir has since changed
Commit with an empty message if convenient
Send Feedback button in title bar
Improved & changed
App is now named Retcon
Conflict resolver now shows which two commits are involved
Fixup Into Parent shortcut is now ⌃⌘E
Diff font size increased to 11pt
Fixup actions are now named “fixup” instead of “flatten”
With consent, the app now sends anonymous system profile
Fixed
Couldn't see/resolve conflicts in fixupped commits
Couldn't rebase branches with no unique commits
Occasional crashed when displaying a conflict
Remove blank space above details view
Bluebird 1.0.0 ⍺10
Fixed
Couldn't backup workdir when global git config was missing user info
Bluebird 1.0.0 ⍺9
Improved
Hangs when manipulating are now very rare
Bluebird 1.0.0 ⍺8
New
Edit commit contents
Edit the files of any commit in place
While resolving conflicts, mark commits for editing later
Get full context: see commit's existing changes
Edit commit messages
Confirm before closing window with unapplied manipulations
Improved
See more precise progress info when a rewrite fails
Conflict resolution pane is cleaner
Much fewer (unreferenced) git objects are created
Fixed
Couldn't see details of commits with image changes
Couldn't use Reveal Pausing Commit (⌘D) with commit details focused
Couldn't open external diff tool
Commit committer metadata is updated when rewriting