The uutils project — an ambitious effort to rewrite GNU coreutils in Rust — just shipped version 0.7, and the numbers tell a compelling story. Compatibility with the original GNU coreutils has climbed to 82%, up from roughly 78% in the previous release. That might sound incremental. It’s not.
GNU coreutils is the bedrock of Linux. Commands like cp, ls, sort, cat, and chmod are so fundamental that most developers never think about them. They just work. Replacing them with memory-safe Rust equivalents is the kind of infrastructure project that doesn’t generate headlines but could reshape how we think about system-level security and reliability for decades.
What’s New in uutils 0.7
According to the release notes covered by Phoronix, the 0.7 release brings substantial improvements across dozens of individual utilities. The project now passes 82% of GNU’s own test suite — a benchmark the team uses to measure drop-in compatibility. Several utilities saw significant jumps. dd, the disk duplication tool, went from 60% to 80% compatibility. tail climbed from 73% to 81%. printf hit 96%.
Some utilities are now at or near 100% compatibility: base32, base64, basename, cat, echo, and others. These aren’t toys. They’re the commands that shell scripts, build systems, and container images depend on constantly.
The release also brings performance work. The team has been optimizing hot paths in utilities like sort and cp, and early benchmarks suggest the Rust versions can match or beat GNU’s C implementations in certain workloads. Memory safety without a performance tax — that’s the pitch, and it’s increasingly credible.
Bug fixes are extensive. Over 400 commits landed between 0.6 and 0.7, touching everything from argument parsing edge cases to POSIX compliance details that only surface in adversarial test suites.
Why the Industry Is Watching
This isn’t just a hobbyist rewrite project anymore. The push toward memory-safe languages in critical infrastructure has real institutional backing. The White House’s Office of the National Cyber Director published a technical report in February 2024 explicitly calling on developers to adopt memory-safe languages. CISA has echoed the same message repeatedly. And the Linux kernel itself has been gradually incorporating Rust since version 6.1.
Coreutils is a natural target. These utilities are written in C, some dating back decades, and they run with elevated privileges on virtually every Linux system in existence. A buffer overflow in cp or sort isn’t theoretical — it’s the kind of vulnerability class that memory safety eliminates by design.
Major distributions haven’t committed to shipping uutils as a default yet. But the trajectory is clear. Once compatibility clears 90% and the project demonstrates stability under production workloads, the conversation shifts from “if” to “when.”
Android and embedded Linux are potential early adopters. Google has been aggressive about Rust adoption in Android’s lower layers, and a memory-safe coreutils fits that strategy perfectly.
There’s also the supply chain angle. Fewer C dependencies means a smaller attack surface. Period.
What’s Still Missing
The 18% compatibility gap isn’t trivial. Some utilities lag significantly — stty sits at just 33%, and pr is at 31%. These are niche tools, but they matter for full GNU compatibility. Enterprise adoption requires passing the long tail of edge cases that production environments inevitably hit.
And there are philosophical questions. GNU coreutils carries decades of accumulated behavior — some documented, some not. Matching that behavior exactly, including the bugs that scripts have come to depend on, is a Sisyphean task. The uutils team knows this. Their approach has been pragmatic: prioritize the most-used utilities first, then grind through the rest.
Cross-platform support is another differentiator. uutils runs on Windows, macOS, and FreeBSD in addition to Linux. GNU coreutils doesn’t. That’s a genuine advantage for CI/CD pipelines and developer toolchains that span operating systems.
So where does this leave us? The 0.7 release is a milestone, not a finish line. But the gap is closing faster than skeptics expected. If the team maintains this pace, a 90%+ compatible release could land within the next two to three cycles. At that point, distribution maintainers will have to make real decisions.
The Rust rewrite of coreutils won’t happen overnight. But it’s no longer a question of feasibility. It’s a question of timeline.


WebProNews is an iEntry Publication