summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/2.49.0.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/RelNotes/2.49.0.adoc')
-rw-r--r--Documentation/RelNotes/2.49.0.adoc288
1 files changed, 288 insertions, 0 deletions
diff --git a/Documentation/RelNotes/2.49.0.adoc b/Documentation/RelNotes/2.49.0.adoc
new file mode 100644
index 0000000000..494c83096f
--- /dev/null
+++ b/Documentation/RelNotes/2.49.0.adoc
@@ -0,0 +1,288 @@
+Git v2.49 Release Notes
+=======================
+
+UI, Workflows & Features
+------------------------
+
+ * Completion script updates for zsh
+
+ * "git pack-objects" and its wrapper "git repack" learned an option
+ to use an alternative path-hash function to improve delta-base
+ selection to produce a packfile with deeper history than window
+ size.
+
+ * "git gc" learned the "--expire-to" option and passes it down to
+ underlying "git repack".
+
+ * "[help] autocorrect = 1" used to be a way to say "please wait for
+ 0.1 second after suggesting a typofix of the command name before
+ running that command"; now it means "yes, if there is a plausible
+ typofix for the command name, please run it immediately".
+
+ * "git clone" learned to make a shallow clone for a single commit
+ that is not necessarily be at the tip of any branch.
+
+ * Lazy-loading missing files in a blobless clone on demand is costly
+ as it tends to be one-blob-at-a-time. "git backfill" is introduced
+ to help bulk-download necessary files beforehand.
+
+ * "git push --atomic --porcelain" used to ignore failures from the
+ other side, losing the error status from the child process, which
+ has been corrected.
+
+ * "git rev-list --missing=" learned to accept "print-info" that gives
+ known details expected of the missing objects, like path and type.
+
+ * Comes with an updated "gitk".
+
+ * The documentation of "git commit" and "git rebase" now refer to
+ commit titles as such, not "subject".
+
+ * The value of "uname -s" is by default sent over the wire as a part
+ of the "version" capability.
+
+ * "git refs migrate" can optionally be told not to migrate the reflog.
+
+ * The netrc support (via the cURL library) for the HTTP transport has
+ been re-enabled.
+
+ * Removal of ".git/branches" and ".git/remotes" support in the
+ BreakingChanges document has been further clarified.
+
+ * What happens to submodules during merge has been documented in a
+ bit more detail.
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+ * More -Wsign-compare fixes.
+
+ * meson-based build now supports the unsafe-sha1 build knob.
+
+ * The meson-based build procedure covers contrib/ and other places as
+ well.
+
+ * The code to check LSan results has been simplified and made more
+ robust.
+ (merge 164a2516eb jk/lsan-race-ignore-false-positive later to maint).
+
+ * More code paths have a repository passed through the callchain,
+ instead of assuming the primary the_repository object.
+
+ * Move a few more unit tests to the clar test framework.
+
+ * Introduce a new API to visit objects in batches based on a common
+ path, or by type.
+
+ * Following the procedure we established to introduce breaking
+ changes for Git 3.0, allow an early opt-in for removing support of
+ $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure
+ remotes.
+
+ * The code paths to interact with zlib has been cleaned up in
+ preparation for building with zlib-ng.
+
+ * Foreign language interface for Rust into our code base has been added.
+
+ * All the documentation .txt files have been renamed to .adoc to help
+ content aware editors.
+
+ * "git difftool" code clean-up.
+
+ * Rename processing in the recursive merge backend has seen a micro
+ optimization.
+
+ * The path.[ch] API takes an explicit repository parameter passed
+ throughout the callchain, instead of relying on the_repository
+ singleton instance.
+
+ * Large-object promisor protocol extension has been introduced.
+
+ * The editorconfig file is updated to tell us that bash scripts are
+ similar to general Bourne shell scripts.
+
+ * Meson-based build procedure forgot to build some docs, which has
+ been corrected.
+
+
+Fixes since v2.48
+-----------------
+
+ * "git submodule" learned various ways to spell the same option,
+ e.g. "--branch=B" can be spelled "--branch B" or "-bB".
+ (merge b86f0f9071 re/submodule-parse-opt later to maint).
+
+ * Tweak the help text used for the option value placeholders by
+ parse-options API so that translations can customize the "<>"
+ placeholder signal (e.g. "--option=<value>").
+ (merge 5b34dd08d0 as/long-option-help-i18n later to maint).
+
+ * CI jobs gave sporadic failures, which turns out that that the
+ object finalization code was giving an error when it did not have
+ to.
+ (merge d7fcbe2c56 ps/object-collision-check later to maint).
+
+ * The code to compute "unique" name used git_rand() which can fail or
+ get stuck; the callsite does not require cryptographic security.
+ Introduce the "insecure" mode and use it appropriately.
+ (merge 0b4f8afef6 ps/reftable-get-random-fix later to maint).
+
+ * A misconfigured "fsck.skiplist" configuration variable was not
+ diagnosed as an error, which has been corrected.
+ (merge ca7158076f jt/fsck-skiplist-parse-fix later to maint).
+
+ * Extended SHA-1 expression parser did not work well when a branch
+ with an unusual name (e.g. "foo{bar") is involved.
+ (merge 191f0c8db2 en/object-name-with-funny-refname-fix later to maint).
+
+ * The meson build procedure looked for the 'version-def.h' file in a
+ wrong directory, which has been corrected.
+ (merge 4771501c0a tc/meson-use-our-version-def-h later to maint).
+
+ * The meson build procedure for Documentation/technical/ hierarchy was
+ missing necessary dependencies, which has been corrected.
+ (merge 1dca492edd sj/meson-doc-technical-dependency-fix later to maint).
+
+ * The "instaweb" bound only to local IP address without "--local" and
+ to all addresses with "--local", which was the other way around, when
+ using Python's http.server class, which has been corrected.
+ (merge 76baf97fa1 ak/instaweb-python-port-binding-fix later to maint).
+
+ * Document that it is insecure to use Personal Access Tokens, which
+ some hosting providers take as username/password, embedded in URLs.
+ (merge a90ff409f0 mh/doc-credential-helpers-with-pat later to maint).
+
+ * The help text from "git $cmd -h" appear on the standard output for
+ some $cmd and the standard error for others. The built-in commands
+ have been fixed to show them on the standard output consistently.
+ (merge f66d1423f5 jc/show-usage-help later to maint).
+
+ * The meson-driven build is now aware of "git-subtree" housed in
+ contrib/subtree hierarchy.
+ (merge 8454b42f94 ps/build-meson-subtree later to maint).
+
+ * It was possible for "git unpack-objects" and "git index-pack" to
+ make an unaligned access, which has been corrected.
+ (merge 98046591b9 jk/pack-header-parse-alignment-fix later to maint).
+
+ * The "cache" credential back-end did not handle authtype correctly,
+ which has been corrected.
+ (merge 0b43274850 mh/credential-cache-authtype-request-fix later to maint).
+
+ * "git branch --sort=..." and "git for-each-ref --format=... --sort=..."
+ did not work as expected with some atoms, which has been corrected.
+ (merge c5490ce9d1 rs/ref-fitler-used-atoms-value-fix later to maint).
+
+ * reflog entries for symbolic ref updates were broken, which has been
+ corrected.
+ (merge 3519492430 kn/reflog-symref-fix later to maint).
+
+ * The trace2 code was not prepared to show a configuration variable
+ that is set to true using the valueless true syntax, which has been
+ corrected.
+ (merge 2fd367cf63 am/trace2-with-valueless-true later to maint).
+
+ * The "git refs migrate" command did not migrate the reflog for
+ refs/stash, which is the contents of the stashes, which has been
+ corrected.
+ (merge a0bea0978f ps/reflog-migration-with-logall-fix later to maint).
+
+ * Doc and short-help text for "show-index" has been clarified to
+ stress that the command reads its data from the standard input.
+ (merge 49edce4ff9 jc/show-index-h-update later to maint).
+
+ * The API around choosing to use unsafe variant of SHA-1
+ implementation has been updated in an attempt to make it harder to
+ abuse.
+ (merge 04292c3796 tb/unsafe-hash-cleanup later to maint).
+
+ * Fix bugs in an earlier attempt to fix "git refs migration".
+ (merge f11f0a5a2d kn/reflog-migration-fix-fix later to maint).
+
+ * The code path used when "git fetch" fetches from a bundle file
+ closed the same file descriptor twice, which sometimes broke things
+ unexpectedly when the file descriptor was reused, which has been
+ corrected.
+ (merge 9a84794ad8 js/bundle-unbundle-fd-reuse-fix later to maint).
+
+ * "git init" to reinitialize a repository that already exists cannot
+ change the hash function and ref backends; such a request is
+ silently ignored now.
+ (merge 7e88640cd1 ps/setup-reinit-fixes later to maint).
+
+ * "git apply" internally uses unsigned long for line numbers and uses
+ strtoul() to parse numbers on the hunk headers. It however forgot
+ to check parse errors.
+ (merge a206058fda pw/apply-ulong-overflow-check later to maint).
+
+ * Two CI tasks, whitespace check and style check, work on the
+ difference from the base version and the version being checked, but
+ the base was computed incorrectly in GitLab CI in some cases, which
+ has been corrected.
+ (merge acc4fb302b jt/gitlab-ci-base-fix later to maint).
+
+ * "git repack --keep-unreachable" to send unreachable objects to the
+ main pack "git repack -ad" produces did not work when there is no
+ existing packs, which has been corrected.
+ (merge 414c82300a ps/repack-keep-unreachable-in-unpacked-repo later to maint).
+
+ * Going into a secondary worktree and asking "is the main worktree
+ bare?" did not work correctly when per-worktree configuration
+ option was in use, which has been corrected.
+
+ * Fetching into a bare repository incorrectly assumed it always used
+ a mirror layout when deciding to update remote-tracking HEAD, which
+ has been corrected.
+ (merge 93dc16483a bf/fetch-set-head-fix later to maint).
+
+ * A thunderbird helper script lost its bashism.
+ (merge 59d26bd961 bc/contrib-thunderbird-patch-inline-fix later to maint).
+
+ * The -G/-S options to the "diff" family of commands caused us to hit
+ a BUG() when they get no values; they have been corrected.
+ (merge a620046b29 bc/diff-reject-empty-arg-to-pickaxe later to maint).
+
+ * "git merge-tree --stdin" has been improved (including a workaround
+ for a deadlock).
+ (merge 6a9ae81015 pw/merge-tree-stdin-deadlock-fix later to maint).
+
+ * Correct the default target in Documentation/Makefile, and
+ future-proof all Makefiles from similar breakages by declaring the
+ default target (which happens to be "all") upfront.
+ (merge 5309c1e9fb ad/set-default-target-in-makefiles later to maint).
+
+ * "git check-mailmap" used to segfault when queried without human
+ readable name.
+ (merge bb60c52131 jk/check-mailmap-wo-name-fix later to maint).
+
+ * Support for renaming of symbolic links on Windows has been improved.
+
+ * "git rebase -i" failed to allow rewording an empty commit that has
+ been fast-forwarded.
+ (merge af8fc7be10 pw/rebase-i-ff-empty-commit later to maint).
+
+ * The use of "paste" command for aggregating the test results have
+ been corrected.
+ (merge ce98863204 dk/test-aggregate-results-paste-fix later to maint).
+
+ * Other code cleanup, docfix, build fix, etc.
+ (merge ddb5287894 jk/t7407-use-test-grep later to maint).
+ (merge 21e1b44865 aj/difftool-config-doc-fix later to maint).
+ (merge 6a63995335 mh/gitattr-doc-markup-fix later to maint).
+ (merge 43850dcf9c sk/unit-test-hash later to maint).
+ (merge 4ad47d2de3 jc/cli-doc-option-and-config later to maint).
+ (merge 2d0ff147e5 jp/t8002-printf-fix later to maint).
+ (merge 69666e6746 ja/doc-restore-markup-update later to maint).
+ (merge d11d003ba5 sk/strlen-returns-size_t later to maint).
+ (merge 77b2d29e91 ja/doc-notes-markup-updates later to maint).
+ (merge 6979bf6f8f jk/combine-diff-cleanup later to maint).
+ (merge 8705c9bd13 kn/pack-write-with-reduced-globals later to maint).
+ (merge 087740d65a ps/leakfixes-0129 later to maint).
+ (merge 6bba6f604b jp/doc-trailer-config later to maint).
+ (merge f1cc562b77 lo/t7603-path-is-file-update later to maint).
+ (merge 45761988ac en/doc-renormalize later to maint).
+ (merge 832f56f06a jc/doc-boolean-synonyms later to maint).
+ (merge 3eeed876a9 ac/doc-http-ssl-type-config later to maint).
+ (merge c268e3285d jc/breaking-changes-early-adopter-option later to maint).
+ (merge 0d03fda6a5 pb/doc-follow-remote-head later to maint).