Skip to content

build(deps): bump uucore from 0.2.2 to 0.10.0 - #590

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/uucore-0.9.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/uucore-0.9.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 10, 2026 •

Copy link
Copy Markdown
Contributor

Bumps uucore from 0.2.2 to 0.10.0.

Release notes

Sourced from uucore's releases.

0.10.0

Rust Coreutils 0.10.0 Release:

We are happy to announce the release of Rust Coreutils 0.10.0 - a release focused on GNU compatibility and robustness. The GNU test suite results improved sharply this cycle (645 passing, 29 failing, down from 56), we landed a second wave of security hardening (TOCTOU races, safe recursive descent, SELinux labeling at creation, backup guards), and we ran a broad anti-panic campaign across the utilities. On top of that: new features (mv --exchange, install --reflink, an OpenSSL backend for the checksum utilities), more zero-copy/read-ahead performance work, and wasm32-wasip2 support.


GNU Test Suite Compatibility:

Result 0.9.0 0.10.0 Change 0.9.0 to 0.10.0 % Total 0.9.0 % Total 0.10.0 % Change 0.9.0 to 0.10.0
Pass 625 645 +20 90.58% 93.48% +2.90%
Skip 8 15 +7 1.16% 2.17% +1.01%
Fail 56 29 -27 8.12% 4.20% -3.92%
Error 1 1 0 0.14% 0.14% 0%
Total 690 690 0

Note: 0.9.0 bumped the GNU reference to 9.11, which added 25 new tests and temporarily pushed the failure count up. This cycle absorbed most of that debt: failures dropped from 56 to 29 and passes reached an all-time high of 645. As we contributed many tests to the GNU implementation, we are also the source of some of these regressions!


GNU testsuite evolution


Highlights:

  • GNU Compatibility

    • 645 passing GNU tests (+20) and 27 fewer failures, the largest single-cycle drop we have had
    • Dozens of behavior alignments: pr (-w/-W/-l/-e/-o, merge mode, page ranges), nproc (cgroups v2 quota, affinity mask, offline cores, OMP_* handling), date (out-of-range years, -d -, O modifier, timezone strings), numfmt, ls, du, install, od, truncate, fold, head/tail, sum, stat
    • Many error messages now carry the file name and the real OS error instead of a vague or stripped message
  • Security Hardening

    • Continued the TOCTOU work started in 0.9.0: touch no longer uses O_TRUNC on create, mkfifo drops the path-based chmod, head checks the open fd instead of the path, split hardens the output-open path, chcon anchors recursive relabeling to the traversal dirfd
    • Safe recursive descent fixes for chmod/chown (symlink cycles, --preserve-root re-checked during the descent), and cp no longer descends into a destination subdirectory that is a symlink
    • SELinux labels are now applied at creation in mkdir, mkfifo and mknod instead of being applied afterwards
    • mv fails closed when recreating a cross-device directory destination, compares file identity in the --backup=simple guard, and strips setuid/setgid when a cross-device copy cannot preserve ownership
    • chroot chroots exactly the path --skip-chdir validated; stdbuf refuses a libstdbuf path that cannot be represented in LD_PRELOAD; install finalizes ownership before mode
    • Added SECURITY.md documenting our threat model, scope and reporting process
  • Robustness: Anti-Panic Campaign

    • Removed panics and aborts across a long list of utilities: shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum
    • Recurring classes fixed: write failures on /dev/full, char-boundary panics on multibyte input, integer overflow on extreme widths/precisions/sizes, and unbounded allocations for huge arguments
    • expr now uses an iterative parser, so deeply nested expressions no longer overflow the stack
  • New Features

    • mv --exchange to atomically swap two paths
    • install --reflink support, and install -C now works with --preserve-timestamps
    • OpenSSL backend for the faster checksum utilities

... (truncated)

Commits
  • 28b6856 cut: use then_some instead of then
  • 6ab8da7 cut: rename function & vars
  • bd7d896 cut: simplify match
  • 813dc15 cut: move code to new get_selected_mode_arg fn
  • cfbfccb cut: return early if invalid arg combinations
  • 9bbb13d cut: return early if incorrect number of mode args
  • e7906a0 cp: simplify loop by while let
  • 0b214cc paste: simplify 2 loop by while
  • 61cac11 od: remove enum var not used at production
  • a0e62f4 du: Refactor loop into while let
  • Additional commits viewable in compare view

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 10, 2026
Bumps [uucore](https://github.com/uutils/coreutils) from 0.2.2 to 0.10.0.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](uutils/coreutils@0.2.2...0.10.0)

---
updated-dependencies:
- dependency-name: uucore
  dependency-version: 0.9.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps): bump uucore from 0.2.2 to 0.9.0 build(deps): bump uucore from 0.2.2 to 0.10.0 Aug 6, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/uucore-0.9.0 branch from 82ddb82 to 180732f Compare August 6, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants