Subject: [ANNOUNCE] Git v2.51.2

From: Junio C Hamano <[email-masked]>
Date: Mon, 27 Oct 2025 08:56:48 -0700

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