standardized to make them consistent with each other and with other
commands.
+ * 'git log --graph' has been modified to visually distinguish parentless
+ 'root' commits (and commits that become roots due to history
+ simplification) by indenting them, preventing them from appearing
+ falsely related to unrelated commits rendered immediately above them.
+
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
pathspec filtering, which was lost when the streaming walk was
refactored.
+ * The ref subsystem and the worktree API have been refactored to pass a
+ repository pointer down the call chain, allowing them to drop
+ references to the global 'the_repository' variable. As part of this,
+ the handling of the 'core.packedRefsTimeout' configuration has been
+ moved into the per-repository ref store structure.
+
+ * 'git branch --contains' and 'git for-each-ref --contains' have been
+ optimized to use the memoized commit traversal previously used only by
+ 'git tag --contains', significantly speeding up connectivity checks
+ across many candidate refs with shared history.
+
+ * The passing of push destination specifications in the 'remote-curl'
+ helper has been simplified by removing the explicit 'count' parameter
+ and relying on the NULL-termination of the array.
+
+ * The dependency on the global 'the_repository' variable in the
+ 'refspec.c' API has been removed by passing the hash algorithm
+ explicitly to refspec-parsing functions and storing it in 'struct
+ refspec'.
+
+ * The enumeration of untracked and ignored files in 'git status' has
+ been optimized by avoiding quadratic complexity when inserting into
+ string lists, reducing the construction cost from O(n^2) to O(n log
+ n).
+
+ * The copy_file() and copy_file_with_time() functions have been
+ refactored to take a repository parameter, allowing the removal of the
+ implicit dependency on the global 'the_repository' variable in
+ 'copy.c'.
+
Fixes since v2.55
-----------------
'git submodule update' command until it was broken in a modernization
of the option-parsing code, has been restored.
(merge ff1da37f58 dm/submodule-update-i-shorthand later to maint).
+
+ * An accidental use of the '%zu' format specifier in 'git
+ submodule--helper' has been corrected to use 'PRIuMAX' and cast the
+ value to 'uintmax_t' to avoid portability issues.
+ (merge 3279c13c00 jc/submodule-helper-avoid-zu later to maint).
+
+ * The rebase post-rewrite notes-copying logic has been corrected. When
+ a commit is dropped during rebase (e.g., because its changes are
+ already upstream), it is no longer recorded as rewritten, preventing
+ its notes from being copied to an unrelated commit.
+ (merge 42554b78fd pw/rebase-drop-notes-with-commit later to maint).
+
+ * A few memory problems in the Rust interface to C hash functions have
+ been corrected. The 'Clone' implementation of 'CryptoHasher' now
+ properly initializes the context before cloning, and its 'Drop'
+ implementation now discards the context to prevent leaks.