Skip to content

Merge v2.56.0.windows.3 - #1016

Merged
Matthew John Cheetham (mjcheetham) merged 10 commits into
vfs-2.56.0from
merge-v2.56.0.windows.3
Oct 23, 2026
Merged

Matthew John Cheetham (mjcheetham) merged 10 commits into
vfs-2.56.0from
merge-v2.56.0.windows.3

Conversation

@mjcheetham

Copy link
Copy Markdown
Member

Merge tag 'v2.56.0.windows.3' into vfs-2.56.0

Git for Windows v2.56.0(3)

Changes since Git for Windows v2.56.0(2) (October 5th 2026):

This is a security fix release, addressing the eMudhra Intermediate CA Compromise. It also addresses Git LFS' CVE-2026-105803 by upgrading to v3.8.1.

New Features

  • Comes with OpenSSH v10.6.P1.
  • Comes with cURL v8.23.0.
  • Comes with Git LFS v3.8.1.

Keep the setup-python v7 update while retaining downstream SHA pinning. Preserve the survey migration notes for the object-ranking and name-rev extensions that remain present in Microsoft Git.

The special-casing of `NUL` in `mingw_access()` was added in
9160068 (msvc: avoid calling `access("NUL", flags)`, 2021-04-16)
because the Universal C Runtime's ("UCRT") `_waccess()` rejects `NUL` as
an invalid argument.

With the switch of GIt for Windows from the MSVCRT-based MINGW64 build
to the UCRT-based UCRT64 build in 2.56.0, any spelling other than
lowercase `nul` now reaches `_waccess()` and fails. Windows device names
are case-insensitive, and `NUL` is the canonical spelling, but even
`Nul` is allowed, so a case-insensitive comparison is needed.

Note that we cannot use `fspathcmp()` here, as we would usually do: This
function is in the code path when reading the config, and
`core.ignoreCase` would therefore not be set correctly yet e.g. when
running under `GIT_CONFIG_GLOBAL=NUL`.

This fixes git-for-windows#6449

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…r-windows#6450)

Currently, when running `GIT_CONFIG_GLOBAL=NUL git config --list`, it
fails with:

```
fatal: unable to access 'NUL': Invalid argument
```

The underlying reason is the different behavior of the C runtime used by
MINGW64 vs UCRT64. Let's accommodate for that.

This fixes git-for-windows#6449
This bumps `actions/setup-python from version 6 to 7. The main change is
that this is now an ECMAScript Module, which bumps the minimum
requirements for GitHub Enterprise Server setups enough to warrant a
full major version bump.

Release notes: https://github.com/actions/setup-python/releases
Commits: actions/setup-python@v6...v7

Originally-authored-by: dependabot[bot] <support@github.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
I ran into these new failures (caused by an upgrade to libcurl v8.23.0
in CI builds) in Microsoft Git and fixed them via
#1007; This is a companion to
fast-track the same fix into Git for Windows.
…erver

Nano Server needs runtime DLLs from the SDK used to build Git, but the
current x64 environment no longer contains `/mingw64/bin`. Honor the
setup action's `MSYSTEM` selection while keeping the container-side
directory independent of the toolchain name.

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…opment

The PowerShell example still assumes `/mingw64`, which is absent from
the current x64 SDK. Keep its environment and search path consistent
with UCRT64 while preserving the non-login `bash` invocation and access
to `/usr/bin`.

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The deprecation note still promises behavior intentionally removed by
the shim. Explain the migration to `git repo structure` so users can
choose their ref scope and output without relying on ignored configuration
or unsupported options.

Assisted-by: GPT-6 Astra and GPT-6.1 Sol
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The test reporter fails with "Permission denied" when appending
`FAILED_TEST_ARTIFACTS` to `GITHUB_ENV` in linux-TEST-vars, linux32 and
debian-12:
https://github.com/microsoft/git/actions/runs/35114876023

Each Actions step receives a distinct environment file, so the earlier
build/test permission adjustment does not cover the reporter. Give this
step the access it needs to record failure artifacts while retaining
rootless execution and unchanged reporting logic.

I overlooked this in the original 0458e8b (ci(dockerized): do show
the result of failing tests again, 2025-11-17).

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The pretend SDK layout should reflect the current x64 UCRT64 defaults
when neither `MINGW_PREFIX` nor `MSYSTEM` is specified. Explicit
selections remain honored; only the fixture's fallback changes.

I forgot this part before upstreaming caa5d9e (mingw: allow
`git.exe` to be used instead of the "Git wrapper", 2026-09-10).

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Git for Windows v2.56.0(3)

Changes since Git for Windows v2.56.0(2) (October 5th 2026):

This is a security fix release, addressing the eMudhra Intermediate CA
Compromise. It also addresses Git LFS' CVE-2026-105803 by upgrading to
v3.8.1.

New Features

  * Comes with OpenSSH v10.6.P1.
  * Comes with cURL v8.23.0.
  * Comes with Git LFS v3.8.1.

Keep the setup-python v7 update while retaining downstream SHA pinning.
Preserve the survey migration notes for the object-ranking and name-rev
extensions that remain present in Microsoft Git.

Assisted-by: GPT-6.1 Sol
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
@mjcheetham
Matthew John Cheetham (mjcheetham) merged commit dc5091a into vfs-2.56.0 Oct 23, 2026
76 of 78 checks passed
@mjcheetham
Matthew John Cheetham (mjcheetham) deleted the merge-v2.56.0.windows.3 branch October 23, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants