[ANNOUNCE] Git v2.51.2

From: Junio C Hamano
Date: Mon Oct 27 2025 - 12:13:44 EST


The latest maintenance release Git v2.51.2 is now available at
the usual places.

The tarballs are found at:

https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.51.2'
tag and the 'maint' branch that the tag points at:

url = https://git.kernel.org/pub/scm/git/git
url = https://kernel.googlesource.com/pub/scm/git/git
url = git://repo.or.cz/alt-git.git
url = https://github.com/gitster/git

----------------------------------------------------------------

Git 2.51.2 Release Notes
========================

In addition to fixes for an unfortunate regression introduced in Git
2.51.1 that caused "git diff --quiet -w" to be not so quiet when there
are additions, deletions and conflicts, this maintenance release merges
more fixes/improvements that have landed on the master front, primarily
to make the CI part of the system a bit more robust.


Fixes since Git 2.51.1
----------------------

* Recently we attempted to improve "git diff -w --quiet" and friends
to handle cases where patch output would be suppressed, but it
introduced a bug that emits unnecessary output, which has been
corrected.

* The code to squelch output from "git diff -w --name-status"
etc. for paths that "git diff -w -p" would have stayed silent
leaked output from dry-run patch generation, which has been
corrected.

* Windows "real-time monitoring" interferes with the execution of
tests and affects negatively in both correctness and performance,
which has been disabled in Gitlab CI.

* An earlier addition to "git diff --no-index A B" to limit the
output with pathspec after the two directories misbehaved when
these directories were given with a trailing slash, which has been
corrected.

* The "--short" option of "git status" that meant output for humans
and "-z" option to show NUL delimited output format did not mix
well, and colored some but not all things. The command has been
updated to color all elements consistently in such a case.

* Unicode width table update.

* Recent OpenSSH creates the Unix domain socket to communicate with
ssh-agent under $HOME instead of /tmp, which causes our test to
fail doe to overly long pathname in our test environment, which has
been worked around by using "ssh-agent -T".

Also contains various documentation updates, code cleanups and minor fixups.

----------------------------------------------------------------

Changes since v2.51.1 are as follows:

Jacob Keller (1):
diff --no-index: fix logic for paths ending in '/'

Jeff King (2):
diff: restore redirection to /dev/null for diff_from_contents
status: make coloring of "-z --short" consistent

Johannes Schindelin (5):
refs: forbid clang to complain about unreachable code
build(deps): bump actions/download-artifact from 4 to 5
build(deps): bump actions/checkout from 4 to 5
build(deps): bump actions/setup-python from 5 to 6
build(deps): bump actions/github-script from 7 to 8

Junio C Hamano (2):
diff: make sure the other caller of diff_flush_patch_quietly() is silent
Git 2.51.2

Kristoffer Haugsbakk (1):
doc: fix accidental literal blocks

Patrick Steinhardt (2):
gitlab-ci: disable realtime monitoring to unbreak Windows jobs
t7528: work around ETOOMANY in OpenSSH 10.1 and newer

Solly (1):
t2401: update path checks using test_path helpers

Torsten Bögershausen (1):
unicode: update the width tables to Unicode 17