Open Source

Rust Coreutils 0.12.0 Closes Ubuntu Compatibility Gaps, Removes Final C Dependency

The Rust implementation of GNU Coreutils has reached version 0.12.0, addressing all compatibility issues flagged by Ubuntu and eliminating the last C dependency from the expr utility.

3 min read
Rust Coreutils 0.12.0 Released

Early Thursday morning Eastern Time saw the release of uutils coreutils, commonly referred to as Rust Coreutils, reaching version 0.12.0. This project delivers a Rust-based implementation of gnu coreutils, the suite of command-line utilities present on virtually every Linux distribution. The suite encompasses essential tools including ls, cp, mv, rm, mkdir, chmod, chown, cat, and numerous others.

The shift toward Rust reflects the language's growing prominence in systems programming. Advocates emphasize its memory safety guarantees and performance characteristics, with even critical Linux kernel components undergoing rewrites in Rust. The language has become Ubuntu's standard since the release of Ubuntu 25.10, Questing Quokka, a decision followed by most Ubuntu variants. Rust Coreutils also ships as the default on AerynOS, formerly known as Serpent, and on Redox OS, a Unix-like microkernel operating system built in Rust that is not Linux-based. The project remains optionally available across numerous distributions, including Fedora, Alpine Linux, OpenMandriva, Apertis, NixOS, and several Debian-derived systems.

A core design principle for Rust Coreutils, as documented in the project's official materials, is that it "should be a drop-in replacement for the GNU coreutils." If a distribution were to adopt it during a system update, users would likely notice no disruption. The development team reports that this release, arriving three days after gnu coreutils 9.12, resolves every issue that Ubuntu designated as a priority for this development cycle.

What's New and What's Fixed

Beyond addressing Ubuntu's requested fixes, the developers focused on resolving what they describe as "a long tail of smaller divergences from GNU." As the project announcement states:

Few of these are glamorous, but they are exactly what breaks a script that has worked for twenty years.

This attention to detail explains why a distribution switching to Rust Coreutils would likely go unnoticed by end users. One concrete example involves fixes to commands that previously failed to properly handle values starting with a hyphen; these now behave identically to their GNU counterparts.

The release announcement elaborates on additional improvements:

Alongside that, we removed the last C dependency of expr (onig is replaced by the pure-Rust fancy-regex), continued the Windows port and landed another round of security hardening on ls, sort and install.

The developers also addressed an internal code quality issue. Some contributions had inadvertently carried comments and code directly from GNU Coreutils, violating the project's principle that uutils represents an original implementation. The team conducted a comprehensive review and rewrote problematic sections in both comments and functions that adhered too closely to the C original, with no behavioral changes resulting. The GNU Coreutils maintainers have been informed of these adjustments.

The project is available for download and installation through its GitHub repository.

Source: FOSS Force · Reporting supplemented by The Silicon Ledger staff.