4 Backward compatibility notes
5 ----------------------------
7 * ".gitattributes", ".gitignore", and ".mailmap" files that are
8 symbolic links are ignored.
14 UI, Workflows & Features
16 * It does not make sense to make ".gitattributes", ".gitignore" and
17 ".mailmap" symlinks, as they are supposed to be usable from the
18 object store (think: bare repositories where HEAD:.mailmap etc. are
19 used). When these files are symbolic links, we used to read the
20 contents of the files pointed by them by mistake, which has been
23 * "git stash show" learned to optionally show untracked part of the
26 * "git log --format='...'" learned "%(describe)" placeholder.
29 Performance, Internal Implementation, Development Support etc.
31 * Rename detection rework continues.
37 * The fsmonitor interface read from its input without making sure
38 there is something to read from. This bug is new in 2.31
40 (merge 097ea2c848 jh/fsmonitor-prework later to maint).
42 * The data structure used by fsmonitor interface was not properly
43 duplicated during an in-core merge, leading to use-after-free etc.
44 (merge 4abc57848d js/fsmonitor-unpack-fix later to maint).
46 * "git bisect" reimplemented more in C during 2.30 timeframe did not
47 take an annotated tag as a good/bad endpoint well. This regression
49 (merge 7730f85594 jk/bisect-peel-tag-fix later to maint).
51 * Fix macros that can silently inject unintended null-statements.
52 (merge 116affac3f rs/avoid-null-statement-after-macro-call later to maint).
54 * CALLOC_ARRAY() macro replaces many uses of xcalloc().
55 (merge 1c57cc70ec rs/calloc-array later to maint).
57 * Update insn in Makefile comments to run fuzz-all target.
58 (merge 68b5c3aa48 ah/make-fuzz-all-doc-update later to maint).
60 * Fix a corner case bug in "git mv" on case insensitive systems,
61 which was introduced in 2.29 timeframe.
62 (merge 93c3d297b5 tb/git-mv-icase-fix later to maint).
64 * We had a code to diagnose and die cleanly when a required
65 clean/smudge filter is missing, but an assert before that
66 unnecessarily fired, hiding the end-user facing die() message.
67 (merge 6fab35f748 mt/cleanly-die-upon-missing-required-filter later to maint).
69 * Update C code that sets a few configuration variables when a remote
70 is configured so that it spells configuration variable names in the
72 (merge 0f1da600e6 ab/remote-write-config-in-camel-case later to maint).
74 * A new configuration variable has been introduced to allow choosing
75 which version of the generation number gets used in the
77 (merge 702110aac6 ds/commit-graph-generation-config later to maint).
79 * Perf test update to work better in secondary worktrees.
80 (merge 36e834abc1 jk/perf-in-worktrees later to maint).
82 * Updates to memory allocation code around the use of pcre2 library.
83 (merge c1760352e0 ab/grep-pcre2-allocfix later to maint).
85 * "git -c core.bare=false clone --bare ..." would have segfaulted,
86 which has been corrected.
87 (merge 75555676ad bc/clone-bare-with-conflicting-config later to maint).
89 * Other code cleanup, docfix, build fix, etc.
90 (merge 486f4bd183 jc/calloc-fix later to maint).
91 (merge 5f70859c15 jt/clone-unborn-head later to maint).
92 (merge cfd409ed09 km/config-doc-typofix later to maint).
93 (merge 8588aa8657 jk/slimmed-down later to maint).
94 (merge 241b5d3ebe rs/xcalloc-takes-nelem-first later to maint).
95 (merge f451960708 dl/cat-file-doc-cleanup later to maint).
96 (merge 12604a8d0c sv/t9801-test-path-is-file-cleanup later to maint).
97 (merge ea7e63921c jr/doc-ignore-typofix later to maint).
98 (merge 23c781f173 ps/update-ref-trans-hook-doc later to maint).
99 (merge 42efa1231a jk/filter-branch-sha256 later to maint).