{"thread":{"id":"58927","subject":"[ANNOUNCE] Git v2.38.2","startedAt":"2022-12-11T05:19:35Z","lastAt":"2022-12-11T05:19:35Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"468862","messageId":"xmqqv8miv7qj.fsf@gitster.g","threadId":"58927","inReplyTo":null,"subject":"[ANNOUNCE] Git v2.38.2","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-11T05:18:12Z","receivedAt":"2022-12-11T05:19:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release Git v2.38.2 is now available at the\nusual places.  There is nothing exciting here, it mostly is to\nbackport/backmerge the accumulated fixes, including GitHub CI\nintegration, made during 2.39 development cycle to the 2.38\nmaintenance track.\n\nThe tarballs are found at:\n\n    https://www.kernel.org/pub/software/scm/git/\n\nThe following public repositories all have a copy of the 'v2.38.2'\ntag and the 'maint' 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\n----------------------------------------------------------------\n\nGit 2.38.2 Release Notes\n========================\n\nThis is to backport various fixes accumulated during the development\ntowards Git 2.39, the next feature release.\n\n\nFixes since v2.38.1\n-------------------\n\n * Update CodingGuidelines to clarify what features to use and avoid\n   in C99.\n\n * The codepath that reads from the index v4 had unaligned memory\n   accesses, which has been corrected.\n\n * \"git remote rename\" failed to rename a remote without fetch\n   refspec, which has been corrected.\n\n * \"git clone\" did not like to see the \"--bare\" and the \"--origin\"\n   options used together without a good reason.\n\n * Fix messages incorrectly marked for translation.\n\n * \"git fsck\" failed to release contents of tree objects already used\n   from the memory, which has been fixed.\n\n * \"git rebase -i\" can mistakenly attempt to apply a fixup to a commit\n   itself, which has been corrected.\n\n * In read-only repositories, \"git merge-tree\" tried to come up with a\n   merge result tree object, which it failed (which is not wrong) and\n   led to a segfault (which is bad), which has been corrected.\n\n * Force C locale while running tests around httpd to make sure we can\n   find expected error messages in the log.\n\n * Fix a logic in \"mailinfo -b\" that miscomputed the length of a\n   substring, which lead to an out-of-bounds access.\n\n * The codepath to sign learned to report errors when it fails to read\n   from \"ssh-keygen\".\n\n * \"GIT_EDITOR=: git branch --edit-description\" resulted in failure,\n   which has been corrected.\n\n * Documentation on various Boolean GIT_* environment variables have\n   been clarified.\n\n * \"git multi-pack-index repack/expire\" used to repack unreachable\n   cruft into a new pack, which have been corrected.\n\n * The code to clean temporary object directories (used for\n   quarantine) tried to remove them inside its signal handler, which\n   was a no-no.\n\n * \"git branch --edit-description\" on an unborh branch misleadingly\n   said that no such branch exists, which has been corrected.\n\n * GitHub CI settings have been adjusted to recent reality, merging\n   and cherry-picking necessary topics that have been prepared for Git\n   2.39.\n\n * `git rebase --update-refs` would delete references when all `update-ref`\n   commands in the sequencer were removed, which has been corrected.\n\nAlso contains various documentation updates and code clean-ups.\n\n----------------------------------------------------------------\n\nChanges since v2.38.1 are as follows:\n\nAlejandro R. Sedeño (1):\n      git-compat-util.h: GCC deprecated message arg only in GCC 4.5+\n\nAlex Henrie (1):\n      fsmonitor--daemon: don't translate literal commands\n\nDerrick Stolee (1):\n      bundle-uri: fix technical doc issues\n\nJeff Hostetler (1):\n      config.mak.dev: disable suggest braces error on old clang versions\n\nJeff King (12):\n      fsck: free tree buffers after walking unreachable objects\n      fsck: turn off save_commit_buffer\n      parse_object_buffer(): respect save_commit_buffer\n      clone: allow \"--bare\" with \"-o\"\n      remote: handle rename of remote without fetch refspec\n      sequencer: detect author name errors in read_author_script()\n      test-submodule: inline resolve_relative_url() function\n      multi-pack-index: avoid writing to global in option callback\n      commit: avoid writing to global in option callback\n      attr: drop DEBUG_ATTR code\n      dir: use fspathncmp() in pl_hashmap_cmp()\n      Makefile: force -O0 when compiling with SANITIZE=leak\n\nJiang Xin (4):\n      github-actions: run gcc-8 on ubuntu-20.04 image\n      ci: remove the pipe after \"p4 -V\" to catch errors\n      ci: use the same version of p4 on both Linux and macOS\n      ci: install python on ubuntu\n\nJohannes Altmanninger (1):\n      sequencer: avoid dropping fixup commit that targets self via commit-ish\n\nJohannes Schindelin (4):\n      merge-ort: fix segmentation fault in read-only repositories\n      merge-ort: return early when failing to write a blob\n      ci: avoid using deprecated {up,down}load-artifacts Action\n      ci: use a newer `github-script` version\n\nJohn Cai (1):\n      tmp-objdir: skip clean up when handling a signal\n\nJunio C Hamano (10):\n      environ: document GIT_SSL_NO_VERIFY\n      environ: explain Boolean environment variables\n      environ: GIT_FLUSH should be made a usual Boolean\n      environ: simplify description of GIT_INDEX_FILE\n      environ: GIT_INDEX_VERSION affects not just a new repository\n      branch: do not fail a no-op --edit-desc\n      SubmittingPatches: use usual capitalization in the log message body\n      Downmerge a handful of topics for 2.38.2\n      Downmerge a bit more for 2.38.2\n      Git 2.38.2\n\nNoah Betzen (1):\n      mergetool.txt: typofix 'overwriten' -> 'overwritten'\n\nOscar Dominguez (1):\n      ci(main): upgrade actions/checkout to v3\n\nPhillip Wood (3):\n      mailinfo -b: fix an out of bounds access\n      ssh signing: return an error when signature cannot be read\n      t3435: remove redundant test case\n\nRené Scharfe (4):\n      gc: simplify maintenance_task_pack_refs()\n      t/lib-httpd: pass LANG and LC_ALL to Apache\n      bisect--helper: plug strvec leak\n      archive: deduplicate verbose printing\n\nRubén Justo (2):\n      ref-filter.c: fix a leak in get_head_description\n      branch: description for non-existent branch errors\n\nSergey Organov (3):\n      diff-merges: cleanup func_by_opt()\n      diff-merges: cleanup set_diff_merges()\n      diff-merges: clarify log.diffMerges documentation\n\nTaylor Blau (7):\n      Documentation/git-multi-pack-index.txt: fix typo\n      Documentation/git-multi-pack-index.txt: clarify expire behavior\n      midx.c: prevent `expire` from removing the cruft pack\n      midx.c: avoid cruft packs with `repack --batch-size=0`\n      midx.c: replace `xcalloc()` with `CALLOC_ARRAY()`\n      midx.c: remove unnecessary loop condition\n      midx.c: avoid cruft packs with non-zero `repack --batch-size`\n\nVictoria Dye (2):\n      read-cache: avoid misaligned reads in index v4\n      rebase --update-refs: avoid unintended ref deletion\n\nÆvar Arnfjörð Bjarmason (9):\n      test-lib: have SANITIZE=leak imply TEST_NO_MALLOC_CHECK\n      CodingGuidelines: update for C99\n      CodingGuidelines: mention dynamic C99 initializer elements\n      CodingGuidelines: allow declaring variables in for loops\n      CodingGuidelines: mention C99 features we can't use\n      CodingGuidelines: recommend against unportable C99 struct syntax\n      CI: upgrade to macos-12, and pin OSX version\n      CI: don't explicitly pick \"bash\" shell outside of Windows, fix regression\n      CI: migrate away from deprecated \"set-output\" syntax\n\nĐoàn Trần Công Danh (1):\n      Makefile: clarify runtime relative gitexecdir\n\n"}]}