Releases: microsoft/git
v2.36.1.vfs.0.0
Major Updates
- Includes Git for Windows 2.36.1
v2.36.0.vfs.0.0
Major Updates
- Includes Git for Windows 2.36.0
v2.35.3.vfs.0.0 (Security Release)
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
v2.35.1.vfs.0.0
v2.35.0.vfs.0.0
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)
🚨 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:
- Run
scalar diagnose
and note where it places a.zip
file. - Run
git sparse-checkout reapply
and try your steps again. - Create an issue detailing your issue and if you had success with step 2.
- Send your
.zip
file togit-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!
- @marcelais 🎉
- @talum 🙌
- @ldennington 🥳
- @dscho ✨
v2.34.0.vfs.0.0 (Sparse Index GA)
🚨 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:
- Run
scalar diagnose
and note where it places a.zip
file. - Run
git sparse-checkout reapply
and try your steps again. - Create an issue detailing your issue and if you had success with step 2.
- Send your
.zip
file togit-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!
- @marcelais 🎉
- @talum 🙌
- @ldennington 🥳
- @dscho ✨
v2.34.0.vfs.0.0.rc0 (Internal Bug Bash Version)
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
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
andstash -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
withapt-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:
v2.33.0.vfs.0.2 (Sparse Index/FSMonitor Bug Bash Version)
This pre-release is an early release that includes new integrations with the sparse index and a new version of FSMonitor.
For those participating in the Bug Bash, this is the version to use!
Installation Instructions
Windows
Download and install the .exe
installer.
macOS
Download the .pkg
installer, right-click and select "Open".
Debian-based Linux
Download the .deb
installer and install with dpkg -i microsoft-git_2.33.0.vfs.0.2.deb
.
Other Linux Distributions
Clone the repository, check out this tag, and build from source.
git clone https://github.com/microsoft/git
cd git
git checkout v2.33.0.vfs.0.2
<install dependencies>
make -j12 prefix=/usr/local
sudo make -j12 prefix=/usr/local install
Major Updates (since v2.33.0.vfs.0.1 prerelease)
- New sparse index command integrations:
git update-index
git checkout-index
git stash
git blame
git clean
git read-tree
- FSMonitor V4
Pull Requests
- #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: Sparse 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()
- #444: Sparse Index: upstream updates to git reset
- #447: ci(windows): avoid using external gpg by mistake
- #442: Fix installer builds
- #448: FSMonitor: deepening a directory causes confusing events (Take 2)
- #445: .github: replace recently seen logic