A stable version of the GNU Coreutils 9.5 set of basic system utilities has been published, which includes programs such as sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, etc.
Key innovations:
- The cp, mv, install, cat and split utilities have been optimized for write and read operations. The minimum readable or writable block size has been increased from 128KiB to 256KiB, resulting in a 10-20% increase in throughput when reading cached files.
- Support for unnamed signals has been added to the env, kill and timeout utilities.
- By eliminating the translation of unnecessary MCS/MLS marks, the efficiency of copy operations has been increased when used in the SE system.Linux.
- Reduced startup time for the sort utility by stopping dynamic linking with the libcrypto library in situations where the "-R" option is not specified.
- The work of the wc utility has been significantly accelerated in environments with single-byte locales and slightly accelerated on systems with multi-byte locales.
- Added support for the β--from=OWNER:GROUPβ option to the chgrp utility to apply changes only to files with the specified owner and group.
- The chmod utility, similar to the chown and chmod utilities, implements the β-hβ, β-Hβ, β-Lβ, β-Pβ and β--dereferenceβ options, which provide additional options for processing symbolic links.
- Added "--keep-directory-symlink" option to cp utility to save and follow existing directory symlinks.
- The "--update=none-fail" option has been added to the cp and mv utilities, which is similar to the "--no-clobber" option, except that execution fails if the files already exist.
- The -a (--argv0) option has been added to the env utility to override the command line null parameter (the path to the executable file).
- The "--exchange" option has been added to the mv utility to exchange the contents of the source and destination (for example, when executing "mv --exchange AB", the contents of A and B will be swapped, i.e. A will move to B, and B to A).
- The tail utility has added support for tracking output from multiple processes by repeatedly specifying multiple β-pidβ options.
A few days ago, the uutils coreutils project released version 0.0.25, which develops an analogue of the GNU Coreutils package, rewritten in Rust. coreutils includes over 100 utilities, including sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, and ls. The project's goal is to create a cross-platform alternative to Coreutils, capable of running on platforms including Windows, Redox, and Fuchsia. Unlike GNU Coreutils, the Rust implementation is distributed under the permissive MIT license, instead of the copyleft GPL.
The new version of uutils uses the GNU Coreutils 9.4 release as a reference. Improved compatibility with the GNU Coreutils reference test suite, which passed 437 tests (previously 422), failed 117 (132) tests, and skipped 50 (50) tests. Provides full compatibility with GNU Coreutils for utilities base64, basename, cat, chgrp, chmod, chown, dirname, expand, fold, groups, join, ln, mktemp, nice, nl, nproc, paste, pathchk, printenv, realpath, shuf, sleep, split, sync, unexpand, uniq, wc and yes.
Expanded capabilities, improved compatibility and added missing options for utilities base32, base64, basenc, basename, cat, chcon, chmod, cksum, cp, csplit, cut, dd, df, du, echo, env, expand, factor, fmt, hashsum , install, ln, ls, more, numfmt, odd, printf, pr, seq, shuf, sort, split, stat, tsort, tty, truncate, uname and uniq.

Source: opennet.ru
