| Git v2.48 Release Notes |
| ======================= |
| |
| UI, Workflows & Features |
| ------------------------ |
| |
| * A new configuration variable remote.<name>.serverOption makes the |
| transport layer act as if the --serverOption=<value> option is |
| given from the command line. |
| |
| * "git rebase --rebase-merges" now uses branch names as labels when |
| able. |
| |
| * Describe the policy to introduce breaking changes. |
| |
| * Teach 'git notes add' and 'git notes append' a new '-e' flag, |
| instructing them to open the note in $GIT_EDITOR before saving. |
| |
| * Documentation for "git bundle" saw improvements to more prominently |
| call out the use of '--all' when creating bundles. |
| |
| * Drop support for older libcURL and Perl. |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| -------------------------------------------------------------- |
| |
| * Document "amlog" notes. |
| |
| * The way AsciiDoc is used for SYNOPSIS part of the manual pages has |
| been revamped. The sources, at least for the simple cases, got |
| vastly pleasant to work with. |
| |
| * The reftable library is now prepared to expect that the memory |
| allocation function given to it may fail to allocate and to deal |
| with such an error. |
| |
| * An extra worktree attached to a repository points at each other to |
| allow finding the repository from the worktree and vice versa |
| possible. Turn this linkage to relative paths. |
| |
| * Enable Windows-based CI in GitLab. |
| |
| * Commands that can also work outside Git have learned to take the |
| repository instance "repo" when we know we are in a repository, and |
| NULL when we are not, in a parameter. The uses of the_repository |
| variable in a few of them have been removed using the new calling |
| convention. |
| |
| * The reftable sub-system grew a new reftable-specific strbuf |
| replacement to reduce its dependency on Git-specific data |
| structures. |
| |
| * The ref-filter machinery learns to recognize and avoid cases where |
| sorting would be redundant. |
| |
| * Various platform compatibility fixes split out of the larger effort |
| to use Meson as the primary build tool. |
| |
| * Treat ECONNABORTED the same as ECONNRESET in 'git credential-cache' |
| to work around a possible Cygwin regression. This resolves a race |
| condition caused by changes in Cygwin's handling of socket |
| closures, allowing the client to exit cleanly when encountering |
| ECONNABORTED. |
| |
| * Demonstrate an assertion failure in 'git mv'. |
| |
| * Documentation update to clarify that 'uploadpack.allowAnySHA1InWant' |
| implies both 'allowTipSHA1InWant' and 'allowReachableSHA1InWant'. |
| |
| * Replace various calls to atoi() with strtol_i() and strtoul_ui(), |
| and add improved error handling. |
| |
| * Documentation updates to 'git-update-ref(1)'. |
| |
| * Update the project's CodingGuidelines to discourage naming functions |
| with a "_1()" suffix. |
| |
| * Updates the '.clang-format' to match project conventions. |
| |
| * Centralize documentation for repository extensions into a single place. |
| |
| * Buildfix and upgrade of Clar to a newer version. |
| |
| * Documentation mark-up updates. |
| |
| * Renaming a handful of variables and structure fields. |
| |
| * Fix for clar unit tests to support CMake build. |
| |
| * C23 compatibility updates. |
| |
| * GCC 15 compatibility updates. |
| |
| * We now ensure "index-pack" is used with the "--promisor" option |
| only during a "git fetch". |
| |
| * The migration procedure between two ref backends has been optimized. |
| |
| * "git fsck" learned to issue warnings on "curiously formatted" ref |
| contents that have always been taken valid but something Git |
| wouldn't have written itself (e.g., missing terminating end-of-line |
| after the full object name). |
| |
| * Work around Coverity warning that would not trigger in practice. |
| |
| * Built-in Git subcommands are supplied the repository object to work |
| with; they learned to do the same when they invoke sub-subcommands. |
| |
| |
| Fixes since v2.47 |
| ----------------- |
| |
| * Doc update to clarify how periodical maintenance are scheduled, |
| spread across time to avoid thundering hurds. |
| |
| * Use after free and double freeing at the end in "git log -L... -p" |
| had been identified and fixed. |
| |
| * On macOS, fsmonitor can fall into a race condition that results in |
| a client waiting forever to be notified for an event that have |
| already happened. This problem has been corrected. |
| |
| * "git maintenance start" crashed due to an uninitialized variable |
| reference, which has been corrected. |
| |
| * Fail gracefully instead of crashing when attempting to write the |
| contents of a corrupt in-core index as a tree object. |
| |
| * A "git fetch" from the superproject going down to a submodule used |
| a wrong remote when the default remote names are set differently |
| between them. |
| |
| * Fixes compile time warnings with 64-bit MSVC. |
| |
| * Teaches 'shortlog' to explicitly use SHA-1 when operating outside |
| of a repository. |
| |
| * Fix 'git grep' regression on macOS by disabling lookahead when |
| encountering invalid UTF-8 byte sequences. |
| |
| * The dumb-http code regressed when the result of re-indexing a pack |
| yielded an *.idx file that differs in content from the *.idx file |
| it downloaded from the remote. This has been corrected by no longer |
| relying on: the *.idx file we got from the remote. |
| |
| * When called with '--left-right' and '--use-bitmap-index', 'rev-list' |
| will produce output without any left/right markers, which has been |
| corrected. |
| |
| * More leakfixes. |
| |
| * Test modernization. |
| |
| * The "--shallow-exclude=<ref>" option to various history transfer |
| commands takes a ref, not an arbitrary revision. |
| |
| * A regression where commit objects missing from a commit-graph can |
| cause an infinite loop when doing a fetch in a partial clone has |
| been fixed. |
| |
| * The MinGW compatibility layer has been taught to support POSIX |
| semantics for atomic renames when other process(es) have a file |
| opened at the destination path. |
| |
| * "git gc" discards any objects that are outside promisor packs that |
| are referred to by an object in a promisor pack, and we do not |
| refetch them from the promisor at runtime, resulting an unusable |
| repository. Work it around by including these objects in the |
| referring promisor pack at the receiving end of the fetch. |
| |
| * Avoid build/test breakage on a system without working malloc debug |
| support dynamic library. |
| (merge 72ad6dc368 jk/test-malloc-debug-check later to maint). |
| |
| * Double-free fix. |
| (merge fe17a25905 jk/fetch-prefetch-double-free-fix later to maint). |
| |
| * Use of some uninitialized variables in "git difftool" has been |
| corrected. |
| |
| * Object reuse code based on multi-pack-index sent an unwanted copy |
| of object. |
| (merge e199290592 tb/multi-pack-reuse-dupfix later to maint). |
| |
| * "git fast-import" can be tricked into a replace ref that maps an |
| object to itself, which is a useless thing to do. |
| (merge 5e904f1a4a en/fast-import-avoid-self-replace later to maint). |
| |
| * The ref-transaction hook triggered for reflog updates, which has |
| been corrected. |
| (merge b886db48c6 kn/ref-transaction-hook-with-reflog later to maint). |
| |
| * Give a bit of advice/hint message when "git maintenance" stops finding a |
| lock file left by another instance that still is potentially running. |
| (merge ba874d1dac ps/gc-stale-lock-warning later to maint). |
| |
| * Use the right helper program to measure file size in performance tests. |
| (merge 3f97f1bce6 tb/use-test-file-size-more later to maint). |
| |
| * A double-free that may not trigger in practice by luck has been |
| corrected in the reference resolution code. |
| (merge b6318cf23a sj/refs-symref-referent-fix later to maint). |
| |
| * The sequencer failed to honor core.commentString in some places. |
| |
| * Other code cleanup, docfix, build fix, etc. |
| (merge 77af53f56f aa/t7300-modernize later to maint). |
| (merge dcd590a39d bf/t-readme-mention-reftable later to maint). |
| (merge 68e3c69efa kh/trailer-in-glossary later to maint). |
| (merge 91f88f76e6 tb/boundary-traversal-fix later to maint). |