[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils-9.0 released [stable]
From: |
Geoffrey S. Knauth |
Subject: |
Re: coreutils-9.0 released [stable] |
Date: |
Fri, 24 Sep 2021 10:38:06 -0400 |
User-agent: |
Cyrus-JMAP/3.5.0-alpha0-1303-gb2406efd75-fm-20210922.002-gb2406efd |
Thank you!
On Fri, Sep 24, 2021, at 10:01, Pádraig Brady wrote:
> This is to announce coreutils-9.0, a stable release.
>
> This is a new major release, with these significant changes:
> - cp has changed how it handles data
> - enables CoW by default (through FICLONE ioctl),
> - uses copy offload where available (through copy_file_range),
> - detects holes differently (though SEEK_HOLE)
> - This also applies to mv and install.
>
> - utilities are more tuned to the hardware available
> - wc uses avx2 instructions to count lines
> - cksum uses pclmul instructions for --algorithm=crc
> - Other digest tunings remain delegated to libcrypto
>
> - More amalgamation of utilities
> - cksum now supports the -a option to select any digest.
> - This is the preferred interface, rather than sha*sum etc.
> - This is similar to the amalgamation of encoding utilities
> introduced in the basenc command in v8.31.
> See the NEWS below for more details.
>
> Thanks to everyone who has contributed!
> There have been 257 commits by 25 people in the 81 weeks since 8.32
> Andreas Schwab (1) KOBAYASHI Takashi (2)
> Arman Absalan (1) Kamil Dudka (4)
> Assaf Gordon (1) Kristoffer Brånemyr (3)
> Ben Pfaff (1) Nikolay Nechaev (1)
> Benno Schulenberg (1) Nishant Nayan (1)
> Bernhard Voelker (17) Paul Eggert (97)
> Carl Edquist (2) Pádraig Brady (110)
> Emanuele Giacomelli (1) Tianjia Zhang (1)
> Erik Auerswald (1) Tim Gates (1)
> Grigorii Sokolik (2) Tobias Stoeckmann (1)
> Jason Kim (1) Zorro Lang (1)
> Jim Meyering (7) nl6720 (1)
> Justin Tracey (1)
>
> Pádraig [on behalf of the coreutils maintainers]
>
> ==================================================================
>
> Here is the GNU coreutils home page:
> https://gnu.org/software/coreutils/
>
> For a summary of changes and contributors, see:
> https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=shortlog;h=v9.0
> or run this command from a git-cloned coreutils directory:
> git shortlog v8.32..v9.0
>
> To summarize the 1615 gnulib-related changes, run these commands
> from a git-cloned coreutils directory:
> git checkout v9.0
> git submodule summary v8.32
>
> ==================================================================
>
>
> Here are the compressed sources:
> https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.gz (14MB)
> https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz (5.4MB)
>
> Here are the GPG detached signatures[*]:
> https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.gz.sig
> https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz.sig
>
> Use a mirror for higher download bandwidth:
> https://www.gnu.org/order/ftp.html
>
> Here are the SHA1 and SHA256 checksums:
>
> 027a318930f295cb5bbc0dd06fb47a3b8552fc80 coreutils-9.0.tar.gz
> b9TriKUVAEl3/HLX9HtAYgQJzEHfrwBBn90b4XZjxDQ coreutils-9.0.tar.gz
> e2623469f37259d4a89ced5f91af5eaf0ab8792d coreutils-9.0.tar.xz
> zjCs30pBvFuzDdlV6eqnX6IWtOPesIiJ7TJDPHs7l84 coreutils-9.0.tar.xz
>
> The SHA256 checksum is base64 encoded, instead of the
> hexadecimal encoding that most checksum tools default to.
>
> [*] Use a .sig file to verify that the corresponding file (without the
> .sig suffix) is intact. First, be sure to download both the .sig file
> and the corresponding tarball. Then, run a command like this:
>
> gpg --verify coreutils-9.0.tar.gz.sig
>
> If that command fails because you don't have the required public key,
> then run this command to import it:
>
> gpg --keyserver keys.gnupg.net --recv-keys DF6FD971306037D9
>
> and rerun the 'gpg --verify' command.
>
> This release was bootstrapped with the following tools:
> Autoconf 2.71
> Automake 1.16.4
> Gnulib v0.1-4937-g9aca7b673
> Bison 3.7.4
>
> ==================================================================
>
> NEWS
>
> * Noteworthy changes in release 9.0 (2021-09-24) [stable]
>
> ** Bug fixes
>
> chmod -v no longer misreports modes of dangling symlinks.
> [bug introduced in coreutils-5.3.0]
>
> cp -a --attributes-only now never removes destination files,
> even if the destination files are hardlinked, or the source
> is a non regular file.
> [bug introduced in coreutils-8.6]
>
> csplit --suppress-matched now elides the last matched line
> when a specific number of pattern matches are performed.
> [bug introduced with the --suppress-matched feature in coreutils-8.22]
>
> df no longer outputs duplicate remote mounts in the presence of bind
> mounts.
> [bug introduced in coreutils-8.26]
>
> df no longer mishandles command-line args that it pre-mounts
> [bug introduced in coreutils-8.29]
>
> du no longer crashes on XFS file systems when the directory hierarchy is
> heavily changed during the run.
> [bug introduced in coreutils-8.25]
>
> env -S no longer crashes when given unusual whitespace characters
> [bug introduced in coreutils-8.30]
>
> expr no longer mishandles unmatched \(...\) in regular expressions.
> [bug introduced in coreutils-6.0]
>
> ls no longer crashes when printing the SELinux context for unstatable
> files.
> [bug introduced in coreutils-6.9.91]
>
> mkdir -m no longer mishandles modes more generous than the umask.
> [bug introduced in coreutils-8.22]
>
> nl now handles single character --section-delimiter arguments,
> by assuming a second ':' character has been specified, as specified by
> POSIX.
> [This bug was present in "the beginning".]
>
> pr again adjusts tabs in input, to maintain alignment in multi column
> output.
> [bug introduced in coreutils-6.9]
>
> rm no longer skips an extra file when the removal of an empty
> directory fails.
> [bug introduced by the rewrite to use fts in coreutils-8.0]
>
> split --number=K/N will again correctly split chunk K of N to stdout.
> Previously a chunk starting after 128KiB, output the wrong part of the
> file.
> [bug introduced in coreutils-8.26]
>
> tail -f no longer overruns a stack buffer when given too many files
> to follow and ulimit -n exceeds 1024.
> [bug introduced in coreutils-7.5]
>
> tr no longer crashes when using --complement with certain
> invalid combinations of case character classes.
> [bug introduced in coreutils-8.6]
>
> basenc --base64 --decode no longer silently discards decoded characters
> on (1024*5) buffer boundaries
> [bug introduced in coreutils-8.31]
>
> ** Changes in behavior
>
> cp and install now default to copy-on-write (COW) if available.
>
> cp, install and mv now use the copy_file_range syscall if available.
> Also, they use lseek+SEEK_HOLE rather than ioctl+FS_IOC_FIEMAP on sparse
> files, as lseek is simpler and more portable.
>
> On GNU/Linux systems, ls no longer issues an error message on a
> directory merely because it was removed. This reverts a change
> that was made in release 8.32.
>
> ptx -T no longer attempts to substitute old-fashioned TeX escapes
> for 8-bit non-ASCII alphabetic characters. TeX indexes should
> instead use '\usepackage[latin1]{inputenc}' or equivalent.
>
> stat will use decomposed (major,minor) device numbers in its default
> format.
> This is less ambiguous, and more consistent with ls.
>
> sum [-r] will output a file name, even if only a single name is passed.
> This is consistent with sum -s, cksum, and other sum(1) implementations.
>
> ** New Features
>
> cksum now supports the -a (--algorithm) option to select any
> of the existing sum, md5sum, b2sum, sha*sum implementations etc.
> cksum now subsumes all of these programs, and coreutils
> will introduce no future standalone checksum utility.
>
> cksum -a now supports the 'sm3' argument, to use the SM3 digest algorithm.
>
> cksum --check now supports auto detecting the digest type to use,
> when verifying tagged format checksums.
>
> expr and factor now support bignums on all platforms.
>
> ls --classify now supports the "always", "auto", or "never" flags,
> to support only outputting classifier characters if connected to a tty.
>
> ls now accepts the --sort=width option, to sort by file name width.
> This is useful to more compactly organize the default vertical column
> output.
>
> ls now accepts the --zero option, to terminate each output line with
> NUL instead of newline.
>
> nl --line-increment can now take a negative number to decrement the count.
>
> stat supports more formats for representing decomposed device numbers.
> %Hd,%Ld and %Hr,%Lr will output major,minor device numbers and device types
> respectively. %d corresponds to st_dev and %r to std_rdev.
>
> ** Improvements
>
> cat --show-ends will now show \r\n as ^M$. Previously the \r was taken
> literally, thus overwriting the first character in the line with '$'.
>
> cksum [-a crc] is now up to 4 times faster by using a slice by 8 algorithm,
> and at least 8 times faster where pclmul instructions are supported.
> A new --debug option will indicate if pclmul is being used.
>
> md5sum --check now supports checksum files with CRLF line endings.
> This also applies to cksum, sha*sum, and b2sum.
>
> df now recognizes these file systems as remote:
> acfs, coda, fhgfs, gpfs, ibrix, ocfs2, and vxfs.
>
> rmdir now clarifies the error if a symlink_to_dir/ has not been traversed.
> This is the case on GNU/Linux systems, where the trailing slash is ignored.
>
> stat and tail now know about the "devmem", "exfat", "secretmem", "vboxsf",
> and "zonefs" file system types. stat -f -c%T now reports the file system
> type, and tail -f uses polling for "vboxsf" and inotify for the others.
>
> timeout now supports sub-second timeouts on macOS.
>
> wc is up to 5 times faster when counting only new line characters,
> where avx2 instructions are supported.
> A new --debug option will indicate if avx2 is being used.
>
> -
> Also posted at https://savannah.gnu.org/forum/forum.php?forum_id=10052
>
> --
> If you have a working or partly working program that you'd like
> to offer to the GNU project as a GNU package,
> see https://www.gnu.org/help/evaluation.html.
--
Geoffrey S. Knauth | https://knauth.org/gsk