The Rust Coreutils project, which aims to provide a full, modern Rust implementation of the GNU Core Utilities — the essential command-line tools found on every Linux and Unix-like operating system — has announced the release of version 0.4.
Notably, the project’s growing maturity has already led to real-world adoption in some Linux distros, such as Ubuntu 25.10 “Questing Quokka” and AerynOS, both of which now utilize Rust Coreutils for select system utilities.
Version 0.4 brings this release a step closer to achieving full GNU Coreutils compatibility. According to devs, the latest test results show 544 passing tests, up from 532 in the previous 0.3 release — an increase that raises total compatibility to 85.8%, while failures dropped from 68 to 56.
Among the notable improvements are better timezone handling in the date utility, which brings its behavior closer in line with GNU’s version, and general reliability fixes across tools such as cat, comm, and readlink.
Several utilities have also received internal optimizations aimed at improving performance and stability. The factor command now uses the num_prime crate for significantly faster u64 and u128 factorization. The tsort utility has been rewritten to use an iterative depth-first search algorithm, fixing potential stack overflows in deeply nested dependency graphs.
Additionally, the cksum tool underwent a major overhaul, gaining benchmark coverage and support for SHA-2 and SHA-3 algorithms. It also integrates the functionality of hashsum, which has now been deprecated to eliminate interface divergence from GNU’s implementation.
Other utilities also received targeted fixes: mkdir now handles deeply nested directories safely without stack overflow, printf better manages large format widths, and dd correctly handles partial block writes when using O_DIRECT.
Apart from that, Rust Coreutils 0.4.0 introduces broader cross-platform compatibility, featuring new OpenBSD support for stdbuf and uptime, as well as multiple FreeBSD build and test improvements.
For a complete list of changes and technical details, visit the changelog.
