The 4th batch for Git 2.56

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jul 16, 2026 at 21:31 UTC 41365c2a9ba347870b80881c0d67454edd22fd49
1 file changed +46
Documentation/RelNotes/2.56.0.adoc
+46
@@ -169,3 +169,49 @@ Fixes since v2.55
169 when running tests with the 'GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1'
170 environment variable have been plugged.
171 (merge 459088ec2e jk/bloom-leak-fixes later to maint).
172 +
173 + * The wincred credential helper has been updated to avoid memory
174 + corruption when erasing credentials and to prevent silent
175 + credential loss when storing OAuth tokens, by correcting buffer
176 + allocations and arguments passed to safe-CRT APIs.
177 + (merge f635ab9ab4 js/wincred-fixes later to maint).
178 +
179 + * Various code paths that initialize a cryptographic hash context but
180 + bail out or finish without calling 'git_hash_final()' have been taught
181 + to call 'git_hash_discard()' to release allocated resources, fixing
182 + memory leaks when Git is built with non-default backends like
183 + 'OpenSSL' or 'libgcrypt'.
184 + (merge 600588d2aa jk/hash-algo-leak-fixes later to maint).
185 +
186 + * Various resource leaks, invalid file descriptor closures, and process
187 + handle ownership issues flagged by Coverity have been fixed.
188 + (merge 9184231173 js/coverity-fixes later to maint).
189 +
190 + * Dockerized CI jobs running in private GitHub repositories have been
191 + adjusted to use explicit process and file limits, preventing resource
192 + exhaustion errors on private runners.
193 + (merge bad766fbac js/ci-dockerized-pid-limit later to maint).
194 +
195 + * Various test scripts have been updated to clean up large temporary
196 + files and repositories, reducing peak disk usage during testing.
197 + Also, expensive tests have been disabled on platforms that lack
198 + sufficient resources (like 32-bit platforms and Windows CI runners),
199 + and the long test suite has been enabled in GitLab CI.
200 + (merge 84248444ad ps/t-fixes-for-git-test-long later to maint).
201 +
202 + * The UTF-8 precomposition wrapper on macOS has been updated to use a
203 + flexible array member to represent the name of a directory entry,
204 + preventing fortified libc checks from failing when the name is
205 + reallocated to be larger than 'NAME_MAX' bytes.
206 + (merge 1eb281159f ih/precompose-flex-array later to maint).
207 +
208 + * The 'git_hash_*()' wrappers have been updated to be used consistently
209 + across the codebase instead of direct calls to members of 'struct
210 + git_hash_algo', and 'git_hash_discard()' has been made idempotent to
211 + simplify cleanups.
212 + (merge 9e396aa553 jk/git-hash-cleanups later to maint).
213 +
214 + * The sideband demultiplexer has been updated to recognize ANSI SGR
215 + escape sequences that use colon-separated subfields (e.g., for
216 + 256-color or true-color codes).
217 + (merge 3792b2aea4 mm/sideband-ansi-sgr-colon-fix later to maint).