Git for Windows Changelog

What's new in Git for Windows 2.45.0

Apr 30, 2024
  • New Features:
  • Comes with Git v2.45.0.
  • Comes with PCRE2 v10.43.
  • Comes with GNU Privacy Guard v2.4.5.
  • Comes with Git LFS v3.5.1.
  • MinGit now supports running git difftool.
  • Comes with OpenSSH v9.7.P1.
  • Comes with GNU TLS v3.8.4.
  • Comes with Tig v2.5.9.
  • Comes with cURL v8.7.1.
  • Comes with Git Credential Manager v2.5.0.
  • Bug Fixes:
  • Since v2.14.0(2), Git for Windows' installer registers the Open Git Bash here and Open Git GUI here context menu items also in the special Libraries folders, but the uninstaller never removed them from those folders, which was fixed.
  • A regression where git clone no longer worked in the presence of includeIf.*.onbranch config settings has been fixed.
  • Apparently some anti-malware programs fiddle with the mode of stdout which can lead to problems because expected output is missing, which was fixed.

New in Git for Windows 2.45.0 RC 1 (Apr 25, 2024)

  • New Features:
  • Comes with Git v2.45.0-rc1.
  • Comes with PCRE2 v10.43.
  • Comes with GNU Privacy Guard v2.4.5.
  • Comes with Git LFS v3.5.1.
  • MinGit now supports running git difftool.
  • Comes with OpenSSH v9.7.P1.
  • Comes with GNU TLS v3.8.4.
  • Comes with Tig v2.5.9.
  • Comes with cURL v8.7.1.
  • Comes with Git Credential Manager v2.5.0.
  • Bug Fixes:
  • Since v2.14.0(2), Git for Windows' installer registers the Open Git Bash here and Open Git GUI here context menu items also in the special Libraries folders, but the uninstaller never removed them from those folders, which was fixed.
  • A regression where git clone no longer worked in the presence of includeIf.*.onbranch config settings has been fixed.
  • Apparently some anti-malware programs fiddle with the mode of stdout which can lead to problems because expected output is missing, which was fixed.

New in Git for Windows 2.25.0 RC 0 (Apr 20, 2024)

  • New Features:
  • Comes with Git v2.45.0-rc0.
  • Comes with PCRE2 v10.43.
  • Comes with GNU Privacy Guard v2.4.5.
  • Comes with Git LFS v3.5.1.
  • MinGit now supports running git difftool.
  • Comes with OpenSSH v9.7.P1.
  • Comes with GNU TLS v3.8.4.
  • Comes with Tig v2.5.9.
  • Comes with cURL v8.7.1.
  • Comes with Git Credential Manager v2.5.0.
  • Bug Fixes:
  • Since v2.14.0(2), Git for Windows' installer registers the Open Git Bash here and Open Git GUI here context menu items also in the special Libraries folders, but the uninstaller never removed them from those folders, which was fixed.
  • A regression where git clone no longer worked in the presence of includeIf.*.onbranch config settings has been fixed.
  • Apparently some anti-malware programs fiddle with the mode of stdout which can lead to problems because expected output is missing, which was fixed.

New in Git for Windows 2.44.0 (Feb 24, 2024)

  • New Features:
  • Comes with Git v2.44.0.
  • Comes with libfido2 v1.14.0.
  • Comes with the MSYS2 runtime (Git for Windows flavor) based on Cygwin v3.4.10.
  • Comes with Perl v5.38.2.
  • Git for Windows learned to detect and use native Windows support for ANSI sequences, which allows using 24-bit colors in terminal windows.
  • Comes with Git LFS v3.4.1.
  • The repository viewer Tig that is included in Git for Windows can now be called also directly from PowerShell/CMD.
  • Comes with OpenSSH v9.6.P1.
  • Comes with Bash v5.2.26.
  • Comes with GNU TLS v3.8.3.
  • Comes with OpenSSL v3.2.1.
  • Comes with cURL v8.6.0.
  • Comes with GNU Privacy Guard v2.4.4.
  • Bug Fixes:
  • The 32-bit variant of Git for Windows was missing some MSYS2 runtime updates, which was addressed; Do note 32-bit support is phased out.
  • The Git for Windows installer showed cut-off text in some setups. This has been fixed.
  • The git credential-manager --help command previously would not find a page to display in the web browser, which has been fixed.
  • A couple of bugs that could cause Git Bash to hang in certain scenarios were fixed.

New in Git for Windows 2.44.0 RC 2 (Feb 21, 2024)

  • Bug Fixes:
  • The 32-bit variant of Git for Windows was missing some MSYS2 runtime updates, which was addressed; Do note 32-bit support is phased out.
  • The Git for Windows installer showed cut-off text in some setups. This has been fixed.
  • The git credential-manager --help command previously would not find a page to display in the web browser, which has been fixed.
  • A couple of bugs that could cause Git Bash to hang in certain scenarios were fixed.

New in Git for Windows 2.44.0 RC 1 (Feb 15, 2024)

  • The 32-bit variant of Git for Windows was missing some MSYS2 runtime updates, which was addressed; Do note 32-bit support is phased out.
  • The Git for Windows installer showed cut-off text in some setups. This has been fixed.
  • The git credential-manager --help command previously would not find a page to display in the web browser, which has been fixed.
  • A couple of bugs that could cause Git Bash to hang in certain scenarios were fixed.

New in Git for Windows 2.44.0 RC 0 (Feb 10, 2024)

  • New Features:
  • Comes with Git v2.44.0-rc0.
  • Comes with gnupg v2.2.42.
  • Comes with libfido2 v1.14.0.
  • Comes with the MSYS2 runtime (Git for Windows flavor) based on Cygwin v3.4.10.
  • Comes with Perl v5.38.2.
  • Git for Windows learned to detect and use native Windows support for ANSI sequences, which allows using 24-bit colors in terminal windows.
  • Comes with Git LFS v3.4.1.
  • The repository viewer Tig that is included in Git for Windows can now be called also directly from PowerShell/CMD.
  • Comes with OpenSSH v9.6.P1.
  • Comes with Bash v5.2.26.
  • Comes with GNU TLS v3.8.3.
  • Comes with OpenSSL v3.2.1.
  • Comes with cURL v8.6.0.
  • Comes with GNU Privacy Guard v2.4.4.
  • Bug Fixes:
  • The 32-bit variant of Git for Windows was missing some MSYS2 runtime updates, which was addressed; Do note 32-bit support is phased out.
  • The Git for Windows installer showed cut-off text in some setups. This has been fixed.
  • The git credential-manager --help command previously would not find a page to display in the web browser, which has been fixed.

New in Git for Windows 2.43.0 (Nov 21, 2023)

  • New Features:
  • Comes with Git v2.43.0.
  • Comes with MSYS2 runtime v3.4.9.
  • Comes with GNU TLS v3.8.1.
  • When installing into a Windows setup with Mandatory Address Space Layout Randomization (ASLR) enabled, which is incompatible with the MSYS2 runtime powering Git Bash, SSH and some other programs distributed with Git for Windows, the Git for Windows installer now offers to add exceptions that will allow those programs to work as expected.
  • Comes with OpenSSH v9.5.P1.
  • Comes with cURL v8.4.0.
  • Comes with OpenSSL v3.1.4.
  • Comes with Git Credential Manager v2.4.1.
  • Comes with Bash v5.2.21.
  • Comes with MinTTY v3.7.0.
  • Bug Fixes:
  • Symbolic links whose target is an absolute path without the drive prefix accidentally had a drive prefix added when checked out, rendering them "eternally modified". This bug has been fixed.
  • Git for Windows's installer is no longer confused by global GIT_* environment variables.
  • The installer no longer claims that "fast-forward or merge" is the default git pull behavior: The default behavior has changed in Git a while ago, to "fast-forward only".

New in Git for Windows 2.43.0 RC 2 (Nov 15, 2023)

  • New Features:
  • Comes with Git v2.43.0-rc2.
  • Comes with MSYS2 runtime v3.4.9.
  • Comes with GNU TLS v3.8.1.
  • When installing into a Windows setup with Mandatory Address Space Layout Randomization (ASLR) enabled, which is incompatible with the MSYS2 runtime powering Git Bash, SSH and some other programs distributed with Git for Windows, the Git for Windows installer now offers to add exceptions that will allow those programs to work as expected.
  • Comes with OpenSSH v9.5.P1.
  • Comes with cURL v8.4.0.
  • Comes with OpenSSL v3.1.4.
  • Comes with Git Credential Manager v2.4.1.
  • Comes with Bash v5.2.21.
  • Comes with MinTTY v3.7.0.
  • Bug Fixes:
  • Symbolic links whose target is an absolute path without the drive prefix accidentally had a drive prefix added when checked out, rendering them "eternally modified". This bug has been fixed.
  • Git for Windows's installer is no longer confused by global GIT_* environment variables.
  • The installer no longer claims that "fast-forward or merge" is the default git pull behavior: The default behavior has changed in Git a while ago, to "fast-forward only".

New in Git for Windows 2.43.0 RC 1 (Nov 8, 2023)

  • New Features:
  • Comes with Git v2.43.0-rc1.
  • Comes with MinTTY v3.6.5.
  • Comes with MSYS2 runtime v3.4.9.
  • Comes with GNU TLS v3.8.1.
  • When installing into a Windows setup with Mandatory Address Space Layout Randomization (ASLR) enabled, which is incompatible with the MSYS2 runtime powering Git Bash, SSH and some other programs distributed with Git for Windows, the Git for Windows installer now offers to add exceptions that will allow those programs to work as expected.
  • Comes with OpenSSH v9.5.P1.
  • Comes with cURL v8.4.0.
  • Comes with OpenSSL v3.1.4.
  • Comes with Git Credential Manager v2.4.1.
  • Bug Fixes:
  • Symbolic links whose target is an absolute path without the drive prefix accidentally had a drive prefix added when checked out, rendering them "eternally modified". This bug has been fixed.
  • Git for Windows's installer is no longer confused by global GIT_* environment variables.
  • The installer no longer claims that "fast-forward or merge" is the default git pull behavior: The default behavior has changed in Git a while ago, to "fast-forward only".

New in Git for Windows 2.43.0 RC 0 (Nov 3, 2023)

  • New Features:
  • Comes with Git v2.43.0-rc0.
  • Comes with MinTTY v3.6.5.
  • Comes with MSYS2 runtime v3.4.9.
  • Comes with GNU TLS v3.8.1.
  • When installing into a Windows setup with Mandatory Address Space Layout Randomization (ASLR) enabled, which is incompatible with the MSYS2 runtime powering Git Bash, SSH and some other programs distributed with Git for Windows, the Git for Windows installer now offers to add exceptions that will allow those programs to work as expected.
  • Comes with OpenSSH v9.5.P1.
  • Comes with cURL v8.4.0.
  • Comes with OpenSSL v3.1.4.
  • Comes with Git Credential Manager v2.4.1.
  • Bug Fixes:
  • Symbolic links whose target is an absolute path without the drive prefix accidentally had a drive prefix added when checked out, rendering them "eternally modified". This bug has been fixed.
  • Git for Windows's installer is no longer confused by global GIT_* environment variables.
  • The installer no longer claims that "fast-forward or merge" is the default git pull behavior: The default behavior has changed in Git a while ago, to "fast-forward only".

New in Git for Windows 2.42.0.2 (Aug 30, 2023)

  • Bug Fixes:
  • Git for Windows v2.42.0's release notes claimed that it ships with Git LFS v3.4.0, which is incorrect and has been fixed in this release.
  • The installer option to enable support for Pseudo Consoles has been handled incorrectly since Git for Windows v2.41.0, which has been fixed.
  • Some Git commands (those producing paged output, for example) experienced a significant slow-down under certain circumstances, when running on a machine joined to a domain controller, which has been fixed.
  • As of Git for Windows v2.41.0, when installed into a location whose path contains non-ASCII characters, it was no longer possible to fetch from/push to remote repositories via https://, which has been fixed.

New in Git for Windows 2.42.0 (Aug 22, 2023)

  • New Features:
  • Comes with Git v2.42.0.
  • Comes with cURL v8.2.1.
  • Comes with Git LFS v3.4.0.
  • Comes with OpenSSL v3.1.2.
  • Comes with OpenSSH v9.4.P1.
  • Comes with Git Credential Manager v2.3.2.
  • Bug Fixes:
  • When init.defaultBranch is changed manually in the system config, subsequent Git for Windows upgrades would overwrite that change. This has been fixed.
  • When running on a remote APFS share, Git would fail, which has been fixed.

New in Git for Windows 2.42.0 RC 2 (Aug 16, 2023)

  • New Features:
  • Comes with Git v2.42.0-rc2.
  • Comes with cURL v8.2.1.
  • Comes with Git LFS v3.4.0.
  • Comes with OpenSSL v3.1.2.
  • Comes with OpenSSH v9.4.P1.
  • Comes with Git Credential Manager v2.3.1.
  • Bug Fixes:
  • When init.defaultBranch is changed manually in the system config, subsequent Git for Windows upgrades would overwrite that change. This has been fixed.
  • When running on a remote APFS share, Git would fail, which has been fixed.

New in Git for Windows 2.42.0 RC 1 (Aug 11, 2023)

  • New Features:
  • Comes with Git v2.42.0-rc1.
  • Comes with cURL v8.2.1.
  • Comes with Git LFS v3.4.0.
  • Comes with OpenSSL v3.1.2.
  • Comes with Git Credential Manager v2.3.0.
  • Comes with OpenSSH v9.4.P1.
  • Bug Fixes:
  • When init.defaultBranch is changed manually in the system config, subsequent Git for Windows upgrades would overwrite that change. This has been fixed.
  • When running on a remote APFS share, Git would fail, which has been fixed.

New in Git for Windows 2.42.0 RC 0 (Aug 8, 2023)

  • New Features:
  • Comes with Git v2.42.0-rc0.
  • Comes with OpenSSH v9.3.P2.
  • Comes with cURL v8.2.1.
  • Comes with Git LFS v3.4.0.
  • Comes with OpenSSL v3.1.2.
  • Comes with Git Credential Manager v2.3.0.
  • Bug Fixes:
  • When init.defaultBranch is changed manually in the system config, subsequent Git for Windows upgrades would overwrite that change. This has been fixed.
  • When running on a remote APFS share, Git would fail, which has been fixed.

New in Git for Windows 2.41.0.2 (Jul 7, 2023)

  • New Features:
  • Comes with MSYS2 runtime v3.4.7.
  • Comes with OpenSSL v3.1.1, a major version upgrade (previously Git for Windows distributed OpenSSL v1.1.*).
  • To support interoperability with Windows Subsystem for Linux (WSL) better, it is now possible to let Git set e.g. the executable bits of files (this needs core.WSLCompat to be set, and the NTFS volume needs to be mounted in WSL using the appropriate options).
  • Bug Fixes
  • Portable Git: The Windows version is now parsed more robustly in the post-install script.
  • The labels of the File Explorer menu items installed by the Git for Windows installer have been aligned with what is customary ("Open Git Bash Here" instead of "Git Bash Here").

New in Git for Windows 2.41.0.2 (Jul 7, 2023)

  • New Features:
  • Comes with MSYS2 runtime v3.4.7.
  • Comes with OpenSSL v3.1.1, a major version upgrade (previously Git for Windows distributed OpenSSL v1.1.*).
  • To support interoperability with Windows Subsystem for Linux (WSL) better, it is now possible to let Git set e.g. the executable bits of files (this needs core.WSLCompat to be set, and the NTFS volume needs to be mounted in WSL using the appropriate options).
  • Bug Fixes:
  • Portable Git: The Windows version is now parsed more robustly in the post-install script.
  • The labels of the File Explorer menu items installed by the Git for Windows installer have been aligned with what is customary ("Open Git Bash Here" instead of "Git Bash Here").

New in Git for Windows 2.41.0 (Jun 2, 2023)

  • New Features:
  • Comes with Git v2.41.0.
  • Comes with OpenSSH v9.3p1
  • Comes with MinTTY v3.6.4.
  • The Git for Windows installer now also includes the Git LFS documentation (i.e. git help git-lfs now works).
  • Comes with Perl v5.36.1.
  • Comes with GNU Privacy Guard v2.2.41.
  • Comes with Git Credential Manager v2.1.2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.4.6. (This does not extend to 32-bit Git for Windows, which is stuck with v3.3.* of the MSYS2 runtime forever.)
  • To help with Git for Windows' release mechanics, Git for Windows now ships with two variants of libcurl.
  • Comes with cURL v8.1.2.
  • Comes with OpenSSL v1.1.1u.
  • Bug Fixes:
  • Git GUI's Repository>Explore Working Copy was broken since v2.39.1, which has been fixed.
  • The MSYS2 runtime was adjusted to prepare for an upcoming Windows version.

New in Git for Windows 2.41.0 RC 2 (May 25, 2023)

  • New Features:
  • Comes with Git v2.41.0-rc2.
  • Comes with OpenSSH v9.3p1
  • Comes with MinTTY v3.6.4.
  • The Git for Windows installer now also includes the Git LFS documentation (i.e. git help git-lfs now works).
  • Comes with Perl v5.36.1.
  • Comes with GNU Privacy Guard v2.2.41.
  • Comes with Git Credential Manager v2.1.2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.4.6. (This does not extend to 32-bit Git for Windows, which is stuck with v3.3.* of the MSYS2 runtime forever.)
  • To help with Git for Windows' release mechanics, Git for Windows now ships with two variants of libcurl.
  • Comes with cURL v8.1.1.
  • Bug Fixes:
  • Git GUI's Repository>Explore Working Copy was broken since v2.39.1, which has been fixed.
  • The MSYS2 runtime was adjusted to prepare for an upcoming Windows version.

New in Git for Windows 2.41.0 RC 1 (May 20, 2023)

  • New Features:
  • Comes with Git v2.41.0-rc1.
  • Comes with OpenSSH v9.3p1
  • Comes with MinTTY v3.6.4.
  • The Git for Windows installer now also includes the Git LFS documentation (i.e. git help git-lfs now works).
  • Comes with Perl v5.36.1.
  • Comes with GNU Privacy Guard v2.2.41.
  • Comes with Git Credential Manager v2.1.2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.4.6. (This does not extend to 32-bit Git for Windows, which is stuck with v3.3.* of the MSYS2 runtime forever.)
  • To help with Git for Windows' release mechanics, Git for Windows now ships with two variants of libcurl.
  • Comes with cURL v8.1.0.
  • Bug Fixes:
  • Git GUI's Repository>Explore Working Copy was broken since v2.39.1, which has been fixed.
  • The MSYS2 runtime was adjusted to prepare for an upcoming Windows version.

New in Git for Windows 2.41.0 RC (May 17, 2023)

  • New Features:
  • Comes with Git v2.41.0-rc0.
  • Comes with OpenSSH v9.3p1
  • Comes with cURL v8.0.1.
  • Comes with MinTTY v3.6.4.
  • The Git for Windows installer now also includes the Git LFS documentation (i.e. git help git-lfs now works).
  • Comes with Perl v5.36.1.
  • Comes with GNU Privacy Guard v2.2.41.
  • Comes with Git Credential Manager v2.1.2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.4.6. (This does not extend to 32-bit Git for Windows, which is stuck with v3.3.* of the MSYS2 runtime forever.)
  • To help with Git for Windows' release mechanics, Git for Windows now ships with two variants of libcurl.
  • Bug Fixes:
  • Git GUI's Repository>Explore Working Copy was broken since v2.39.1, which has been fixed.

New in Git for Windows 2.40.1 (Apr 25, 2023)

  • New Features:
  • Comes with Git v2.40.1.
  • Bug Fixes:
  • Addresses CVE-2023-29012, a vulnerability where starting Git CMD would execute doskey.exe in the current directory, if it exists.
  • Addresses CVE-2023-29011, a vulnerability where the SOCKS5 proxy called connect.exe is susceptible to picking up an untrusted configuration on multi-user machines.
  • Addresses CVE-2023-29007, a vulnerability where git submodule deinit can inadvertently introduce malicious changes into the Git config file.
  • Addresses CVE-2023-25815, a vulnerability where Git can unexpectedly show crafted "localized" messages written by another user on a multi-user machine.
  • Addresses CVE-2023-25652, a vulnerability where git apply --reject could follow symbolic links to write files outside the worktree.

New in Git for Windows 2.40.0 (Mar 14, 2023)

  • New Features:
  • Comes with Git v2.40.0.
  • In the olden Git days, there were "dashed" Git commands (e.g. git-commit instead of git commit). These haven't been supported for interactive use in a really, really long time. But they still worked in Git aliases and hooks ("scripts"). Since Git v1.5.4 (released on February 2nd, 2008), it was discouraged/deprecated to use dashed Git commands even in scripts. As of this version, Git for Windows no longer supports these dashed commands.
  • Comes with tig v2.5.8.
  • Comes with Bash v5.2 patchlevel 15.
  • Comes with OpenSSL v1.1.1t.
  • Comes with GNU TLS v3.8.0.
  • Comes with cURL v7.88.1.
  • Comes with libfido2 v1.13.0.
  • Comes with Git Credential Manager v2.0.935.
  • Bug Fixes:
  • Some commands mishandled absolute paths near the drive root (e.g. scalar unregister C:/foo), which has been fixed.
  • When trying to call Cygwin (or for that matter, MSYS2) programs from Git Bash, users would frequently be greeted with cryptic error messages about a "cygheap" or even just an even more puzzling exit code 127. Many of these calls now succeed, allowing basic interactions. While it is still not possible for, say, Cygwin's vim.exe to interact with the Git Bash's terminal window, it is now possible for Cygwin's zstd.exe in conjuction with Git for Windows' tar.exe to handle .tar.zst archives.

New in Git for Windows 2.40.0 RC 2 (Mar 8, 2023)

  • New Features:
  • Comes with Git v2.40.0-rc2.
  • In the olden Git days, there were "dashed" Git commands (e.g. git-commit instead of git commit). These haven't been supported for interactive use in a really, really long time. But they still worked in Git aliases and hooks ("scripts"). Since Git v1.5.4 (released on February 2nd, 2008), it was discouraged/deprecated to use dashed Git commands even in scripts. As of this version, Git for Windows no longer supports these dashed commands.
  • Comes with tig v2.5.8.
  • Comes with Bash v5.2 patchlevel 15.
  • Comes with OpenSSL v1.1.1t.
  • Comes with GNU TLS v3.8.0.
  • Comes with cURL v7.88.1.
  • Comes with libfido2 v1.13.0.
  • Comes with Git Credential Manager v2.0.935.
  • Bug Fixes:
  • Some commands mishandled absolute paths near the drive root (e.g. scalar unregister C:/foo), which has been fixed.
  • When trying to call Cygwin (or for that matter, MSYS2) programs from Git Bash, users would frequently be greeted with cryptic error messages about a "cygheap" or even just an even more puzzling exit code 127. Many of these calls now succeed, allowing basic interactions. While it is still not possible for, say, Cygwin's vim.exe to interact with the Git Bash's terminal window, it is now possible for Cygwin's zstd.exe in conjuction with Git for Windows' tar.exe to handle .tar.zst archives.

New in Git for Windows 2.40.0 RC 1 (Mar 5, 2023)

  • New Features:
  • Comes with Git v2.40.0-rc1.
  • In the olden Git days, there were "dashed" Git commands (e.g. git-commit instead of git commit). These haven't been supported for interactive use in a really, really long time. But they still worked in Git aliases and hooks ("scripts"). Since Git v1.5.4 (released on February 2nd, 2008), it was discouraged/deprecated to use dashed Git commands even in scripts. As of this version, Git for Windows no longer supports these dashed commands.
  • Comes with tig v2.5.8.
  • Comes with Bash v5.2 patchlevel 15.
  • Comes with OpenSSL v1.1.1t.
  • Comes with GNU TLS v3.8.0.
  • Comes with cURL v7.88.1.
  • Comes with libfido2 v1.13.0.
  • Comes with Git Credential Manager v2.0.935.
  • Bug Fixes:
  • Some commands mishandled absolute paths near the drive root (e.g. scalar unregister C:/foo), which has been fixed.
  • When trying to call Cygwin (or for that matter, MSYS2) programs from Git Bash, users would frequently be greeted with cryptic error messages about a "cygheap" or even just an even more puzzling exit code 127. Many of these calls now succeed, allowing basic interactions. While it is still not possible for, say, Cygwin's vim.exe to interact with the Git Bash's terminal window, it is now possible for Cygwin's zstd.exe in conjuction with Git for Windows' tar.exe to handle .tar.zst archives.

New in Git for Windows 2.40.0 RC 0 (Feb 27, 2023)

  • New Features:
  • Comes with Git v2.40.0-rc0.

New in Git for Windows 2.39.2 (Feb 14, 2023)

  • New Features:
  • Comes with Git v2.39.2.
  • Bug Fixes:
  • Addresses CVE-2023-22743, a vulnerability rated "high" making the Git for Windows' installer susceptible to DLL side-loading attacks.
  • Addresses CVE-2023-23618, a vulnerability rated "high" where gitk would inadvertently execute programs placed in the worktree.
  • Addresses CVE-2023-22490, a moderate vulnerability allowing for data exfiltration in local clones.
  • Addresses CVE-2023-23946, a moderate vulnerability that would allow crafted patches to trick git apply into writing into files outside the current directory.

New in Git for Windows 2.39.1 (Jan 17, 2023)

  • New Features:
  • Comes with Git v2.39.1.
  • Bug Fixes:
  • Addresses CVE-2022-23521, a critical vulnerability in the .gitattributes parsing that potentially allows malicious code to be executed while cloning.
  • Addresses CVE-2022-41953, a vulnerability that makes Git GUI's Clone function susceptible to Remote Code Execution attacks.
  • Addresses CVE-2022-41903, a vulnerability that may allow heap overflows and code to be executed inadvertently during a git archive invocation.
  • A regression introduced in Git for Windows v2.39.0(2) that prevented cloning from Bitbucket was fixed.

New in Git for Windows 2.39.0(2) (Dec 21, 2022)

  • New Features:
  • Comes with PCRE2 v10.42.
  • Comes with Git Credential Manager v2.0.886.
  • Comes with MinTTY v3.6.3.
  • Comes with cURL v7.87.0.
  • Bug Fixes:
  • The installer is expected to stop GPG agents automatically, but there was a bug that prevented that from working, which has been fixed.
  • A regression that caused no_proxy to be ignored was fixed by upgrading libcurl.
  • The Git Credential Manager version shipped with Git for Windows v2.39.0 could not always find its UI helper which was fixed by upgrading to a fixed version.
  • A bug in MinTTY caused it to throw a Critical Error when the printer spool service was not started, which was fixed by upgrading MinTTY.

New in Git for Windows 2.39.0 (Dec 12, 2022)

  • New Features:
  • Comes with Git v2.39.0.
  • Comes with OpenSSL v1.1.1s.
  • Comes with cURL v7.86.0.
  • The Portable Git edition (which comes as a self-extracting 7-Zip archive) now uses the latest 7-Zip version to self-extract.
  • Comes with OpenSSH v9.1p1.
  • It is now possible to generate and use SSH keys protected by security keys (AKA FIDO devices) via Windows Hello, e.g. via ssh-keygen.exe -t ecdsa-sk.
  • Portable Git no longer configures color.diff, color.status and color.branch individually, but configures color.ui instead, which makes it easier to override the default.
  • Comes with GNU TLS v3.7.8.
  • Comes with Git Credential Manager Core v2.0.877.
  • Comes with MinTTY v3.6.2.
  • Comes with Bash v5.2 patchlevel 12.
  • Comes with Git LFS v3.3.0.
  • Comes with PCRE2 v10.41.
  • Bug Fixes:
  • The Git executables (e.g. git.exe itself) used to have incomplete version information recorded in their resources, which has been fixed.
  • A regression introduced in Git for Windows v2.38.0 that prevented git.exe from running in Windows Nano Server containers was fixed.

New in Git for Windows 2.39.0 RC 2 (Dec 6, 2022)

  • New Features:
  • Comes with Git v2.39.0-rc2.
  • Comes with OpenSSL v1.1.1s.
  • Comes with cURL v7.86.0.
  • The Portable Git edition (which comes as a self-extracting 7-Zip archive) now uses the latest 7-Zip version to self-extract.
  • Comes with OpenSSH v9.1p1.
  • It is now possible to generate and use SSH keys protected by security keys (AKA FIDO devices) via Windows Hello, e.g. via ssh-keygen.exe -t ecdsa-sk.
  • Portable Git no longer configures color.diff, color.status and color.branch individually, but configures color.ui instead, which makes it easier to override the default.
  • Comes with GNU TLS v3.7.8.
  • Comes with Git Credential Manager Core v2.0.877.
  • Comes with MinTTY v3.6.2.
  • Comes with Bash v5.2 patchlevel 12.
  • Comes with Git LFS v3.3.0.
  • Bug Fixes:
  • The Git executables (e.g. git.exe itself) used to have incomplete version information recorded in their resources, which has been fixed.
  • A regression introduced in Git for Windows v2.38.0 that prevented git.exe from running in Windows Nano Server containers was fixed.

New in Git for Windows 2.39.0 RC 1 (Nov 30, 2022)

  • New Features:
  • Comes with Git v2.39.0-rc1.
  • Comes with OpenSSL v1.1.1s.
  • Comes with cURL v7.86.0.
  • The Portable Git edition (which comes as a self-extracting 7-Zip archive) now uses the latest 7-Zip version to self-extract.
  • Comes with OpenSSH v9.1p1.
  • It is now possible to generate and use SSH keys protected by security keys (AKA FIDO devices) via Windows Hello, e.g. via ssh-keygen.exe -t ecdsa-sk.
  • Portable Git no longer configures color.diff, color.status and color.branch individually, but configures color.ui instead, which makes it easier to override the default.
  • Comes with GNU TLS v3.7.8.
  • Comes with Git Credential Manager Core v2.0.877.
  • Comes with MinTTY v3.6.2.
  • Comes with Bash v5.2 patchlevel 12.
  • Bug Fixes:
  • The Git executables (e.g. git.exe itself) used to have incomplete version information recorded in their resources, which has been fixed.
  • A regression introduced in Git for Windows v2.38.0 that prevented git.exe from running in Windows Nano Server containers was fixed.

New in Git for Windows 2.39.0 RC 0 (Nov 23, 2022)

  • New Features:
  • Comes with OpenSSL v1.1.1s.
  • Comes with cURL v7.86.0.
  • The Portable Git edition (which comes as a self-extracting 7-Zip archive) now uses the latest 7-Zip version to self-extract.
  • Comes with OpenSSH v9.1p1.
  • It is now possible to generate and use SSH keys protected by security keys (AKA FIDO devices) via Windows Hello, e.g. via ssh-keygen.exe -t ecdsa-sk.
  • Comes with Bash v5.2 patchlevel 009 .
  • Portable Git no longer configures color.diff, color.status and color.branch individually, but configures color.ui instead, which makes it easier to override the default.
  • Comes with GNU TLS v3.7.8.
  • Comes with Git Credential Manager Core v2.0.877.
  • Bug Fixes:
  • The Git executables (e.g. git.exe itself) used to have incomplete version information recorded in their resources, which has been fixed.
  • A regression introduced in Git for Windows v2.38.0 that prevented git.exe from running in Windows Nano Server containers was fixed.

New in Git for Windows 2.38.1 (Oct 18, 2022)

  • Comes with Git v2.38.1.

New in Git for Windows 2.38.0 (Oct 3, 2022)

  • New Features:
  • Comes with Git v2.38.0.
  • Comes with cURL v7.85.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.6.
  • Comes with BusyBox v1.34.0.19688.985b51cf7.
  • The scalar command is now included. Scalar is a helper to automatically configure your (large) Git repositories to take advantage of the latest and greatest features. Note: If you work with repositories hosted on Azure Repos, use Microsoft's fork of Git for the best user experience.

New in Git for Windows 2.38.0 RC 2 (Sep 28, 2022)

  • New Features:
  • Comes with Git v2.38.0-rc2.
  • Comes with cURL v7.85.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.6.
  • Comes with BusyBox v1.34.0.19688.985b51cf7.
  • The scalar command is now included. Scalar is a helper to automatically configure your (large) Git repositories to take advantage of the latest and greatest features. Note: If you work with repositories hosted on Azure Repos, use Microsoft's fork of Git for the best user experience.

New in Git for Windows 2.38.0 RC 1 (Sep 22, 2022)

  • New Features:
  • Comes with Git v2.38.0-rc1.
  • Comes with cURL v7.85.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.6.
  • Comes with BusyBox v1.34.0.19688.985b51cf7.

New in Git for Windows 2.38.0 RC 0 (Sep 16, 2022)

  • New Features:
  • Comes with Git v2.38.0-rc0.
  • Comes with cURL v7.85.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.6.

New in Git for Windows 2.37.3 (Aug 30, 2022)

  • New Features:
  • Comes with Git v2.37.3.
  • Comes with tig v2.5.7.
  • Bug Fixes:
  • Git for Windows now correctly handles .doc files that are not Word Documents.

New in Git for Windows 2.37.2.2 (Aug 12, 2022)

  • New Features:
  • Comes with Git v2.37.2.
  • Comes with tig v2.5.6.
  • Comes with Bash v5.1 patchlevel 016 .
  • Comes with Perl v5.36.0.
  • Git's executables are now marked Terminal Server-aware, meaning: Git will be slightly faster when being run using Remote Desktop Services.
  • git svn is now based on subversion v1.14.2.
  • Comes with GNU TLS v3.7.7.
  • Bug Fixes:
  • Git for Windows now ships without the zmore and bzmore utilities (which were broken and included only inadvertently).
  • A regression in the vimdiff mode of git mergetool has been fixed.
  • With certain network drives, it was reported that some attributes associated with caching confused Git for Windows. This was fixed.

New in Git for Windows 2.37.2 Pre-release (Aug 11, 2022)

  • (Upcoming) breaking changes:
  • We up dated the included Bash to version 5.1 (previously 4.4). Please check your shell scripts for potential compatibility issues.
  • Also, as previously announced, Git for Windows dropped support for Windows Vista.
  • Around the beginning of 2023, Git for Windows will drop support for Windows 7 and for Windows 8, following Cygwin's and MSYS2's lead (Git for Windows relies on MSYS2 for components such as Bash and Perl).
  • New Features:
  • Comes with Git v2.37.2.
  • Comes with tig v2.5.6.
  • Comes with Bash v5.1 patchlevel 016 .
  • Comes with Perl v5.36.0.
  • Git's executables are now marked Terminal Server-aware, meaning: Git will be slightly faster when being run using Remote Desktop Services.
  • Git svn is now based on subversion v1.14.2.
  • Comes with GNU TLS v3.7.7.
  • Bug Fixes:
  • Git for Windows now ships without the zmore and bzmore utilities (which were broken and included only inadvertently).
  • A regression in the vimdiff mode of git mergetool has been fixed.
  • With certain network drives, it was reported that some attributes associated with caching confused Git for Windows. This was fixed.

New in Git for Windows 2.37.1 (Jul 12, 2022)

  • New Features:
  • Comes with Git v2.37.1.
  • Comes with OpenSSL v1.1.1q.
  • Comes with Git Credential Manager Core v2.0.785.
  • Comes with tig v2.5.5.
  • Bug Fixes:
  • Pasting large amounts of text in Git for Windows' Bash when running inside Windows Terminal often resulted in garbled text, which has been fixed.
  • The Perl module perl-Clone which linked to a non-existing DLL was rebuilt to fix the issue.
  • The Git for Windows installer can no longer be tricked into running an untrusted git.exe in elevated mode (CVE-2022-31012).
  • When running Git in a world-writable directory owned by the current user (think C:WindowsTemp, when running under the SYSTEM account), the checks for dubious ownership of the .git directory now detect this situation properly (CVE-2022-29187).

New in Git for Windows 2.37.0 (Jun 28, 2022)

  • New Features:
  • Comes with Git v2.37.0.
  • Many anti-malware products seem to have problems with our MSYS2 runtime, leading to problems running e.g. git subtree. We added a workaround that hopefully helps in most of these scenarios.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.5.
  • Comes with PCRE2 v10.40.
  • Comes with Git LFS v3.2.0.
  • Comes with GNU TLS v3.7.6.
  • SSH's CBC ciphers, which were re-enabled in 2017 to better support Azure Repos have again been disabled by default because Azure Repos does not require them any longer.
  • Comes with OpenSSL v1.1.1p.
  • Comes with Git Credential Manager Core v2.0.779.
  • Comes with cURL v7.84.0.
  • Bug Fixes:
  • The Git for Windows-only --show-ignored-directory option of git status, which was deprecated a long time ago, was finally removed.
  • A crash when running Git for Windows in Wine was fixed.
  • A bug in the interaction between FSCache and parallel checkout was fixed.
  • Cloning to network shares failed on some network file systems, which was fixed.
  • When Git indicates an unsafe directory due to the file system (e.g. FAT32) being unable to record ownership, Git now gives better hints.

New in Git for Windows 2.37.0 RC 2 (Jun 23, 2022)

  • New Features:
  • Comes with Git v2.37.0-rc2.
  • Comes with cURL v7.83.1.
  • Many anti-malware products seem to have problems with our MSYS2 runtime, leading to problems running e.g. git subtree. We added a workaround that hopefully helps in most of these scenarios.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.5.
  • Comes with PCRE2 v10.40.
  • Comes with Git LFS v3.2.0.
  • Comes with GNU TLS v3.7.6.
  • SSH's CBC ciphers, which were re-enabled in 2017 to better support Azure Repos have again been disabled by default because Azure Repos does not require them any longer.
  • Comes with OpenSSL v1.1.1p.
  • Comes with Git Credential Manager Core v2.0.779.
  • Bug Fixes:
  • The Git for Windows-only --show-ignored-directory option of git status, which was deprecated a long time ago, was finally removed.
  • A crash when running Git for Windows in Wine was fixed.

New in Git for Windows 2.37.0 RC 1 (Jun 18, 2022)

  • New Features:
  • Comes with Git v2.37.0-rc1.
  • Comes with cURL v7.83.1.
  • Many anti-malware products seem to have problems with our MSYS2 runtime, leading to problems running e.g. git subtree. We added a workaround that hopefully helps in most of these scenarios.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.5.
  • Comes with PCRE2 v10.40.
  • Comes with Git LFS v3.2.0.
  • Comes with GNU TLS v3.7.6.
  • SSH's CBC ciphers, which were re-enabled in 2017 to better support Azure Repos have again been disabled by default because Azure Repos does not require them any longer.
  • Bug Fixes:
  • The Git for Windows-only --show-ignored-directory option of git status, which was deprecated a long time ago, was finally removed.
  • A crash when running Git for Windows in Wine was fixed.

New in Git for Windows 2.37.0 RC 0 (Jun 15, 2022)

  • New Features:
  • Comes with Git v2.37.0-rc0.
  • Comes with cURL v7.83.1.
  • Many anti-malware products seem to have problems with our MSYS2 runtime, leading to problems running e.g. git subtree. We added a workaround that hopefully helps in most of these scenarios.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.5.
  • Comes with PCRE2 v10.40.
  • Comes with Git LFS v3.2.0.
  • Comes with GNU TLS v3.7.6.
  • SSH's CBC ciphers, which were re-enabled in 2017 to better support Azure Repos have again been disabled by default because Azure Repos does not require them any longer.
  • Bug Fixes:
  • The Git for Windows-only --show-ignored-directory option of git status, which was deprecated a long time ago, was finally removed.
  • A crash when running Git for Windows in Wine was fixed.

New in Git for Windows 2.36.1 (May 9, 2022)

  • New Features:
  • Gomes with Git v2.36.1.
  • On newer Windows versions, Git now assumes a Win32 Console with full color capabilities. This helps e.g. when NeoVIM is configured as Git's editor.
  • Comes with OpenSSH v9.0p1.
  • When git clean fails due to long paths, Git now advises the user to set core.longPaths.
  • Comes with cURL v7.83.0.
  • Git Credential Manager's binaries are no longer installed in the same location as core Git's own dashed programs. This separates more clearly the core Git executables from the Git executables provided by third-parties.
  • Comes with Git Credential Manager Core v2.0.696.
  • Comes with OpenSSL v1.1.1o.
  • Comes with patch level 4 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.4.
  • Bug Fixes:
  • A regression introduced in Git for Windows v2.36.0 where GPG in 32-bit versions simply would not work was fixed.
  • The proxy-lookup helper only reported the first letter of the proxy, which was fixed.
  • The installer now verifies that .NET Framework 4.7.2 is available before offering Git Credential Manager (GCM) as an option (because it is required for GCM to work).
  • A bug introduced into v2.36.0 where shell scripts failed to run on some network shares with the error "Too many levels of symbolic links" was fixed.

New in Git for Windows 2.36.0 (Apr 20, 2022)

  • Upcoming breaking changes:
  • We plan to update the included bash to version 5.1 (currently 4.4) soon after Git for Windows 2.36.0 is released. Please check your shell scripts for potential compatibility issues.
  • Git for Windows will also stop supporting Windows Vista soon after Git for Windows 2.36.0 is released. Around the beginning of 2023, Git for Windows will drop support for Windows 7 and for Windows 8, following Cygwin's and MSYS2's lead (Git for Windows relies on MSYS2 for components such as Bash and Perl).
  • New Features:
  • Comes with Git v2.36.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.4.
  • Comes with OpenSSH v8.9p1.
  • Comes with cURL v7.82.0.
  • Comes with OpenSSL v1.1.1n.
  • Comes with Git Credential Manager Core v2.0.696.
  • Comes with GNU TLS v3.7.4.
  • Comes with Git LFS v3.1.4.

New in Git for Windows 2.36.0 RC 2 (Apr 18, 2022)

  • Comes with Git v2.36.0-rc2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.4.
  • Comes with Git LFS v3.1.2.
  • Comes with OpenSSH v8.9p1.
  • Comes with cURL v7.82.0.
  • Comes with OpenSSL v1.1.1n.
  • Comes with Git Credential Manager Core v2.0.696.
  • Comes with GNU TLS v3.7.4.

New in Git for Windows 2.35.3 (Apr 15, 2022)

  • New Features:
  • Comes with Git v2.35.3.
  • Bug Fixes:
  • The advice indicating how to use the %(prefix) with a network share path was updated to use the appropriate number of slashes.
  • Various fixes for usage of the safe.directory and %(prefix) when using Windows Subsystem for Linux (WSL).

New in Git for Windows 2.35.2 (Apr 12, 2022)

  • New Features:
  • Comes with Git v2.35.2.
  • Bug Fixes:
  • The uninstaller was hardened to avoid a vulnerability when running under the SYSTEM account, addressing CVE-2022-24767.

New in Git for Windows 2.36.0.0 RC 1 (Apr 9, 2022)

  • New Features:
  • Comes with Git v2.36.0-rc1.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.4.
  • Comes with Git LFS v3.1.2.
  • Comes with OpenSSH v8.9p1.
  • Comes with cURL v7.82.0.
  • Comes with OpenSSL v1.1.1n.
  • Comes with Git Credential Manager Core v2.0.696.
  • Comes with GNU TLS v3.7.4.

New in Git for Windows 2.36.0.0 RC 0 (Apr 5, 2022)

  • New Features:
  • Comes with Git v2.36.0-rc0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.4.
  • Comes with Git LFS v3.1.2.
  • Comes with OpenSSH v8.9p1.
  • Comes with cURL v7.82.0.
  • Comes with OpenSSL v1.1.1n.
  • Comes with GNU TLS v3.7.4.

New in Git for Windows 2.35.1.2 (Feb 1, 2022)

  • Bug Fixes:
  • A bug in FSCache that triggered by a patch that made it into Git for Windows v2.35.0 was fixed.

New in Git for Windows 2.35.1 (Jan 29, 2022)

  • New Features:
  • Comes with Git v2.35.1.

New in Git for Windows 2.35.0 (Jan 24, 2022)

  • New Features:
  • Comes with Git v2.35.0.
  • Comes with a version of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.3.
  • Comes with OpenSSL v1.1.1m.
  • Comes with Git Credential Manager Core v2.0.632.34631.
  • Comes with cURL v7.81.0.
  • Comes with tig v2.5.5.
  • Comes with patch level 4 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.3.
  • Bug Fixes:
  • A bug which caused crashes when running git log with custom date formats in 32-bit builds was fixed.

New in Git for Windows 2.35.0 RC 1 (Jan 15, 2022)

  • Upcoming breaking changes:
  • We plan to update the included bash to version 5.1 (currently 4.4) soon after Git for Windows 2.35.0 is released. Please check your shell scripts for potential compatibility issues.
  • New Features:
  • Comes with Git v2.35.0-rc1.
  • Comes with a version of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.3.
  • Comes with OpenSSL v1.1.1m.
  • Comes with Git Credential Manager Core v2.0.632.34631.
  • Comes with cURL v7.81.0.
  • Comes with tig v2.5.5.
  • Comes with patch level 3 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.3.
  • Bug Fixes:
  • A bug which caused crashes when running git log with custom date formats in 32-bit builds was fixed.

New in Git for Windows 2.35.0 RC 0 (Jan 11, 2022)

  • Comes with Git v2.35.0-rc0.
  • Comes with a version of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.3.
  • Comes with OpenSSL v1.1.1m.
  • Comes with Git Credential Manager Core v2.0.632.34631.
  • Comes with cURL v7.81.0.

New in Git for Windows 2.34.1 (Nov 25, 2021)

  • New Features:
  • Comes with Git v2.34.1.
  • Comes with Git Credential Manager Core v2.0.605.12951.
  • Comes with cURL v7.80.0.

New in Git for Windows 2.34.0 (Nov 16, 2021)

  • New Features:
  • Comes with Git v2.34.0.
  • Config settings referring to paths relative to where Git is installed now have to be marked via %(prefix)/ instead of the now-deprecated leading slash.
  • Comes with Git LFS v3.0.2.
  • Contains new, experimental support for core.fsyncObjectFiles=batch.
  • Bug Fixes:
  • Configuring a system-wide VS Code as Git's editor was broken, which has been fixed.
  • It is now possible to clone files larger than 4GB as long as they are transferred via Git LFS.
  • Git now works around an issue with vi and incorrect line breaks in the Windows Terminal.

New in Git for Windows 2.34.0 RC 2 (Nov 10, 2021)

  • New Features:
  • Comes with Git v2.34.0-rc2.
  • Config settings referring to paths relative to where Git is installed now have to be marked via %(prefix)/ instead of the now-deprecated leading slash.
  • Comes with Git LFS v3.0.2.
  • Contains new, experimental support for core.fsyncObjectFiles=batch.
  • Bug Fixes:
  • Configuring a system-wide VS Code as Git's editor was broken, which has been fixed.
  • It is now possible to clone files larger than 4GB as long as they are transferred via Git LFS.
  • Git now works around an issue with vi and incorrect line breaks in the Windows Terminal.

New in Git for Windows 2.34.0 RC 1 (Nov 4, 2021)

  • New Features:
  • Comes with Git v2.34.0-rc1.
  • Config settings referring to paths relative to where Git is installed now have to be marked via %(prefix)/ instead of the now-deprecated leading slash.
  • Comes with Git LFS v3.0.2.
  • Contains new, experimental support for core.fsyncObjectFiles=batch.
  • Bug Fixes:
  • Configuring a system-wide VS Code as Git's editor was broken, which has been fixed.
  • It is now possible to clone files larger than 4GB as long as they are transferred via Git LFS.
  • Git now works around an issue with vi and incorrect line breaks in the Windows Terminal.

New in Git for Windows 2.34.0 RC 0 (Oct 30, 2021)

  • New Features:
  • Comes with Git v2.34.0-rc0.
  • Config settings referring to paths relative to where Git is installed now have to be marked via %(prefix)/ instead of the now-deprecated leading slash.
  • Comes with Git LFS v3.0.2.
  • Contains new, experimental support for core.fsyncObjectFiles=batch.
  • Bug Fixes:
  • Configuring a system-wide VS Code as Git's editor was broken, which has been fixed.
  • It is now possible to clone files larger than 4GB as long as they are transferred via Git LFS.

New in Git for Windows 2.33.1 (Oct 14, 2021)

  • New Features:
  • Comes with Git v2.33.1.
  • Comes with OpenSSL v1.1.1l.
  • The included git svn now uses subversion v1.14.1 internally.
  • Git Credential Manager for Windows (which was superseded by Git Credential Manager Core, and was deprecated for a long time now, and no longer succeeds to authenticate with GitHub) is no longer included in Git for Windows.
  • Comes with cURL v7.79.1.
  • Comes with OpenSSH v8.8p1.
  • Comes with Git LFS v3.0.1.
  • The built-in filesystem watcher ("FSMonitor") has been updated to the latest version.
  • Comes with Git Credential Manager Core v2.0.567.18224.
  • Bug Fixes:
  • Wordpad can be configured as Git's preferred editor again.
  • A bug where Git's garbage collection during a git pull failed to delete obsolete files was fixed.
  • The git svn command, which was broken in Git for Windows v2.33.0(2), has been fixed.
  • The password prompt when cloning via SSH works again.
  • The MSYS2 runtime no longer complains about FAST_CWD on Windows/ARM64.
  • When VS Code is configured as editor, it no longer needs the window to be closed, just the tab.
  • The 32-bit versions of Git for Windows included outdated versions of ca-certificates and less, which has been rectified.

New in Git for Windows 2.33.0.2 (Aug 24, 2021)

  • New Features:
  • Comes with cURL v7.78.0.
  • Comes with OpenSSH v8.7p1.
  • Bug Fixes:
  • A bug affecting older Windows versions that caused the installer to show the error message "Could not call proc" was fixed.

New in Git for Windows 2.33.0 (Aug 18, 2021)

  • New Features:
  • Comes with Git v2.33.0.
  • Comes with Perl v5.34.0 (and some updated Perl modules).
  • It is now possible to ask Git for Windows to use an SSH found on the PATH instead of its bundled OpenSSH executable.
  • Comes with Git Credential Manager Core v2.0.498.54650.
  • The experimental FSMonitor patches were replaced with a newer version.
  • Comes with GNU Privacy Guard v2.2.29.
  • Bug Fixes:
  • The installer no longer shows an error dialog when upgrading while the Windows Terminal Profile option is checked.
  • Interaction with the git repo tool was improved.
  • The version of GNU Privacy Guard (GPG) bundled in Git for Windows did not work in 64-bit setups, which was fixed.

New in Git for Windows 2.33.0 RC 2 (Aug 13, 2021)

  • New Features:
  • Comes with Git v2.33.0-rc2.
  • Comes with Perl v5.34.0 (and some updated Perl modules).
  • It is now possible to ask Git for Windows to use an SSH found on the PATH instead of its bundled OpenSSH executable.
  • Comes with Git Credential Manager Core v2.0.498.54650.
  • The experimental FSMonitor patches were replaced with a newer version.
  • Bug Fixes:
  • The installer no longer shows an error dialog when upgrading while the Windows Terminal Profile option is checked.
  • Interaction with the git repo tool was improved.

New in Git for Windows 2.33.0 RC 1 (Aug 8, 2021)

  • New Features:
  • Comes with Git v2.33.0-rc1.
  • Comes with Perl v5.34.0 (and some updated Perl modules).
  • It is now possible to ask Git for Windows to use an SSH found on the PATH instead of its bundled OpenSSH executable.
  • Bug Fixes:
  • The installer no longer shows an error dialog when upgrading while the Windows Terminal Profile option is checked.
  • Interaction with the git repo tool was improved.

New in Git for Windows 2.33.0 RC 0 (Aug 3, 2021)

  • New Features:
  • Comes with Git v2.33.0-rc0.
  • Comes with Perl v5.34.0 (and some updated Perl modules).
  • Bug Fixes:
  • The installer no longer shows an error dialog when upgrading while the Windows Terminal Profile option is checked.

New in Git for Windows 2.32.0.2 (Jul 6, 2021)

  • New Features:
  • The Windows Terminal profile is now identified by a GUID, for more robust customization.
  • Comes with GNU Privacy Guard v2.2.28.
  • Comes with Git Credential Manager Core v2.0.475.64295.
  • Access to remote HTTPS repositories that requires client certificates can be enabled. This is now necessary because cURL no longer sends client certificates by default.
  • Bug Fixes:
  • The built-in file system watcher could hang in some scenarios. This was fixed.
  • Remote HTTPS repositories could not be accessed from within portable Git installed into a network share. This has been fixed.
  • When scrolling in the pager (e.g. in the output of git log), lines were duplicated by mistake. This was fixed.
  • The git subtree command was completely broken in the previous release, and was fixed.
  • A bug was fixed where remote operations appeared to hang (but were waiting for user feedback on a hidden Console).
  • A bug was fixed where the experimental built-in file system watcher had a problem with worktrees whose paths had non-ASCII characters.

New in Git for Windows 2.32.0 (Jun 7, 2021)

  • New Features:
  • Comes with Git v2.32.0.
  • The installer now offers to install a Windows Terminal profile.
  • Comes with cURL v7.77.0.
  • Comes with PCRE2 v10.37.
  • The experimental, built-in file system monitor is now featured as an experimental option in the installer.
  • Comes with Git Credential Manager Core v2.0.474.41365.
  • Sublime Text 4 now gets detected by the installer.
  • Comes with tig v2.5.4.
  • Bug Fixes:
  • When testing a custom editor in the installer, we now spawn it in non-elevated mode, fixing e.g. Atom when an instance is already running.
  • The meta credential-helper used by the Portable Git edition of Git for Windows sometimes crashed, which has been fixed.
  • The auto-updater no longer suggests to downgrade from -rc0 versions.

New in Git for Windows 2.32.0 RC 3 (Jun 2, 2021)

  • New Features:
  • Comes with Git v2.32.0-rc3.
  • Comes with Git Credential Manager Core v2.0.452.3248.
  • The installer now offers to install a Windows Terminal profile.
  • Comes with cURL v7.77.0.
  • Comes with PCRE2 v10.37.
  • The experimental, built-in file system monitor is now featured as an experimental option in the installer.
  • Bug Fixes:
  • When testing a custom editor in the installer, we now spawn it in non-elevated mode, fixing e.g. Atom when an instance is already running.
  • The meta credential-helper used by the Portable Git edition of Git for Windows sometimes crashed, which has been fixed.
  • The auto-updater no longer suggests to downgrade from -rc0 versions.

New in Git for Windows 2.32.0 RC 2 (May 28, 2021)

  • New Features:
  • Comes with Git v2.32.0-rc2.
  • Comes with Git Credential Manager Core v2.0.452.3248.
  • The installer now offers to install a Windows Terminal profile.
  • Comes with cURL v7.77.0.
  • Comes with PCRE2 v10.37.
  • The experimental, built-in file system monitor is now featured as an experimental option in the installer.
  • Bug Fixes:
  • When testing a custom editor in the installer, we now spawn it in non-elevated mode, fixing e.g. Atom when an instance is already running.
  • The meta credential-helper used by the Portable Git edition of Git for Windows sometimes crashed, which has been fixed.
  • The auto-updater no longer suggests to downgrade from -rc0 versions.

New in Git for Windows 2.32.0 RC 1 (May 23, 2021)

  • New Features:
  • Comes with Git v2.32.0-rc1.
  • Comes with cURL v7.76.1.
  • Comes with Git Credential Manager Core v2.0.452.3248.
  • The installer now offers to install a Windows Terminal profile.
  • Bug Fixes:
  • When testing a custom editor in the installer, we now spawn it in non-elevated mode, fixing e.g. Atom when an instance is already running.
  • The meta credential-helper used by the Portable Git edition of Git for Windows sometimes crashed, which has been fixed.
  • The auto-updater no longer suggests to downgrade from -rc0 versions.

New in Git for Windows 2.32.0 RC 0 (May 17, 2021)

  • New Features:
  • Comes with Git v2.32.0-rc0.
  • Comes with cURL v7.76.1.
  • Comes with Git Credential Manager Core v2.0.435.9025.
  • Bug Fixes:
  • When testing a custom editor in the installer, we now spawn it in non-elevated mode, fixing e.g. Atom when an instance is already running.

New in Git for Windows 2.31.1 (Mar 28, 2021)

  • New Features:
  • Comes with Git v2.31.1.
  • Comes with GNU Privacy Guard v2.2.27.
  • Comes with OpenSSL v1.1.1k.
  • Comes with Git LFS v2.13.3.
  • Bug Fixes:
  • It is now possible to execute the Windows Store version of python3.exe from Git Bash.

New in Git for Windows 2.31.0 (Mar 16, 2021)

  • New Features:
  • Comes with Git v2.31.0.
  • Comes with OpenSSH v8.5p1.
  • Comes with tig v2.5.3.
  • Git for Windows now ships with an experimental built-in file-system monitor, without the need to install Watchman and setting core.fsmonitor. It can be turned on by setting both feature.manyFiles=true and feature.experimental=true (or directly, via core.useBuiltinFSMonitor=true).
  • Comes with Git Credential Manager Core v2.0.394.50751.
  • Comes with GNU TLS v3.7.1.

New in Git for Windows 2.31.0 RC 2 (Mar 11, 2021)

  • New Features
  • Comes with Git v2.31.0-rc2.
  • Comes with OpenSSH v8.5p1.
  • Comes with tig v2.5.3.
  • Git for Windows now ships with an experimental built-in file-system monitor, without the need to install Watchman and setting core.fsmonitor. It can be turned on by setting both feature.manyFiles=true and feature.experimental=true (or directly, via core.useBuiltinFSMonitor=true).
  • Comes with Git Credential Manager Core v2.0.394.50751.

New in Git for Windows 2.30.2 (Mar 9, 2021)

  • Comes with Git v2.30.2.
  • Comes with PCRE2 v10.36.
  • Comes with tig v2.5.2.
  • Comes with OpenSSL v1.1.1j.

New in Git for Windows 2.31.0 RC 1 (Mar 4, 2021)

  • New Features:
  • Comes with Git v2.31.0-rc1.
  • Comes with PCRE2 v10.36.
  • Comes with tig v2.5.2.
  • Comes with OpenSSL v1.1.1j.
  • Comes with OpenSSH v8.5p1.
  • Comes with Git Credential Manager Core v2.0.374.5910.

New in Git for Windows 2.31.0 RC 0 (Feb 26, 2021)

  • New Features:
  • Comes with Git v2.31.0-rc0.
  • Comes with PCRE2 v10.36.
  • Comes with tig v2.5.2.
  • Comes with OpenSSL v1.1.1j.

New in Git for Windows 2.30.1 (Feb 9, 2021)

  • Comes with Git v2.30.1.
  • Comes with Perl v5.32.1.
  • Comes with cURL v7.75.0.

New in Git for Windows 2.30.0.2 (Jan 15, 2021)

  • New Features:
  • Comes with Git Credential Manager Core v2.0.318.44100.
  • Comes with Git LFS v2.13.2.

New in Git for Windows 2.30.0 (Dec 29, 2020)

  • New Features:
  • Comes with Git v2.30.0.
  • Comes with OpenSSL v1.1.1i.
  • Comes with cURL v7.74.0.
  • Comes with Git LFS v2.13.1.
  • Bug Fixes:
  • The auto-updater now shows the progress while installing.
  • The credential-helper selector (which is the default credential helper in the Portable version of Git for Windows) now handles paths with spaces correctly.

New in Git for Windows 2.30.0 RC 2 (Dec 24, 2020)

  • New Features:
  • Comes with Git v2.30.0-rc2.
  • Comes with OpenSSL v1.1.1i.
  • Comes with cURL v7.74.0.
  • Comes with Git LFS v2.13.1.
  • Bug Fixes:
  • The auto-updater now shows the progress while installing.
  • The credential-helper selector (which is the default credential helper in the Portable version of Git for Windows) now handles paths with spaces correctly.

New in Git for Windows 2.30.0 RC 1 (Dec 19, 2020)

  • New Features:
  • Comes with Git v2.30.0-rc1.
  • Comes with OpenSSL v1.1.1i.
  • Comes with cURL v7.74.0.
  • Comes with Git LFS v2.13.1.
  • Bug Fixes:
  • The auto-updater now shows the progress while installing.
  • The credential-helper selector (which is the default credential helper in the Portable version of Git for Windows) now handles paths with spaces correctly.

New in Git for Windows 2.30.0 RC0 (Dec 15, 2020)

  • New Features:
  • Comes with Git v2.30.0-rc0.
  • Comes with OpenSSL v1.1.1i.
  • Comes with cURL v7.74.0.
  • Comes with Git LFS v2.13.1.
  • Bug Fixes:
  • The auto-updater now shows the progress while installing.
  • The credential-helper selector (which is the default credential helper in the Portable version of Git for Windows) now handles paths with spaces correctly.

New in Git for Windows 2.29.2.3 (Dec 8, 2020)

  • This version updates Git Credential Manager Core to address
  • CVE-2020-26233.
  • New Features:
  • Comes with GNU Privacy Guard v2.2.25.
  • Comes with Git Credential Manager Core v2.0.289.48418.
  • Bug Fixes:
  • Beyond Compare 4 can be configured as difftool bc4 again.

New in Git for Windows 2.29.2.2 (Nov 5, 2020)

  • This version includes a new Git LFS version to fix CVE-2020-27955.
  • New Features:
  • Comes with Git Credential Manager Core v2.0.280.19487.
  • Comes with Git LFS v2.12.1.

New in Git for Windows 2.29.2 (Oct 30, 2020)

  • Bug Fixes:
  • The recent regression where OpenSSH's copy-ssh-id failed to work correctly, was fixed.
  • A regression preventing /usr/bin/update-ca-trust from working was fixed.

New in Git for Windows 2.29.1 (Oct 24, 2020)

  • New Features:
  • Comes with Git v2.29.1.
  • The MSYS2 runtime now optionally supports creating Cygwin-style symbolic links (via setting the environment variable MSYS=winsymlinks:sysfile).

New in Git for Windows 2.29.0 (Oct 20, 2020)

  • New Features:
  • Comes with Git v2.29.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.7.
  • Comes with Git LFS v2.12.0.
  • Comes with GNU Privacy Guard v2.2.23.
  • Comes with OpenSSL v1.1.1h.
  • Comes with libcbor v0.8.0.
  • Comes with libfido2 v1.5.0.
  • Comes with OpenSSH v8.4p1.
  • Comes with Git Credential Manager Core v2.0.252.766.
  • Existing Git Credential Manager for Windows users are now automatically upgraded to Git Credential Manager Core.
  • Git for Windows' installer learned to let users override the default branch used by git init.
  • The installer size was reduced by dropping a couple unneeded .dll files.
  • Comes with cURL v7.73.0.
  • Bug Fixes:
  • The credential helper selector (used as default credential helper in the Portable Git) now persists the users choice correctly again.
  • The full command-lines of MSYS2 processes (such as cp.exe) spawned from Git's Bash can now be seen in sysmon, wmic etc by default.
  • A bug preventing Unicode characters from being used in the window title of Git Bash was fixed.
  • OpenSSH was patched to no longer warn about an "invalid format" when private and public keys are stored separately.
  • Non-ASCII output of paged Git commands is now rendered correctly in Windows Terminal.
  • It is now possible to use wordpad.exe as Git's editor of choice.
  • When using Git via the "Run As..." function, it now uses the correct home directory.
  • The Git Bash prompt now works even after calling set -u.
  • Git for Windows can now be installed even with stale AutoRun registry entries (e.g. left-overs from a Miniconda installation).

New in Git for Windows 2.29.0 RC 2 (Oct 15, 2020)

  • New Features:
  • Comes with Git v2.29.0-rc2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.7.
  • Comes with Git LFS v2.12.0.
  • Comes with GNU Privacy Guard v2.2.23.
  • Comes with OpenSSL v1.1.1h.
  • Comes with libcbor v0.8.0.
  • Comes with libfido2 v1.5.0.
  • Comes with OpenSSH v8.4p1.
  • Comes with Git Credential Manager Core v2.0.252.766.
  • Existing Git Credential Manager for Windows users are now automatically upgraded to Git Credential Manager Core.
  • Git for Windows' installer learned to let users override the default branch used by git init.
  • The installer size was reduced by dropping a couple unneeded .dll files.
  • Comes with cURL v7.73.0.
  • Bug Fixes:
  • The credential helper selector (used as default credential helper in the Portable Git) now persists the users choice correctly again.
  • The full command-lines of MSYS2 processes (such as cp.exe) spawned from Git's Bash can now be seen in sysmon, wmic etc by default.
  • A bug preventing Unicode characters from being used in the window title of Git Bash was fixed.
  • OpenSSH was patched to no longer warn about an "invalid format" when private and public keys are stored separately.
  • Non-ASCII output of paged Git commands is now rendered correctly in Windows Terminal.
  • It is now possible to use wordpad.exe as Git's editor of choice.
  • When using Git via the "Run As..." function, it now uses the correct home directory.
  • The Git Bash prompt now works even after calling set -u.
  • Git for Windows can now be installed even with stale AutoRun registry entries (e.g. left-overs from a Miniconda installation).

New in Git for Windows 2.29.0 RC 1 (Oct 9, 2020)

  • New Features:
  • Comes with Git v2.29.0-rc1.
  • Comes with cURL v7.72.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.7.
  • Comes with Git LFS v2.12.0.
  • Comes with GNU Privacy Guard v2.2.23.
  • Comes with OpenSSL v1.1.1h.
  • Comes with libcbor v0.8.0.
  • Comes with libfido2 v1.5.0.
  • Comes with OpenSSH v8.4p1.
  • Comes with Git Credential Manager Core v2.0.252.766.
  • Existing Git Credential Manager for Windows users are now automatically upgraded to Git Credential Manager Core.
  • Git for Windows' installer learned to let users override the default branch used by git init.
  • The installer size was reduced by dropping a couple unneeded .dll files.
  • Bug Fixes:
  • The credential helper selector (used as default credential helper in the Portable Git) now persists the users choice correctly again.
  • The full command-lines of MSYS2 processes (such as cp.exe) spawned from Git's Bash can now be seen in sysmon, wmic etc by default.
  • A bug preventing Unicode characters from being used in the window title of Git Bash was fixed.
  • OpenSSH was patched to no longer warn about an "invalid format" when private and public keys are stored separately.
  • Non-ASCII output of paged Git commands is now rendered correctly in Windows Terminal.
  • It is now possible to use wordpad.exe as Git's editor of choice.
  • When using Git via the "Run As..." function, it now uses the correct home directory.
  • The Git Bash prompt now works even after calling set -u.
  • Git for Windows can now be installed even with stale AutoRun registry entries (e.g. left-overs from a Miniconda installation).

New in Git for Windows 2.29.0 RC 0 (Oct 6, 2020)

  • New Features:
  • Comes with Git v2.29.0-rc0.
  • Comes with cURL v7.72.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.7.
  • Comes with Git LFS v2.12.0.
  • Comes with GNU Privacy Guard v2.2.23.
  • Comes with OpenSSL v1.1.1h.
  • Comes with libcbor v0.8.0.
  • Comes with libfido2 v1.5.0.
  • Comes with OpenSSH v8.4p1.
  • Comes with Git Credential Manager Core v2.0.252.766.
  • Existing Git Credential Manager for Windows users are now automatically upgraded to Git Credential Manager Core.
  • Git for Windows' installer learned to let users override the default branch used by git init.
  • The installer size was reduced by dropping a couple unneeded .dll files.
  • Bug Fixes:
  • The credential helper selector (used as default credential helper in the Portable Git) now persists the users choice correctly again.
  • The full command-lines of MSYS2 processes (such as cp.exe) spawned from Git's Bash can now be seen in sysmon, wmic etc by default.
  • A bug preventing Unicode characters from being used in the window title of Git Bash was fixed.
  • OpenSSH was patched to no longer warn about an "invalid format" when private and public keys are stored separately.
  • Non-ASCII output of paged Git commands is now rendered correctly in Windows Terminal.
  • It is now possible to use wordpad.exe as Git's editor of choice.
  • When using Git via the "Run As..." function, it now uses the correct home directory.

New in Git for Windows 2.28.0 (Jul 28, 2020)

  • New Features:
  • Comes with Git v2.28.0.
  • Comes with subversion v1.14.0.
  • Comes with the designated successor of Git Credential Manager for Windows (GCM for Windows), the cross-platform Git Credential Manager Core. For now, this is opt-in, with the idea of eventually retiring GCM for Windows.
  • Comes with cURL v7.71.1.
  • Comes with Perl v5.32.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.6 (including the improvements of Cygwin 3.1.5).
  • Comes with GNU Privacy Guard v2.2.21.
  • Bug Fixes:
  • A typo was fixed in the installer.
  • The new git pull behavior option now records the fast-forward choice correctly.
  • In v2.27.0, git svn was broken completely, which has been fixed.
  • Some Git operations could end up with bogus modified symbolic links (where git status would report changes but git diff would not), which is now fixed.
  • When reinstalling (or upgrading) Git for Windows, the "Pseudo Console Support" choice is now remembered correctly.
  • Under certain circumstances, the Git Bash window (MinTTY) would crash frequently, which has been addressed.
  • When pseudo console support is enabled, the VIM editor sometimes had troubles accepting certain keystrokes, which was fixed.
  • Due to a bug, it was not possible to disable Pseudo Console support by reinstalling with the checkbox turned off, which has been fixed.
  • A bug with enabled Pseudo Console support, where git add -i would not quit the file selection mode upon an empty input, has been fixed.
  • The cleanup mode called "scissors" in git commit now handles CR/LF line endings correctly.
  • When cloning into an existing directory, under certain circumstances, the core.worktree option was set unnecessarily. This has been fixed.

New in Git for Windows 2.28.0 RC 2 (Jul 23, 2020)

  • New Features:
  • Comes with Git v2.28.0-rc2.
  • Comes with subversion v1.14.0.
  • Comes with the designated successor of Git Credential Manager for Windows (GCM for Windows), the cross-platform Git Credential Manager Core. For now, this is opt-in, with the idea of eventually retiring GCM for Windows.
  • Comes with cURL v7.71.1.
  • Comes with Perl v5.32.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.6 (including the improvements of Cygwin 3.1.5).
  • Comes with GNU Privacy Guard v2.2.21.
  • Bug Fixes:
  • A typo was fixed in the installer.
  • The new git pull behavior option now records the fast-forward choice correctly.
  • In v2.27.0, git svn was broken completely, which has been fixed.
  • Some Git operations could end up with bogus modified symbolic links (where git status would report changes but git diff would not), which is now fixed.
  • When reinstalling (or upgrading) Git for Windows, the "Pseudo Console Support" choice is now remembered correctly.
  • Under certain circumstances, the Git Bash window (MinTTY) would crash frequently, which has been addressed.
  • When pseudo console support is enabled, the VIM editor sometimes had troubles accepting certain keystrokes, which was fixed.
  • Due to a bug, it was not possible to disable Pseudo Console support by reinstalling with the checkbox turned off, which has been fixed.
  • A bug with enabled Pseudo Console support, where git add -i would not quit the file selection mode upon an empty input, has been fixed.
  • The cleanup mode called "scissors" in git commit now handles CR/LF line endings correctly.
  • When cloning into an existing directory, under certain circumstances, the core.worktree option was set unnecessarily. This has been fixed.

New in Git for Windows 2.28.0 RC 1 (Jul 18, 2020)

  • New Features:
  • Comes with Git v2.28.0-rc1.
  • Comes with subversion v1.14.0.
  • Comes with the designated successor of Git Credential Manager for Windows (GCM for Windows), the cross-platform Git Credential Manager Core. For now, this is opt-in, with the idea of eventually retiring GCM for Windows.
  • Comes with cURL v7.71.1.
  • Comes with Perl v5.32.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.6 (including the improvements of Cygwin 3.1.5).
  • Comes with GNU Privacy Guard v2.2.21.
  • Bug Fixes:
  • A typo was fixed in the installer.
  • The new git pull behavior option now records the fast-forward choice correctly.
  • In v2.27.0, git svn was broken completely, which has been fixed.
  • Some Git operations could end up with bogus modified symbolic links (where git status would report changes but git diff would not), which is now fixed.
  • When reinstalling (or upgrading) Git for Windows, the "Pseudo Console Support" choice is now remembered correctly.
  • Under certain circumstances, the Git Bash window (MinTTY) would crash frequently, which has been addressed.
  • When pseudo console support is enabled, the VIM editor sometimes had troubles accepting certain keystrokes, which was fixed.
  • Due to a bug, it was not possible to disable Pseudo Console support by reinstalling with the checkbox turned off, which has been fixed.
  • A bug with enabled Pseudo Console support, where git add -i would not quit the file selection mode upon an empty input, has been fixed.
  • The cleanup mode called "scissors" in git commit now handles CR/LF line endings correctly.
  • When cloning into an existing directory, under certain circumstances, the core.worktree option was set unnecessarily. This has been fixed.

New in Git for Windows 2.28.0 RC 0 (Jul 11, 2020)

  • New Features:
  • Comes with Git v2.28.0-rc0.
  • Comes with subversion v1.14.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.5.
  • Comes with the designated successor of Git Credential Manager for Windows (GCM for Windows), the cross-platform Git Credential Manager Core. For now, this is opt-in, with the idea of eventually retiring GCM for Windows.
  • Comes with cURL v7.71.1.
  • Comes with Perl v5.32.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.6.
  • Comes with GNU Privacy Guard v2.2.21.
  • Bug Fixes:
  • A typo was fixed in the installer.
  • The new git pull behavior option now records the fast-forward choice correctly.
  • In v2.27.0, git svn was broken completely, which has been fixed.
  • Some Git operations could end up with bogus modified symbolic links (where git status would report changes but git diff would not), which is now fixed.
  • When reinstalling (or upgrading) Git for Windows, the "Pseudo Console Support" choice is now remembered correctly.
  • Under certain circumstances, the Git Bash window (MinTTY) would crash frequently, which has been addressed.
  • When pseudo console support is enabled, the VIM editor sometimes had troubles accepting certain keystrokes, which was fixed.
  • Due to a bug, it was not possible to disable Pseudo Console support by reinstalling with the checkbox turned off, which has been fixed.
  • A bug with enabled Pseudo Console support, where git add -i would not quit the file selection mode upon an empty input, has been fixed.
  • The cleanup mode called "scissors" in git commit now handles CR/LF line endings correctly.
  • When cloning into an existing directory, under certain circumstances, the core.worktree option was set unnecessarily. This has been fixed.

New in Git for Windows 2.27.0 (Jun 1, 2020)

  • New Features:
  • Comes with Git v2.27.0.
  • Comes with OpenSSL v1.1.1g.
  • Comes with cURL v7.70.0.
  • Comes with subversion v1.13.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.4.
  • The release notes have been made a bit more readable and are now linked from the Start Menu group.
  • The Frequently Asked Questions (FAQ) are now linked in a Start Menu item.
  • Comes with Git LFS v2.11.0.
  • Comes with OpenSSH v8.3p1.
  • Bug Fixes:
  • Some Perl packages (e.g. Net::SSLeay) that had been broken recently have been fixed.
  • Git for Windows and WSL Git now have the same idea of symbolic links' length, i.e. git status will no longer mark them as modified in Git for Windows after checking them out in WSL.

New in Git for Windows 2.27.0 RC 2 (May 26, 2020)

  • New Features:
  • Comes with Git v2.27.0-rc2.
  • Comes with OpenSSL v1.1.1g.
  • Comes with cURL v7.70.0.
  • Comes with subversion v1.13.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.4.
  • The release notes have been made a bit more readable and are now linked from the Start Menu group.
  • The Frequently Asked Questions (FAQ) are now linked in a Start Menu item.
  • Comes with Git LFS v2.11.0.
  • Bug Fixes:
  • Some Perl packages (e.g. Net::SSLeay) that had been broken recently have been fixed.

New in Git for Windows 2.27.0 RC 1 (May 20, 2020)

  • New Features:
  • Comes with Git v2.27.0-rc1.
  • Comes with OpenSSL v1.1.1g.
  • Comes with cURL v7.70.0.
  • Comes with subversion v1.13.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.4.
  • The release notes have been made a bit more readable and are now linked from the Start Menu group.
  • The Frequently Asked Questions (FAQ) are now linked in a Start Menu item.
  • Comes with Git LFS v2.11.0.
  • Bug Fixes:
  • Some Perl packages (e.g. Net::SSLeay) that had been broken recently have been fixed.

New in Git for Windows 2.27.0 RC 0 (May 15, 2020)

  • New Features:
  • Comes with Git v2.27.0-rc0.
  • Comes with OpenSSL v1.1.1g.
  • Comes with perl-YAML-Syck v1.32.
  • Comes with perl-HTML-Parser v3.72.
  • Comes with cURL v7.70.0.
  • Comes with subversion v1.13.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.1.4.
  • The release notes have been made a bit more readable and are now linked from the Start Menu group.
  • The Frequently Asked Questions (FAQ) are now linked in a Start Menu item.
  • Comes with perl-Locale-Gettext v1.07.
  • Comes with Git LFS v2.11.0.
  • Bug Fixes:
  • Some Perl packages (e.g. Net::SSLeay) that had been broken recently have been fixed.

New in Git for Windows 2.26.2 (Apr 20, 2020)

  • New Features:
  • Comes with Git v2.26.2.
  • Comes with tig v2.5.1.
  • Worktree updates (e.g. git checkout, git reset --hard) got a performance boost in sparse checkouts.
  • Bug Fixes:
  • A recent regression in gitk that prevented it from running in bare repositories has been fixed.

New in Git for Windows 2.26.1 (Apr 14, 2020)

  • New Features:
  • Comes with Git v2.26.1.
  • Comes with OpenSSL v1.1.1f.
  • Bug Fixes:
  • Git now accepts more date formats such as %g and %V.

New in Git for Windows 2.26.0 (Mar 23, 2020)

  • New Features:
  • Comes with Git v2.26.0.
  • Git for Windows' OpenSSH now can use USB security tokens (e.g. Yubikeys).
  • The native Windows HTTPS backend (Secure Channel) has learned to work gracefully with Fiddler and corporate proxies.
  • Git for Windows' release notes have been made a bit easier to read/navigate.
  • The Free/Libre VSCodium version of Visual Studio Code is now also detected as an option for the default Git editor.
  • Comes with cURL v7.69.1.
  • Comes with OpenSSL v1.1.1e.
  • Comes with GNU Privacy Guard v2.2.20.
  • Bug Fixes:
  • Git for Windows can now clone into directories the current user can write to, even if they lack permission to even read the parent directory.
  • When asking for a password via Git GUI, non-ASCII characters are now handled correctly.
  • git update-git-for-windows -y now is fully automatable.

New in Git for Windows 2.26.0 RC 2 (Mar 17, 2020)

  • New Features:
  • Comes with Git v2.26.0-rc2.
  • Git for Windows' OpenSSH now can use USB security tokens (e.g. Yubikeys).
  • The native Windows HTTPS backend (Secure Channel) has learned to work gracefully with Fiddler and corporate proxies.
  • Git for Windows' release notes have been made a bit easier to read/navigate.
  • The Free/Libre VSCodium version of Visual Studio Code is now also detected as an option for the default Git editor.
  • Comes with cURL v7.69.1.
  • Bug Fixes:
  • Git for Windows can now clone into directories the current user can write to, even if they lack permission to even read the parent directory.
  • When asking for a password via Git GUI, non-ASCII characters are now handled correctly.

New in Git for Windows 2.26.0 RC 0 (Mar 6, 2020)

  • New Features:
  • Comes with Git v2.26.0-rc0.
  • Comes with cURL v7.69.0.
  • Git for Windows' OpenSSH now can use USB security tokens (e.g. Yubikeys).
  • The native Windows HTTPS backend (Secure Channel) has learned to work gracefully with Fiddler and corporate proxies.
  • Bug Fixes:
  • Git for Windows can now clone into directories the current user can write to, even if they lack permission to even read the parent directory.

New in Git for Windows 2.25.1 (Feb 19, 2020)

  • New Features:
  • Comes with Git v2.25.1.
  • The Portable version of Git for Windows now defaults to turning on the FSCache just like the installer does.
  • Comes with Git LFS v2.10.0.
  • Portable Git can now be run from a RAM disk, too.
  • The deprecation of Git CMD has been reverted: the security issue (git show would execute a git executable or script in the current directory instead of the intended git.exe) was fixed already in v2.20.0.
  • Comes with OpenSSH v8.2p1.
  • Bug Fixes:
  • Some corner-case bugs in the built-in git add -i were fixed.
  • The file name COM0 is no longer mistaken for a reserved file name.
  • The curl.exe included in Git for Windows can access SFTP/SSH hosts again.

New in Git for Windows 2.25.0 (Jan 14, 2020)

  • New Features:
  • Comes with Git v2.25.0.
  • Comes with GNU Privacy Guard v2.2.19.
  • Comes with Git LFS v2.9.2.
  • When upgrading Git for Windows, by default the installer now only shows pages with previously-unseen options.
  • Comes with cURL v7.68.0.
  • Bug Fixes
  • The startup file for GNU nano, which had been included with DOS line endings (and therefore upset nano) is now included with Unix line endings again.
  • Git for Windows now fails as expected when trying to check out files with illegal characters in their file names.
  • Git now works properly when inside a symlinked work tree.
  • Repositories with old commits containing backslashes in file names can now be fetched/cloned again (but Git will still refuse to check out files with backslashes in their file names).
  • Git GUI can now deal with uninitialized submodules (this was a Windows-specific bug).
  • It is again possible to clone repositories where some past revision contained file names containing backslashes (Git will of course still refuse to check out such revisions).

New in Git for Windows 2.24.1 (Dec 10, 2019)

  • New Features:
  • Comes with Git v2.24.1.
  • Comes with tig v2.5.0.
  • Comes with patch level 4 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.0.7.
  • The command-line options of git-bash.exe are now documented (call git help git-bash).
  • Comes with Git LFS v2.9.1.
  • Comes with cURL v7.67.0.
  • Comes with GNU Privacy Guard v2.2.18.
  • Bug Fixes:
  • MinGit no longer overrides an installed Git for Windows' system gitconfig.
  • The "Check daily for updates" feature uses the Action Center again.
  • When associating .sh files with Git Bash to allow running them by double-clicking them in the Windows Explorer, shell scripts with non-ASCII characters in their file name are now supported.

New in Git for Windows 2.24.0.2 (Nov 6, 2019)

  • New Features:
  • Comes with cURL v7.67.0.
  • Bug Fixes:
  • Using http.extraHeader no longer results in spurious crashes.
  • The /proc/{stdin,stdout,stderr} pseudo-symlinks are now installed properly even with non-US locales.
  • A bug was fixed that prevented gitk from refreshing after new changes were committed.

New in Git for Windows 2.24.0 (Nov 6, 2019)

  • New Features:
  • Comes with Git v2.24.0.
  • Comes with cURL v7.66.0.
  • Comes with Git Credential Manager v1.20.0.
  • Comes with OpenSSH v8.1p1.
  • Comes with OpenSSL v1.1.1d.
  • Comes with Git LFS v2.9.0.
  • Bug Fixes:
  • The shell construct <(<command>), which was broken in v2.23.0 (/dev/fd/<n>: no such file or directory), was fixed.
  • The default config no longer skips git-lfs downloads.
  • Starting with cURL v7.66.0, $HOME/.netrc can be used instead of $HOME/_netrc (but it will still fall back to looking for the latter).
  • The installer's "ProductVersion" is now consistent with older Git for Windows versions'.
  • Makes git config --system work like you think it should.
  • The (still experimental) built-in git add -p no longer gets confused about incomplete lines (i.e. a file's l last line that does not end in a Line Feed).
  • A buffer overrun in the code to determine which files need to be marked as hidden was plugged.
  • The support for sendpack.sideband that was removed by mistake was re-introduced, to support git push via the git:// protocol again.
  • git stash no longer records skip-worktree files as deleted after resolving merge conflicts in them.
  • The Git for Windows installer no longer complains about a downgrade when upgrading from an -rc version, i.e. from a pre-release leading up to the next major version.

New in Git for Windows 2.23.0 (Aug 18, 2019)

  • New Features:
  • Comes with Git v2.23.0.
  • Comes with patch level 3 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.0.7.
  • Comes with PCRE2 v10.33.
  • Comes with GNU Privacy Guard v2.2.17.
  • Comes with cURL v7.65.3.
  • Comes with Git LFS v2.8.0.
  • When configuring Git for Windows to use plink, there is now a checkbox specifically for TortoisePlink.
  • The FSCache feature is now used with git checkout and git reset in sparse checkouts.
  • Bug Fixes:
  • Git for Windows' MSYS2 runtime was patched to fix a bug where setting the environment variable SHELL to an empty string in a shell script would not only fail to pass that setting to non-MSYS2 processes (such as git.exe) but also completely skip all environment variables that sort after said variable.
  • git clean -dfx no longer follows NTFS junction points (also known as mount points).
  • A workaround now allows cloning to certain network drives (e.g. Isilon).
  • Fixed CVE-2019-1211 in MinGit/Portable Git by being more careful about validating the Windows-wide config.

New in Git for Windows 2.22.0 (Jun 8, 2019)

  • New Features:
  • Comes with Git v2.22.0.
  • The awk included in Git for Windows now includes extensions such as inplace.
  • The file/product version stored in the installer's .exe file now matches the version of the included git.exe file's.
  • Comes with OpenSSH v8.0p1.
  • Comes with Git LFS v2.7.2.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin v3.x (see release notes for Cygwin 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, and 3.0.7).
  • There are now experimental built-in versions of git add -i and git add -p, i.e. those modes are now a lot faster (in particular at startup). You can opt into using them on the last installer page.
  • PortableGit now comes with a meta credential helper, i.e. a GUI that lets the user choose which of the available credential helpers to use. This should help to avoid storing credentials on other people's machines when running portable Git from a thumb drive.
  • Comes with gawk v5.0.0.
  • Comes with Git Credential Manager v1.19.0.
  • Comes with git-flow v1.12.3.
  • Comes with OpenSSL v1.1.1c.
  • Comes with GNU Privacy Guard v2.2.16, specifically [patched to handle Windows paths](https://github.com/git-for-windows/MSYS2
  • Comes with cURL v7.65.1.
  • Comes with Heimdal v7.5.0.
  • Packages/pull/33).
  • Bug Fixes:
  • Git for Windows' updater is now accessible, i.e. it can be read by a screen reader.
  • Git update-git-for-windows (i.e. the auto updater of Git for Windows) now reports correctly when it failed to access the GitHub API.
  • Git for Windows' updater no longer runs into GitHub API rate limits (this used to be quite common in enterprise scenarios, where many users would share one IP as far as GitHub is concerned).
  • Gitk no longer fails with "filename too long" when there are 1,000+ branches/tags.
  • A bug which on occasion caused lengthy rebase runs to crash without error message was fixed.
  • Two workarounds from the Git for Windows 1.x era (concerning reading credentials via GUI and fetching via git://) were considered obsolete.
  • Git difftool --no-index can now be run outside of Git worktrees.
  • Git rebase -i used to get confused when an exec command created new commits and then appended pick lines for them. This has been fixed.
  • During a run of git rebase --rebase-merges, the output of git status now shows label lines correctly, i.e. with the labels' names instead of the commit hash they point to.
  • We now avoid problems updating the commit graph when gc.writeCommitGraph=true.

New in Git for Windows 2.21.0 (Feb 27, 2019)

  • New Features:
  • Comes with Git v2.21.0.
  • The custom editor setting in the installer has been improved substantially.
  • Comes with Git Credential Manager v1.18.4.0.
  • Comes with cURL v7.64.0.
  • Comes with git-flow v1.12.0.
  • git archive no longer requires gzip to generate .tgz archives (this means in particular that it works in MinGit).
  • System-wide Sublime Text installations are now detected and offered on the editor wizard page.
  • Comes with Git LFS v2.7.1.
  • Bug Fixes:
  • The Git CMD deprecation was further clarified to mention that the Start Menu item is deprecated, not using Git from CMD.
  • Certain drivers/anti-malware caused git.exe to hang, which has been fixed.
  • git stash now works after staging files with git add -N.
  • A problem with difftool and more than a handful modified files has been fixed.
  • The regression where git-cmd <command> would not execute the command was fixed.
  • Portable Git can be launched via network paths again.
  • FSCache works again on network drives, in particular when Windows 8.1 or older are involved.
  • Partially hidden text in the Path options page in the installer is no longer hidden.
  • Fixes an obscure git svn hang.
  • The installer now configures editors so that the built-in rebase can use them.

New in Git for Windows 2.20.1 (Dec 15, 2018)

  • Comes with Git v2.20.1.
  • Comes with cURL v7.63.0.

New in Git for Windows 2.20.0 (Dec 10, 2018)

  • New Features:
  • Comes with Git v2.20.0.
  • Comes with OpenSSL v1.1.1a. The OpenSSH, cURL and Heimdal packages were rebuilt to make use of OpenSSL v1.1.1a.
  • The FSCache feature was further optimized in particular for very large repositories.
  • To appease certain anti-malware, MinTTY was recompiled with a patch to avoid GCC trampolines.
  • Comes with Git LFS v2.6.1.
  • Comes with Bash v4.4 patchlevel 023 .
  • Commands to interact with CVS repositories were considered obsolete and have been removed.
  • The desired HTTP version (HTTP/2 or HTTP/1.1) can now be configured via the http.version setting.
  • Bug Fixes:
  • Git CMD no longer picks up git.exe from the current directory (if any).
  • Git Bash works again in 32-bit Git for Windows.
  • Git can now access git:// remotes again.
  • The confusing descriptions of the PATH options in the installer were clarified.
  • A bug in the notepad support in conjunction with line wrapping was fixed.
  • Comes two backported fixes to allow NTLM/Kerberos authentication to fall back to HTTP/1.1.
  • It is now possible to call cmdgit.exe via a symbolic link.

New in Git for Windows 2.19.2 (Nov 22, 2018)

  • New Features:
  • Comes with Git v2.19.2.
  • Comes with OpenSSH v7.9p1.
  • The description of the editor option to choose Vim has been clarified to state that this unsets core.editor.
  • Comes with cURL v7.62.0.
  • The type of symlinks to create (directory or file) can now be specified via the .gitattributes.
  • The FSCache feature now uses a faster method to enumerate files, making e.g. git status faster in large repositories.
  • Comes with Git Credential Manager v1.18.3.
  • Comes with Git LFS v2.6.0.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.11.2.
  • The FSCache feature was optimized to become faster.
  • Bug Fixes:
  • The 64-bit Portable Git no longer sets pack.packSizeLimit.

New in Git for Windows 2.19.1 (Oct 7, 2018)

  • New Features:
  • Comes with Git v2.19.1.
  • Comes with Git LFS v2.5.2.
  • Comes with Git Credential Manager v1.17.2.
  • When FSCache is enabled, commands such as add, commit, and reset are now much faster.
  • Sublime Text, Atom, and even the new user-specific VS Code installations can now by used as Git's default editor.
  • Comes with Git Credential Manager v1.18.0.
  • Bug Fixes:
  • Several corner case bugs were fixed in the built-in rebase/stash commands.
  • An occasional crash in git gc (which had been introduced into v2.19.0) has been fixed.

New in Git for Windows 2.19.0 (Sep 13, 2018)

  • New Features:
  • Comes with Git v2.19.0.
  • There are now fast, built-in versions of git stash and git rebase, available as experimental options.
  • The included OpenSSH client now enables modern ciphers.
  • The gitweb component was removed because it is highly unlikely to be used on Windows.
  • The git archimport tool (which was probably used by exactly 0 users) is no longer included in Git for Windows.
  • Comes with tig v2.4.0.
  • Comes with Git LFS v2.5.1.
  • Comes with Git Credential Manager v1.17.1.
  • Comes with OpenSSL v1.0.2p.
  • Comes with cURL v7.61.1.
  • Comes with mingw-w64-nodejs v8.12.0.
  • Bug Fixes:
  • The http.schannel.checkRevoke setting (which never worked) was renamed to http.schannelCheckRevoke. In the same run, http.schannel.useSSLCAInfo (which also did not work, for the same reason) was renamed to http.schannelUseSSLCAInfo.
  • Avoids a stack overflow with recent Windows Insider versions.
  • Git GUI now handles hooks correctly in worktrees other than the main one.
  • When using core.autocrlf, the bogus "LF will be replaced by CRLF" warning is now suppressed.
  • The funny fatal error -cmalloc would have returned NULL problems should be gone.

New in Git for Windows 2.18.0 (Jul 25, 2018)

  • New Features:
  • Comes with Git v2.18.0.
  • Comes with Git Credential Manager v1.16.2.
  • Bug Fixes:
  • The diff filter for .pdf files was fixed.
  • The start-ssh-agent.cmd script no longer overrides the HOME variable.
  • Fixes an issue where passing an argument with a trailing slash from Git Bash to git.exe was dropping that trailing slash.
  • The http.schannel.checkRevoke setting now really works.

New in Git for Windows 2.17.1 (May 30, 2018)

  • New Features:
  • Comes with Git Credential Manager v1.16.1.
  • Comes with Git LFS v2.4.2.
  • Bug Fixes:
  • This release really contains Git v2.17.1.

New in Git for Windows 2.17.0 (Apr 3, 2018)

  • New Features:
  • Comes with Git v2.17.0.
  • Comes with OpenSSL v1.0.2o.
  • Comes with Git Credential Manager v1.15.2.
  • Comes with OpenSSH v7.7p1.

New in Git for Windows 2.16.3 (Mar 24, 2018)

  • New Features:
  • Comes with Git v2.16.3.
  • When choosing to "Use Git from the Windows Command Prompt" (i.e. add only the minimal set of Git executables to the PATH), and when choosing the Git LFS component, Git LFS is now included in that minimal set. This makes it possible to reuse Git for Windows' Git LFS, say, from Visual Studio.
  • Comes with gawk v4.2.1.
  • In conjunction with the FSCache feature, git checkout is now a lot faster when checking out a lot of files.
  • Comes with Git LFS v2.4.0.
  • Comes with Git Credential Manager v1.15.0.
  • Comes with cURL v7.59.0.
  • The Git for Windows SDK can now be "installed" via git clone --depth=1 https://github.com/git-for-windows/git-sdk-64.
  • The tar utility (included as a courtesy, not because Git needs it) can now unpack .tar.xz archives.
  • Bug Fixes:
  • When a TERM is configured that Git for Windows does not know about, Bash no longer crashes.
  • The regression where gawk stopped treating Carriage Returns as part of the line endings was fixed.
  • When Git asks for credentials via the terminal in a Powershell window, it no longer fails to do so.
  • The installer is now more robust when encountering files that are in use (and can therefore not be overwritten right away).
  • The included find and rm utilities no longer have problems with deeply nested directories on FAT drives.
  • The cygpath utility included in Git for Windows now strips trailing slashes when normalizing paths (just like the Cygwin version of the utility; this is different from how MSYS2 chooses to do things).
  • The certificates of HTTPS proxies configured via http.proxy are now validated against the ca-bundle.crt correctly.

New in Git for Windows 2.16.2 (Feb 20, 2018)

  • New Features:
  • Comes with Git v2.16.2.
  • For every new Git for Windows version, .zip archives containing .pdb files for some of Git for Windows' components are now published alongside the new version.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.10.0; This required rebuilding OpenSSH, Perl (and some Perl modules) and Subversion.
  • Comes with Bash v4.4 patchlevel 019 .
  • Bug Fixes:
  • The Perl upgrade in Git for Windows v2.16.1(4) broke interactive authentication of git svn, which was fixed.
  • When configuring HTTPS transport to use Secure Channel, we now refrain from configuring http.sslCAInfo. This also helps Git LFS (which uses Git for Windows' private http.sslCAInfo setting) to use the same credentials as git fetch and git push.

New in Git for Windows 2.16.1.4 (Feb 8, 2018)

  • When called from TortoiseGit, git.exe can now spawn processes again.

New in Git for Windows 2.16.1.3 (Feb 6, 2018)

  • New Features:
  • Git for Windows' SDK packages are now hosted on Azure Blobs, fixing part of issue #1479.
  • Comes with perl-Net-SSLeay v1.84.
  • Bug Fixes:
  • When http.sslBackend is not configured (e.g. in portable Git or MinGit), fetch/push operations no longer crash.
  • On Windows 7 and older, Git for Windows v2.16.1(2) was no longer able to spawn any processes (e.g. during fetch/clone). This regression has been fixed.
  • The Perl upgrade in v2.16.1(2) broke git send-email; This has been fixed by updating the Net-SSLeay Perl module.

New in Git for Windows 2.16.1.2 (Feb 3, 2018)

  • New Features:
  • Comes with Heimdal v7.5.0.
  • Comes with cURL v7.58.0.
  • Comes with Perl v5.26.1.
  • When using GNU nano as Git's default editor, it is now colorful (shows syntax-highlighting).
  • Comes with tig v2.3.3.
  • When using Secure Channel as HTTPS transport behind a proxy, it may be necessary to disable revocation checks, which is now possible.
  • Comes with BusyBox v1.28.0pre.16550.0b3cdd76c.
  • Bug Fixes:
  • When Git spawns processes, now only the necessary file handles are inherited from the parent process, possibly preventing file locking issues.
  • The git update command has been renamed to git update-git-for-windows to avoid confusion where users may think that git update updates their local repository or worktree.

New in Git for Windows 2.16.1 (Jan 23, 2018)

  • New Features:
  • Comes with Git v2.16.1.
  • Bug Fixes:
  • A set of regressions introduced by patches intended to speed up reset and checkout was fixed (issues #1437, #1438, #1440 and #1442.

New in Git for Windows 2.16.0.2 (Jan 19, 2018)

  • New Features:
  • Comes with Git Credential Manager v1.14.0.
  • The Git for Windows installer now offers to configure Visual Studio Code as default editor for Git.
  • Comes with OpenSSL v1.0.2n.
  • git checkout is now a lot faster when checking out a lot of files.
  • The core.excludesfile can now reference a symbolic link.
  • Comes with patch level 7 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.9.0.
  • With lots of files, git reset --hard is now a lot faster when the FSCache feature is in effect.
  • Bug Fixes:
  • When cloning into an existing (empty) directory fails, Git no longer removes said directory.
  • Interrupting processes (and their children) using Control+C is now a lot more robust.

New in Git for Windows 2.16.0 (Jan 19, 2018)

  • New Features:
  • Comes with Git Credential Manager v1.14.0.
  • The Git for Windows installer now offers to configure Visual Studio Code as default editor for Git.
  • Comes with OpenSSL v1.0.2n.
  • git checkout is now a lot faster when checking out a lot of files.
  • The core.excludesfile can now reference a symbolic link.
  • Comes with patch level 7 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.9.0.
  • With lots of files, git reset --hard is now a lot faster when the FSCache feature is in effect.
  • Bug Fixes:
  • When cloning into an existing (empty) directory fails, Git no longer removes said directory.
  • Interrupting processes (and their children) using Control+C is now a lot more robust.

New in Git for Windows 2.15.1.2 (Nov 30, 2017)

  • Bug Fixes:
  • The bug introduced into Git for Windows v2.15.1 where vim would show an ugly warning upon startup was fixed.

New in Git for Windows 2.15.0 (Oct 30, 2017)

  • New Features:
  • Comes with Git v2.15.0.
  • Bug Fixes:
  • The auto-updater tried to run at a precise time, and did not run when the computer was switched off at that time. Now it runs as soon after the scheduled time as possible.
  • The auto-updater no longer suggests to downgrade from Release Candidates.
  • When the auto-updater asked the user whether they want to upgrade to a certain version, and the user declined, the auto-updater will not bother the user about said version again.
  • The installer, when run with /SKIPIFINUSE=1, now detects whether any executable in Git for Windows' installation is run
  • Git for Windows no longer includes (non-working) xmlcatalog.exe and xmllint.exe.

New in Git for Windows 2.14.3 (Oct 24, 2017)

  • New Features:
  • Comes with Git v2.14.3.
  • Git for Windows now ships with a diff helper for OpenOffice documents.
  • Comes with Git LFS v2.3.4.
  • Comes with cURL v7.56.1.
  • Bug Fixes:
  • Git for Windows now handles worktrees at the top-level of a UNC share correctly.

New in Git for Windows 2.14.2(3) (Oct 16, 2017)

  • New Features:
  • Comes with Git LFS v2.3.3.
  • Bug Fixes:
  • Re-enabled some SSHv1 ciphers since some sites (e.g. Visual Studio Team Services) rely on them for the time being.

New in Git for Windows 2.14.2(2) (Oct 6, 2017)

  • New Features:
  • Comes with BusyBox v1.28.0pre.16467.b4c390e17.
  • Comes with Git LFS v2.3.2.
  • Comes with cURL v7.56.0.
  • Comes with OpenSSH v7.6p1.
  • Comes with patch level 4 of the MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.9.0.
  • Bug Fixes:
  • A bug which caused the console window to be closed when executing certain Bash scripts was fixed.
  • A crash when calling kill <pid> for a non-existing process was fixed.

New in Git for Windows 2.14.2 (Sep 27, 2017)

  • New Features:
  • Comes with Git v2.14.2.
  • Comes with cURL v7.55.1.
  • The XP-compatibility layer emulating pthreads (which is no longer
  • needed) was dropped in favor of modern Windows threading APIs; This
  • should make threaded operations slightly faster and more robust.
  • On Windows, UNC paths can now be accessed via file//host/share/
  • repo.git-style paths.
  • Comes with a new custom Git command git update to help keeping Git
  • up-to-date on your machine.
  • The Git installer now offers an option to keep Git up-to-date by
  • calling git update regularly.
  • Comes with BusyBox v1.28.0pre.16353.2739df917.
  • As is common elsewhere, Ctrl+Left and Ctrl+Right now move word-wise
  • in Git Bash, too.
  • Comes with patch level 2 of the MSYS2 runtime (Git for Windows
  • flavor) based on Cygwin 2.9.0.
  • Comes with Git LFS v2.3.0.
  • The vs/master branch can now be built in Visual Studio 2017, too
  • As requested by the same user who implemented the change, Git for
  • Windows now comes with tig, a text-mode interface for Git.
  • Bug Fixes:
  • It is now possible to override http.sslBackend on the command-line.
  • The installer now detects correctly whether symbolic links can be
  • created by regular users.
  • Git Bash now renders non-ASCII directories nicely.
  • A regression that caused the fetch operation with lots of refs to
  • be a lot slower than before was fixed.
  • The git-gui.exe and gitk.exe wrappers intended to be used in Git
  • CMD now handle command-line parameters correctly.
  • The core.longPaths setting is now heeded when packing refs, and
  • other previously forgotten Git commands.
  • Pressing Ctrl+Z in Git Bash no longer kills Win32 processes (e.g.
  • git.exe) anymore, because POSIX job control is only available with
  • MSYS2 processes.
  • Git for Windows now sets core.fsyncObjectFiles = true by default
  • which makes it a lot more fault-tolerant, say, when power is lost.
  • A bug has been fixed where Git for Windows could run into an
  • infinite loop trying to rename a file.
  • Before installing Git for Windows, we already verified that no Git
  • Bash instance is active (which would prevent files from being
  • overwritten). We now also verify that no git.exe processes are
  • active, either.

New in Git for Windows 2.14.1 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.14.1.
  • Comes with cURL v7.55.0.
  • The Git Bash Here context menu item is now also available in the special Libraries folders.

New in Git for Windows 2.14.0(2) (Sep 1, 2017)

  • A regression introduced in v2.14.0 that prevented fetching via SSH was fixed.

New in Git for Windows 2.14.0 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.14.0.
  • Comes with BusyBox v1.28.0pre.15857.9480dca7c.
  • Comes with Git Credential Manager v1.12.0.
  • It is now possible to switch between Secure Channel and OpenSSL for Git's HTTPS transport by setting the http.sslBackend config variable to "openssl" or "schannel"; This is now also the method used by the installer (rather than copying libcurl-4.dll files around).
  • The experimental option --show-ignored-directory was added to git status to show only the name of ignored directories when the option --untracked=all is used.
  • Git for Windows releases now also include an experimental BusyBox-based MinGit.
  • Bug Fixes:
  • Repository-local aliases are now resolved again in worktrees.
  • CamelCased aliases were broken in v2.13.3; This has been fixed again.
  • The 32-bit Git binaries are now built against the same dependencies that are shipped with Git for Windows.

New in Git for Windows 2.13.3 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.13.3.
  • Comes with Git LFS v2.2.1.
  • Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 2.8.2.
  • Bug Fixes:
  • Git Bash no longer tries to use the getent tool which was never shipped with Git for Windows.

New in Git for Windows 2.13.2 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.13.2.
  • Comes with Git Credential Manager v1.10.1.
  • The Git Bash prompt can now be overridden by creating the file .configgitgit-prompt.sh.
  • Comes with cURL v7.54.1.

New in Git for Windows 2.13.1.2 (Sep 1, 2017)

  • Bug Fixes:
  • git commit and git status no longer randomly throw segmentation faults

New in Git for Windows 2.13.1 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.13.1.
  • Comes with Git Credential Manager v1.10.0.
  • Comes with OpenSSH 7.5p1.
  • Comes with Git Flow v1.11.0.
  • Comes with Git LFS v2.1.1.
  • Git now uses the flag introduced with Windows 10 Creators Update to create symbolic links without requiring elevated privileges in Developer Mode.
  • Bug Fixes:
  • The documentation of Git for Windows' several config files was improved.
  • When interrupting Git processes in Git Bash by pressing Ctrl+C, Git now removes .lock files as designed (accompanying Git PR; this should also fix issue #338).
  • git status -uno now treats submodules in ignored directories correctly.
  • The fscache feature no longer slows down git commit -m <message> in large worktrees.
  • Executing git.exe in Git Bash when the current working directory is a UNC path now works as expected.
  • Staging/unstaging multiple files in Git GUI via Ctrl+C now works.
  • When hitting Ctrl+T in Git GUI to stage files, but the file list is empty, Git GUI no longer shows an exception window.

New in Git for Windows 2.13.0 (Sep 1, 2017)

  • New Features:
  • Comes with Git v2.13.0.
  • Comes with cURL v7.54.0.
  • Comes with Git LFS v2.1.0.
  • Bug Fixes:
  • As per Git LFS' convention, it is installed into the bin/ directory again.
  • Calling git add with an absolute path using different upper/lower case than recorded on disk will now work as expected instead of claiming that the paths are outside the repository.
  • Git for Windows no longer tries to determine the default printer.
  • When writing the Git index file, Git for Windows no longer has the wrong idea about the file's timestamp.
  • On Windows, absolute paths can start with a backslash (implicitly referring to the same drive as the current directory), and now git clone can use those paths, too.

New in Git for Windows 2.12.2 (Apr 6, 2017)

  • "git status --porcelain" is supposed to give a stable output, but a few strings were left as translatable by mistake.
  • "Dumb http" transport used to misparse a nonsense http-alternates response, which has been fixed.
  • "git diff --quiet" relies on the size field in diff_filespec to be correctly populated, but diff_populate_filespec() helper function made an incorrect short-cut when asked only to populate the size field for paths that need to go through convert_to_git() (e.g. CRLF conversion).
  • There is no need for Python only to give a few messages to the standard error stream, but we somehow did.
  • A leak in a codepath to read from a packed object in (rare) cases has been plugged.
  • "git upload-pack", which is a counter-part of "git fetch", did not report a request for a ref that was not advertised as invalid. This is generally not a problem (because "git fetch" will stop before making such a request), but is the right thing to do.
  • A "gc.log" file left by a backgrounded "gc --auto" disables further automatic gc; it has been taught to run at least once a day (by default) by ignoring a stale "gc.log" file that is too old.
  • "git remote rm X", when a branch has remote X configured as the value of its branch.*.remote, tried to remove branch.*.remote and branch.*.merge and failed if either is unset.
  • A caller of tempfile API that uses stdio interface to write to files may ignore errors while writing, which is detected when tempfile is closed (with a call to ferror()). By that time, the original errno that may have told us what went wrong is likely to be long gone and was overwritten by an irrelevant value. close_tempfile() now resets errno to EIO to make errno at least predictable.
  • "git show-branch" expected there were only very short branch names in the repository and used a fixed-length buffer to hold them without checking for overflow.
  • The code that parses header fields in the commit object has been updated for (micro)performance and code hygiene.
  • A test that creates a confusing branch whose name is HEAD has been corrected not to do so.
  • "Cc:" on the trailer part does not have to conform to RFC strictly, unlike in the e-mail header. "git send-email" has been updated to ignore anything after '>' when picking addresses, to allow non-address cruft like " # stable 4.4" after the address.
  • "git push" had a handful of codepaths that could lead to a deadlock when unexpected error happened, which has been fixed.
  • Code to read submodule.<name>.ignore config did not state the variable name correctly when giving an error message diagnosing misconfiguration.
  • "git ls-remote" and "git archive --remote" are designed to work without being in a directory under Git's control. However, recent updates revealed that we randomly look into a directory called .git/ without actually doing necessary set-up when working in a repository. Stop doing so.
  • The code to parse the command line "git grep <patterns>... <rev> [[--] <pathspec>...]" has been cleaned up, and a handful of bugs have been fixed (e.g. we used to check "--" if it is a rev).
  • The code to parse "git -c VAR=VAL cmd" and set configuration variable for the duration of cmd had two small bugs, which have been fixed. This supersedes jc/config-case-cmdline topic that has been discarded.
  • Also contains various documentation updates and code clean-ups.

New in Git for Windows 2.6.4 (Dec 29, 2015)

  • New Features:
  • Comes with Git v2.6.4
  • Bug Fixes:
  • Git for Windows v2.6.3's installer failed to elevate privileges automatically (reported three times, making it a charm), and as a consequence Git for Windows 2.6.3 was frequently installed per-user by mistake
  • The bug where SHELL_PATH had spaces and that was reported multiple times has been fixed
  • An additional work-around from upstream Git for SHELL_PATH containing spaces (fixing problems with interactive rebase's exec command has been applied

New in Git for Windows 2.6.3 (Dec 29, 2015)

  • New Features:
  • Comes with Git v2.6.3.
  • Enables the stack smasher to protect against buffer overflows.
  • Bug Fixes:
  • Git Bash works now even when choosing Windows' default console and installing into a short path (e.g. C:\Git).
  • Notepad can now really be used to edit commit messages.
  • Git's garbage collector now handles stale refs/remotes/origin/HEAD gracefully.
  • The regression in Git for Windows 2.6.2 that it required administrator privileges to be installed is now fixed.
  • When notepad is configured as default editor, we no longer do anything specially unless editing files inside .git/.

New in Git for Windows 2.6.2 (Dec 29, 2015)

  • New Features:
  • Comes with Git v2.6.2
  • Users who are part of a Windows domain now have sensible default values for user.name and user.email.
  • Bug Fixes:
  • We no longer run out of page file space when git fetching large repositories.
  • The description of Windows' default console is accurate now (the console became more powerful in Windows 10).
  • Git GUI now respects the terminal emulation chosen at install time when running the Git Bash.

New in Git for Windows 2.6.1 (Dec 29, 2015)

  • New Features:
  • Comes with Git 2.6.1
  • The installer now writes the file /etc/install-options.txt to record which options were chosen at install time
  • Replaces git flow with the AVH edition which is maintained actively, in surprising and disappointing contrast to Vincent Driessen's very own project
  • Bug Fixes:
  • The PATH variable is now really left alone when choosing the "Use Git from Git Bash only" option in the installer. Note that upgrading Git for Windows will call the previous version's uninstaller, which might still have that bug
  • Git GUI's Registry>Create Desktop Icon now generates correct shortcuts
  • The antiword utility to render Word documents for use in git diff now works correctly
  • In 64-bit installations, we no longer set a pack size limit by default
  • When installing Git for Windows as regular user, the installer no longer comptries to create privileged registry keys

New in Git for Windows 2.6.0 (Dec 29, 2015)

  • New Features:
  • Comes with Git 2.6.0
  • The WhoUses.exe tool to determine which process holds a lock on a given file (which was shipped with Git for Windows 1.x) gets installed alongside Git for Windows again.
  • The values CurrentVersion, InstallPath and LibexecPath are added to the HKEY_LOCAL_MACHINE\Software\GitForWindows registry key to help third-party add-ons to find us.
  • When fetching or pushing with Git without a console, we now fall back to Git GUI's askpass helper to ask for pass phrases.
  • When run through \cmd\git.exe, Git will find tools in $HOME/bin now.
  • Bug Fixes:
  • The portable version avoids DLL search path problems even when installed into a FAT filesystem.
  • Configuring notepad as editor without configuring a width for commit messages no longer triggers an error message.
  • When using Windows' default console for Git Bash, the .sh file associations work again.
  • Portable Git's README is now clearer about the need to run post-install.bat when unpacking manually.
  • We use the winpty trick now to run ipython interactively, too.
  • When the environment variable HOME is not set, we now fall back correctly to use HOMEDRIVE and HOMEPATH.
  • The home directory is now set correctly when running as the SYSTEM user.
  • The environment variable GIT_WORK_TREE may now differ in lower/upper case with the Git's idea of the current working directory.
  • Running git clone --dissociate ... no longer locks the pack files during the repacking phase.
  • Upstream cURL fixes for NTLM proxy issues ("Unknown SSL error") were backported.

New in Git for Windows 2.5.3 (Dec 29, 2015)

  • New Features:
  • Comes with Git 2.5.3
  • Includes git flow
  • By configuring git config core.editor notepad, users can now use notepad.exe as their default editor. Configuring git config format.commitMessageColumns 72 will be picked up by the notepad wrapper and line-wrap the commit message after the user edited it
  • The Subversion bindings for use with git svn were upgraded to version 1.9.1
  • Some interactive console programs, e.g. psql.exe, now work in mintty thanks to pre-configured aliases
  • The mechanism to diff .pdf, .doc and .docx files known from Git for Windows 1.x has been ported to Git for Windows 2.x
  • Git can now access IPv6-only hosts via HTTP/HTTPS
  • Bug fixes:
  • The .vimrc in the home directory is now allowed to have DOS line endings
  • The README.portable file of the portable Git mentions the need to run post-install.bat when the archive was extracted manually
  • Home directories for user names with non-ASCII characters are handled correctly now
  • The documentation no longer shows plain-text linkgit:... "links" but proper hyperlinks instead
  • The mtab link is written to /etc/mtab again, as it should
  • When run inside the PowerShell, Git no longer gets confused when the current directory's path and what is recorded in the file system differs in case (e.g. "GIT/" vs "Git/")

New in Git for Windows 1.8.5.2 Preview 20131230 (Jan 17, 2014)

  • Foreign interfaces, subsystems and ports:
  • "git-svn" has been taught to use the serf library, which is the only option SVN 1.8.0 offers us when talking the HTTP protocol.
  • "git-svn" talking over an https:// connection using the serf library dumped core due to a bug in the serf library that SVN uses. Work around it on our side, even though the SVN side is being fixed.
  • On MacOS X, we detected if the filesystem needs the "pre-composed unicode strings" workaround, but did not automatically enable it. Now we do.
  • remote-hg remote helper misbehaved when interacting with a local Hg repository relative to the home directory, e.g. "clone hg::~/there".
  • imap-send ported to OS X uses Apple's security framework instead of OpenSSL's.
  • "git fast-import" treats an empty path given to "ls" as the root of the tree.
  • UI, Workflows & Features:
  • xdg-open can be used as a browser backend for "git web-browse"(hence to show "git help -w" output), when available.
  • "git grep" and "git show" pay attention to the "--textconv" option when these commands are told to operate on blob objects (e.g. "git grep -e pattern --textconv HEAD:Makefile").
  • "git replace" helper no longer allows an object to be replaced with another object of a different type to avoid confusion (you can still manually craft such a replacement using "git update-ref", as an escape hatch).
  • "git status" no longer prints the dirty status information of submodules for which submodule.$name.ignore is set to "all".
  • "git rebase -i" honours core.abbrev when preparing the insn sheet for editing.
  • "git status" during a cherry-pick shows which original commit is being picked.
  • Instead of typing four capital letters "HEAD", you can say "@" now, e.g. "git log @".
  • "git check-ignore" follows the same rule as "git add" and "git status" in that the ignore/exclude mechanism does not take effect on paths that are already tracked. With the "--no-index" option, it can be used to diagnose which paths that should have been ignored
  • have been mistakenly added to the index.
  • Some irrelevant "advice" messages that are shared with "git status" output have been removed from the commit log template.
  • "update-refs" learned a "--stdin" option to read multiple update requests and perform them in an all-or-none fashion.
  • Just like "make -C ", "git -C ..." tells Git to go there before doing anything else.
  • Just like "git checkout -" knows to check out, and "git merge -" knows to merge, the branch you were previously on, "git cherry-pick" now understands "git cherry-pick -" to pick from the previous branch.
  • "git status" now omits the prefix to make its output a comment in a commit log editor, which is not necessary for human consumption. Scripts that parse the output of "git status" are advised to use "git status --porcelain" instead, as its format is stable and easier to parse.
  • The ref syntax "foo^{tag}" (with the literal string "{tag}") peels a tag ref to itself, i.e. it's a no-op., and fails if "foo" is not a tag. "git rev-parse --verify v1.0^{tag}" is
  • a more convenient way than "test $(git cat-file -t v1.0) = tag" to check if v1.0 is a tag.
  • "git branch -v -v" (and "git status") did not distinguish among a branch that is not based on any other branch, a branch that is in sync with its upstream branch, and a branch that is configured with an upstream branch that no longer exists.
  • Earlier we started rejecting any attempt to add the 0{40} object name to the index and to tree objects, but it sometimes is necessary to allow this to be able to use tools like filter-branch to correct such broken tree objects. "filter-branch" can again be used to do this.
  • "git config" did not provide a way to set or access numbers larger than a native "int" on the platform; it now provides 64-bit signed integers on all platforms.
  • "git pull --rebase" always chose to do the bog-standard flattening rebase. You can tell it to run "rebase --preserve-merges" with "git pull --rebase=preserve" or by setting "pull.rebase" configuration to "preserve".
  • "git push --no-thin" actually disables the "thin pack transfer" optimization.
  • Magic pathspecs like ":(icase)makefile" (matches both Makefile and makefile) and ":(glob)foo/**/bar" (matches "bar" in "foo" and any subdirectory of "foo") can be used in more places.
  • The "http.*" variables can now be specified for individual URLs.
  • "git mv A B" when moving a submodule has been taught to relocate the submodule's working tree and to adjust the paths in the .gitmodules file.
  • "git blame" can now take more than one -L option to discover the origin of multiple blocks of lines.
  • The http transport clients can optionally ask to save cookies with the http.savecookies configuration variable.
  • "git push" learned a more fine grained control over a blunt "--force" when requesting a non-fast-forward update with the "--force-with-lease=:" option.
  • "git diff --diff-filter=" can now take lowercase letters (e.g. "--diff-filter=d") to mean "show everything but these classes". "git diff-files -q" is now a deprecated synonym for "git diff-files --diff-filter=d".
  • "git fetch" (hence "git pull" as well) learned to check "fetch.prune" and "remote.*.prune" configuration variables and to behave as if the "--prune" command line option was given.
  • "git check-ignore -z" applied the NUL termination to both its input (with --stdin) and its output, but "git check-attr -z" ignored the option on the output side. Make both honor -z on the input and output side the same way.
  • "git whatchanged" may still be used by old timers, but mention of it in documents meant for new users will only waste readers' time wondering what the difference is between it and "git log". Make it less prominent in the general part of the documentation and explain that it is merely a "git log" with different default behaviour in its own document.
  • Performance, Internal Implementation, etc:
  • "git for-each-ref" when asking for merely the object name does not have to parse the object pointed at by the refs; the codepath has been optimized.
  • The HTTP transport will try to use TCP keepalive when able.
  • "git repack" is now written in C.
  • Build procedure for MSVC has been updated.
  • If a build-time fallback is set to "cat" instead of "less", we should apply the same "no subprocess or pipe" optimization as we apply to user-supplied GIT_PAGER=cat.
  • Many commands use a --dashed-option as an operation mode selector (e.g. "git tag --delete") that excludes other operation modes (e.g. "git tag --delete --verify" is nonsense) and that cannot be negated (e.g. "git tag --no-delete" is nonsense). The parse-options API learned a new OPT_CMDMODE macro to make it easier to implement such a set of options.
  • OPT_BOOLEAN() in the parse-options API was misdesigned to be "counting up" but many subcommands expect it to behave as "on/off". Update them to use OPT_BOOL() which is a proper boolean.
  • "git gc" exits early without doing any work when it detects that another instance of itself is already running.
  • Under memory pressure and/or file descriptor pressure, we used to close pack windows that are not used and also closed filehandles to open but unused packfiles. These are now controlled separately to better cope with the load.
  • Also contains various documentation updates and code clean-ups.

New in Git for Windows 1.8.4 Preview 20130916 (Oct 29, 2013)

  • New Features:
  • Comes with Git 1.8.4 plus Windows specific patches.
  • Enabled unicode support in bash (#42 and #79)
  • Included iconv.exe to assist in writing encoding filters
  • Updated openssl to 0.9.8y
  • Bugfixes:
  • Avoid emitting non-printing chars to set console title.
  • Various encoding fixes for the git test suite
  • Ensure wincred handles empty username/password.

New in Git for Windows 1.8.3 Preview 20130601 (Jun 13, 2013)

  • Updates:
  • Foreign interface:
  • remote-hg and remote-bzr helpers (in contrib/ since v1.8.2) have been updated; especially, the latter has been done in an accelerated schedule (read: we may not have merged to this release if we were following the usual "cook sufficiently in next before unleashing it to the world" workflow) in order to help Emacs folks, whose primary SCM seems to be stagnating.
  • UI, Workflows & Features:
  • A handful of updates applied to gitk, including an addition of "revert" action, showing dates in tags in a nicer way, making colors configurable, and support for -G'pickaxe' search.
  • The prompt string generator (in contrib/completion/) learned to show how many changes there are in total and how many have been replayed during a "git rebase" session.
  • "git branch --vv" learned to paint the name of the branch it integrates with in a different color (color.branch.upstream, which defaults to blue).
  • In a sparsely populated working tree, "git checkout " no longer unmarks paths that match the given pathspec that were originally ignored with "--sparse" (use --ignore-skip-worktree-bits option to resurrect these paths out of the index if you really want to).
  • "git log --format" specifier learned %C(auto) token that tells Git to use color when interpolating %d (decoration), %h (short commit object name), etc. for terminal output.
  • "git bisect" leaves the final outcome as a comment in its bisect log file.
  • "git clone --reference" can now refer to a gitfile "textual symlink" that points at the real location of the repository.
  • "git count-objects" learned "--human-readable" aka "-H" option to show various large numbers in Ki/Mi/GiB scaled as necessary.
  • "git cherry-pick $blob" and "git cherry-pick $tree" are nonsense, and a more readable error message e.g. "can't cherry-pick a tree" is given (we used to say "expected exactly one commit").
  • The "--annotate" option to "git send-email" can be turned on (or off) by default with sendemail.annotate configuration variable (you can use --no-annotate from the command line to override it).
  • The "--cover-letter" option to "git format-patch" can be turned on (or off) by default with format.coverLetter configuration variable. By setting it to 'auto', you can turn it on only for a series with two or more patches.
  • The bash completion support (in contrib/) learned that cherry-pick takes a few more options than it already knew about.
  • "git help" learned "-g" option to show the list of guides just like list of commands are given with "-a".
  • A triangular "pull from one place, push to another place" workflow is supported better by new remote.pushdefault (overrides the "origin" thing) and branch.*.pushremote (overrides the branch.*.remote) configuration variables.
  • "git status" learned to report that you are in the middle of a revert session, just like it does for a cherry-pick and a bisect session.
  • The handling by "git branch --set-upstream-to" against various forms of erroneous inputs was suboptimal and has been improved.
  • When the interactive access to git-shell is not enabled, it issues a message meant to help the system administrator to enable it. An explicit way has been added to issue custom messages to refuse an access over the network to help the end users who connect to the service expecting an interactive shell.
  • In addition to the case where the user edits the log message with the "e)dit" option of "am -i", replace the "Applying: this patch" message with the final log message contents after applymsg hook munges it.
  • "git status" suggests users to look into using --untracked=no option when it takes too long.
  • "git status" shows a bit more information during a rebase/bisect session.
  • "git fetch" learned to fetch a commit at the tip of an unadvertised ref by specifying a raw object name from the command line when the server side supports this feature.
  • Output from "git log --graph" works better with submodule log output now.
  • "git count-objects -v" learned to report leftover temporary packfiles and other garbage in the object store.
  • A new read-only credential helper (in contrib/) to interact with the .netrc/.authinfo files has been added.
  • "git send-email" can be used with the credential helper system.
  • There was no Porcelain way to say "I no longer am interested in this submodule", once you express your interest in a submodule with "submodule init". "submodule deinit" is the way to do so.
  • "git pull --rebase" learned to pass "-v/-q" options to underlying "git rebase".
  • The new "--follow-tags" option tells "git push" to push relevant annotated tags when pushing branches out.
  • "git merge" and "git pull" can optionally be told to inspect and reject when merging a commit that does not carry a trusted GPG signature.
  • "git mergetool" now feeds files to the "p4merge" backend in the order that matches the p4 convention, where "theirs" is usually shown on the left side, which is the opposite from what other backends expect.
  • "show/log" now honors gpg.program configuration just like other parts of the code that use GnuPG.
  • "git log" that shows the difference between the parent and the child has been optimized somewhat.
  • "git difftool" allows the user to write into the temporary files being shown; if the user makes changes to the working tree at the same time, it now refrains from overwriting the copy in the working tree and leaves the temporary file so that changes can be merged manually.
  • There was no good way to ask "I have a random string that came from outside world. I want to turn it into a 40-hex object name while making sure such an object exists". A new peeling suffix ^{object} can be used for that purpose, together with "rev-parse --verify".
  • Performance, Internal Implementation, etc:
  • Updates for building under msvc.
  • A handful of issues in the code that traverses the working tree to find untracked and/or ignored files have been fixed, and the general codepath involved in "status -u" and "clean" have been cleaned up and optimized.
  • The stack footprint of some codepaths that access an object from a pack has been shrunk.
  • The logic to coalesce the same lines removed from the parents in the output from "diff -c/--cc" has been updated, but with O(n^2) complexity, so this might turn out to be undesirable.
  • The code to enforce permission bits on files in $GIT_DIR/ for shared repositories has been simplified.
  • A few codepaths know how much data they need to put in the hashtables they use when they start, but still began with small tables and repeatedly grew and rehashed them.
  • The API to walk reflog entries from the latest to older, which was necessary for operations such as "git checkout -", was cumbersome to use correctly and also inefficient.
  • Codepaths that inspect log-message-to-be and decide when to add a new Signed-off-by line in various commands have been consolidated.
  • The pkt-line API, implementation and its callers have been cleaned up to make them more robust.
  • The Cygwin port has a faster-but-lying lstat(2) emulation whose incorrectness does not matter in practice except for a few codepaths, and setting permission bits on directories is a codepath that needs to use a more correct one.
  • "git checkout" had repeated pathspec matches on the same paths, which have been consolidated. Also a bug in "git checkout dir/" that is started from an unmerged index has been fixed.
  • A few bugfixes to "git rerere" working on corner case merge conflicts have been applied.
  • Also contains various documentation updates and code clean-ups.
  • Fixes:
  • Unless otherwise noted, all the fixes since v1.8.2 in the maintenance
  • track are contained in this release (see release notes to them for
  • details).
  • Recent versions of File::Temp (used by "git svn") started blowing up when its tempfile sub is called as a class method; updated the callsite to call it as a plain vanilla function to fix it. (merge eafc2dd hb/git-pm-tempfile later to maint).
  • Various subcommands of "git remote" simply ignored extraneous command line arguments instead of diagnosing them as errors.
  • When receive-pack detects an error in the pack header it received in order to decide which of unpack-objects or index-pack to run, it returned without closing the error stream, which led to a hung sideband thread.
  • Zsh completion forgot that the '%' character used to signal untracked files needs to be escaped with another '%'.
  • A commit object whose author or committer ident are malformed crashed some code that trusted that a name, an email and a timestamp can always be found in it.
  • When "upload-pack" fails while generating a pack in response to "git fetch" (or "git clone"), the receiving side had a programming error that triggered the die handler recursively.
  • "rev-list --stdin" and friends kept bogus pointers into the input buffer around as human readable object names. This was not a huge problem but was exposed by a new change that uses these names in
  • error output.
  • Smart-capable HTTP servers were not restricted via the GIT_NAMESPACE mechanism when talking with commit-walking clients, like they are when talking with smart HTTP clients. (merge 6130f86 jk/http-dumb-namespaces later to maint).
  • "git merge-tree" did not omit a merge result that is identical to the "our" side in certain cases. (merge aacecc3 jk/merge-tree-added-identically later to maint).
  • Perl scripts like "git-svn" closed (instead of redirecting to /dev/null) the standard error stream, which is not a very smart thing to do. A later open may return file descriptor #2 for an unrelated purpose, and error reporting code may write into it.
  • "git show-branch" was not prepared to show a very long run of ancestor operators e.g. foobar^2~2^2^2^2...^2~4 correctly.
  • "git diff --diff-algorithm algo" is also understood as "git diff --diff-algorithm=algo".
  • The new core.commentchar configuration was not applied in a few places.
  • "git bundle" erroneously bailed out when parsing a valid bundle containing a prerequisite commit without a commit message.
  • "git log -S/-G" started paying attention to textconv filter, but there was no way to disable this. Make it honor the --no-textconv option.
  • When used with the "-d temporary-directory" option, "git filter-branch" failed to come back to the original working tree to perform the final clean-up procedure.
  • "git merge $(git rev-parse v1.8.2)" behaved quite differently from "git merge v1.8.2", as if v1.8.2 were written as v1.8.2^0 and did not pay much attention to the annotated tag payload. Make the code notice the type of the tag object, in addition to the dwim_ref() based classification the current code uses (i.e. the name appears in refs/tags/) to decide when to special-case tag merging.
  • Fix a 1.8.1.x regression that stopped matching "dir" (without a trailing slash) to a directory "dir".
  • "git apply --whitespace=fix" was not prepared to see a line getting longer after fixing whitespaces (e.g. tab-in-indent aka Python).
  • The prompt string generator (in contrib/completion/) did not notice when we are in a middle of a "git revert" session.
  • "submodule summary --summary-limit" option did not support the "--option=value" form.
  • "index-pack --fix-thin" used an uninitialized value to compute the delta depths of objects it appends to the resulting pack.
  • "index-pack --verify-stat" used a few counters outside the protection of a mutex, possibly showing incorrect numbers.
  • The code to keep track of what directory names are known to Git on platforms with case insensitive filesystems could get confused upon a hash collision between these pathnames and would loop forever.
  • Annotated tags outside the refs/tags/ hierarchy were not advertised correctly to ls-remote and fetch with recent versions of Git.
  • Recent optimizations broke shallow clones.
  • "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and instead the parser kept reading beyond the end of the string.
  • "git tag -f " always said "Updated tag ''" even when creating a new tag (i.e. neither overwriting nor updating).
  • "git p4" did not behave well when the path to the root of the P4 client was not its real path. (merge bbd8486 pw/p4-symlinked-root later to maint).
  • "git archive" reported a failure when asked to create an archive out of an empty tree. It is more intuitive to give an empty archive back in such a case.
  • When "format-patch" quoted a non-ascii string in header files, it incorrectly applied rfc2047 and chopped a single character in the middle of the string.
  • An aliased command spawned from a bare repository that does not say it is bare with "core.bare = yes" was treated as non-bare by mistake.
  • In "git reflog expire", the REACHABLE bit was not cleared from the correct objects.
  • The logic used by "git diff -M --stat" to shorten the names of files before and after a rename did not work correctly when the common prefix and suffix between the two filenames overlapped.
  • The "--match=" option of "git describe", when used with "--all" to allow refs that are not annotated tags to be a base of description, did not restrict the output from the command to those refs that match the given pattern.
  • Clarify in the documentation "what" gets pushed to "where" when the command line to "git push" does not say these explicitly.
  • The "--color=" argument to the commands in the diff family was described poorly.
  • The arguments given to the pre-rebase hook were not documented.
  • The v4 index format was not documented.
  • The "--match=" argument "git describe" takes uses glob pattern but it wasn't obvious from the documentation.
  • Some sources failed to compile on systems that lack NI_MAXHOST in their system header (e.g. z/OS).
  • Add an example use of "--env-filter" in "filter-branch" documentation.
  • "git bundle verify" did not say "records a complete history" for a bundle that does not have any prerequisites.
  • In the v1.8.0 era, we changed symbols that do not have to be global to file scope static, but a few functions in graph.c were used by CGit sideways, bypassing the entry points of the API the in-tree users use.
  • "git update-index -h" did not do the usual "-h(elp)" thing.
  • "git index-pack" had a buffer-overflow while preparing an informational message when the translated version of it was too long.
  • 'git commit -m "$msg"' used to add an extra newline even when $msg already ended with one.
  • The SSL peer verification done by "git imap-send" did not ask for Server Name Indication (RFC 4366), failing to connect to SSL/TLS sites that serve multiple hostnames on a single IP.
  • perl/Git.pm::cat_blob slurped everything in core only to write it out to a file descriptor, which was not a very smart thing to do.
  • "git branch" did not bother to check nonsense command line parameters. It now issues errors in many cases.
  • Verification of signed tags was not done correctly when not in C or en/US locale.
  • Some platforms and users spell UTF-8 differently; retry with the most official "UTF-8" when the system does not understand the user-supplied encoding name that is a common alternative spelling of UTF-8.
  • When export-subst is used, "zip" output recorded an incorrect size of the file.
  • "git am $maildir/" applied messages in an unexpected order; sort filenames read from the maildir/ in a way that is more likely to sort the messages in the order the writing MUA meant to, by sorting numeric segments in numeric order and non-numeric segments in alphabetical order.
  • "git submodule update", when recursed into sub-submodules, did not accumulate the prefix paths.

New in Git for Windows 1.8.1.2 Preview 20130201 (Mar 16, 2013)

  • Fixes since v1.8.1.1:
  • An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling.
  • Command line completion for "tcsh" emitted an unwanted space after completing a single directory name.
  • Command line completion leaked an unnecessary error message while looking for possible matches with paths in .
  • "git archive" did not record uncompressed size in the header when streaming a zip archive, which confused some implementations of unzip.
  • When users spelled "cc:" in lowercase in the fake "header" in the trailer part, "git send-email" failed to pick up the addresses from there. As e-mail headers field names are case insensitive, this script should follow suit and treat "cc:" and "Cc:" the same way.
  • Also contains various documentation fixes.

New in Git for Windows 1.8.0 Preview 20121022 (Jan 15, 2013)

  • Updates:
  • UI, Workflows & Features:
  • A credential helper for Win32 to allow access to the keychain of the logged-in user has been added.
  • An initial port to HP NonStop.
  • A credential helper to allow access to the Gnome keyring has been added.
  • When "git am" sanitizes the "Subject:" line, we strip the prefix from "Re: subject" and also from a less common "re: subject", but left the even less common "RE: subject" intact. Now we strip that too.
  • It was tempting to say "git branch --set-upstream origin/master", but that tells Git to arrange the local branch "origin/master" to integrate with the currently checked out branch, which is highly unlikely what the user meant. The option is deprecated; use the new "--set-upstream-to" (with a short-and-sweet "-u") option instead.
  • "git cherry-pick" learned the "--allow-empty-message" option to allow it to replay a commit without any log message.
  • After "git cherry-pick -s" gave control back to the user asking help to resolve conflicts, concluding "git commit" used to need to be run with "-s" if the user wants to sign it off; now the command leaves the sign-off line in the log template.
  • "git daemon" learned the "--access-hook" option to allow an external command to decline service based on the client address, repository path, etc.
  • "git difftool --dir-diff" learned to use symbolic links to prepare a temporary copy of the working tree when available.
  • "git grep" learned to use a non-standard pattern type by default if a configuration variable tells it to.
  • Accumulated updates to "git gui" has been merged.
  • "git log -g" learned the "--grep-reflog=" option to limit its output to commits with a reflog message that matches the given pattern.
  • "git merge-base" learned the "--is-ancestor A B" option to tell if A is an ancestor of B. The result is indicated by its exit status code.
  • "git mergetool" now allows users to override the actual command used with the mergetool.$name.cmd configuration variable even for built-in mergetool backends.
  • "git rebase -i" learned the "--edit-todo" option to open an editor to edit the instruction sheet.
  • Foreign Interface:
  • "git svn" has been updated to work with SVN 1.7.
  • "git p4" learned the "--conflicts" option to specify what to do when encountering a conflict during "p4 submit".
  • Performance, Internal Implementation, etc:
  • Git ships with a fall-back regexp implementation for platforms with buggy regexp library, but it was easy for people to keep using their platform regexp by mistake. A new test has been added to check this.
  • The "check-docs" build target has been updated and greatly simplified.
  • The test suite is run under MALLOC_CHECK_ when running with a glibc that supports the feature.
  • The documentation in the TeXinfo format was using indented output for materials meant to be examples that are better typeset in monospace.
  • Compatibility wrapper around some mkdir(2) implementations that reject parameters with trailing slash has been introduced.
  • Compatibility wrapper for systems that lack usable setitimer() has been added.
  • The option parsing of "git checkout" had error checking, dwim and defaulting missing options, all mixed in the code, and issuing an appropriate error message with useful context was getting harder. The code has been reorganized to allow giving a proper diagnosis when the user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name for a branch).
  • Many internal uses of a "git merge-base" equivalent were only to see if one commit fast-forwards to the other, which did not need the full set of merge bases to be computed. They have been updated to use less expensive checks.
  • The heuristics to detect and silently convert latin1 to utf8 when we were told to use utf-8 in the log message has been transplanted from "mailinfo" to "commit" and "commit-tree".
  • Messages given by "git -h" from many subcommands have been marked for translation.
  • Fixes:
  • The attribute system may be asked for a path that itself or its leading directories no longer exists in the working tree, and it is fine if we cannot open .gitattribute file in such a case. Failure to open per-directory .gitattributes with error status other than ENOENT and ENOTDIR should be diagnosed, but it wasn't.
  • When looking for $HOME/.gitconfig etc., it is OK if we cannot read them because they do not exist, but we did not diagnose existing files that we cannot read.
  • When "git am" is fed an input that has multiple "Content-type: ..." header, it did not grok charset= attribute correctly.
  • "git am" mishandled a patch attached as application/octet-stream (e.g. not text/*); Content-Transfer-Encoding (e.g. base64) was not honored correctly.
  • "git blame MAKEFILE" run in a history that has "Makefile" but not "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got confused on a case insensitive filesystem and failed to do so.
  • Even during a conflicted merge, "git blame $path" always meant to blame uncommitted changes to the "working tree" version; make it more useful by showing cleanly merged parts as coming from the other branch that is being merged.
  • It was unclear in the documentation for "git blame" that it is unnecessary for users to use the "--follow" option.
  • Output from "git branch -v" contains "(no branch)" that could be localized, but the code to align it along with the names of branches was counting in bytes, not in display columns.
  • "git cherry-pick A C B" used to replay changes in A and then B and then C if these three commits had committer timestamps in that order, which is not what the user who said "A C B" naturally expects.
  • A repository created with "git clone --single" had its fetch refspecs set up just like a clone without "--single", leading the subsequent "git fetch" to slurp all the other branches, defeating the whole point of specifying "only this branch".
  • Documentation talked about "first line of commit log" when it meant the title of the commit. The description was clarified by defining how the title is decided and rewording the casual mention of "first line" to "title".
  • "git cvsimport" did not thoroughly cleanse tag names that it inferred from the names of the tags it obtained from CVS, which caused "git tag" to barf and stop the import in the middle.
  • Earlier we made the diffstat summary line that shows the number of lines added/deleted localizable, but it was found irritating having to see them in various languages on a list whose discussion language is English, and this change has been reverted.
  • "git fetch --all", when passed "--no-tags", did not honor the "--no-tags" option while fetching from individual remotes (the same issue existed with "--tags", but the combination "--all --tags" makes much less sense than "--all --no-tags").
  • "git fetch" over http had an old workaround for an unlikely server misconfiguration; it turns out that this hurts debuggability of the configuration in general, and has been reverted.
  • "git fetch" over http advertised that it supports "deflate", which is much less common, and did not advertise the more common "gzip" on its Accept-Encoding header.
  • "git fetch" over the dumb-http revision walker could segfault when curl's multi interface was used.
  • "git gc --auto" notified the user that auto-packing has triggered even under the "--quiet" option.
  • After "gitk" showed the contents of a tag, neither "Reread references" nor "Reload" updated what is shown as the contents of it when the user overwrote the tag with "git tag -f".
  • "git log --all-match --grep=A --grep=B" ought to show commits that mention both A and B, but when these three options are used with --author or --committer, it showed commits that mention either A or B (or both) instead.
  • The "-Xours" backend option to "git merge -s recursive" was ignored for binary files.
  • "git p4", when "--use-client-spec" and "--detect-branches" are used together, misdetected branches.
  • "git receive-pack" (the counterpart to "git push") did not give progress output while processing objects it received to the puser when run over the smart-http protocol.
  • When you misspell the command name you give to the "exec" action in the "git rebase -i" instruction sheet you were told that 'rebase' is not a git subcommand from "git rebase --continue".
  • The subcommand in "git remote" to remove a defined remote was "rm" and the command did not take a fully-spelled "remove".
  • The interactive prompt that "git send-email" gives was error prone. It asked "What e-mail address do you want to use?" with the address it guessed (correctly) the user would want to use in its prompt, tempting the user to say "y". But the response was taken as "No, please use 'y' as the e-mail address instead", which is most certainly not what the user meant.
  • "git show --format='%ci'" did not give the timestamp correctly for commits created without human readable name on the "committer" line.
  • "git show --quiet" ought to be a synonym for "git show -s", but wasn't.
  • "git submodule frotz" was not diagnosed as "frotz" being an unknown subcommand to "git submodule"; the user instead got a complaint that "git submodule status" was run with an unknown path "frotz".
  • "git status" honored the ignore=dirty settings in .gitmodules but "git commit" didn't.
  • "gitweb" did not give the correct committer timezone in its feed output due to a typo.

New in Git for Windows 1.7.10 Preview 20120409 (Apr 10, 2012)

  • UI, Workflows & Features"
  • various "gitk" updates
  • show the path to the top level directory in the window title
  • update preference edit dialog
  • display file list correctly when directories are given on command line
  • make "git-describe" output in the log message into a clickable link
  • avoid matching the UNIX timestamp part when searching all fields
  • give preference to symbolic font names like sans & monospace
  • allow comparing two commits using a mark
  • "gitk" honors log.showroot configuration
  • Teams for localizing the messages from the Porcelain layer of
  • commands are starting to form, thanks to Jiang Xin who volunteered
  • to be the localization coordinator. Translated messages for
  • simplified Chinese, Swedish and Portuguese are available
  • The configuration mechanism learned an "include" facility; an
  • assignment to the include.path pseudo-variable causes the named
  • file to be included in-place when Git looks up configuration
  • variables
  • A content filter (clean/smudge) used to be just a way to make the
  • recorded contents "more useful", and allowed to fail; a filter can
  • now optionally be marked as "required"
  • Options whose names begin with "--no-" (e.g. the "--no-verify"
  • option of the "git commit" command) can be negated by omitting
  • "no-" from its name, e.g. "git commit --verify"
  • "git am" learned to pass "-b" option to underlying "git mailinfo", so
  • that a bracketed string other than "PATCH" at the beginning can be kept
  • "git clone" learned "--single-branch" option to limit cloning to a
  • single branch (surprise!); tags that do not point into the history
  • of the branch are not fetched
  • "git clone" learned to detach the HEAD in the resulting repository
  • when the user specifies a tag with "--branch" (e.g., "--branch=v1.0")
  • Clone also learned to print the usual "detached HEAD" advice in such
  • a case, similar to "git checkout v1.0"
  • When showing a patch while ignoring whitespace changes, the context
  • lines are taken from the postimage, in order to make it easier to
  • view the output
  • "git diff --stat" learned to adjust the width of the output on
  • wider terminals, and give more columns to pathnames as needed
  • "diff-highlight" filter (in contrib/) was updated to produce more
  • aesthetically pleasing output
  • "fsck" learned "--no-dangling" option to omit dangling object
  • information
  • "git log -G" and "git log -S" learned to pay attention to the "-i"
  • option. With "-i", "log -G" ignores the case when finding patch
  • hunks that introduce or remove a string that matches the given
  • pattern. Similarly with "-i", "log -S" ignores the case when
  • finding the commit the given block of text appears or disappears
  • from the file
  • "git merge" in an interactive session learned to spawn the editor
  • by default to let the user edit the auto-generated merge message
  • to encourage people to explain their merges better. Legacy scripts
  • can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior
  • Both "git merge" and "git pull" can be given --no-edit from the
  • command line to accept the auto-generated merge message
  • The advice message given when the user didn't give enough clue on
  • what to merge to "git pull" and "git merge" has been updated to
  • be more concise and easier to understand
  • "git push" learned the "--prune" option, similar to "git fetch"
  • The whole directory that houses a top-level superproject managed by
  • "git submodule" can be moved to another place
  • "git symbolic-ref" learned the "--short" option to abbreviate the
  • refname it shows unambiguously
  • "git tag --list" can be given "--points-at " to limit its
  • output to those that point at the given object
  • "gitweb" allows intermediate entries in the directory hierarchy
  • that leads to a project to be clicked, which in turn shows the
  • list of projects inside that directory
  • "gitweb" learned to read various pieces of information for the
  • repositories lazily, instead of reading everything that could be
  • needed (including the ones that are not necessary for a specific
  • task)
  • Project search in "gitweb" shows the substring that matched in the
  • project name and description highlighted
  • HTTP transport learned to authenticate with a proxy if needed
  • A new script "diffall" is added to contrib/; it drives an
  • external tool to perform a directory diff of two Git revisions
  • in one go, unlike "difftool" that compares one file at a time
  • Foreign Interface:
  • Improved handling of views, labels and branches in "git-p4" (in contrib)
  • "git-p4" (in contrib) suffered from unnecessary merge conflicts when
  • p4 expanded the embedded $RCS$-like keywords; it can be now told to
  • unexpand them
  • Some "git-svn" updates
  • "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
  • support incremental imports
  • "git difftool/mergetool" learned to drive DeltaWalker
  • Performance:
  • Unnecessary calls to parse_object() "git upload-pack" makes in
  • response to "git fetch", have been eliminated, to help performance
  • in repositories with excessive number of refs
  • Internal Implementation (please report possible regressions)
  • Recursive call chains in "git index-pack" to deal with long delta
  • chains have been flattened, to reduce the stack footprint
  • Use of add_extra_ref() API is now gone, to make it possible to
  • cleanly restructure the overall refs API
  • The command line parser of "git pack-objects" now uses parse-options
  • API
  • The test suite supports the new "test_pause" helper function
  • Parallel to the test suite, there is a beginning of performance
  • benchmarking framework
  • t/Makefile is adjusted to prevent newer versions of GNU make from
  • running tests in seemingly random order
  • The code to check if a path points at a file beyond a symbolic link
  • has been restructured to be thread-safe
  • When pruning directories that has become empty during "git prune"
  • and "git prune-packed", call closedir() that iterates over a
  • directory before rmdir() it
  • Also contains minor documentation updates and code clean-ups
  • Fixes:
  • Unless otherwise noted, all the fixes since v1.7.9 in the maintenance
  • releases are contained in this release (see release notes to them for
  • details)
  • Build with NO_PERL_MAKEMAKER was broken and Git::I18N did not work
  • with versions of Perl older than 5.8.3
  • merge 5eb660e ab/perl-i18n later to maint)
  • "git tag -s" honored "gpg.program" configuration variable since
  • 1.7.9, but "git tag -v" and "git verify-tag" didn't
  • merge a2c2506 az/verify-tag-use-gpg-config later to maint)
  • "configure" script learned to take "--with-sane-tool-path" from the
  • command line to record SANE_TOOL_PATH (used to avoid broken platform
  • tools in /usr/bin) in config.mak.autogen. This may be useful for
  • people on Solaris who have saner tools outside /usr/xpg[46]/bin
  • zsh port of bash completion script needed another workaround

New in Git for Windows 1.7.9 Preview 20120201 (Feb 1, 2012)

  • New Features:
  • Comes with Git 1.7.9 plus Windows specific patches
  • Improvements to the installer running application detection
  • Bugfixes:
  • Please refer to the release notes for official Git 1.7.9
  • Fixed initialization of the git-cheetah submodule in net-installer
  • Fixed duplicated context menu items with git-cheetah on Windows 7
  • Patched gitk to display filenames when run on a subdirectory
  • Tabbed gitk preferences dialog to allow use on smaller screens

New in Git for Windows 1.7.8 Preview 20111206 (Jan 30, 2012)

  • Updates
  • Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates.
  • Updates to bash completion scripts.
  • The build procedure has been taught to take advantage of computed dependency automatically when the complier supports it.
  • The date parser now accepts timezone designators that lack minutes part and also has a colon between "hh:mm".
  • The contents of the /etc/mailname file, if exists, is used as the default value of the hostname part of the committer/author e-mail.
  • "git am" learned how to read from patches generated by Hg.
  • "git archive" talking with a remote repository can report errors from the remote side in a more informative way.
  • "git branch" learned an explicit --list option to ask for branches listed, optionally with a glob matching pattern to limit its output.
  • "git check-attr" learned "--cached" option to look at .gitattributes files from the index, not from the working tree.
  • Variants of "git cherry-pick" and "git revert" that take multiple commits learned to "--continue" and "--abort".
  • "git daemon" gives more human readble error messages to clients using ERR packets when appropriate.
  • Errors at the network layer is logged by "git daemon".
  • "git diff" learned "--minimal" option to spend extra cycles to come up with a minimal patch output.
  • "git diff" learned "--function-context" option to show the whole function as context that was affected by a change.
  • "git difftool" can be told to skip launching the tool for a path by answering 'n' to its prompt.
  • "git fetch" learned to honor transfer.fsckobjects configuration to validate the objects that were received from the other end, just like "git receive-pack" (the receiving end of "git push") does.
  • "git fetch" makes sure that the set of objects it received from the other end actually completes the history before updating the refs.
  • "git receive-pack" (the receiving end of "git push") learned to do the same.
  • "git fetch" learned that fetching/cloning from a regular file on the filesystem is not necessarily a request to unpack a bundle file; the file could be ".git" with "gitdir: " in it.
  • "git for-each-ref" learned "%(contents:subject)", "%(contents:body)" and "%(contents:signature)". The last one is useful for signed tags.
  • "git grep" used to incorrectly pay attention to .gitignore files scattered in the directory it was working in even when "--no-index" option was used. It no longer does this. The "--exclude-standard" option needs to be given to explicitly activate the ignore mechanism.
  • "git grep" learned "--untracked" option, where given patterns are searched in untracked (but not ignored) files as well as tracked files in the working tree, so that matches in new but not yet added files do not get missed.
  • The recursive merge backend no longer looks for meaningless existing merges in submodules unless in the outermost merge.
  • "git log" and friends learned "--children" option.
  • "git ls-remote" learned to respond to "-h"(elp) requests.
  • "mediawiki" remote helper can interact with (surprise!) MediaWiki with "git fetch" & "git push".
  • "git merge" learned the "--edit" option to allow users to edit the merge commit log message.
  • "git rebase -i" can be told to use special purpose editor suitable only for its insn sheet via sequence.editor configuration variable.
  • "git send-email" learned to respond to "-h"(elp) requests.
  • "git send-email" allows the value given to sendemail.aliasfile to begin with "~/" to refer to the $HOME directory.
  • "git send-email" forces use of Authen::SASL::Perl to work around issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN.
  • "git stash" learned "--include-untracked" option to stash away untracked/ignored cruft from the working tree.
  • "git submodule clone" does not leak an error message to the UI level unnecessarily anymore.
  • "git submodule update" learned to honor "none" as the value for submodule..update to specify that the named submodule should not be checked out by default.
  • When populating a new submodule directory with "git submodule init", the $GIT_DIR metainformation directory for submodules is created inside GIT_DIR/modules// directory of the superproject and referenced via the gitfile mechanism. This is to make it possible to switch between commits in the superproject that has and does not have the submodule in the tree without re-cloning.
  • "gitweb" leaked unescaped control characters from syntax hiliter outputs.
  • "gitweb" can be told to give custom string at the end of the HTML HEAD element.
  • "gitweb" now has its own manual pages.
  • Fixes:
  • HTTP transport did not use pushurl correctly, and also did not tell what host it is trying to authenticate with when asking for credentials. (merge deba493 jk/http-auth later to maint).
  • "git blame" was aborted if started from an uncommitted content and the path had the textconv filter in effect. (merge 8518088 ss/blame-textconv-fake-working-tree later to maint).
  • Adding many refs to the local repository in one go (e.g. "git fetch" that fetches many tags) and looking up a ref by name in a repository with too many refs were unnecessarily slow. (merge 17d68a54d jp/get-ref-dir-unsorted later to maint).
  • Report from "git commit" on untracked files was confused under core.ignorecase option. (merge 395c7356 jk/name-hash-dirent later to maint).
  • "git merge" did not understand ":/" as a way to name a commit.
  • "git push" on the receiving end used to call post-receive and post-update hooks for attempted removal of non-existing refs. (merge 160b81ed ph/push-to-delete-nothing later to maint).
  • Help text for "git remote set-url" and "git remote set-branches" were misspelled. (merge c49904e fc/remote-seturl-usage-fix later to maint). (merge 656cdf0 jc/remote-setbranches-usage-fix later to maint).

New in Git for Windows 1.7.7.1 Preview 20111027 (Jan 30, 2012)

  • New Features
  • Comes with Git 1.7.8 plus Windows specific patches.
  • Updated Tcl/Tk to 8.5.11 and libiconv to 1.14
  • Some changes to support building with MSVC compiler.
  • Bugfixes
  • Please refer to the release notes for official Git 1.7.8
  • Git documentation submodule location fixed.

New in Git for Windows 1.7.7 Preview 20111014 (Jan 30, 2012)

  • New Features
  • Comes with Git 1.7.7.1 plus patches.
  • Bugfixes
  • Please refer to the release notes for official Git 1.7.7.1
  • Includes an important upstream fix for a bug that sometimes corrupts the git index file.

New in Git for Windows 1.7.6 Preview 20110708 (Jan 30, 2012)

  • New Features
  • Comes with Git 1.7.7 plus patches.
  • Updated gzip/gunzip and include unzip and gvim
  • Primary repositories moved to github.com at http://github.com/msysgit/
  • Bugfixes
  • Please refer to the release notes for official Git 1.7.7
  • Re-enable vim highlighting
  • Fixed issue with libiconv/libiconv-2 location
  • Fixed regressions in Git Bash script
  • Fixed installation of mergetools for difftool and mergetool use and launching of beyond compare on windows.
  • Fixed warning about mising hostname during git fetch

New in Git for Windows 1.7.4 Preview 20111027 (Dec 5, 2011)

  • A few header dependencies were missing from the Makefile.
  • Some newer parts of the code used C99 __VA_ARGS__ while we still try to cater to older compilers.
  • "git name-rev --all" tried to name all _objects_, naturally failing to describe many blobs and trees, instead of showing only commits as advertised in its documentation.

New in Git for Windows 1.7.3.2 Preview 20101025 (Jun 9, 2011)

  • New Features:
  • Comes with Git 1.7.4 plus patches.
  • Includes antiword to enable viewing diffs of .doc files
  • Includes poppler to enable viewing diffs of .pdf files
  • Removes cygwin paths from the bash shell PATH
  • Bugfixes:
  • Please refer to the release notes for official Git 1.7.4

New in Git for Windows 1.7.2.3 Preview 20100911 (Jun 9, 2011)

  • New Features:
  • Comes with Git 1.7.3.1 plus patches.
  • Updated to Vim 7.3, file-5.04 and InnoSetup 5.3.11
  • Bugfixes:
  • Issue 528 (remove uninstaller from Start Menu) was fixed
  • Issue 527 (failing to find the certificate authority bundle) was fixed
  • Issue 524 (remove broken and unused sdl-config file) was fixed
  • Issue 523 (crash pushing to WebDAV remote) was fixed

New in Git for Windows 1.7.1 Preview 20100612 (Jun 9, 2011)

  • New Features:
  • Comes with Git 1.7.2.3 plus patches.
  • Bugfixes:
  • Issue 519 (build problem with compat/regex/regexec.c) was fixed
  • Issue 430 (size of panes not preserved in git-gui) was fixed
  • Issue 411 (git init failing to work with CIFS paths) was fixed
  • Issue 501 (failing to clone repo from root dir using relative path) was fixed

New in Git for Windows 1.7.0.2 Preview 20100309 (Jun 9, 2011)

  • New Features:
  • Comes with Git 1.7.1 plus patches.
  • Bugfixes:
  • Issue 27 (git-send-mail not working properly) was fixed again
  • Issue 433 (error while running git svn fetch) was fixed
  • Issue 427 (Gitk reports error: "couldn't compile regular expression pattern: invalid repetition count(s)") was fixed
  • Issue 192 (output truncated) was fixed again
  • Issue 365 (Out of memory? mmap failed) was fixed
  • Issue 387 (gitk reports "error: couldn't execute "git:" file name too long") was fixed
  • Issue 409 (checkout of large files to network drive fails on XP) was fixed
  • Issue 428 (The return value of git.cmd is not the same as git.exe) was fixed
  • Issue 444 (Git Bash Here returns a "File not found error" in Windows 7 Professional - 64 bits) was fixed
  • Issue 445 (git help does nothing) was fixed
  • Issue 450 ("git --bare init" shouldn't set the directory to hidden.) was fixed
  • Issue 456 (git script fails with error code 1) was fixed
  • Issue 469 (error launch wordpad in last netinstall) was fixed
  • Issue 474 (git update-index --index-info silently does nothing) was fixed
  • Issue 482 (Add documentation to avoid "fatal: $HOME not set" error) was fixed
  • Issue 489 (git.cmd issues warning if %COMSPEC% has spaces in it) was fixed
  • Issue 436 ("mkdir : No such file or directory" error while using git-svn to fetch or rebase) was fixed
  • Issue 440 (Uninstall does not remove cheetah.) was fixed
  • Issue 441 (Git-1.7.0.2-preview20100309.exe installer fails with unwritable msys-1.0.dll when ssh-agent is running) was fixed

New in Git for Windows 1.6.5.1 Preview 20091022 (Jun 9, 2011)

  • New Features:Comes with official Git 1.7.0.2.
  • Comes with Git-Cheetah (on 32-bit Windows only, for now).
  • Comes with connect.exe, a SOCKS proxy.
  • Tons of improvements in the installer, thanks to Sebastian Schuberth.
  • On Vista, if possible, symlinks are used for the built-ins.
  • Features Hany's dos2unix tool, thanks to Sebastian Schuberth.
  • Updated Tcl/Tk to version 8.5.8 (thanks Pat Thoyts!).
  • By default, only .git/ is hidden, to work around a bug in Eclipse (thanks to Erik Faye-Lund).
  • Bugfixes:
  • Fixed threaded grep (thanks to Heiko Voigt).
  • git gui was fixed for all kinds of worktree-related failures (thanks Pat Thoyts).
  • git gui now fully supports themed widgets (thanks Pat Thoyts and Heiko Voigt).
  • Git no longer complains about an unset RUNTIME_PREFIX (thanks Johannes Sixt).
  • git gui can Explore Working Copy on Windows again (thanks Markus Heidelberg).
  • git gui can create shortcuts again (fixes issue 425, thanks Heiko Voigt).
  • When "git checkout" cannot overwrite files because they are in use, it will offer to try again, giving the user a chance to release the file (thanks Heiko Voigt).
  • Ctrl+W will close gitk (thanks Jens Lehmann).
  • git gui no longer binds Ctrl+C, which caused problems when trying to use said shortcut for the clipboard operation "Copy" (fixes issue 423, thanks Pat Thoyts).
  • gitk does not give up when the command line length limit is reached (issue 387).
  • The exit code is fixed when Git.cmd is called from cmd.exe (thanks Alexey Borzenkov).
  • When launched via the (non-Cheetah) shell extension, the window icon is now correct (thanks Sebastian Schuberth).
  • Uses a TrueType font for the console, to be able to render UTF-8 correctly.
  • Clarified the installer's line ending options (issue 370).
  • Substantially speeded up startup time from cmd unless NO_FSTAB_THREAD is set (thanks Johannes Sixt).
  • Update msys-1.0.dll yet again, to handle quoted parameters better (thanks Heiko Voigt).
  • Updated cURL to a version that supports SSPI.
  • Updated tar to handle the pax headers generated by git archive.
  • Updated sed to a version that can handle the filter-branch examples.
  • .git* files can be associated with the default text editor (issue 397).

New in Git for Windows 1.6.4 Preview 20090729 (Jun 9, 2011)

  • New Features:
  • Comes with official git 1.6.5.1.
  • Thanks to Johan 't Hart, files and directories starting with a single dot (such as '.git') will now be marked hidden (you can disable this setting with core.hideDotFiles=false in your config) (Issue 288).
  • Thanks to Thorvald Natvig, Git on Windows can simulate symbolic links by using reparse points when available. For technical reasons, this only works for symbolic links pointing to files, not directories.
  • A lot of work has been put into making it possible to compile Git's source code (the part written in C, of course, not the scripts) with Microsoft Visual Studio. This work is ongoing.
  • Thanks to Sebastian Schuberth, we only offer the (Tortoise)Plink option in the installer if the presence of Plink was detected and at least one Putty session was found..
  • Thanks to Sebastian Schuberth, the installer has a nicer icon now.
  • Some more work by Sebastian Schuberth was done on better integration of Plink (Issues 305 & 319).
  • Bugfixes:
  • Thanks to Sebastian Schuberth, git svn picks up the SSH setting specified with the installer (Issue 305).

New in Git for Windows 1.6.3.2 Preview 20090608 (Jun 9, 2011)

  • New Features:Comes with official git 1.6.4.
  • Supports https:// URLs, thanks to Erik Faye-Lund.
  • Supports send-email, thanks to Erik Faye-Lund (Issue 27).
  • Updated Tcl/Tk to version 8.5.7, thanks to Pat Thoyts.
  • Bugfixes:
  • The home directory is now discovered properly (Issues 108 & 259).
  • IPv6 is supported now, thanks to Martin Martin Storsjö (Issue 182).

New in Git for Windows 1.6.3 Preview 20090507 (Jun 9, 2011)

  • New Features:Comes with official git 1.6.3.2.
  • Uses TortoisePlink instead of Plink if available.
  • Bugfixes:
  • Plink errors out rather than hanging when the user needs to accept a host key first (Issue 96).
  • The user home directory is inferred from $HOMEDRIVE\$HOMEPATH instead of $HOME (Issue 108).
  • The environment setting $CYGWIN=tty is ignored (Issues 138, 248 and 251).
  • The "ls" command shows non-ASCII filenames correctly now (Issue 188).
  • Adds more syntax files for vi (Issue 250).
  • $HOME/.bashrc is included last from /etc/profile, allowing .bashrc to override all settings in /etc/profile (Issue 255).
  • Completion is case-insensitive again (Issue 256).
  • The "start" command can handle arguments with spaces now (Issue 258).
  • For some Git commands (such as "git commit"), vi no longer "restores" the cursor position.

New in Git for Windows 1.6.2.2 Preview 20090408 (Jun 9, 2011)

  • New Features:
  • Comes with official git 1.6.3
  • Thanks to Marius Storm-Olsen, Git has a substantially faster readdir() implementation now
  • Marius Storm-Olsen also contributed a patch to include nedmalloc, again speeding up Git noticably
  • Compiled with GCC 4.4.0
  • Bugfixes:
  • Portable Git contains a README.portable
  • Portable Git now actually includes the builtins
  • Portable Git includes git-cmd.bat and git-bash.bat
  • Portable Git is now shipped as a .7z; it still is a self-extracting archive if you rename it to .exe
  • Git includes the Perl Encode module now
  • Git now includes the filter-branch tool
  • There is a workaround for a Windows 7 regression triggering a crash in the progress reporting (e.g. during a clone). This fixes issues 236 and 247
  • gitk tries not to crash when it is closed while reading references (Issue 125, thanks Pat Thoyts)
  • In some setups, hard-linking is not as reliable as it should be, so we have a workaround which avoids hard links in some situations (Issues 222 and 229)
  • git-svn sets core.autocrlf to false now, hopefully shutting up most of the git-svn reports

New in Git for Windows 1.6.2.1 Preview 20090322 (Jun 9, 2011)

  • New Features:
  • Comes with official git 1.6.2.2
  • Upgraded Tcl/Tk to 8.5.5
  • TortoiseMerge is supported by mergetool now
  • Uses pthreads (faster garbage collection on multi-core machines)
  • The test suite passes
  • Bugfixes:
  • Renaming was made more robust (due to Explorer or some virus scanners, files could not be renamed at the first try, so we have to try multiple times)
  • Johannes Sixt made lots of changes to the test-suite to identify properly which tests should pass, and which ones cannot pass due to limitations of the platform
  • Support PAGERs with spaces in their filename
  • Quite a few changes were undone which we needed in the olden days of msysGit
  • Fall back to / when HOME cannot be set to the real home directory due to locale issues (works around Issue 108 for the moment)