Retcon releases
An incredible amount of design and engineering effort has gone into Retcon since the project started in early 2022. Below are the app’s complete update notes, from the latest release to the very first alpha.
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 ⌫
-
See both working directory and stage at a glance using the combined diff
-
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
- Couldn't manipulate repos containing ignored repos
- Would sometimes crash when closing a window
Bluebird 1.0.0 ⍺7
New
- Preserve stage when performing changes and resolving conflicts
- Preserve current workdir and stage when undoing/redoing
Improved
- Automatic workdir backup is faster and less frequent
Fixed
- Also preserve files deletions when restoring workdir
- Fix memory leak when closing repo window
Bluebird 1.0.0 ⍺6
Improved and fixed
- Fix ignored files being discarded after every manipulation
Bluebird 1.0.0 ⍺5
New
-
Resolve conflicts
- Resolve conflicts in an editor or diff tool
- Undo conflict resolutions to edit them further
- Manipulate history as usual even during conflict resolution
- Unapplied commit resolutions are preserved when manipulating
-
Working directory preservation
- Manipulate history even with uncommitted changes
- Working directory is set aside during conflict resolution
- Bluebird indicates when changes conflict with new head
- See summary of changes in working directory
Improved and fixed
- Unapplied commits are displayed grayed out
- Menus for unimplemented features show a ⛏︎ symbol
- New buttons in toolbar, added tooltips
- Selection is better preserved across undos
- Fixup actions have been renamed to “flatten”
- Couldn't copy hashes of secondary commits
Bluebird 1.0.0 ⍺4
New
- View commit details: contents and metadata
-
View merged commits
- Toggle secondary parents using disclosure arrow or arrow keys
- View secondary parent details
- No support for three-way merges or more, and for nested merge commits
-
Rebase support
- Rebase on any branch using Rebase On…
- Quickly rebase on parent branch using Rebase On Parent
- Any conflict is displayed as usual
- Checkout branches using the branch list or ⌘L
- Combine commits by ⌘-dragging them onto another
- Copy commit hash with ⌘C
Improved and fixed
- Commit selection is better persisted
- Central branch detection now uses a hard-coded list
- Didn't properly display fixup conflicts
- Couldn't manipulate commits targeted by a pending fixup
- Couldn't rewrite shared commits
Bluebird 1.0.0 ⍺3
New
-
Merge commit support
- Open repositories containing merge commits
- Merge commits show a disclosure arrow
- Secondary parents are hidden
- Manipulate merge commits
-
See when a central branch is rejoined
- If central branch is ahead, the missing commit count is displayed
- Commits that are shared with central branch are dimmed
Bluebird 1.0.0 ⍺2
New
- Undo/redo any manipulation
- Delete commits
- Merge commits together: as a group, or into their parent
- Move multiple commits at once
- Reorder commits with ⌘↑ and ⌘↓
- See repository state in title bar
- Auto-update with Sparkle
Improved and fixed
- Better overall stability
- Perform fast-forward whenever possible, instead of copying commits
- Working tree state is checked before applying operations
- Clearer feedback when hovering during a reorder
- Show a warning when opening a repository with merge commits
Bluebird 1.0.0 ⍺1
Initial alpha release! See commit list, reorder commits, and get instant feedback when a manipulation causes a conflict.