Skip to content

uutils-selected 0.7.0#493

Closed
moonfruit wants to merge 1 commit intomainfrom
bump-uutils-selected-0.7.0
Closed

uutils-selected 0.7.0#493
moonfruit wants to merge 1 commit intomainfrom
bump-uutils-selected-0.7.0

Conversation

@moonfruit
Copy link
Owner

Created with brew bump-formula-pr.

Details

release notes
### **Rust Coreutils 0.7.0 Release:**

We are excited to announce the release of Rust Coreutils 0.7.0 — a performance-focused release with major optimizations across dozens of utilities, continued safety improvements replacing unsafe code with safe abstractions, and a comprehensive campaign to eliminate panics on write errors. We also contributed many patches upstream to GNU coreutils, and welcomed their feedbacks and supports, strengthening both projects!


GNU Test Suite Compatibility:

Result 0.6.0 0.7.0 Change 0.6.0 to 0.7.0 % Total 0.6.0 % Total 0.7.0 % Change 0.6.0 to 0.7.0
Pass 622 629 +7 96.28% 94.59% -1.69%
Skip 7 13 +6 1.08% 1.95% +0.87%
Fail 16 23 +7 2.48% 3.46% +0.98%
Error 1 0 -1 0.15% 0% -0.15%
Total 646 665 +19 (new tests)

Note: The GNU test reference was updated from 9.9 to 9.10, adding 19 new tests. While the pass percentage decreased due to these newly added tests, the absolute number of passing tests increased by 7 and errors were eliminated entirely. Work is ongoing to address the new test failures.


GNU testsuite evolution


Highlights:

  • GNU Compatibility & Upstream Contributions

    • 629 passing tests (+7 from 0.6.0), with 19 new tests added from the GNU 9.10 update
    • Updated GNU test reference from 9.9 to 9.10
    • Contributed numerous patches upstream to GNU coreutils, benefiting both projects
    • New GNU compatibility fixes across date, fmt, kill, ptx, numfmt, cksum, and more
    • Took over maintenance of num-prime, the primality testing library used by factor
  • Performance Overhaul

    • Faster hash maps: rustc-hash in ls, du, tsort, shuf, mv; foldhash in sort
    • unexpand/expand: ASCII fast-path, buffered reads — 14%+ gain in unexpand
    • shuf, split, sort, du: Reduced malloc allocations (+3–6% in du, +4% in shuf)
    • nl: Optimized with itoa and direct writing
    • true/false: Removed clap dependency, smaller binary, faster startup
    • uucore: Disabled signal setup in simple utilities for binary size and startup speed
  • Robustness: Eliminated /dev/full Panics

    • Fixed panics when stderr is /dev/full across 20+ utilities (echo, date, sort, expr, hostname, id, comm, pr, dircolors, and more)
    • Generic fix ensuring unrecognized options with 2>/dev/full do not abort
  • Safety & Code Quality

    • Replaced unsafe libc calls with safe nix crate wrappers in uucore (umask, mkdirat, and more) and mknod
    • Eliminated TOCTOU races in ln, tac, and install -D
    • rm: --preserve-root now works correctly on symlinks
    • MSRV updated to 1.88
  • Notable Bug Fixes

    • date: Extensive fixes — -u/-s/-d flags, timezone abbreviation lookup and DST, RFC-822 format, %+/%_ modifiers, --debug, locale date_fmt
    • cp: Readonly directories, -a/-z flags, special files, non-UTF-8 directory names
    • mv: Preserve symlinks during cross-device moves, handle FIFOs in directories
    • ls: Hyperlink OSC 8 format, dired reports, fd leak on deep recursion, invalid UTF-8 hidden files
    • sort: Collator panic in worker threads, scientific notation parsing
    • paste: Multi-byte delimiters, GNU escape sequences, bounded buffering
    • printf: %q shell quoting with control chars and quotes
    • ptx: -t/--typeset-mode, multibyte Unicode panic, GNU default behavior
    • numfmt: --debug flag, empty delimiter, null byte handling, error message formatting
    • cksum: SHAKE algorithms, --binary/--text/--tag errors
    • cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor, wc: Various GNU compatibility and correctness fixes
  • Platform Support

    • NetBSD and PowerPC build fixes
    • Windows: tac stdin piping, test -r/-w/-x, publish static *.exe binaries
    • WebAssembly: Publish *.wasm artifacts
    • stdbuf: Support libstdbuf in same directory as binary
    • NixOS test compatibility fix; added security audit workflow
  • Contributions: This release was made possible by 23 new contributors joining our community


Call to Action:

Help us translate - Contribute translations at Weblate
Sponsor us on GitHub to accelerate development: github.com/sponsors/uutils

What's Changed

cat

cksum

chroot

comm

coreutils

cp

csplit

cut

date

dd

df

dircolors

du

echo

env

expand

expr

factor

false

fmt

fold

hostname

id

install

kill

ln

ls

mktemp

mknod

mv

nl

nproc

numfmt

od

paste

pr

printf

ptx

readlink

rm

shuf

sort

split

stat

stdbuf

stty

sync

tac

tail

test

tr

true

tsort

unexpand

uniq

uptime

vdir

wc

whoami

uucore

CI & Build

Documentation

Code Quality & Cleanup

View the full release notes at https://github.com/uutils/coreutils/releases/tag/0.7.0.


@moonfruit moonfruit force-pushed the bump-uutils-selected-0.7.0 branch from 0826239 to 054d087 Compare March 9, 2026 05:50
@moonfruit moonfruit added the pr-pull Make bottles label Mar 9, 2026
@github-actions github-actions bot deleted the bump-uutils-selected-0.7.0 branch March 9, 2026 06:00
@github-actions github-actions bot closed this in ceeb943 Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-pull Make bottles

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant