{"thread":{"id":"62751","subject":"[ANNOUNCE] Git v2.48.0-rc2","startedAt":"2025-01-06T20:02:27Z","lastAt":"2025-01-06T20:47:59Z","messageCount":2,"participants":["Junio C Hamano","rsbecker@nexbridge.com"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"510015","messageId":"xmqqbjwjyalr.fsf@gitster.g","threadId":"62751","inReplyTo":null,"subject":"[ANNOUNCE] Git v2.48.0-rc2","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-06T20:02:24Z","receivedAt":"2025-01-06T20:02:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"A release candidate Git v2.48.0-rc2 is now available for testing at\nthe usual places.  It is comprised of 584 non-merge commits since\nv2.47.0, contributed by 81 people, 33 of which are new faces [*].\n\nThe tarballs are found at:\n\n    https://www.kernel.org/pub/software/scm/git/testing/\n\nThe following public repositories all have a copy of the\n'v2.48.0-rc2' tag and the 'master' branch that the tag points at:\n\n  url = https://git.kernel.org/pub/scm/git/git\n  url = https://kernel.googlesource.com/pub/scm/git/git\n  url = git://repo.or.cz/alt-git.git\n  url = https://github.com/gitster/git\n\nNew contributors whose contributions weren't in v2.47.0 are as follows.\nWelcome to the Git development community!\n\n  Aarni Koskela, Abraham Samuel Adekunle, Alejandro Barreto, Bence\n  Ferdinandy, Caleb White, Chizoba ODINAKA, Christoph Sommer,\n  Daniel Black, Daniel Engberg, David Gstir, Ed Reel, Eric Mills,\n  fox, Jaroslav Lobačevski, Josh Heinrichs, Josh Poimboeuf,\n  Kai Koponen, karthik nayak, Kev Kloss, Liu Zhongbo, Meet Soni,\n  Miguel Rincon Barahona, Monika Kairaitytė, Nicolas Guichard,\n  Russell Stuart, Sam James, Seyi Kuforiji, Shubham Kanodia,\n  Simon Marchi, Tobias Boesch, Tobias Pietzsch, Usman Akinyemi,\n  and Yuri Konotopov.\n\nReturning contributors who helped this release are as follows.\nThanks for your continued support.\n\n  Abhijeet Sonar, Alejandro R. Sedeño, Alexander Shopov,\n  Andrew Kreimer, Avi Halachmi (:avih), brian m. carlson, Dario\n  Gjorgjevski, Derrick Stolee, Elijah Newren, Eli Schwartz,\n  Eric Sesterhenn, Eric Sunshine, Jean-Noël Avila, Jeff King,\n  Johannes Schindelin, Johannes Sixt, John Cai, Jonathan Tan,\n  Josh Soref, Josh Steadmon, Junio C Hamano, Justin Tobler,\n  Karthik Nayak, Koji Nakamaru, Kousik Sanagavarapu, Kristoffer\n  Haugsbakk, Kyle Lippincott, Linus Arver, Martin Ågren, Oswald\n  Buddenhagen, Patrick Steinhardt, Peter Krefting, Philippe Blain,\n  Phillip Wood, Piotr Szlazak, Ramsay Jones, Randall S. Becker,\n  Rasmus Villemoes, René Scharfe, Rubén Justo, Seija Kijin,\n  shejialuo, Sören Krecker, Sven Strickroth, Taylor Blau, Toon\n  Claes, Wolfgang Müller, and Xing Xin.\n\n[*] We are counting not just the authorship contribution but issue\n    reporting, mentoring, helping and reviewing that are recorded in\n    the commit trailers.\n\n----------------------------------------------------------------\n\nGit v2.48 Release Notes (draft)\n===============================\n\nUI, Workflows & Features\n------------------------\n\n * A new configuration variable remote.<name>.serverOption makes the\n   transport layer act as if the --serverOption=<value> option is\n   given from the command line.\n\n * \"git rebase --rebase-merges\" now uses branch names as labels when\n   able.\n\n * Describe the policy to introduce breaking changes.\n\n * Teach 'git notes add' and 'git notes append' a new '-e' flag,\n   instructing them to open the note in $GIT_EDITOR before saving.\n\n * Documentation for \"git bundle\" saw improvements to more prominently\n   call out the use of '--all' when creating bundles.\n\n * Drop support for older libcURL and Perl.\n\n * End-user experience of \"git mergetool\" when the command errors out\n   has been improved.\n\n * \"git bundle --unbundle\" and \"git clone\" running on a bundle file\n   both learned to trigger fsck over the new objects with configurable\n   fck check levels.\n\n * When \"git fetch $remote\" notices that refs/remotes/$remote/HEAD is\n   missing and discovers what branch the other side points with its\n   HEAD, refs/remotes/$remote/HEAD is updated to point to it.\n\n * \"git fetch\" honors \"remote.<remote>.followRemoteHEAD\" settings to\n   tweak the remote-tracking HEAD in \"refs/remotes/<remote>/HEAD\".\n\n * \"git range-diff\" learned to optionally show and compare merge\n   commits in the ranges being compared, with the --diff-merges\n   option.\n\n\nPerformance, Internal Implementation, Development Support etc.\n--------------------------------------------------------------\n\n * Document \"amlog\" notes.\n\n * The way AsciiDoc is used for SYNOPSIS part of the manual pages has\n   been revamped.  The sources, at least for the simple cases, got\n   vastly pleasant to work with.\n\n * The reftable library is now prepared to expect that the memory\n   allocation function given to it may fail to allocate and to deal\n   with such an error.\n\n * An extra worktree attached to a repository points at each other to\n   allow finding the repository from the worktree and vice versa\n   possible.  Turn this linkage to relative paths.\n\n * Enable Windows-based CI in GitLab.\n\n * Commands that can also work outside Git have learned to take the\n   repository instance \"repo\" when we know we are in a repository, and\n   NULL when we are not, in a parameter.  The uses of the_repository\n   variable in a few of them have been removed using the new calling\n   convention.\n\n * The reftable sub-system grew a new reftable-specific strbuf\n   replacement to reduce its dependency on Git-specific data\n   structures.\n\n * The ref-filter machinery learns to recognize and avoid cases where\n   sorting would be redundant.\n\n * Various platform compatibility fixes split out of the larger effort\n   to use Meson as the primary build tool.\n\n * Treat ECONNABORTED the same as ECONNRESET in 'git credential-cache'\n   to work around a possible Cygwin regression. This resolves a race\n   condition caused by changes in Cygwin's handling of socket\n   closures, allowing the client to exit cleanly when encountering\n   ECONNABORTED.\n\n * Demonstrate an assertion failure in 'git mv'.\n\n * Documentation update to clarify that 'uploadpack.allowAnySHA1InWant'\n   implies both 'allowTipSHA1InWant' and 'allowReachableSHA1InWant'.\n\n * Replace various calls to atoi() with strtol_i() and strtoul_ui(),\n   and add improved error handling.\n\n * Documentation updates to 'git-update-ref(1)'.\n\n * Update the project's CodingGuidelines to discourage naming functions\n   with a \"_1()\" suffix.\n\n * Updates the '.clang-format' to match project conventions.\n\n * Centralize documentation for repository extensions into a single place.\n\n * Buildfix and upgrade of Clar to a newer version.\n\n * Documentation mark-up updates.\n\n * Renaming a handful of variables and structure fields.\n\n * Fix for clar unit tests to support CMake build.\n\n * C23 compatibility updates.\n\n * GCC 15 compatibility updates.\n\n * We now ensure \"index-pack\" is used with the \"--promisor\" option\n   only during a \"git fetch\".\n\n * The migration procedure between two ref backends has been optimized.\n\n * \"git fsck\" learned to issue warnings on \"curiously formatted\" ref\n   contents that have always been taken valid but something Git\n   wouldn't have written itself (e.g., missing terminating end-of-line\n   after the full object name).\n\n * Work around Coverity warning that would not trigger in practice.\n\n * Built-in Git subcommands are supplied the repository object to work\n   with; they learned to do the same when they invoke sub-subcommands.\n\n * Drop support for ancient environments in various CI jobs.\n\n * Isolates the reftable subsystem from the rest of Git's codebase by\n   using fewer pieces of Git's infrastructure.\n\n * Optimize reading random references out of the reftable backend by\n   allowing reuse of iterator objects.\n\n * Backport oss-fuzz tests for us to our codebase.\n\n * Introduce a new repository extension to prevent older Git versions\n   from mis-interpreting worktrees created with relative paths.\n\n * Yet another \"pass the repository through the callchain\" topic.\n\n * \"git describe\" learned to stop digging the history needlessly\n   deeper.\n\n * Build procedure update plus introduction of Meson based builds.\n\n * Recent reftable updates mistook a NULL return from a request for\n   0-byte allocation as OOM and died unnecessarily, which has been\n   corrected.\n\n * Reftable backend adds check for upper limit of log's update_index.\n\n * Start working to make the codebase buildable with -Wsign-compare.\n\n * Regression fix for 'show-index' when run outside of a repository.\n\n * The meson-build procedure is integrated into CI to catch and\n   prevent bitrotting.\n\n * \"git refs migrate\" learned to also migrate the reflog data across\n   backends.\n\n * The developer documentation has been updated to give the latest\n   info on gitk and git-gui maintainer.\n\n\n * CI jobs that run threaded programs under LSan has been giving false\n   positives from time to time, which has been worked around.\n\n\nFixes since v2.47\n-----------------\n\n * Doc update to clarify how periodical maintenance are scheduled,\n   spread across time to avoid thundering hurds.\n\n * Use after free and double freeing at the end in \"git log -L... -p\"\n   had been identified and fixed.\n\n * On macOS, fsmonitor can fall into a race condition that results in\n   a client waiting forever to be notified for an event that have\n   already happened.  This problem has been corrected.\n\n * \"git maintenance start\" crashed due to an uninitialized variable\n   reference, which has been corrected.\n\n * Fail gracefully instead of crashing when attempting to write the\n   contents of a corrupt in-core index as a tree object.\n\n * A \"git fetch\" from the superproject going down to a submodule used\n   a wrong remote when the default remote names are set differently\n   between them.\n\n * Fixes compile time warnings with 64-bit MSVC.\n\n * Teaches 'shortlog' to explicitly use SHA-1 when operating outside\n   of a repository.\n\n * Fix 'git grep' regression on macOS by disabling lookahead when\n   encountering invalid UTF-8 byte sequences.\n\n * The dumb-http code regressed when the result of re-indexing a pack\n   yielded an *.idx file that differs in content from the *.idx file\n   it downloaded from the remote. This has been corrected by no longer\n   relying on: the *.idx file we got from the remote.\n\n * When called with '--left-right' and '--use-bitmap-index', 'rev-list'\n   will produce output without any left/right markers, which has been\n   corrected.\n\n * More leakfixes.\n\n * Test modernization.\n\n * The \"--shallow-exclude=<ref>\" option to various history transfer\n   commands takes a ref, not an arbitrary revision.\n\n * A regression where commit objects missing from a commit-graph can\n   cause an infinite loop when doing a fetch in a partial clone has\n   been fixed.\n\n * The MinGW compatibility layer has been taught to support POSIX\n   semantics for atomic renames when other process(es) have a file\n   opened at the destination path.\n\n * \"git gc\" discards any objects that are outside promisor packs that\n   are referred to by an object in a promisor pack, and we do not\n   refetch them from the promisor at runtime, resulting an unusable\n   repository.  Work it around by including these objects in the\n   referring promisor pack at the receiving end of the fetch.\n\n * Avoid build/test breakage on a system without working malloc debug\n   support dynamic library.\n   (merge 72ad6dc368 jk/test-malloc-debug-check later to maint).\n\n * Double-free fix.\n   (merge fe17a25905 jk/fetch-prefetch-double-free-fix later to maint).\n\n * Use of some uninitialized variables in \"git difftool\" has been\n   corrected.\n\n * Object reuse code based on multi-pack-index sent an unwanted copy\n   of object.\n   (merge e199290592 tb/multi-pack-reuse-dupfix later to maint).\n\n * \"git fast-import\" can be tricked into a replace ref that maps an\n   object to itself, which is a useless thing to do.\n   (merge 5e904f1a4a en/fast-import-avoid-self-replace later to maint).\n\n * The ref-transaction hook triggered for reflog updates, which has\n   been corrected.\n   (merge b886db48c6 kn/ref-transaction-hook-with-reflog later to maint).\n\n * Give a bit of advice/hint message when \"git maintenance\" stops finding a\n   lock file left by another instance that still is potentially running.\n   (merge ba874d1dac ps/gc-stale-lock-warning later to maint).\n\n * Use the right helper program to measure file size in performance tests.\n   (merge 3f97f1bce6 tb/use-test-file-size-more later to maint).\n\n * A double-free that may not trigger in practice by luck has been\n   corrected in the reference resolution code.\n   (merge b6318cf23a sj/refs-symref-referent-fix later to maint).\n\n * The sequencer failed to honor core.commentString in some places.\n\n * Describe a case where an option value needs to be spelled as a\n   separate argument, i.e. \"--opt val\", not \"--opt=val\".\n   (merge 1bc1e94091 jc/doc-opt-tilde-expand later to maint).\n\n * Loosen overly strict ownership check introduced in the recent past,\n   to keep the promise \"cloning a suspicious repository is a safe\n   first step to inspect it\".\n   (merge 0ffb5a6bf1 bc/allow-upload-pack-from-other-people later to maint).\n\n * \"git fast-import\" learned to reject paths with \"..\"  and \".\" as\n   their components to avoid creating invalid tree objects.\n   (merge 8cb4c6e62f en/fast-import-verify-path later to maint).\n\n * The --ancestry-path option is designed to be given a commit that is\n   on the path, which was not documented, which has been corrected.\n   (merge bc1a980759 kk/doc-ancestry-path later to maint).\n\n\n * \"git tag\" has been taught to refuse to create refs/tags/HEAD\n   as such a tag will be confusing in the context of UI provided by\n   the Git Porcelain commands.\n   (merge bbd445d5ef jc/forbid-head-as-tagname later to maint).\n\n * The advice messages now tell the newer 'git config set' command to\n   set the advice.token configuration variable to squelch a message.\n   (merge 6c397d0104 bf/explicit-config-set-in-advice-messages later to maint).\n\n * The syntax \":/<text>\" to name the latest commit with the matching\n   text was broken with a recent change, which has been corrected.\n   (merge 0ff919e87a ps/commit-with-message-syntax-fix later to maint).\n\n * Fix performance regression of a recent \"fatten promisor pack with\n   local objects\" protection against an unwanted gc.\n\n * \"git log -p --remerge-diff --reverse\" was completely broken.\n   (merge f94bfa1516 js/log-remerge-keep-ancestry later to maint).\n\n * \"git bundle create\" with an annotated tag on the positive end of\n   the revision range had a workaround code for older limitation in\n   the revision walker, which has become unnecessary.\n   (merge dd1072dfa8 tc/bundle-with-tag-remove-workaround later to maint).\n\n * GitLab CI updates.\n   (merge c6b43f663e ps/ci-gitlab-update later to maint).\n\n * Code to reuse objects based on bitmap contents have been tightened\n   to avoid race condition even when multiple packs are involved.\n   (merge 62b3ec8a3f tb/bitmap-fix-pack-reuse later to maint).\n\n * An earlier \"csum-file checksum does not have to be computed with\n   sha1dc\" topic had a few code paths that had initialized an\n   implementation of a hash function to be used by an unmatching hash\n   by mistake, which have been corrected.\n   (merge 599a63409b ps/weak-sha1-for-tail-sum-fix later to maint).\n\n * Other code cleanup, docfix, build fix, etc.\n   (merge 77af53f56f aa/t7300-modernize later to maint).\n   (merge dcd590a39d bf/t-readme-mention-reftable later to maint).\n   (merge 68e3c69efa kh/trailer-in-glossary later to maint).\n   (merge 91f88f76e6 tb/boundary-traversal-fix later to maint).\n   (merge 168ebb7159 jc/doc-error-message-guidelines later to maint).\n   (merge 18693d7d65 kh/doc-bundle-typofix later to maint).\n   (merge e2f5d3b491 kh/doc-update-ref-grammofix later to maint).\n   (merge 8525e92886 mh/doc-windows-home-env later to maint).\n\n----------------------------------------------------------------\n\nChanges since v2.47.0 are as follows:\n\nAbhijeet Sonar (2):\n      show-index: fix uninitialized hash function\n      t5300: add test for 'show-index --object-format'\n\nAbraham Samuel Adekunle (2):\n      t7300-clean.sh: use test_path_* helper functions for error logging\n      notes: teach the -e option to edit messages in editor\n\nAlejandro Barreto (1):\n      Document HOME environment variable\n\nAlejandro R. Sedeño (1):\n      Makefile: adjust sed command for generating \"clar-decls.h\"\n\nAlexander Shopov (3):\n      git-gui i18n: Updated Bulgarian translation (579t)\n      gitk: Update Bulgarian translation (327t)\n      Update the official repo of gitk\n\nAndrew Kreimer (10):\n      compat: fix typos\n      contrib: fix typos\n      t/unit-tests: fix typos\n      t/perf: fix typos\n      t/helper: fix a typo\n      t: fix typos\n      t: fix typos\n      t1016: clean up style\n      t: fix typos\n      t1016: clean up style\n\nAvi Halachmi (:avih) (3):\n      gitk: UI text: change \"SHA1 ID\" to \"Commit ID\"\n      gitk: prefs dialog: refine Auto-select UI\n      gitk: support auto-copy comit ID to primary clipboard\n\nBence Ferdinandy (16):\n      t/README: add missing value for GIT_TEST_DEFAULT_REF_FORMAT\n      t/t5505-remote: set default branch to main\n      t/t5505-remote: test failure of set-head\n      refs: standardize output of refs_read_symbolic_ref\n      refs: atomically record overwritten ref in update_symref\n      remote set-head: refactor for readability\n      remote set-head: better output for --auto\n      refs: add TRANSACTION_CREATE_EXISTS error\n      refs: add create_only option to refs_update_symref_extended\n      fetch: set remote/HEAD if it does not exist\n      fetch set_head: handle mirrored bare repositories\n      fetch: add configuration for set_head behaviour\n      fetch set_head: move warn advice into advise_if_enabled\n      fetch set_head: add warn-if-not-$branch option\n      remote set-head: set followRemoteHEAD to \"warn\" if \"always\"\n      advice: suggest using subcommand \"git config set\"\n\nCaleb White (12):\n      worktree: refactor infer_backlink() to use *strbuf\n      worktree: link worktrees with relative paths\n      worktree: add test for path handling in linked worktrees\n      doc: consolidate extensions in git-config documentation\n      setup: correctly reinitialize repository version\n      worktree: add `relativeWorktrees` extension\n      worktree: refactor infer_backlink return\n      worktree: add `write_worktree_linking_files()` function\n      worktree: add relative cli/config options to `add` command\n      worktree: add relative cli/config options to `move` command\n      worktree: add relative cli/config options to `repair` command\n      worktree: refactor `repair_worktree_after_gitdir_move()`\n\nChizoba ODINAKA (1):\n      t6050: avoid pipes with upstream Git commands\n\nChristoph Sommer (2):\n      gitk: make headings of preferences bold\n      gitk: add text wrapping preferences\n\nDaniel Black (1):\n      submodule: correct remote name with fetch\n\nDerrick Stolee (1):\n      line-log: protect inner strbuf from free\n\nElijah Newren (5):\n      upload-pack: fix ambiguous error message\n      doc: correct misleading descriptions for --shallow-exclude\n      fast-import: avoid making replace refs point to themselves\n      fast-import: disallow \".\" and \"..\" path components\n      fast-import: disallow more path components\n\nEric Sesterhenn (3):\n      fuzz: port fuzz-credential-from-url-gently from OSS-Fuzz\n      fuzz: port fuzz-parse-attr-line from OSS-Fuzz\n      fuzz: port fuzz-url-decode-mem from OSS-Fuzz\n\nEric Sunshine (1):\n      worktree: repair copied repository and linked worktrees\n\nJean-Noël Avila (9):\n      doc: introduce a synopsis typesetting\n      doc: update the guidelines to reflect the current formatting rules\n      doc: apply synopsis simplification on git-clone and git-init\n      doc: git-add.txt: convert to new style convention\n      doc: git-diff: apply new documentation guidelines\n      doc: git-diff: apply format changes to diff-options\n      doc: git-diff: apply format changes to diff-format\n      doc: git-diff: apply format changes to diff-generate-patch\n      doc: git-diff: apply format changes to config part\n\nJeff King (46):\n      line-log: use diff_line_prefix() instead of custom helper\n      diff: drop line_prefix_length field\n      diff: return const char from output_prefix callback\n      diff: return line_prefix directly when possible\n      diff: store graph prefix buf in git_graph struct\n      simple-ipc: split async server initialization and running\n      fsmonitor: initialize fs event listener before accepting clients\n      midx: avoid duplicate packed_git entries\n      t5550: count fetches in \"previously-fetched .idx\" test\n      dumb-http: store downloaded pack idx as tempfile\n      packfile: drop has_pack_index()\n      packfile: drop sha1_pack_name()\n      packfile: drop sha1_pack_index_name()\n      packfile: warn people away from parse_packed_git()\n      http-walker: use object_id instead of bare hash\n      packfile: convert find_sha1_pack() to use object_id\n      packfile: use object_id in find_pack_entry_one()\n      packfile: use oidread() instead of hashcpy() to fill object_id\n      rev-list: skip bitmap traversal for --left-right\n      t6120: demonstrate weakness in disjoint-root handling\n      t/perf: add tests for git-describe\n      describe: stop digging for max_candidates+1\n      describe: stop traversing when we run out of names\n      test-lib: check malloc debug LD_PRELOAD before using\n      fetch: adjust refspec->raw_nr when filtering prefetch refspecs\n      refspec: drop separate raw_nr count\n      refspec: store raw refspecs inside refspec_item\n      test-lib: move malloc-debug setup after $PATH setup\n      object-file: prefer array-of-bytes initializer for hash literals\n      object-file: drop confusing oid initializer of empty_tree struct\n      object-file: move empty_tree struct into find_cached_object()\n      object-file: drop oid field from find_cached_object() return value\n      object-file: treat cached_object values as const\n      object-file: inline empty tree and blob literals\n      t9300: test verification of renamed paths\n      describe: split \"found all tags\" and max_candidates logic\n      prio-queue: use size_t rather than int for size\n      test-lib: use individual lsan dir for --stress runs\n      Revert \"index-pack: spawn threads atomically\"\n      thread-utils: introduce optional barrier type\n      index-pack: work around LSan threading race with barrier\n      grep: work around LSan threading race with barrier\n      test-lib: rely on logs to detect leaks\n      test-lib: simplify leak-log checking\n      test-lib: check leak logs for presence of DEDUP_TOKEN\n      test-lib: ignore leaks in the sanitizer's thread code\n\nJohannes Schindelin (11):\n      docs: fix the `maintain-git` links in `technical/platform-support`\n      log: --remerge-diff needs to keep around commit parents\n      range-diff: optionally include merge commits' diffs in the analysis\n      range-diff: introduce the convenience option `--remerge-diff`\n      mingw_rename: do support directory renames\n      GitHub ci(windows): speed up initializing Git for Windows' minimal SDK again\n      cmake: better support for out-of-tree builds follow-up\n      cmake(mergetools): better support for out-of-tree builds\n      cmake: use the correct file name for the Perl header\n      cmake: put the Perl modules into the correct location again\n      cmake/vcxproj: stop special-casing `remote-ext`\n\nJohannes Sixt (2):\n      git-gui: Remove forced rescan of stat-dirty files.\n      gitk: offer \"Copy commit ID to X11 selection\" only on X11\n\nJohn Cai (3):\n      git: pass in repo to builtin based on setup_git_directory_gently\n      annotate: remove usage of the_repository global\n      archive: remove the_repository global variable\n\nJonathan Tan (10):\n      t0410: make test description clearer\n      t0410: use from-scratch server\n      t5300: move --window clamp test next to unclamped\n      Revert \"fetch-pack: add a deref_without_lazy_fetch_extended()\"\n      fetch-pack: die if in commit graph but not obj db\n      index-pack: repack local links into promisor packs\n      index-pack: teach --promisor to forbid pack name\n      index-pack --promisor: dedup before checking links\n      index-pack --promisor: don't check blobs\n      index-pack --promisor: also check commits' trees\n\nJosh Heinrichs (1):\n      git-config.1: remove value from positional args in unset usage\n\nJosh Soref (2):\n      doc: update links to current pages\n      doc: switch links to https\n\nJunio C Hamano (30):\n      doc: clarify <src> in refspec syntax\n      Start the 2.48 cycle\n      BreakingChanges: early adopter option\n      The eighth batch\n      The ninth batch\n      Clean up RelNotes for 2.48\n      Prepare for 2.47.1\n      The tenth batch\n      The eleventh batch\n      Git 2.47.1\n      doc: option value may be separate for valid reasons\n      The twelfth batch\n      CodingGuidelines: a handful of error message guidelines\n      refs: move ref name helpers around\n      refs: drop strbuf_ prefix from helpers\n      t5604: do not expect that HEAD can be a valid tagname\n      tag: \"git tag\" refuses to use HEAD as a tagname\n      The thirteenth batch\n      The fourteenth batch\n      csum-file: fix -Wsign-compare warning on 32-bit platform\n      fetch: do not ask for HEAD unnecessarily\n      The fifteenth batch\n      The sixteenth batch\n      Git 2.48-rc0\n      Finishing touches before 2.48-rc1\n      Hopefully the final batch before 2.48-rc1\n      Git 2.48-rc1\n      A bit more post Git 2.48-rc1\n      Revert barrier-based LSan threading race workaround\n      Git 2.48-rc2\n\nJustin Tobler (4):\n      bundle: add bundle verification options type\n      bundle: support fsck message configuration\n      fetch-pack: split out fsck config parsing\n      transport: propagate fsck configuration during bundle fetch\n\nKai Koponen (1):\n      doc: mention rev-list --ancestry-path restrictions\n\nKarthik Nayak (33):\n      loose: don't rely on repository global state\n      clang-format: re-adjust line break penalties\n      clang-format: align consecutive macro definitions\n      CodingGuidelines: discourage arbitrary suffixes in function names\n      refs: don't invoke reference-transaction hook for reflogs\n      builtin: pass repository to sub commands\n      packfile: add repository to struct `packed_git`\n      packfile: use `repository` from `packed_git` directly\n      packfile: pass `repository` to static function in the file\n      packfile: pass down repository to `odb_pack_name`\n      packfile: pass down repository to `has_object[_kept]_pack`\n      packfile: pass down repository to `for_each_packed_object`\n      config: make `delta_base_cache_limit` a non-global variable\n      config: make `packed_git_(limit|window_size)` non-global variables\n      midx: add repository to `multi_pack_index` struct\n      midx-write: pass down repository to static functions\n      midx-write: use `revs->repo` inside `read_refs_snapshot`\n      write-midx: add repository field to `write_midx_context`\n      midx-write: pass down repository to `write_midx_file[_only]`\n      midx: cleanup internal usage of `the_repository` and `the_hash_algo`\n      midx: pass `repository` to `load_multi_pack_index`\n      midx: pass down `hash_algo` to functions using global variables\n      midx: inline the `MIDX_MIN_SIZE` definition\n      reftable/writer: ensure valid range for log's update_index\n      refs: include committer info in `ref_update` struct\n      refs: add `index` field to `struct ref_udpate`\n      refs/files: add count field to ref_lock\n      refs: extract out refname verification in transactions\n      refs: add `committer_info` to `ref_transaction_add_update()`\n      refs: introduce the `ref_transaction_update_reflog` function\n      refs: allow multiple reflog entries for the same refname\n      refs: add support for migrating reflogs\n      refs: mark invalid refname message for translation\n\nKousik Sanagavarapu (1):\n      t4205: fix typo in 'NUL termination with --stat'\n\nKristoffer Haugsbakk (20):\n      doc: merge-tree: improve example script\n      checkout: refer to other-worktree branch, not ref\n      Documentation/git-update-ref.txt: drop “flag”\n      Documentation/git-update-ref.txt: remove safety paragraphs\n      Documentation/git-update-ref.txt: demote symlink to last section\n      Documentation/git-update-ref.txt: remove confusing paragraph\n      Documentation/git-update-ref.txt: discuss symbolic refs\n      Documentation: mutually link update-ref and symbolic-ref\n      SubmittingPatches: tags -> trailers\n      t7001: add failure test which triggers assertion\n      Documentation/glossary: describe \"trailer\"\n      Documentation/git-bundle.txt: mention full backup example\n      Documentation/git-bundle.txt: remove old `--all` example\n      Documentation/git-bundle.txt: mention --all in spec. refs\n      Documentation/git-bundle.txt: discuss naïve backups\n      sequencer: comment checked-out branch properly\n      sequencer: comment `--reference` subject line properly\n      sequencer: comment commit messages properly\n      Documentation/git-bundle.txt: fix word join typo\n      Documentation/git-update-ref.txt: add missing word\n\nKyle Lippincott (1):\n      doc: remove extra quotes in generated docs\n\nLinus Arver (1):\n      trailer: spread usage of \"trailer_block\" language\n\nMartin Ågren (5):\n      asciidoctor-extensions.rb.in: delete existing <refmiscinfo/>\n      asciidoctor-extensions.rb.in: add missing word\n      asciidoctor-extensions.rb.in: inject GIT_DATE\n      git.txt: fix heading line of tildes\n      gitcli.txt: typeset pathnames as monospace\n\nMeet Soni (1):\n      t7611: replace test -f with test_path_is* helpers\n\nNicolas Guichard (3):\n      load_branch_decorations: fix memory leak with non-static filters\n      rebase-update-refs: extract load_branch_decorations\n      rebase-merges: try and use branch names as labels\n\nOswald Buddenhagen (2):\n      git-gui: strip comments and consecutive empty lines from commit messages\n      git-gui: strip commit messages less aggressively\n\nPatrick Steinhardt (253):\n      builtin/annotate: fix leaking args vector\n      read-cache: fix leaking hash context in `do_write_index()`\n      scalar: fix leaking repositories\n      shell: fix leaking strings\n      wt-status: fix leaking buffer with sparse directories\n      submodule: fix leaking submodule entry list\n      builtin/stash: fix leaking `pathspec_from_file`\n      builtin/pack-redundant: fix various memory leaks\n      builtin/clone: fix leaking repo state when cloning with bundle URIs\n      t/helper: fix leaking repository in partial-clone helper\n      builtin/revert: fix leaking `gpg_sign` and `strategy` config\n      diff: improve lifecycle management of diff queues\n      line-log: fix several memory leaks\n      pseudo-merge: fix various memory leaks\n      pseudo-merge: fix leaking strmap keys\n      pack-bitmap-write: fix leaking OID array\n      midx-write: fix leaking buffer\n      revision: fix memory leaks when rewriting parents\n      revision: fix leaking saved parents\n      pack-write: fix return parameter of `write_rev_file_order()`\n      t/helper: fix leaks in proc-receive helper\n      remote: fix leaking push reports\n      builtin/send-pack: fix leaking list of push options\n      reftable/error: introduce out-of-memory error code\n      reftable/basics: merge \"publicbasics\" into \"basics\"\n      reftable: introduce `reftable_strdup()`\n      reftable/basics: handle allocation failures in `reftable_calloc()`\n      reftable/basics: handle allocation failures in `parse_names()`\n      reftable/record: handle allocation failures on copy\n      reftable/record: handle allocation failures when decoding records\n      reftable/writer: handle allocation failures in `writer_index_hash()`\n      reftable/writer: handle allocation failures in `reftable_new_writer()`\n      reftable/merged: handle allocation failures in `merged_table_init_iter()`\n      reftable/reader: handle allocation failures for unindexed reader\n      reftable/reader: handle allocation failures in `reader_init_iter()`\n      reftable/stack: handle allocation failures on reload\n      reftable/stack: handle allocation failures in `reftable_new_stack()`\n      reftable/stack: handle allocation failures in `stack_compact_range()`\n      reftable/stack: handle allocation failures in auto compaction\n      reftable/iter: handle allocation failures when creating indexed table iter\n      reftable/blocksource: handle allocation failures\n      reftable/block: handle allocation failures\n      reftable/pq: handle allocation failures when adding entries\n      reftable/tree: handle allocation failures\n      reftable: handle trivial allocation failures\n      reftable: fix calls to free(3P)\n      reftable: introduce `REFTABLE_FREE_AND_NULL()`\n      reftable/basics: ban standard allocator functions\n      reftable/basics: fix segfault when growing `names` array fails\n      cache-tree: refactor verification to return error codes\n      cache-tree: detect mismatching number of index entries\n      unpack-trees: detect mismatching number of cache-tree/index entries\n      t7300: work around platform-specific behaviour with long paths on MinGW\n      ci: create script to set up Git for Windows SDK\n      ci: handle Windows-based CI jobs in GitLab CI\n      gitlab-ci: introduce stages and dependencies\n      gitlab-ci: exercise Git on Windows\n      builtin/gc: fix crash when running `git maintenance start`\n      t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE\n      t/test-lib: wire up NO_ICONV prerequisite\n      t/lib-gitweb: test against the build version of gitweb\n      t/lib-gpg: fix setup of GNUPGHOME in MinGW\n      t1401: make invocation of tar(1) work with Win32-provided one\n      t3404: work around platform-specific behaviour on macOS 10.15\n      t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin\n      t7300: work around platform-specific behaviour with long paths on MinGW\n      builtin/credential-cache: fix missing parameter for stub function\n      http: fix build error on FreeBSD\n      reftable: stop using `strbuf_addbuf()`\n      reftable: stop using `strbuf_addf()`\n      reftable/basics: provide new `reftable_buf` interface\n      reftable: convert from `strbuf` to `reftable_buf`\n      reftable/blocksource: adapt interface name\n      t/unit-tests: check for `reftable_buf` allocation errors\n      reftable/stack: adapt `format_name()` to handle allocation failures\n      reftable/record: adapt `reftable_record_key()` to handle allocation failures\n      reftable/stack: adapt `stack_filename()` to handle allocation failures\n      reftable: handle trivial `reftable_buf` errors\n      ref-filter: format iteratively with lexicographic refname sorting\n      t/unit-tests: update clar to 206accb\n      Makefile: extract script to generate clar declarations\n      cmake: fix compilation of clar-based unit tests\n      cmake: set up proper dependencies for generated clar headers\n      compat/mingw: share file handles created via `CreateFileW()`\n      compat/mingw: allow deletion of most opened files\n      t6006: fix prereq handling with `test_format ()`\n      builtin/ls-remote: plug leaking server options\n      t/helper: fix leaks in \"reach\" test tool\n      grep: fix leak in `grep_splice_or()`\n      builtin/grep: fix leak with `--max-count=0`\n      revision: fix leaking bloom filters\n      diff-lib: fix leaking diffopts in `do_diff_cache()`\n      pretty: clear signature check\n      upload-pack: fix leaking URI protocols\n      builtin/commit: fix leaking change data contents\n      trailer: fix leaking trailer values\n      trailer: fix leaking strbufs when formatting trailers\n      builtin/commit: fix leaking cleanup config\n      transport-helper: fix leaking import/export marks\n      builtin/tag: fix leaking key ID on failure to sign\n      combine-diff: fix leaking lost lines\n      dir: release untracked cache data\n      sparse-index: correctly free EWAH contents\n      t/helper: stop re-initialization of `the_repository`\n      t/helper: fix leaking buffer in \"dump-untracked-cache\"\n      dir: fix leak when parsing \"status.showUntrackedFiles\"\n      builtin/merge: release output buffer after performing merge\n      list-objects-filter-options: work around reported leak on error\n      compat/mingw: support POSIX semantics for atomic renames\n      t/unit-tests: convert \"clar-generate.awk\" into a shell script\n      cmake: use SH_EXE to execute clar scripts\n      cmake: use verbatim arguments when invoking clar commands\n      Makefile: let clar header targets depend on their scripts\n      reftable/system: move \"dir.h\" to its only user\n      reftable: explicitly handle hash format IDs\n      reftable/system: stop depending on \"hash.h\"\n      reftable/stack: stop using `fsync_component()` directly\n      reftable/system: provide thin wrapper for tempfile subsystem\n      reftable/stack: drop only use of `get_locked_file_path()`\n      reftable/system: provide thin wrapper for lockfile subsystem\n      builtin/gc: provide hint when maintenance hits a stale schedule lock\n      refs: allow passing flags when setting up a transaction\n      refs/files: move logic to commit initial transaction\n      refs: introduce \"initial\" transaction flag\n      refs/files: support symbolic and root refs in initial transaction\n      refs: use \"initial\" transaction semantics to migrate refs\n      refs: skip collision checks in initial transactions\n      refs: don't normalize log messages with `REF_SKIP_CREATE_REFLOG`\n      reftable/writer: optimize allocations by using a scratch buffer\n      reftable/block: rename `block_writer::buf` variable\n      reftable/block: optimize allocations by using scratch buffer\n      builtin/blame: fix leaking blame entries with `--incremental`\n      bisect: fix leaking good/bad terms when reading multipe times\n      bisect: fix leaking string in `handle_bad_merge_base()`\n      bisect: fix leaking `current_bad_oid`\n      bisect: fix multiple leaks in `bisect_next_all()`\n      bisect: fix leaking commit list items in `check_merge_base()`\n      bisect: fix various cases where we leak commit list items\n      line-log: fix leak when rewriting commit parents\n      strvec: introduce new `strvec_splice()` function\n      git: refactor alias handling to use a `struct strvec`\n      git: refactor builtin handling to use a `struct strvec`\n      split-index: fix memory leak in `move_cache_to_base_index()`\n      builtin/sparse-checkout: fix leaking sanitized patterns\n      help: refactor to not use globals for reading config\n      help: fix leaking `struct cmdnames`\n      help: fix leaking return value from `help_unknown_cmd()`\n      builtin/help: fix leaks in `check_git_cmd()`\n      builtin/init-db: fix leaking directory paths\n      builtin/branch: fix leaking sorting options\n      t/helper: fix leaking commit graph in \"read-graph\" subcommand\n      global: drop `UNLEAK()` annotation\n      git-compat-util: drop now-unused `UNLEAK()` macro\n      t5601: work around leak sanitizer issue\n      t: mark some tests as leak free\n      t: remove unneeded !SANITIZE_LEAK prerequisites\n      test-lib: unconditionally enable leak checking\n      t: remove TEST_PASSES_SANITIZE_LEAK annotations\n      t7900: fix host-dependent behaviour when testing git-maintenance(1)\n      refs: adapt `initial_transaction` flag to be unsigned\n      reftable: rename scratch buffer\n      bisect: address Coverity warning about potential double free\n      refs/reftable: encapsulate reftable stack\n      refs/reftable: handle reloading stacks in the reftable backend\n      reftable/stack: add accessor for the hash ID\n      refs/reftable: figure out hash via `reftable_stack`\n      refs/reftable: read references via `struct reftable_backend`\n      refs/reftable: refactor reading symbolic refs to use reftable backend\n      refs/reftable: refactor reflog expiry to use reftable backend\n      reftable/stack: add mechanism to notify callers on reload\n      reftable/merged: drain priority queue on reseek\n      refs/reftable: reuse iterators when reading refs\n      git-compat-util: introduce macros to disable \"-Wsign-compare\" warnings\n      compat/regex: explicitly ignore \"-Wsign-compare\" warnings\n      compat/win32: fix -Wsign-compare warning in \"wWinMain()\"\n      global: mark code units that generate warnings with `-Wsign-compare`\n      config.mak.dev: drop `-Wno-sign-compare`\n      diff.h: fix index used to loop through unsigned integer\n      pkt-line: fix -Wsign-compare warning on 32 bit platform\n      global: trivial conversions to fix `-Wsign-compare` warnings\n      daemon: fix loops that have mismatching integer types\n      daemon: fix type of `max_connections`\n      gpg-interface: address -Wsign-comparison warnings\n      builtin/blame: fix type of `length` variable when emitting object ID\n      builtin/patch-id: fix type of `get_one_patchid()`\n      scalar: address -Wsign-compare warnings\n      t/helper: don't depend on implicit wraparound\n      Makefile: use common template for GIT-BUILD-OPTIONS\n      Makefile: consistently use @PLACEHOLDER@ to substitute\n      Makefile: refactor GIT-VERSION-GEN to be reusable\n      Makefile: propagate Git version via generated header\n      Makefile: consistently use PERL_PATH\n      Makefile: generate \"git.rc\" via GIT-VERSION-GEN\n      Makefile: extract script to massage Perl scripts\n      Makefile: generate doc versions via GIT-VERSION-GEN\n      Makefile: use \"generate-perl.sh\" to massage Perl library\n      Makefile: extract script to massage Shell scripts\n      Makefile: extract script to massage Python scripts\n      Makefile: extract script to generate gitweb.cgi\n      Makefile: extract script to generate gitweb.js\n      Makefile: refactor generators to be PWD-independent\n      Makefile: allow \"bin-wrappers/\" directory to exist\n      Makefile: write absolute program path into bin-wrappers\n      Makefile: simplify building of templates\n      Documentation: allow sourcing generated includes from separate dir\n      Documentation: teach \"cmd-list.perl\" about out-of-tree builds\n      Documentation: extract script to generate a list of mergetools\n      t: better support for out-of-tree builds\n      t: allow overriding build dir\n      Documentation: add comparison of build systems\n      Introduce support for the Meson build system\n      object-name: fix reversed ordering with \":/<text>\" revisions\n      gitlab-ci: update macOS images to Sonoma\n      ci/lib: remove duplicate trap to end \"CI setup\" group\n      ci/lib: do not interpret escape sequences in `group ()` arguments\n      ci/lib: fix \"CI setup\" sections with GitLab CI\n      ci/lib: support custom output directories when creating test artifacts\n      Makefile: drop -DSUPPRESS_ANNOTATED_LEAKS\n      t/unit-tests: rename clar-based unit tests to have a common prefix\n      meson: detect missing tests at configure time\n      Makefile: detect missing Meson tests\n      t: fix out-of-tree tests for some git-p4 tests\n      t: introduce compatibility options to clar-based tests\n      ci: wire up Meson builds\n      meson: skip gitweb build when Perl is disabled\n      Makefile: stop including \"GIT-VERSION-FILE\" in docs\n      Makefile: drop unneeded indirection for GIT-VERSION-GEN outputs\n      Makefile: introduce template for GIT-VERSION-GEN\n      GIT-VERSION-GEN: fix overriding GIT_VERSION\n      GIT-VERSION-GEN: fix overriding GIT_BUILT_FROM_COMMIT and GIT_DATE\n      meson: add options to override build information\n      reftable/stack: don't perform auto-compaction with less than two tables\n      reftable/merged: fix zero-sized allocation when there are no readers\n      reftable/stack: fix zero-sized allocation when there are no readers\n      reftable/basics: return NULL on zero-sized allocations\n      GIT-BUILD-OPTIONS: sort variables alphabetically\n      GIT-BUILD-OPTIONS: wire up NO_GITWEB option\n      meson: enable auto-discovered \"gitweb\"\n      meson: wire up support for AsciiDoctor\n      meson: properly wire up dependencies for our docs\n      meson: fix generation of merge tools\n      meson: generate HTML pages for all man page categories\n      Documentation: inline user-manual.conf\n      meson: generate user manual\n      Documentation: refactor \"api-index.sh\" for out-of-tree builds\n      Documentation: refactor \"howto-index.sh\" for out-of-tree builds\n      meson: generate articles\n      meson: install static files for HTML documentation\n      t/Makefile: make \"check-meson\" work with Dash\n      Documentation: wire up sanity checks for Meson\n      bulk-checkin: fix segfault with unsafe SHA1 backend\n      builtin/fast-import: fix segfault with unsafe SHA1 backend\n      ci: exercise unsafe OpenSSL backend\n\nPeter Krefting (1):\n      gitk: sv.po: Update Swedish translation (323t)\n\nPhilippe Blain (6):\n      Makefile: fix dependency for $(UNIT_TEST_DIR)/clar/clar.o\n      completion: complete '--tool-help' in 'git mergetool'\n      git-mergetool--lib.sh: use TOOL_MODE when erroring about unknown tool\n      git-mergetool--lib.sh: add error message if 'setup_user_tool' fails\n      git-mergetool--lib.sh: add error message for unknown tool variant\n      git-difftool--helper.sh: exit upon initialize_merge_tool errors\n\nPiotr Szlazak (1):\n      doc: document how uploadpack.allowAnySHA1InWant impact other allow options\n\nRamsay Jones (1):\n      credential-cache: treat ECONNABORTED like ECONNRESET\n\nRené Scharfe (5):\n      grep: disable lookahead on error\n      reftable: avoid leaks on realloc error\n      reftable: fix allocation count on realloc error\n      reftable: handle realloc error in parse_names()\n      t-reftable-merged: handle realloc errors\n\nRubén Justo (1):\n      strvec: `strvec_splice()` to a statically initialized vector\n\nSeija Kijin (1):\n      git: use calloc instead of malloc + memset where possible\n\nSeyi Kuforiji (2):\n      t7011: ensure no whitespace after redirect\n      t9101: ensure no whitespace after redirect\n\nShubham Kanodia (1):\n      doc: add a note about staggering of maintenance\n\nSimon Marchi (1):\n      builtin/difftool: intialize some hashmap variables\n\nSven Strickroth (1):\n      global: Fix duplicate word typos\n\nSören Krecker (1):\n      mingw.c: Fix complier warnings for a 64 bit msvc\n\nTaylor Blau (14):\n      Documentation: mention the amlog in howto/maintain-git.txt\n      The second batch\n      The third batch\n      The third batch\n      The fifth batch\n      The sixth batch\n      The seventh batch\n      t5332-multi-pack-reuse.sh: demonstrate duplicate packing failure\n      pack-objects: only perform verbatim reuse on the preferred pack\n      pack-bitmap.c: typofix in `find_boundary_objects()`\n      t/perf: use 'test_file_size' in more places\n      Makefile(s): avoid recipe prefix in conditional statements\n      packfile.c: remove unnecessary prepare_packed_git() call\n      pack-bitmap.c: ensure pack validity for all reuse packs\n\nTobias Boesch (1):\n      git gui: add directly calling merge tool from configuration\n\nTobias Pietzsch (1):\n      gitk: check main window visibility before waiting for it to show\n\nToon Claes (2):\n      bundle-uri: plug leak in unbundle_from_file()\n      bundle: remove unneeded code\n\nUsman Akinyemi (5):\n      t3404: avoid losing exit status with focus on `git show` and `git cat-file`\n      t3404: replace test with test_line_count()\n      daemon: replace atoi() with strtoul_ui() and strtol_i()\n      merge: replace atoi() with strtol_i() for marker size validation\n      imap: replace atoi() with strtol_i() for UIDVALIDITY and UIDNEXT parsing\n\nWolfgang Müller (1):\n      builtin/shortlog: explicitly set hash algo when there is no repo\n\nXing Xin (6):\n      transport: introduce parse_transport_option() method\n      remote: introduce remote.<name>.serverOption configuration\n      transport.c::handshake: make use of server options from remote\n      fetch: respect --server-option when fetching multiple remotes\n      ls-remote: leakfix for not clearing server_options\n      Documentation/gitprotocol-v2.txt: fix a slight inconsistency in format\n\nYuri Konotopov (1):\n      git-gui: use system encoding to show console output\n\nbrian m. carlson (18):\n      git-curl-compat: remove check for curl 7.21.5\n      git-curl-compat: remove check for curl 7.25.0\n      git-curl-compat: remove check for curl 7.34.0\n      git-curl-compat: remove check for curl 7.39.0\n      git-curl-compat: remove check for curl 7.43.0\n      git-curl-compat: remove check for curl 7.44.0\n      git-curl-compat: remove check for curl 7.52.0\n      git-curl-compat: remove check for curl 7.53.0\n      git-curl-compat: remove check for curl 7.56.0\n      INSTALL: document requirement for libcurl 7.61.0\n      Require Perl 5.26.0\n      gitweb: make use of s///r\n      gitlab-ci: switch from Ubuntu 16.04 to 20.04\n      ci: remove clause for Ubuntu 16.04\n      Add additional CI jobs to avoid accidental breakage\n      Allow cloning from repositories owned by another user\n      index-pack: rename struct thread_local\n      reflog: rename unreachable\n\nshejialuo (10):\n      ref: initialize \"fsck_ref_report\" with zero\n      ref: check the full refname instead of basename\n      ref: initialize ref name outside of check functions\n      ref: support multiple worktrees check for refs\n      ref: port git-fsck(1) regular refs check for files backend\n      ref: add more strict checks for regular refs\n      ref: add basic symref content check for files backend\n      ref: check whether the target of the symref is a ref\n      ref: add symlink ref content check for files backend\n      ref-cache: fix invalid free operation in `free_ref_entry`\n\n"},{"id":"510017","messageId":"000501db607c$40c009a0$c2401ce0$@nexbridge.com","threadId":"62751","inReplyTo":"xmqqbjwjyalr.fsf@gitster.g","subject":"RE: [ANNOUNCE] Git v2.48.0-rc2","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2025-01-06T20:47:45Z","receivedAt":"2025-01-06T20:47:59Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On January 6, 2025 3:02 PM, Junio C Hamano wrote:\n>A release candidate Git v2.48.0-rc2 is now available for testing at the usual places.\n>It is comprised of 584 non-merge commits since v2.47.0, contributed by 81 people,\n>33 of which are new faces... <snip>\n\nOur main build/test machine is undergoing to periodic maintenance and upgrading so\nwe are on an older box. The build/test cycle on this one is about 40 hours, so apologies\nthat results will be delayed for NonStop. This one is being done on our ia64 box instead\nof x86.\n\n--Randall\n\n"}]}