path: root/Documentation/RelNotes/2.26.0.txt
diff options
Diffstat (limited to 'Documentation/RelNotes/2.26.0.txt')
1 files changed, 240 insertions, 0 deletions
diff --git a/Documentation/RelNotes/2.26.0.txt b/Documentation/RelNotes/2.26.0.txt
new file mode 100644
index 0000000..7305565
--- /dev/null
+++ b/Documentation/RelNotes/2.26.0.txt
@@ -0,0 +1,240 @@
+Git 2.26 Release Notes
+Updates since v2.25
+UI, Workflows & Features
+ * Sample credential helper for using .netrc has been updated to work
+ out of the box.
+ * gpg.minTrustLevel configuration variable has been introduced to
+ tell various signature verification codepaths the required minimum
+ trust level.
+ * The command line completion (in contrib/) learned to complete
+ subcommands and arguments to "git worktree".
+ * Disambiguation logic to tell revisions and pathspec apart has been
+ tweaked so that backslash-escaped glob special characters do not
+ count in the "wildcards are pathspec" rule.
+ * One effect of specifying where the GIT_DIR is (either with the
+ environment variable, or with the "git --git-dir=<where> cmd"
+ option) is to disable the repository discovery. This has been
+ placed a bit more stress in the documentation, as new users often
+ get confused.
+ * Two help messages given when "git add" notices the user gave it
+ nothing to add have been updated to use advise() API.
+ * A new version of fsmonitor-watchman hook has been introduced, to
+ avoid races.
+ * "git config" learned to show in which "scope", in addition to in
+ which file, each config setting comes from.
+ * The basic 7 colors learned the brighter counterparts
+ (e.g. "brightred").
+Performance, Internal Implementation, Development Support etc.
+ * Tell .editorconfig that in this project, *.txt files are indented
+ with tabs.
+ * The test-lint machinery knew to check "VAR=VAL shell_function"
+ construct, but did not check "VAR= shell_funciton", which has been
+ corrected.
+ * Replace "git config --bool" calls with "git config --type=bool" in
+ sample templates.
+ * The effort to move "git-add--interactive" to C continues.
+ * Improve error message generation for "git submodule add".
+ * Preparation of test scripts for the day when the object names will
+ use SHA-256 continues.
+ * Warn programmers about pretend_object_file() that allows the code
+ to tentatively use in-core objects.
+ * The way "git pack-objects" reuses objects stored in existing pack
+ to generate its result has been improved.
+ * The transport protocol version 2 becomes the default one.
+ * Traditionally, we avoided threaded grep while searching in objects
+ (as opposed to files in the working tree) as accesses to the object
+ layer is not thread-safe. This limitation is getting lifted.
+ * "git rebase -i" (and friends) used to unnecessarily check out the
+ tip of the branch to be rebased, which has been corrected.
+ * A low-level API function get_oid(), that accepts various ways to
+ name an object, used to issue end-user facing error messages
+ without l10n, which has been updated to be translatable.
+ * Unneeded connectivity check is now disabled in a partial clone when
+ fetching into it.
+ * Some rough edges in the sparse-checkout feature, especially around
+ the cone mode, have been cleaned up.
+ * The diff-* plumbing family of subcommands now pay attention to the
+ diff.wsErrorHighlight configuration, which has been ignored before;
+ this allows "git add -p" to also show the whitespace problems to
+ the end user.
+ * Some codepaths were given a repository instance as a parameter to
+ work in the repository, but passed the_repository instance to its
+ callees, which has been cleaned up (somewhat).
+ * Memory footprint and performance of "git name-rev" has been
+ improved.
+Fixes since v2.25
+ * "git commit" gives output similar to "git status" when there is
+ nothing to commit, but without honoring the advise.statusHints
+ configuration variable, which has been corrected.
+ * has_object_file() said "no" given an object registered to the
+ system via pretend_object_file(), making it inconsistent with
+ read_object_file(), causing lazy fetch to attempt fetching an
+ empty tree from promisor remotes.
+ * Complete an update to tutorial that encourages "git switch" over
+ "git checkout" that was done only half-way.
+ * C pedantry ;-) fix.
+ * The code that tries to skip over the entries for the paths in a
+ single directory using the cache-tree was not careful enough
+ against corrupt index file.
+ * Reduce unnecessary round-trip when running "ls-remote" over the
+ stateless RPC mechanism.
+ * "git restore --staged" did not correctly update the cache-tree
+ structure, resulting in bogus trees to be written afterwards, which
+ has been corrected.
+ * The code recently added to move to the entry beyond the ones in the
+ same directory in the index in the sparse-cone mode did not count
+ the number of entries to skip over incorrectly, which has been
+ corrected.
+ * Rendering by "git log --graph" of ancestry lines leading to a merge
+ commit were made suboptimal to waste vertical space a bit with a
+ recent update, which has been corrected.
+ * Work around test breakages caused by custom regex engine used in
+ libasan, when address sanitizer is used with more recent versions
+ of gcc and clang.
+ * Minor bugfixes to "git add -i" that has recently been rewritten in C.
+ (merge 849e43cc18 js/builtin-add-i-cmds later to maint).
+ * "git fetch --refmap=" option has got a better documentation.
+ * "git checkout X" did not correctly fail when X is not a local
+ branch but could name more than one remote-tracking branches
+ (i.e. to be dwimmed as the starting point to create a corresponding
+ local branch), which has been corrected.
+ (merge fa74180d08 am/checkout-file-and-ref-ref-ambiguity later to maint).
+ * Corner case bugs in "git clean" that stems from a (necessarily for
+ performance reasons) awkward calling convention in the directory
+ enumeration API has been corrected.
+ * A fetch that is told to recursively fetch updates in submodules
+ inevitably produces reams of output, and it becomes hard to spot
+ error messages. The command has been taught to enumerate
+ submodules that had errors at the end of the operation.
+ (merge 0222540827 es/fetch-show-failed-submodules-atend later to maint).
+ * The "--recurse-submodules" option of various subcommands did not
+ work well when run in an alternate worktree, which has been
+ corrected.
+ (merge a9472afb63 pb/recurse-submodule-in-worktree-fix later to maint).
+ * Futureproofing a test not to depend on the current implementation
+ detail.
+ * Running "git rm" on a submodule failed unnecessarily when
+ .gitmodules is only cache-dirty, which has been corrected.
+ (merge 7edee32985 dt/submodule-rm-with-stale-cache later to maint).
+ * C pedantry ;-) fix.
+ (merge cf82bff73f jk/clang-sanitizer-fixes later to maint).
+ * "git grep --no-index" should not get affected by the contents of
+ the .gitmodules file but when "--recurse-submodules" is given or
+ the "submodule.recurse" variable is set, it did. Now these
+ settings are ignored in the "--no-index" mode.
+ * Technical details of the bundle format has been documented.
+ * Unhelpful warning messages during documentation build have been squelched.
+ * "git rebase -i" identifies existing commits in its todo file with
+ their abbreviated object name, which could become ambigous as it
+ goes to create new commits, and has a mechanism to avoid ambiguity
+ in the main part of its execution. A few other cases however were
+ not covered by the protection against ambiguity, which has been
+ corrected.
+ (merge 26027625dd js/rebase-i-with-colliding-hash later to maint).
+ * Allow the rebase.missingCommitsCheck configuration to kick in when
+ "rebase --edit-todo" and "rebase --continue" restarts the procedure.
+ (merge 5a5445d878 ag/edit-todo-drop-check later to maint).
+ * The way "git submodule status" reports an initialized but not yet
+ populated submodule has not been reimplemented correctly when a
+ part of the "git submodule" command was rewritten in C, which has
+ been corrected.
+ (merge f38c92452d pk/status-of-uncloned-submodule later to maint).
+ * The code to automatically shrink the fan-out in the notes tree had
+ an off-by-one bug, which has been killed.
+ (merge dbc27477ff jh/notes-fanout-fix later to maint).
+ * The index-pack code now diagnoses a bad input packstream that
+ records the same object twice when it is used as delta base; the
+ code used to declare a software bug when encountering such an
+ input, but it is an input error.
+ (merge a21781011f jk/index-pack-dupfix later to maint).
+ * The code to compute the commit-graph has been taught to use a more
+ robust way to tell if two object directories refer to the same
+ thing.
+ (merge a7df60cac8 tb/commit-graph-object-dir later to maint).
+ * "git remote rename X Y" needs to adjust configuration variables
+ (e.g. branch.<name>.remote) whose value used to be X to Y.
+ branch.<name>.pushRemote is now also updated.
+ * Other code cleanup, docfix, build fix, etc.
+ (merge 26f924d50e en/simplify-check-updates-in-unpack-trees later to maint).
+ (merge d0d0a357a1 am/update-pathspec-f-f-tests later to maint).
+ (merge f94f7bd00d am/test-pathspec-f-f-error-cases later to maint).
+ (merge c513a958b6 ss/t6025-modernize later to maint).
+ (merge b441717256 dl/test-must-fail-fixes later to maint).
+ (merge d031049da3 mt/sparse-checkout-doc-update later to maint).
+ (merge 145136a95a jc/skip-prefix later to maint).
+ (merge 5290d45134 jk/alloc-cleanups later to maint).
+ (merge 7a9f8ca805 rs/parse-options-concat-dup later to maint).
+ (merge 517b60564e rs/strbuf-insertstr later to maint).
+ (merge f696a2b1c8 jk/mailinfo-cleanup later to maint).
+ (merge 076ee3e8a2 js/test-write-junit-xml-fix later to maint).
+ (merge de26f02db1 js/test-avoid-pipe later to maint).
+ (merge bfe2bbb47f js/test-unc-fetch later to maint).
+ (merge 08809c09aa js/mingw-open-in-gdb later to maint).
+ (merge cc4f2eb828 jk/doc-credential-helper later to maint).
+ (merge e0020b2f82 es/outside-repo-errmsg-hints later to maint).
+ (merge a2dc43414c es/doc-mentoring later to maint).