Gitfox
🌙

Release Notes

What changed in every Gitfox release. Looking for an older build? See older versions.

Version 4.7.0

Build 11862

New:

  • Pin local and remote branches

Improved:

  • Branch creation, copy, move, pull, push, merge, rebase, and git-flow dialogs now accept manually entered refs
  • Copy and move branch dialogs now prefill the destination with the selected branch name
  • In-progress merges, reverts, cherry-picks, and rebases now continue directly from the repository alert bar while respecting the selected identity and signing settings
  • Interactive rebases can now edit multiple commits and continue past unchanged edit stops
  • Branch checkout Quick Actions now support fuzzy, multi-word searches
  • The release notes view now shows HTML directly from gitfox.app

Fixed:

  • The stash log now clears its previous entries when a repository has no stashes
  • Push, copy branch, and move branch dialogs now focus the destination field when opened
  • Interactive rebase edit and fixup steps now refresh correctly, with fixup replacement messages restored
  • Repository views now refresh correctly for repositories opened through symlinked paths such as /tmp
  • Malformed Git timestamps are no longer interpreted as different dates

Version 4.6.3

Build 11828

Improved:

  • File history now works for tracked files in the changes outline, filters the outline to the selected path
  • Gitea accounts now load all repositories and organizations across paginated results
  • Opening linked repositories now follows the macOS preference for tabs and windows
  • Subscribe to the Gitfox newsletter from a new prompt or the Help menu

Fixed:

  • Claude AI commit message generation no longer fails with false prompt injection errors
  • Symbolic links no longer load as editable text diffs
  • Pull, push, and submodule update operations no longer hang when Git produces large amounts of progress output
  • Fixed a crash when repository file monitoring fails to start
  • Diffs with non-UTF-8 content are no longer decoded with lossy replacement characters
  • Replacing an existing clone or new repository destination now moves it to the Trash instead of permanently deleting it
  • Fixed a typo in the restore index subtitle
  • The Add button now remains disabled until a Base URL is entered for Gitea and GitLab Self-Managed accounts

Version 4.6.2

Build 11797

Fixed:

  • Bitbucket OAuth scope decoding

Version 4.6.1

Build 11786

Improved:

  • AI commit message generation now checks that the agent configuration matches the installed agent version before running

Fixed:

  • Commit actions no longer fail silently when Git requests an SSH signing key passphrase

Version 4.6.0

Build 11781

New:

  • Commit messages can now be generated with AI assistance
    • To use Claude the claude command-line tool must be present
    • To use Codex the codex command-line tool must be present
  • Diffs whitespace handling has been simplified and now matches the git diff modes:
    • Ignore All Space is equivalent to --ignore-all-space
    • Ignore Space Change is equivalent to --ignore-space-change
    • Ignore Space at EOL is equivalent to --ignore-space-at-eol

Fixed:

  • Cancelled Git tasks no longer briefly blank the UI

Version 4.5.3

Build 11764

Improved:

  • Newly added worktrees are now shown immediately in the repository outline
  • Repository changes are now reflected more quickly after filesystem updates
  • Loading large commit histories is now faster
  • Reduced CPU and memory usage while running Git commands and processing command output

Fixed:

  • Diff selection is now preserved when a diff updates after edits or refreshes
  • The diff minimap now tracks scrolling more accurately, especially near the bottom of long or split diffs
  • Context row backgrounds in diffs no longer cover gutters, button bars, or split padding separators
  • Command-arrow diff shortcuts now work when focus is in an outline
  • Editing a diff now writes back to the correct target even if the diff refreshes while saving

Version 4.5.2

Build 11731

Improved:

  • Tighten macOS runtime entitlements
  • The commit window now reopens at its last size and position
  • The changes outline now shows a No Changes label for clean worktrees
  • Feedback is now sent directly through Gitfox, with diagnostics attached automatically

Fixed:

  • Fixed a cancelled log load briefly showing an unborn-branch header

Version 4.5.1

Build 11683

New:

  • Show a Git setup dialog when no user name or email is configured

Improved:

  • The commit sheet is now an attached window you can reposition while editing the message
  • Inline diff highlights now include edges for better visibility
  • Blame line tinting is consistent across commits
  • Replaced deprecated gitflow-avh with git-flow-next

Fixed:

  • Fixed a crash when picker menus updated while open
  • Fixed a crash caused by label color propagation in SwiftUI outline rows
  • Fixed a logger resource leak after many repository operations
  • Commit avatars no longer flicker to generated initials during refreshes

Version 4.5.0

Build 11627

New:

  • Added Git LFS support:
    • Gitfox now bundles a git-lfs binary
    • Repository > Git LFS provides Install, Uninstall, Fetch, Pull, and Push HEAD actions
    • The file outline context menu provides Git LFS actions to track or untrack the selected files
  • Added commit signing support:
    • Identities can now specify OpenPGP or SSH signing keys
    • The commit flow now exposes signing controls
    • The log and commit header now show signature status when the commit is signed
    • SSH public keys are discovered from ~/.ssh, with manual entry available when needed
    • Gitfox can manage the allowed signers file used to trust SSH signing keys
  • Added a Remove index.lock recovery action when Git reports a stale .git/index.lock file for the active repository
  • Added a file outline Display > Show All Untracked Files option for the active repository

Improved:

  • The commit button menu now exposes more commit controls directly:
    • The primary commit/amend action.
    • The push variant.
    • Sign Commit options for Use Git Default, Sign, and Do Not Sign.
  • The identities settings pane is now Identities & Signing
  • Diff colors now meet WCAG AAA contrast requirements in Aqua and Dark Aqua

Fixed:

  • The Git settings pane avatar view is now restricted to Gravatar avatars only

Version 4.4.0

Build 11588

New:

  • Added a text diff setting to disable line wrapping
  • Rendered Markdown now supports inline and block TeX equations

Improved:

  • Commit avatars now fall back to profile images from service accounts
  • Branch, tag, and push branch name fields now sanitize input removing invalid symbols and converting whitespace to -
  • Retry requests with transient service network failures
  • Outline item title truncation can now be controlled via a Display context menu
  • Generated avatar colors are now softer while keeping text readable
  • The repository outline now expands grouped branch paths to keep the current branch visible
  • Repository outline search now matches full branch ref names, including grouped branch prefixes
  • Branch and tag sorting by creator date now falls back to ref name when dates match

Fixed:

  • Nested worktrees are no longer mislabeled as submodules
  • Background fetch no longer shows error sheets for remote lookup failures
  • Renaming an account no longer refreshes the connected service account
  • Squash and fixup actions are now disabled for non-contiguous commit selections
  • Stale diff formatting work is now cancelled when switching away from a large diff
  • Account error indicators now clear after a later service request succeeds
  • Fixed a crash when rendering Markdown repeatedly

Version 4.3.2

Build 11536

Improved:

  • Reduced excessive UI refreshes caused by external processes generating frequent filesystem events
  • Removed main menu icons in preparation for macOS 27

Fixed:

  • Log not updating after a rebase action
  • Worktree log header not shown for unborn HEAD
  • Minimap crash when map image gets too large

Version 4.3.1

Build 11509

New:

  • New blame view
  • The blame commit popover now has a button to open the commit for that line directly

Fixed:

  • Crash when double-clicking a selection
  • Crash with strict ISO8601 git timestamp timezone parsing
  • Text selection appearing when clicking empty space after the last character on a line
  • The changes view no longer pops instantly when changes are intermittently empty
  • SIGPIPE crash
  • Reduced redundant repository refreshes from bursts of Git metadata filesystem events
  • The branch outline now keeps its existing refs when a refresh fails instead of clearing them

Version 4.3.0

Build 11462

New:

  • Added a new "Sync HEAD" command that performs a combined fetch, push, and pull
  • Added patience and histogram diff algorithms:
    • Myers: Fastest option; produces compact diffs but can be noisy when code moves. Previously the default.
    • Patience: Balanced option; usually produces clearer code diffs with moderate overhead. New default.
    • Histogram: Highest-quality option; often produces the most readable diffs with the most overhead.
  • Added support for more image formats in image diffs: GIF, TIFF, BMP, WebP, HEIC/HEIF, AVIF, JPEG XL, OpenEXR, HDR, TGA, SGI, PICT, ICO, ICNS, PSD, DDS, KTX, ASTC, DICOM, Netpbm formats, and many camera RAW formats
  • Add "Checkout" quick actions for branches
  • Most main menu items now have appropriate icons

Improved:

  • All colors based on object hashes (Gravatar backgrounds etc.) will now be deterministic and not change when the app relaunches

Fixed:

  • Crash in log scroll view

Version 4.2.0

Build 11427

New:

  • Added a Whitespace-Only Changes setting for diff whitespace:
    • Ignore all whitespace changes, including insertions and deletions
    • Ignore only whitespace changes within modified lines
  • Added Highlight Edge Whitespace Changes to toggle highlighting for leading and trailing whitespace
  • Renamed Show Whitespace to Draw Whitespace Characters to avoid confusion with the new whitespace settings
  • Added a small accessory menu to the diff view header for quickly toggling these settings

Improved:

  • Improved Git output parsing performance across the app

Fixed:

  • Fixed an OAuth token storage race condition that could result in lost GitLab authorization
  • Fixed automatic repository refresh getting stuck

Version 4.1.7

Build 11365

Improved:

  • Use CMD+Return for the rebase editor matching the commit editor
  • Repository state is now updated based on filesystem events rather than naive refreshes
  • Smoother scrolling through large commit histories
  • Faster formatting of large diffs without blocking the interface
  • Switching to a new file no longer waits for the previous diff to finish loading
  • Cleaner Add Submodule dialog with a relative path field and an explicit Force option
  • When adding a repository with the CLI:
    • existing paths are no longer duplicated
    • invoking it from within a repository adds the repository root

Fixed:

  • Stale repository manager row titles
  • Regression from 4.1.6 that prevented opening a new window when clicking on the app icon
  • Links not updating in the repository outline when editing them in Link Manager
  • Accounts were not refreshed when a new window opened
  • Commit log scrolling could get stuck while older commits were still loading
  • Conflict counts briefly showed old values right after switching branches
  • Undo did not work after the editor reset its text on its own
  • Submodule paths with spaces or path separators were not handled correctly
  • Submodule authentication account picker not selecting the configured account
  • Repository outline icons could briefly freeze the interface
  • Task list and window title could flicker during running tasks
  • Errors when opening a document are now shown consistently
  • Stage All and Unstage All actions could be re-enabled before the repository status finished updating
  • Loading toolbar icons causing interface hitches
  • Smaller stability and reliability improvements

Version 4.1.6

Build 11239

New:

  • Hardened security of the Bitbucket sign-in flow
  • Faster account loading at app startup
  • Lower memory usage when loading avatars

Fixed:

  • Regression that prevented the squash/fixup rebase editor from showing (sorry)
  • Crash that could occur during background updates
  • Crash when a custom commit message link pattern was missing parts of the match
  • Repository windows occasionally not restoring correctly on launch
  • Race condition when reading saved account credentials
  • Window events sometimes triggering in unrelated windows
  • Quick actions sometimes targeting items that no longer exist
  • Bisect view appearing busy after an error
  • Search occasionally behaving unpredictably while typing
  • Avatar images sometimes loading invalid data
  • Additional memory leaks
  • Stability issues in the file outline and task list

Version 4.1.5

Build 11157

New:

  • Added Quick Look functionality for files (CMD+Y)

Fixed:

  • Automatic fetch being paused despite no active log query
  • Bug causing thread pool exhaustion
  • Memory leak

Version 4.1.4

Build 11140

New:

  • The entire repository info title row can now be clicked to open the repository in the repository manager
    • Previously you could only click the small arrow button
    • The "Trash" action was moved to a pop-up menu

Fixed:

  • Truncate the head of external worktree paths instead of the tail so the end remains readable
  • Log not reloading all items after commit when there are less than 50 elements in the log

Version 4.1.3

Build 11132

Improved:

  • --force-with-lease is now assumed when performing Amend and Push
  • Diagnostics are now attached to user feedback
  • The Un/stage All button has been moved to the left so it is visible in smaller column widths
  • A progress indicator is shown when finding the merge base on interactive rebase
  • When creating a new branch, it is now automatically selected
  • The Rename repository manager context menu item has been brought back
    • It wasn't obvious to some users that items could be renamed with the ENTER key (similar to Finder)
  • Raised the deployment target to macOS 26.0

Fixed:

  • Error when opening repository folders that contained leading or trailing spaces
  • "Use Directory Diff" option not being respected in the "Automatic" setting
  • Deprecated Bitbucket API call resulting in a connection error
  • Folders disappearing when dragged onto themselves or their children
  • Coloring of trailing comments in editor views
  • The last opened settings pane is now preserved when reopening the app settings
  • Show the update dialog when changing the update channel and updates are available
  • Small layout issues

Version 4.1.2

Build 11032

Fixed:

  • Disappearing tab bar when creating a new tab

Version 4.1.1

Build 11023

New:

  • Option in settings to always or never show the diff column
  • Explicit "Amend" and "Un/stage All" buttons in the changes view

Improved:

  • Collapsed items in the button strip are now accessible via a menu button (just like in the toolbar)
  • The modification and conflict colors are now configurable for both sides (A/B)
  • The repository manager now saves the expansion state
  • Diff behavior settings were moved from the "General" to the "Diff" settings pane

Fixed:

  • The default modification and conflict colors are now more distinct
  • The "Commit" button is now disabled when no files are staged
  • Editor producing an error on rebase when the Gitfox app bundle path had spaces in it
  • Memory leak when closing a repository
  • General fixes and performance improvements

Version 4.1.0

Build 10911

New:

  • New account system and service providers
    • ⚠️ The new account system will require you to reauthorize your accounts
    • Added authentication methods and providers:
      • Bitbucket (API Token)
      • Gitlab (Personal Access Token)
      • Gitlab Self-Managed (Personal Access Token)
      • Gitea (Personal Access Token)
    • Accounts settings have been renamed to Accounts & Credentials
      • Private key passphrase credentials are now also shown
  • New General setting for Diff Visibility Breakpoint
    • This lets you change the minimum window width at which the 4th diff column appears
    • The default was reduced from the previously fixed 2000pt to 1500pt

Improved:

  • Updated git to v2.52.0

Fixed:

  • Race condition that could cause GitLab OAuth accounts to lose authentication
  • Commit stats progress indicator spinning indefinitely on empty repositories
  • Branch labels not properly rounded when the merge check is enabled
  • Use the same background colors for repository manager detail and content columns
  • Remove history and checkout commands from the file context menu in the changes view

Version 4.0.6

Build 10721

Fixed:

  • Git-Flow toolbar menu not showing the first item ("Start Feature")
  • Outline not expanding beyond level 1 after a search

Version 4.0.5

Build 10717

Improved:

  • Tweaked the default diff modification and deletion colors to be more distinct

Fixed:

  • Crash in diff when displaying RTL languages
  • Diff not recognizing legacy EOL encodings
  • Wrong repository manager outline width when the sidebar gets too large

Version 4.0.4

Build 10709

Improved:

  • Reference labels are now also shown in the compact commit header
  • File "Open" context menu actions are allowed as long as the file exists on disk

Fixed:

  • Authentication failed dialog not popping up on connection error
  • Outline not updating when changing links
  • Git service symbols being slightly too big
  • Settings panel being resizable

Version 4.0.3

Build 10701

Improved:

  • Updated repository line and commit count status views
    • The counted line type is now configurable (code, comments or all)
  • The links toolbar button was removed in favor of showing links directly in the repository outline
  • Improved diff times for purely added or deleted files

Fixed:

  • Discard not batching file actions properly
  • Several macOS 26 user interface issues
  • Repositories in folders not showing up in "Open" quick actions
  • Sheets opened in the changes view reappearing when the view is popped
  • Regression that prevented staging of submodules

Version 4.0.2

Build 10616

New:

  • New Settings:
    • App appearance under "General" > "Appearance"
    • Diff text and color preferences in the new "Diff" settings pane
    • Git default branch under "Git" > "Default Branch"

Improved:

  • The diff now defaults to unified view if either side is empty
  • Submodule status entries now also show the submodule state (C/M/U)
  • Tips are automatically dismissed after they have been displayed 3 times
  • Full support for Liquid Glass on macOS 26 Tahoe
  • Raised the minimum deployment target to macOS 15.6

Fixed:

  • Smudge and clean filters not correctly applying to diff content
  • The selected branch not being correctly preselected in the rebase view
  • Empty file list for commits containing submodule changes
  • "Un/Stage All" not correctly working with dirty submodules
  • Minimap color brightness for dark mode
  • Sidebar toggle showing up in the "Settings" toolbar
  • "Abort" repository state button not working when the view has no selection
  • Bisect view sometimes not appearing until a refresh
  • Commit button menu checkmarks not reflecting state properly
  • Outline selection position not preserved after an element was removed
  • UI sometimes not fully updating on refresh
  • File outline performance

Version 4.0.1

Build 10423

Fixed:

  • Quick actions now correctly match on the repository display name as well
  • Open update submodule dialog instead of opening uninitialized submodules
  • Stutter when dragging the image diff splitter
  • No default focus in action panels
  • Wrong scroll bar position when scrolling in a non primary diff column
  • Diff gutter buttons showing for certain diff types
  • UI layout issues in macOS 26 Tahoe
  • Exception when opening the diff font panel

Version 4.0.0

Build 10366

New:

  • Completely new diff view featuring:
    • Change undo
    • Fluid layout
    • Conflict resolution
    • Change navigation using shortcuts (e.g. previous/next, stage/unstage)
    • Find in diff text
    • Write-on-save option for diffs just like any regular difftool
    • Responsive diff view
      • The diff view will now appear in a 4th column if there is enough screen space
  • New "Disable Commit Hooks" commit option (--no-verify)
  • Tips are now displayed throughout the UI

Improved:

  • Improved submodules handling
    • Open submodule when double-clicking on status item
    • New "Open Submodule" context menu to status items
    • Show open submodule button instead of diff view
  • All diff related actions were moved to the new "Diff" main menu item
  • Updated settings view
  • Updated quick action panel
  • Updated scc to v3.5.0
  • Updated git to v2.51.0
  • Raised the deployment target to macOS 15.0

Fixed:

  • Text fields in panels not getting focus
  • Regression that prevented the context menu to pop up in outlines on CTRL-click
  • Hangs in repositories with a large amount of branches

Version 3.10.0

Build 9921

New:

  • JuxtaCode difftool integration

Version 3.9.5

Build 9633

Improved:

  • Git comments are now only highlighted if the # sign is at the line start

Fixed:

  • The commit editor not correctly handling diacritic characters
    • For example, conversion of ~ + a to ã
  • Branches not being shown if creatordate used the Zulu date format

Version 3.9.4

Build 9613

Fixed:

  • Crash when popping the repository view

Version 3.9.3

Build 9610

Improved:

  • General UI performance improvements

Fixed:

  • Long branch names causing an overly wide push dialog
  • Memory leak

Version 3.9.2

Build 9584

Improved:

  • General UI performance improvements

Fixed:

  • Hang when showing a huge amount of files
    • The alert before showing the files was removed, as it is no longer necessary
  • File path display when toggling the view mode from grouped to list
  • Hang when showing a modal open panel
  • Hang when installing or deinstalling the CLI tool

Version 3.9.1

Build 9523

New:

  • New crash report dialog

Improved:

  • Mergetools now open with the mergetool.writeToTemp flag as to not pollute the repository with backup files
  • Updated the cmark-gfm markdown renderer to 0.29.0.gfm.13

Fixed:

  • Mergetool creating backup files for DELETED files
    • Mergetools cannot open for DELETED files, so the difftool is opened instead if possible
  • Mergetool not properly opening for all status entries
  • Space appearing between the toolbar and repository manager on first launch
  • Initial repository manager pane widths on first launch

Version 3.9.0

Build 9402

New:

  • Recent messages button in the commit view
    • Added a button to restore your 15 most recent commit messages, starting from HEAD
  • Split Open Diff or Mergetool into 2 distinct commands. To make actions unambiguous, there are now 2 separate commands for the commit and file level. If you prefer one over the other, you can always change your preferred shortcuts in the preferences
    • Open Diff or Mergetool always opens the diff for all files in the current commit or HEAD
    • Open Diff or Mergetool for Selection always opens the diff for selected files only

Improved:

  • Improved performance when parsing git dates
  • The progress indicator now shows an arrow on hover, indicating it is clickable

Version 3.8.11

Build 9312

Fixed:

  • New branch and tag actions beeping instead of popping up a dialog when no branch was selected
  • The file context menu not showing when CTRL-clicking on text
  • High CPU usage when typing in the new branch text field
  • The authentication panel not showing on connection error

Version 3.8.10

Build 9233

New:

  • GitLab subgroups are now shown in the repository manager

Improved:

  • The commit message field is now pre-populated with SQUASH_MSG if it exists

Fixed:

  • Minor user interface issues

Version 3.8.9

Build 9168

Fixed:

  • The app hanging when running for a long time

Version 3.8.8

Build 9165

Fixed:

  • Heavy CPU utilization when expanding tree nodes

Version 3.8.7

Build 9156

Improved:

  • Generated README and .gitignore files are now committed directly
    • Previously the user had to commit those files themselves after repository creation

Fixed:

  • Status entries not being shown when the status.showStash flag was set to true
  • An error when enabling the git-flow Fetch Origin option
  • Remotes not being shown when branches weren't fetched yet

Version 3.8.6

Build 9147

Fixed:

  • The automatic fetch timer not triggering
  • Crash when trying to present multiple error panels

Version 3.8.5

Build 9140

Improved:

  • No error dialog is shown if a process exited with an abnormal exit code but did not produce a message on STDERR or STDOUT
  • Minor fixes and performance improvements

Fixed:

  • The root commit not producing a diff

Version 3.8.4

Build 9034

Fixed:

  • Repository outline selection reverting to Worktree when popping the changes view
  • Crash that could happen when using accessibility tools

Version 3.8.3

Build 9030

Fixed:

  • The diff view sometimes not updating when discarding a line

Version 3.8.2

Build 9027

Improved:

  • The default shell environment is now loaded as early as possible
  • Performance improvements when showing 10k+ status items
  • Confirmation is now requested before showing more than 1000 files at once to prevent hangs

Fixed:

  • The diff view not properly updating on macOS 14.3
  • Checkmarks not being cleared after toggling "Display Merged Branches"
  • The MOVE drag label disappearing when moving outside the log area
  • Crash when reloading the file outline

Version 3.8.1

Build 8871

New:

  • Bisect preview dialog
    • A "Bisect..." menu item was added alongside a configurable shortcut

Improved:

  • Updated git to 2.43.0
  • Updated scc to 3.2.0
    • This fixes code statistics not loading for some repositories
  • Most dialogs and settings have been rewritten in SwiftUI

Fixed:

  • The current instead of the selected git-flow branch being used
  • Custom git-flow prefixes not being used
  • Fast-forwarding a branch not working sometimes
  • The log not reloading when aborting bisect

Version 3.8.0

Build 8734

New:

  • New commit search bar
    • The complex predicate editor was replaced by a simple search bar
    • Partial dates parsed from the search query are relative to the current date
    • Search progress is now displayed in the toolbar

Improved:

  • Improved notification style
    • Notification text now should be easier to parse visually
  • Fetching the HEAD or all remotes (including automatic fetch) now respects the "Fetch All Tags" setting
  • Automatic fetch now fetches all remotes, not just the HEAD remote
  • Renamed the toolbar "Save Stash..." action to "Push Stash..." to match the dialog title

Fixed:

  • The wrong stash being applied when opening the "Apply Stash" dialog from the toolbar

Version 3.7.4

Build 8674

New:

  • "Discard Behavior" in the "General" preference pane
    • Choose if you want stash or discard to be the default

Improved:

  • Updated the account picker with service sections
  • The "Delete on Remote" setting is no longer persistent
  • Raised the macOS deployment target to 13.5

Fixed:

  • The commit editor column marker being displayed in the wrong position

Version 3.7.3

Build 8636

Improved:

  • Image Diff:
    • Images are now labeled with their corresponding version (A or B)
    • Image sizes are now given in points if there is no corresponding pixel value
  • Hitting B while a branch is selected in the repository outline will now use that branch as starting point

Fixed:

  • Refreshing GitLab account tokens on macOS 14
  • Context menu actions picking the wrong items on macOS 14

Version 3.7.2

Build 8590

Improved:

  • The toolbar progress indicator now has an indeterminate mode
  • The "New Tag" view now uses the commit editor for the message
  • The "Delete Tag" view now shows a branch list instead of a popup button
  • The "Delete Branches" view now shows a branch list instead of a popup button

Fixed:

  • Clipped log branch labels
  • Non-HEAD branches showing a status header
  • Line breaks in the "New Branch" dialog name field
  • Missing dialog icon badges

Version 3.7.1

Build 8514

Improved:

  • Ready for macOS 14.0 Sonoma
  • An alert is shown on crash if the macOS version is outdated

Version 3.7.0

Build 8475

New:

  • Commit View Options
    • New "Reset Author" option
    • The "Sign Off" option is now saved on a repository basis
    • The commit button now shows all selected flags
  • Config Syntax Highlighting
    • Syntax highlighting of git configuration files has been expanded to sections, strings and booleans
    • Reveal the config file in Finder by clicking the path

Version 3.6.3

Build 8441

New:

  • Bisect
    • New bisect session view
    • Start bisect sessions from the log context menu

Improved:

  • The context toolbar now shows a "more" indicator if some buttons are hidden
  • The init.defaultBranch value is now used as the default git-flow production branch, if present
  • Comparison cells now show A/B instead of the commit hashes
  • Updated the bundled git version to 2.41.0
  • Raised the macOS deployment target to 13.0

Fixed:

  • Some actions only working when the file outline was focussed
  • Commit range diffs being displayed in the wrong order
  • Files being unstaged instead of staged and vice versa when clicking the "Un/stage All" button

Version 3.6.2

Build 8381

Fixed:

  • Crashes on macOS 12 Monterey

Version 3.6.1

Build 8374

Improved:

  • File path (group) nodes are now also selectable by keyboard

Fixed:

  • The commit panel showing on C when no staged changes are present
  • Crashes on macOS 12 Monterey

Version 3.6.0

Build 8358

New:

  • The file outline can now be filtered
    • Filter by text and status (added, deleted, modified, untracked)
    • Path groups can now be collapsed

Improved:

  • The view mode select was moved to the new filter bar
  • Many under the hood improvements

Fixed:

  • The commit message not being cleared on commit and push when the push failed
  • Additional hanging issues in macOS 14 beta

Version 3.5.1

Build 8102

Improved:

  • Implemented a temporary workaround for hanging issues in macOS 14 beta
  • Automatic downloads are prevented for expired OTP licenses

Fixed:

  • Display issue when a diff produced more than one patch
  • The wrong author being used when committing with a different identity

Version 3.5.0

Build 8092

New:

  • GitHub authentication via Personal Access Token

Improved:

  • The GitHub OAuth organization alert text now matches the current GitHub settings

Fixed:

  • Submodules not working correctly if the name contained a space

Version 3.4.5

Build 8076

Improved:

  • The software update dialog now shows more information (retail only)
  • Update checks are prevented for expired OTP versions (retail only)

Version 3.4.4

Build 8061

Fixed:

  • Crash when restoring windows of deleted repositories

Version 3.4.3

Build 8058

Fixed:

  • Changed files not showing up in an empty repository

Version 3.4.2

Build 8053

Fixed:

  • An issue preventing automatic fetch
  • Error when trying to discard RENAMED and DELETED files via stash
  • Error when trying to drop all stashes at once

Version 3.4.1

Build 8030

Fixed:

  • The log not being completely displayed when there are less than 50 entries

Version 3.4.0

Build 8020

New:

  • Discard / Discard All now stages the files by default instead of deleting
    • The option to delete is still there, but marked as a destructive action
  • Update submodule now supports the --remote flag
  • Add submodule now has a path selector

Improved:

  • Many other smaller fixes and improvements

Fixed:

  • New private Bitbucket repositories being created as public
  • An issue preventing clone with certain askpass prompt formats

Version 3.3.0

Build 7799

New:

  • Merge preflight check
    • Shows the number of conflicts in the merge panel before performing the merge
  • New merge panel options
    • No Automatic Commit
    • Skip Hooks

Fixed:

  • An issue reading diffs containing binary data fragments
  • The window title not showing the custom display name

Version 3.2.1

Build 7764

New:

  • Only Stash Staged Changes option when pushing a stash
    • This is equal to git stash push --staged

Improved:

  • Color hashes for avatars now produce more pleasing and consistent colors

Fixed:

  • Repositories in folders not showing up as "Open" quick actions

Version 3.2.0

Build 7742

New:

  • Add and manage linked worktrees
    • New Repository > Add Worktree... (W) action
    • New Remove and Open linked worktree context menu items
    • Linked worktrees are now shown as children of the main worktree
    • Navigate to the linked worktree by double-clicking it in the outline
  • Choose how to open linked worktrees and submodules
    • New View > Submodules & Worktrees > menu item
      • Option Push in Same Window
      • Option Open in New Tab
      • Option Open in New Window

Version 3.1.0

Build 7671

New:

  • The commit header view now has a compact format
    • You can toggle this via View > Compact Commit Header
  • Commit header values can be copied in different formats
    • Identities: Email, name and mailbox
    • Dates: Unix and ISO 8601 timestamps
    • Hashes: The full hash

Fixed:

  • Log update on stash save and apply
  • An issue preventing opening of repositories created with git-worktree
  • Misaligned commit message text and label

Version 3.0.6

Build 7635

Improved:

  • The repository outline view now reacts properly to the "Sidebar icon size" system setting
  • All remaining icons were replaced with SF Symbols throughout the app

Fixed:

  • The "Unstage All" button now uses the correct unstage symbol
  • "Commit & Push" not pushing afterwards
  • Misaligned blame disclosure triangle
  • Misaligned repository outline view disclosure indicators

Version 3.0.5

Build 7583

Improved:

  • Service accounts are refreshed after creating a new repository on them

Fixed:

  • Text views not properly scrolling while typing on macOS Ventura
  • Micro hang when sorting refnames
  • Deadlock when refreshing service accounts

Version 3.0.4

Build 7526

Fixed:

  • Long refresh time in the repository manager
    • Sometimes the repository status would not update for a few seconds
  • Small delay at startup loading the shell path

Version 3.0.3

Build 7516

Improved:

  • Keyboard navigation in the repository manager is back
  • Accounts are loaded in the background to reduce app launch time

Fixed:

  • Some connection errors for GitHub accounts

Version 3.0.2

Build 7497

Improved:

  • Restoring repository windows is now faster
  • The context menu is now disabled in README views

Fixed:

  • Connection errors for certain GitHub accounts

Version 3.0.0

Build 7473

Welcome to Gitfox 3.0 🎉

New:

  • Brand-new repository manager layout
  • Code and commit statistics
  • Remote service account repositories are directly shown in the repository manager
  • Clone remote repositories with a single click
  • When creating a new local repository, you can now choose to create it on a service account as well
  • Show the README file for remote service account repositories
  • Filter all repositories, including remote repositories

Improved:

  • Raised the macOS deployment target to 12.4