Published release of the project uutils coreutils 0.6.0 (Rust Coreutils), developing an analogue of the package GNU Coreutils, written in Rust. Coreutils comes with over a hundred utilities, including sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, and ls. The goal of the project is to create a cross-platform alternative implementation of Coreutils, capable of running on Windows, Redox and Fuchsia platforms, among others.
Rust Coreutils is enabled by default in the Ubuntu 25.10 release and is used in the AerynOS (Serpent OS) and Apertis (developed by Collabora) distributions. Unlike GNU Coreutils, the Rust implementation is distributed under the permissive MIT license, instead of the GPL copyleft license. Additionally, the same team of developers is developing analogues of utility sets written in Rust util-linux, diffutils, findutils, procps and acl, as well as the programs sed and login.
In the new versions of Rust Coreutils:
- The level of compatibility with the GNU Coreutils reference test suite has been achieved – 96.28% (from 87.75%). 622 tests were successfully completed, which is 56 more than in the previous version (566). 16 (was 55) tests failed and 7 (was 23) tests were missed. The most significant compatibility improvements are seen for the sort, ls, date, cksum, and tail utilities.
- Code that used the “unsafe” keyword has been removed from date, sort, locale.rs, and other utilities.
- Calls to the standard libc library have been replaced with equivalent protected calls provided by the nix.
- Error handling has been improved, crashes when writing to /dev/full have been eliminated.
- The date utility has implemented localization of the names of months and days, taking into account ICU.
The clock and calendar are formatted taking into account the locale. - The sort utility provides sorting of numbers with thousands separators and implements processing of the +POS/-POS parameters.
- The join utility has added support for the “collation” locale properties, allowing comparisons to be made taking into account the meaning of characters (for example, when comparing, the accent sign may not be taken into account).
- The performance of the base32, base64, basenc and df utilities has been optimized.
- In the uniq utility, memory consumption has been reduced when running case-insensitively.
- In the shuf utility, numerical output has been optimized and the “–random-seed” option has been added.
- Tsort avoids loading all input data into memory.
- The “–debug” flag has been added to the tail utility.
- The chmod utility has solved problems with recursive execution of operations and added the “–preserve-root” option.