I think we're about ready for a new gzip release, so here's the latest. Please take it for a spin and let us know of success and failure. Thanks to Paul Eggert for all the recent improvements.
gzip snapshot: https://meyering.net/gzip/gzip-ss.tar.xz 788 KB https://meyering.net/gzip/gzip-ss.tar.xz.sig https://meyering.net/gzip/gzip-1.12.31-7553.tar.xz Changes in gzip since v1.12: Jim Meyering (4): maint: post-release administrivia maint: reference CVE-2022-1271 in 1.12's NEWS maint: SPC-indent inflate.c maint: avoid new sc_tight_scope syntax-check failure Paul Eggert (27): maint: update --version copyright dates gzip: match printf format to arg type gzip: detect invalid input gzip: test invalid-input bug maint: update from Gnulib build: update gnulib submodule to latest zgrep: tweak for sed failure build: update gnulib submodule to latest maint: update .gitignore to match Gnulib changes maint: stop using obsolete fdl module maint: stop using obsolete stdnoreturn module maint: stop using obsolete dosname module maint: port function definitions to C23 gzip: local → static gzip: port alignas usage to C23 maint: port to gcc -std=c99 -Wstrict-prototypes maint: prefer https: to http: maint: sync to Gnulib bootstrap maint: expand tabs in previous patch maint: fix typo in previous patch maint: do not include stdbool.h, stdalign.h maint: more fallout from Gnulib sync build: update gnulib submodule to latest maint: go back to single-file bootstrap maint: link with $(LIB_FDATASYNC) gzip: use strerror, not perror maint: update THANKS Changes in gnulib since v1.12: * gnulib 58c597d13b...7924f0e784 (403): > Add --pull, --gen options to build-aux/bootstrap > Support packages with just 'bootstrap' > Bootstrap with functions, not scripts > Make autopull a shell function too > Make autogen a shell function too > Move scriptversion= lines up in scripts > Fix compilation errors in C++ mode on Solaris 11 OpenIndiana. > stdnoreturn: Mark as deprecated, not obsolete. (Regression 2022-12-24.) > stdbool-c99: fix typo > ctime: Mark as deprecated, not obsolete. (Regression 2022-12-21.) > largefile: sync from Autoconf master > extensions: enable some C23 Annex F functions > stdnoreturn: deprecate > doc: C2x → C23 > file-has-acl: improve recent NFSv4 support > posix_spawnp-tests: fix filename typo > file-has-acl: Basic support for checking NFSv4 ACLs in Linux. > Port __has_c_attribute to strict C23 > asctime, ctime: deprecate > autoupdate > memset_explicit: port to older MS-Windows > Update users.txt. > fts: make debug version compilable again > verify: update __STDC_VERSION__ as per C23 > fts: fix race + mishandling of fstatat failure > fts: omit goto break_without_closedir > fts: clarify ISSET > argp: Correct documentation. > doc: poll: document poll of special files not supported on macOS > add new ronna and quetta SI prefixes > Update users.txt. > explicit_bzero: implement via memset_explicit > explicit_bzero: memset_explicit is standard > read-file: use memset_explicit > memset_explicit: new module > explicit_bzero: add poison > bootstrap: Fix --help output. > explicit_bzero: work with gcc -std=c99 > Prefer "kill -INT" to killing with a number > In 'trap' commands, prefer symbolic to numeric signal names. > posix_spawn-internal: Avoid warning on macOS. > posix_spawn tests: Fix compilation error (regression 2022-09-14). > parse-datetime: improve doc formatting, timeliness > autoupdate > autoupdate > vc-list-files-tests: Avoid OpenPGP private key operations. > autoupdate > autoupdate > dynarray: Rename to glibc-internal/dynarray. > scratch_buffer: Rename to glibc-internal/scratch_buffer. > doc: mention macOS war on sprintf > scratch_buffer: Document last change. > scratch_buffer: adjust to glibc changes > relocatable-script: Relax license. > autoupdate > maintainer-makefile: Fix last sc_indent commit. > maintainer-makefile: Add syntax-check rule for unportable 'grep -q'. > maintainer-makefile: Fix Apple Xcode 'make syntax-check'. > thread: pacify gcc -Wbad-function-cast > test-getlogin: pacify gcc -Wshadow > gendocs: Output timestamp in English. > assert-h: Make static_assert work on Solaris 11.4. > getdelim: Work around buggy implementation on macOS 10.13. > Update to Unicode 15.0.0. > gen-uni-tables: Temporarily revert last change. > doc: improve intprops doc > autoupdate > tests: prefer stdckdint to intprops > stat-time: prefer stdckdint to intprops > xalloc: remove stray includes + dependencies > autoupdate > assert-h: suppress Apple clang 13 false alarms > largefile: fix detection of time_t size on mingw32 > fts: fix errno handling if dirfd fails > stdbool: Mostly revert last patch. > stdbool: Don't #include a gnulib-generated stdbool.h from config.h. > stdalign: Don't #include a gnulib-generated stdalign.h from config.h. > stdalign: Fix compilation error with MSVC in C++ mode. > stdalign: Avoid namespace pollution. > warnings, manywarnings: Doc fixes. > autoupdate > assert-h: suppress clang false alarms > Add another helper script for creating testdirs. > snippet/warn-on-use: Don't cause wrong AC_CHECK_DECL results with clang. > stdbool, stdbool-c99 tests: Fix compilation error with clang/MSVC. > stdbool: omit ‘#undef true’ > stdbool: Ensure that 'true' can be used in the preprocessor. > stdbool-c99: Ensure that 'true' can be used in the preprocessor. > autoupdate > uni{case,ctype,gbrk,str}/base: Fix installed .h file (regr. 2022-09-10). > signal: Fix a C++ compilation error due to sched_yield on OpenBSD 6.0. > explicit_bzero-tests: robustify a bit > wchar: Fix compilation errors in C++ mode on Solaris 11.3. > swab: Fix compilation error with Sun C++ on Solaris 11.3. > time C++ tests: Fix link error on CentOS 5. > autoupdate > time: Fix compilation errors with clang/MSVC. > verify: Avoid syntax error due to static_assert with clang in C++ mode. > assert-h: work around include confusion > stdbool: depend on C99 > verify: Avoid syntax error due to static_assert with MSVC 14 in C++. > posix_spawn-* tests: Fix test failure on mingw when libtool is in use. > verify: Avoid syntax error due to static_assert with MSVC 14. > verify: treat GNU C++ 6 like recent C++ > verify: Avoid syntax error due to static_assert with GNU C++ 6.x. > Keep ChangeLog entries order in sync with the git commit order. > stdalign: prefer to not include <stdalign.h> > stdalign: alignas and alignof are C23 keywords > assert-h: prefer to ‘verify’ > assert-h: static_assert is a keyword in C23 > Prefer talking about alignas than _Alignas. > stdalign-tests: port to C23 > supersede: Avoid a failure when writing to /dev/null in Solaris zones. > maint: avoid unportable ERE \} > verify: improve maint check > verify: port better to C23 > autoupdate > pipe-filter-gi: Fix test failure on native Windows. > stdbool C++ tests: Fix compilation error with MSVC14 (regr. from today). > Reorganize C++ tests for stdbool and stdbool-c99. > stdbool C++ tests: Fix for C++20. > uchar: Work around error in C++ mode on AIX 7.2 with xlclang. > Rely on new stdbool behavior > stdbool: upgrade from C99 to C23 > string: Fix compilation error in C++ mode on AIX 7.2 with xlclang. > math: Fix compilation error in C++ mode on AIX 7.2 with xlclang. > doc: Mention the stable branches. > posix_spawn-internal: Optimize DuplicateHandle calls on native Windows. > posix_spawn-internal: Refactor. > posix_spawn-internal: Optimize DuplicateHandle calls on native Windows. > posix_spawn-internal: Optimize DuplicateHandle calls on native Windows. > posix_spawn-internal: Don't lose flags while duplicating an fd. > spawn-pipe: Fix pipe-filter-* test hangs (regression 2020-12-24). > autoupate > spawn-pipe: Fix possible hangs in programs that spawn several children. > pipe-filter-gi tests: Fix long-standing failure on native Windows. > posix_spawn_file_actions_addclose tests: Fix mistake from 2022-09-07. > stdbool-tests: match stdbool > mktime: back in sync with GNUlib > autoupdate > posix_spawn_file_actions_addclose tests: Avoid test failure on musl. > autoupdate > gnumakefile: Improve tarball reproducibility. > pthread-h: Fix compilation error on mingw with --enable-threads=windows. > autoupdate > Fix various test link errors on MSVC. > count-leading-zeros: Fix a link error on 32-bit MSVC and a test failure. > count-trailing-zeros: Fix a link error on 32-bit MSVC. > unictype/category-none tests: Fix a link error on MSVC. > oset-c++: Fix compilation error with MSVC 14. > glob tests: Fix link error on mingw. > autoupdate > timespec_get: Fix compilation error with MSVC 14. > stdbool: Fix compilation error in C++ mode with MSVC 14. > fts: Fix compilation error with MSVC 14. > lstat: Fix compilation error in C++ mode on mingw. > pselect: Fix compilation error in C++ mode on mingw. > nanosleep: Work around bug on newer 32-bit mingw. > fmal: Work around glibc 2.17 bug on x86_64. > Fix a compilation error in C++ mode on Solaris 11.4. > Fix compilation errors of C++ tests on Solaris 10 with Sun C++. > Fix a compilation error in C++ mode on FreeBSD 13.1. > stdnoreturn: Document relation to C++. > sysexits: Add C++ tests. > sys_utsname: Add C++ tests. > sys_uio: Add C++ tests. > sys_times: Add C++ tests. > sys_file: Add C++ tests. > sys_file: Document this module. > stdckdint: Add C++ tests. > stdalign: Add C++ tests. > sched: Add C++ tests. > netinet_in: Add C++ tests. > net_if: Add C++ tests. > termcap: Fix link error on AIX 7. > getrandom: Fix compilation error in C++ mode on FreeBSD 12. > math C++ tests: Fix compilation error with clang on FreeBSD 13. > strerror_r-posix: Fix for Hurd. > ptsname tests, ptsname_r tests: Fix test failures on Hurd. > strtol, strtoul: Fix compilation error in C++ mode on Solaris 11. > aligned_alloc: Fix compilation error in C++ mode on Solaris 11. > getdomainname: Fix compilation error in C++ mode on Solaris 11. > autoupdate > terminfo: Don't disturb the termcap module. > fnmatch: fix stdckdint typo > autoupdate > tempname: simplify by omitting _LIBC code > * m4/gnulib-common.m4: Fix comment. > tempname: don't lose entropy in seed > tempname: fix multithreading, ASLR leak etc. > tempname: merge 64-bit time_t fix from glibc > autoupdate > autoupdate > tempname: Add more tests. > tempname: generate better names for MinGW Emacs > maintainer-makefile: Check for incorrect DISTCHECK_CONFIGURE_FLAGS usage. > tempname: Add tests. > pmccabe2html: Doc fix. > stdbool: Drop old BeOS support that gets in the way of ISO C 23 support. > tempname: Fix a comment. > tempname: remove incorrect comment > bootstrap.conf: Use proper shell marker for Emacs. > stdbool: port to C23 > gnulib-tool.py: Fix some code generation details. > gnulib-tool.py: Reduce code duplication. > hamt: fix technically undefined behavior > stdckdint: fix dependency > maint: parenthesize macro definiens > stdckdint: prefer to intprops when easy > stdckdint-h: new module > intprops: refactor intprops.h into two > intprops: refactor _GL_HAS_BUILTIN_OVERFLOW_P > verify: port ‘assume’ to C23 non-GCC > gnulib-tool.py: Finish implementing option --conditional-dependencies. > gnulib-tool.py: Don't do license replacements in the autoconf snippets. > gnulib-tool.py: Fix some code generation details. > gnulib-tool.py: Fixes for conditional dependencies. > gnulib-tool.py: Refactor. > largefile, year2038: simplify if Autoconf 2.72 > gnulib-tool.py: Finish implementing option --extract-test-module. > gnulib-tool.py: Fix handling of nonexistent module names in --extract-*. > gnulib-tool.py: Fix --extract-dependencies result. > gnulib-tool.py: Rename a method. > gnulib-tool.py: Fix section extraction from module descriptions. > gnulib-tool.py: Improve field naming. > gnulib-tool.py: Simplify. > gnulib-tool.py: Reduce code duplication. > gnulib-tool.py: Implement option --find. > gnulib-tool: Fix option --find in combination with option --local-dir. > gnulib-tool.py: Fix some regexes. > gnulib-tool.py: Fix some regex uses. > gnulib-tool.py: Make regex uses more straightforward. > gnulib-tool.py: Make regex uses more straightforward. > gnulib-tool.py: Make regex uses more straightforward. > gnulib-tool: In the VC files messages, omit the destination directory. > gnulib-tool.py: Fix output in --dry-run mode. > gnulib-tool.py: Finish implementing options --vc-files, --no-vc-files. > gnulib-tool.py: Finish implementing option --witness-c-macro. > gnulib-tool.py: Don't initialize local variables too early. > gnulib-tool.py: Finish implementing option --po-domain. > gnulib-tool.py: Finish implementing option --macro-prefix. > gnulib-tool.py: Refactor --makefile-name option. > gnulib-tool.py: Implement option --no-libtool. > gnulib-tool.py: Remove redundant type checks. > gnulib-tool.py: Refactor --makefile-name option. > gnulib-tool.py: Fix link_if_changed function. > gnulib-tool.py: Fix 'Unused import' warnings. > gnulib-tool.py: Fix 'Undefined variable' errors. > gnulib-tool.py: Make option --version work. > gnulib-tool.py: Simplify. > gnulib-tool.py: Fix typo. > gnulib-tool.py: Coding style: Revisit line breaks. > gnulib-tool.py: Simplify boolean setters. > gnulib-tool.py: Implement options --cache-modules, --no-cache-modules. > gnulib-tool.py: Use mainstream/GNU coding style. > gnulib-tool.py: Follow gnulib-tool changes, part 24. > gnulib-tool.py: Respect the specified module list. > gnulib-tool.py: Implement option --avoid. > gnulib-tool.py: Make --with/--without-*-tests handling a little safer. > gnulib-tool.py: Implement option --single-configure. > gnulib-tool.py: Implement options --without-c++-tests etc. > gnulib-tool.py: Implement option --without-tests. > gnulib-tool.py: Fix broken 'for' loop. > gnulib-tool.py: Follow gnulib-tool changes, part 23. > gnulib-tool.py: Fix unjustified "incompatible license" warnings. > gnulib-tool.py: Follow gnulib-tool changes, part 22. > gnulib-tool.py: Follow gnulib-tool changes, part 21. > gnulib-tool.py: Follow gnulib-tool changes, part 20. > gnulib-tool.py: Avoid errors when writing to a VFAT file system, part 2. > gnulib-tool.py: Avoid errors when writing to a VFAT file system. > gnulib-tool.py: Fix typo. > gnulib-tool.py: Fix typo. > gnulib-tool.py: Improve some error messages. > gnulib-tool.py: Write errors to stderr, not stdout. > gnulib-tool.py: Use mainstream coding style. > gnulib-tool.py: Implement options --symlink and --local-symlink. > gnulib-tool.py: Make --copy-file work. > gnulib-tool.py: Allow module arguments to occur at any position. > gnulib-tool.py: Make --test behaviour more similar to gnulib-tool. > gnulib-tool: Clarify that --test allows zero module arguments. > gnulib-tool.py: Make option processing more similar to gnulib-tool. > gnulib-tool.py: Improve compliance with GNU standards. > gnulib-tool.py: Emit error message when conflicting modes are specified. > gnulib-tool.py: Remove most short options. > gnulib-tool.py: Follow gnulib-tool changes, part 19. > gnulib-tool.py: Improve the primitives for relative file names. > gnulib-tool.py: Follow gnulib-tool changes, part 18. > avltree-omap, avltree-oset, avltreehash-list, rbtree-omap: Pacify GCC. > rbtree-oset: Pacify GCC > Update gnulib-tool.py.TODO. > gnulib-tool: add support for --automake-subdir-tests > gendocs.sh: Fix error when invoking 'perl' (regression 2022-07-23). > gnulib-tool.py: Clean up imports. > gnulib-tool.py: Assume Python 3. > gnulib-tool.py: Assume Python 3. > gnulib-tool.py: Modernize coding style. > doc: Update regarding bootstrap split. > gnulib-tool.py: Follow gnulib-tool changes, part 17. > gnulib-tool.py: Follow gnulib-tool changes, part 16. > gnulib-tool.py: Modernize coding style. > gnulib-tool.py: Modernize the file headers. > gnulib-tool.py: Use mainstream coding style. > gnulib-tool.py: Fix error (regression 2021-04-11). > gnulib-tool.py: Fix warning from Python 3.10.4. > gnulib-tool.py: Fix error in Ubuntu 22.04. > Update gnulib-tool.py.TODO. > autoupdate > bootstrap: Make the automatic sync more resilient. > Fix comment. > Split bootstrap into autopull.sh and autogen.sh. > bootstrap: Obey another environment variable GNULIB_REFDIR. > Fix a couple of ShellCheck warnings. > Avoid DoS vulnerability through unsafe default assignment. > bootstrap: Comments. > doc: Update README. > doc: Fix typo. > * doc/parse-datetime.texi: Tweak wording again. > parse-datetime: improve doc for TZ="<-07>7" etc. > sigsegv: Optimize stackvma implementation for AIX 7. > vma-iter: Add support for AIX 7. > iconv: Define a summary result. > iconv: Remove obsolete comment. > announce-gen: Fix internationalization in verification instructions. > lib-symbol-visibility: Improve documentation. > doc: Mark Minix as no longer tested. > announce-gen: better diagnose some usage errors > git-version-gen: Doc fix. > announce-gen: Improve GnuPG verification instructions. > lib-symbol-visibility: Improve documentation. > havelib: Fix 'configure --help' output. > lib-symbol-visibility: Improve documentation. > supersede: Support the file name "/dev/null" on native Windows. > maint.mk: fix syntax-check for unnecessary hash.h header use > fchmodat: Fix test failure on native Windows. > chmod: Add tests. > chmod: New module. > lchmod: Simplify. > javacomp-script, javaexec-script: Add support for disabling Java. > lchmod: port back to AIX 7.2 > fchmodat: pacify gcc -Wunused-variable > getlogin, getlogin_r tests: Really avoid test failure. > fchmodat: port better to MS-Windows etc. > doc: Update O_PATH platforms list. > fcntl: document O_PATH > fchmodat: port to old Linux kernel + newer headers > fopen-gnu: Make this module work again (regression 2022-01-03). > getlogin, getlogin_r tests: Avoid test failure in specific environments. > doc: Add section to attract more people towards the GNU project. > doc: Add section to attract more people towards the GNU project. > doc: Fix warnings about regex chapter structure (regression 2022-05-15). > regex-quote: \} -> } in EREs > dfa: do not warn about \] and \} > regex-quote: \] -> ] in EREs and BREs > filevercmp: don’t treat entire filename as suffix > setlocale: Update after Turkey changed its name. > autoupdate > GNU Emacs Operator node deleted from regex.texi > autoupdate > autoupdate > dfa: new options DFA_STAR_WARN, DFA_PLUS_WARN > dfa: '\n' is not governed by RE_LIMITED_OPS > dfa: new option DFA_STRAY_BACKSLASH_WARN > dfa: new option DFA_CONFUSING_BRACKETS_ERROR > strstr-simple: pacify GCC 12.1 > dfa: steer cleer of POSIX-reserved symbols > autoupdate > parse-datetime: support 'J' military time zone > doc: remove Emacs-specific documentation; match code > string, wchar: Fix compilation error on MSVC (regression 2021-09-07). > glob tests: Fix a warning (regression from 2022-03-23). > termcap: Fix link error when no suitable library is found. > dfa: fix bug with ‘.’ and UTF-8 Hangul Syllables > manywarnings: update C warnings for GCC 12 > parse-datetime: remove Emacs cruft > alloca: Remove old code for Emacs, unused since 2009. > Say that it is not the old interface > autoupdate > libc-config: update to match cdefs > cdefs: merge from glibc > gettime-res: help the compiler > af_alg: port to Ubuntu 22.04 > vasnprintf: Simplify. Reduce binary code size. > vasnprintf: Simplify 'result' variable. > vasnprintf: Simplify a free() call. > string: Avoid syntax error on glibc systems with GCC 11. > stdlib: Fix error in C++ mode on glibc systems (regr. 2022-04-13). > glob: improve config and test cleanup > Fix ChangeLog typo > glob: port to NetBSD 9.2 > regex: match [...---...] like V7 grep > backupfile: fix bug when renaming simple backups > gettime-res: more-robust sampling > Port _GL_HAS_C_ATTRIBUTE to pedantic gcc -std=c99 > verify: port to pedantic gcc -std=c99 > gettime-res: add tests > autoupdate > verify: port to Mac OS 10.7.5 > sigsegv: Fix compilation error on arceb CPUs. > string, wchar: Fix error in C++ mode on glibc systems with clang. > string: Fix errors in C++ mode on glibc systems with clang. > math: Fix errors in C++ mode on glibc systems with clang. > autoupdate > libgmp: pacify Clang too