The uutils project released Rust Coreutils 0.11.0 on Aug. 31. The release focuses on three things: error messages, performance and GNU compatibility. Against the GNU test suite, the Rust rewrite now passes 653 tests, up eight from 0.10, or 95.33% of the total. It fails 22, down six, and for the first time no test errors out.
Compiler-style error messages
The most visible change is a new diagnostic engine built on the ariadne crate. When stderr is a terminal and an argument fails to parse, the tool echoes the arguments back, puts a caret under the character at fault and adds a help line explaining the syntax, the way a compiler does. That covers a chmod mode, a cut list, a sort key or a tr set, for example. The project’s blog post has before-and-after examples.
The carets already appear in more than two dozen utilities, including chmod, mkdir, install, sort, cut, head, tail, split, dd, stat, ls, df and du. The reports are localized, and they still print the usual Try '... --help' hint. The UUTILS_DIAG environment variable controls the behavior. For size-constrained builds, the caret rendering can be compiled out entirely. Each diagnostic goes out in a single stderr write, so concurrent processes can’t interleave their output.
Faster builds and fewer slow paths
The published Linux, macOS and Windows binaries are now built with profile-guided optimization, which the project says makes them up to 31% faster. Several utilities got targeted work on top of that:
cpnow opens each file only once, which the project measured as a 32.93% gain.joinis 1.37 times faster on paired input, and 2.5 times faster than GNU, because it skips locale comparison when that can’t change the result.od --skip-bytesusessplice(2)on non-seekable input, andddnow page-aligns its read buffer.
The maintainers now treat a utility being significantly slower than GNU as a bug.
Security and robustness
On the security side, mv and cp moved to file-descriptor-based operations to close an xattr time-of-check/time-of-use race. rm no longer follows a symlink swapped in at the -r operand. chmod uses fchmodat for recursive changes, and cp no longer applies chmod through a destination symlink. The release also fixes hangs in split and yes, plus a long list of panics on edge-case input.
There are new GNU-matching options too, including uname -A, cut -F and pr --columns. Windows gains kill and uptime, and the dependency tree shrank as crates such as byteorder, filetime and same-file gave way to std, rustix and windows-sys.
The cycle merged 358 pull requests, including work from 26 first-time contributors, and the project has now passed 1,000 contributors overall. August was its busiest month yet, with 476 commits from 57 authors. For distributions, Ubuntu is the one to watch. It later completed its switch to Rust Coreutils for Ubuntu 26.10.


WebProNews is an iEntry Publication