Skip to content

Releases: microsoft/git

v2.37.0.vfs.0.0

27 Jun 21:36
Compare
Choose a tag to compare
v2.37.0.vfs.0.0 Pre-release
Pre-release

Major Updates

This is a pretty light release from the standpoint of microsoft/git.

  • Includes Git for Windows 2.37.0.
  • Several updates focused on our build system and release flow.
  • scalar reconfigure now assists with fixing broken repos that fail to reconfigure on install.

Pull Requests

  • #502: Disable the monitor-components workflow in msft-git
  • #508: scalar reconfigure: help users remove buggy repos
  • #509: ci: fix windows-build with GCC v12.x
  • #510: fixup! homebrew: add GitHub workflow to release Cask
  • #511: Avoid using the full flavor of setup-git-for-windows-sdk.

v2.36.1.vfs.0.0

12 May 00:06
Compare
Choose a tag to compare

Major Updates

  • Includes Git for Windows 2.36.1

v2.36.0.vfs.0.0

20 Apr 16:27
Compare
Choose a tag to compare

Major Updates

  • Includes Git for Windows 2.36.0

v2.35.3.vfs.0.0 (Security Release)

14 Apr 15:40
Compare
Choose a tag to compare

Major Updates

  • Includes Git for Windows 2.35.3(1).
  • This includes the fixes from Git 2.35.2 that address CVE-2022-24765 and CVE-2022-24767.
  • Includes additional fixes in Git 2.35.3 around the new safe.directory config.
  • Includes a fix for git reset in VFS for Git enlistments.

Note about safe.directory

The security issue in this release was about malicious actors on a multi-user machine. The fix involves checking to see that the parent directory of the repository is owned by the current user. Directories that have different owners will be rejected by Git.

If this protection interrupts one of your repositories, then you can add the path to the multi-valued safe.directory config option in your global or system config. On Windows, network paths or WSL paths that start with // will need to be written in the config using %(prefix)///wsl.localhost/path/to/repo. Git will provide advice for this.

If you want to disable this security check (assuming all risk involved), then run git config --global --add safe.directory "*" to automatically mark all repositories as safe.

Known Issues

The Windows installer runs scalar reconfigure --all, but results in an error message: "Could not reconfigure Scalar enlistments (output: (no output), errors: (no output))." While confusing, this error message does not mean that anything is wrong with your Scalar enlistments. We will work to remove this problem in the next release.

Pull Requests Since 2.35.1.vfs.0.0

  • #481: Fix link to CLA in README.md
  • #491: .github: update GitHub templates
  • #494: reset: fix mixed reset when using virtual filesystem
  • #495: Update README.md

v2.35.1.vfs.0.0

02 Feb 15:13
Compare
Choose a tag to compare

Major Updates

  • Includes Git for Windows 2.35.1(2)
  • This fixes two bugs from Git for Windows 2.35.0:
    • A bug in FSCache that triggered by a patch that made it into Git for Windows v2.35.0 was fixed.
    • Git 2.35 shipped with a regression that broke use of "rebase" and "stash" in a secondary worktree.

v2.35.0.vfs.0.0

26 Jan 19:18
Compare
Choose a tag to compare
v2.35.0.vfs.0.0 Pre-release
Pre-release

Note: This was downgraded to a pre-release while we investigate a possible bug in Git/Git for Windows.

Major Updates

  • This includes Git for Windows 2.35.0.
  • Several sparse index and Scalar patches were submitted (and tweaked) upstream. This version contains the updated versions of those patches.

Pull Requests since v2.34.1.vfs.0.0

  • #475: winget: fix asset/release regexes to match correctly

v2.34.1.vfs.0.0 (Sparse Index GA)

06 Dec 16:44
f8f08d5
Compare
Choose a tag to compare

🚨 Special Instructions 🚨

If this is your first time using the sparse index, then you will need to run the following command after installing:

git sparse-checkout reapply

If you run into an issue using this release, then please follow these instructions:

  1. Run scalar diagnose and note where it places a .zip file.
  2. Run git sparse-checkout reapply and try your steps again.
  3. Create an issue detailing your issue and if you had success with step 2.
  4. Send your .zip file to git-fundamentals@github.com along with a link to your issue.

Major Changes

Includes Git 2.34.1.

The sparse index is now enabled by default. Users using cone-mode
sparse-checkout should see significant performance benefits for the
following commands:

  • git status
  • git commit
  • git add
  • git checkout
  • git reset
  • git diff
  • git sparse-checkout
  • git merge
  • git rebase
  • git cherry-pick
  • git stash
  • git fetch
  • git pull
  • git show

A bug related to the sparse index and certain sparse-checkout shapes was
fixed in v2.34.1.vfs.0.0.

Some other commands might have performance regressions since they are not
integrated with the sparse index. If you have any performance issues with
this release, then please create an issue detailing your scenario.
Please re-run your command with GIT_TRACE2_PERF=1 and supply those logs
to assist a quick response.

Pull Requests since v2.34.0.vfs.0.0

  • #474: Merge v2.34.1.windows.1 into vfs-2.34.0
  • #473: Sparse Index: fix a checkout bug with deep sparse-checkout paths
  • #472: Fixes for MacOS release build & build options
  • #470: Sparse Index: integrate with git show

Special Thanks

We'd like to give an extra shout out to the participants in our internal and public bug bashes for the 2.34.0 release. Thank you for finding bugs, validating features, and overall being an integral part of this release!

v2.34.0.vfs.0.0 (Sparse Index GA)

16 Nov 20:08
599a56a
Compare
Choose a tag to compare
Pre-release

🚨 Special Instructions 🚨

If this is your first time using the sparse index, then you will need to run the following command after installing:

git sparse-checkout reapply

If you run into an issue using this release, then please follow these instructions:

  1. Run scalar diagnose and note where it places a .zip file.
  2. Run git sparse-checkout reapply and try your steps again.
  3. Create an issue detailing your issue and if you had success with step 2.
  4. Send your .zip file to git-fundamentals@github.com along with a link to your issue.

Major Changes

Includes Git 2.34.0.

The sparse index is now enabled by default. Users using cone-mode
sparse-checkout should see significant performance benefits for the
following commands:

  • git status
  • git commit
  • git add
  • git checkout
  • git reset
  • git diff
  • git sparse-checkout
  • git merge
  • git rebase
  • git cherry-pick
  • git stash
  • git fetch
  • git pull

Some other commands might have performance regressions since they are not
integrated with the sparse index. If you have any performance issues with
this release, then please create an issue detailing your scenario.
Please re-run your command with GIT_TRACE2_PERF=1 and supply those logs
to assist a quick response.

Pull Requests since v2.33.0.vfs.0.3

  • #454: README: fix winget instructions
  • #455: fetch/pull: use the sparse index
  • #458: Remove Ubuntu 18.04 deployments
  • #459: Use wingetcreate to publish Windows releases
  • #463: fixup! scalar register: set recommended config settings
  • #464: Bump update-winget version
  • #465: sparse-checkout: avoid crash when switching between cone and non-cone
  • #468: maintenance: delete stale lock files, fix loose-objects task

Special Thanks

We'd like to give an extra shout out to the participants in our internal and public bug bashes for the 2.34.0 release. Thank you for finding bugs, validating features, and overall being an integral part of this release!

v2.34.0.vfs.0.0.rc0 (Internal Bug Bash Version)

01 Nov 01:19
Compare
Choose a tag to compare

See #460 for the rebase onto v2.34.0-rc0.windows.1.

Includes Git 2.34.0-rc0.

(Remaining release notes TBD.)

v2.33.0.vfs.0.3

19 Oct 19:45
Compare
Choose a tag to compare

Major Changes

This mid-cycle release fixes a performance regression where Git would parse the list of environment variables too many times. This was fixed in #451.

There are several other changes since v2.33.0.vfs.0.0, many of which involve the sparse index, which remains disabled by default in this release (see #452). Other improvements fix issues with building and running the installers.

Due to updates in how we build installers on macOS, we now require macOS 10.15 or later.

Pull Requests

Included in v2.33.0.vfs.0.1 pre-release:

  • #409: Fix cURL linking issue in Mac installer from tag-to-release build
  • #412: Update Ubuntu/Debian install instructions
  • #413: build-git-installers: Ubuntu bugfix, Windows features
  • #410: Sparse index: latest integrations
  • #414: Make sparse index the default (Reverted in #452)
  • #416: Anticipate future VS versions in the release workflow
  • #422: Remove Ubuntu 16.04 from test matrix
  • #421: Sparse index: integrate with the sparse-checkout builtin
  • #415: scalar: enable untracked cache unconditionally
  • #417: Sparse index: git reset
  • #419: diff: enable and test the sparse index

Included in v2.33.0.vfs.0.2 pre-release:

  • #423: Sparse index: integrate with git update-index
  • #425: Sparse index: add more performance tests
  • #424: Sparse index: checkout-index
  • #427: Upgrade update-winget action to v1.4
  • #426: Sprase index: integrate with read-tree
  • #428: Sparse index: integrate with git stash
  • #429: Improve next_cache_entry cache traversal performance
  • #430: Sparse index: integrate with clean and stash -u
  • #432: sequencer: avoid progress when stderr is redirected
  • #433: REmove sparse index expansions from untracked file stashes
  • #431: blame: enable and test the sparse index
  • #434: Integrate git update-microsoft-git with apt-get
  • #436: Merge Git for Windows v2.33.0(2)
  • #437: Replace pre-V4 of FSMonitor with V4 using GFW experimental commits
  • #438: .github: continue pestering until user upgrades
  • #439: sparse index: fix use-after-free bug in cache_tree_verify()
  • #442: Fix installer builds
  • #444: Sparse Index: upstream updates to git reset
  • #447: ci(windows): avoid using external gpg by mistake
  • #448: FSMonitor: deepening a directory causes confusing events
  • #445: .github: replace recently seen logic

New only to this version:

  • #451: Initialize virtual filesystem settings only once
  • #452: disable sparse index