Rust Coreutils 0.9.0 Release:
We are excited to announce the release of Rust Coreutils 0.9.0 - a release focused on safety and security. This cycle was shaped by a third-party security audit, driving extensive TOCTOU hardening and a sustained, project-wide effort to shrink the amount of unsafe code by removing it outright and migrating low-level syscalls from nix/libc to rustix. On top of that, we landed major zero-copy I/O performance work (splice/tee/pipe), broadened WebAssembly, Cygwin and Windows support, and continued contributing tests and bug reports upstream to GNU coreutils.
GNU Test Suite Compatibility:
| Result | 0.8.0 | 0.9.0 | Change 0.8.0 to 0.9.0 | % Total 0.8.0 | % Total 0.9.0 | % Change 0.8.0 to 0.9.0 |
|---|---|---|---|---|---|---|
| Pass | 630 | 625 | -5 | 94.74% | 90.58% | -4.16% |
| Skip | 14 | 8 | -6 | 2.11% | 1.16% | -0.95% |
| Fail | 21 | 56 | +35 | 3.16% | 8.12% | +4.96% |
| Error | 0 | 1 | +1 | 0% | 0.14% | +0.14% |
| Total | 665 | 690 | +25 (new tests) |
Note: The rise in failing tests is due to the upstream GNU test suite being extended, not to regressions on our side. We updated our GNU reference from 9.10 to 9.11 (PR [#11922]), which added 25 new tests (665 → 690). Many of these newly-introduced tests are not yet passing, which accounts for the jump from 21 to 56 failures; no previously-passing functionality regressed, and work is ongoing to address the new tests.
Highlights:
- Security Hardening (Zellic audit)
- A third-party security audit by Zellic reviewed the codebase; the findings - widely reported as 44 CVEs (see also the Ubuntu update and the corrode write-up Bugs Rust won't catch) - were concentrated in TOCTOU races and filesystem edge cases that Rust's type system does not prevent
- It's worth noting that many of these CVEs are not memory-safety issues but differences in behavior from GNU coreutils that the audit identified; aligning our semantics with GNU resolves them
-
This release closes many of them: a new TOCTOU-resistant
uucore::safe_copymodule; TOCTOU fixes incp,mv, andchmodrecursive traversal;rmdot/dotdot path-parsing protection;nohup.outnow created with mode0600; andchrootnow resolves all ids before chrooting -
Reducing
unsafe& migrating torustix - A sustained, project-wide push to shrink the
unsafesurface: dozens ofunsaferemovals across utilities, tests, fuzz targets anduucore(get_groups,make_fifo,build.rs, and more) -
Migration from
nix/libctorustixacrossid,tr,timeout,sort,wc,tail,cp,who,factor, and core process/IO paths -
Performance
splice()/tee()/pipe()fast paths landed acrosscat,wc,head,tail,yes,cp,tee, andunexpand(e.g.unexpand+7.5%, fastercpfrom a pipe on Linux,teevia raw syscalls,yesusing theteesyscall)-
Consolidated in a reworked
uucore::pipes/buf_copy -
GNU Compatibility & Upstream Collaboration
- Reference bumped to GNU 9.11, which extended the suite with 25 new tests (the reason the failure count went up - see the note above; it is not a regression)
- We continue to contribute tests and bug reports upstream to GNU coreutils, and our compatibility work keeps surfacing edge cases on both sides
-
New fixes across
numfmt,date,tr,cksum,factor,head,stat, andsort -
numfmtOverhaul -
Precision handling, rejection of scientific notation,
LC_NUMERICdecimal separator, zero-padding for negative numbers, IEC precision cap, large%fvalues,--to=autoexit code, and multi-byte--suffixwidth accounting -
lsImprovements ls -lFsymlink target indicators, link-count column no longer inflated per-ACL-file, version-sorting and recursive-mode fixes, independent permissions-column width-
Refactor letting crate users (e.g. nushell) call
lswithout writing everything to stdout -
Cross-platform Reach
-
WASI/wasm support for
ln,dd,mktemp, andtty.wasm; Cygwin CI and builds (date,stdbuf); Windowstty(incl. msys2 paths); OpenBSD triage improvements -
Internationalization
-
numfmtanddunow honorLC_NUMERICfor the decimal separator -
Contributions: This release was made possible by 30 new contributors joining our community
Call to Action:
Try it in your browser - Online Playground powered by WebAssembly Help us translate - Contribute to Rust Coreutils on Weblate Sponsor us on GitHub to accelerate development: github.com/sponsors/uutils
What's Changed
cat
- cat: avoid unnecessary allocation by @oech3 in https://github.com/uutils/coreutils/pull/11675
- cat: do not splice() on FUSE by @oech3 in https://github.com/uutils/coreutils/pull/11723
- cat: replace copy_exact() with write_all by @oech3 in https://github.com/uutils/coreutils/pull/11800
- cat: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11884
- cat: call pipe() once with multiple input by @oech3 in https://github.com/uutils/coreutils/pull/11699
- cat: avoid unnecessary alloc on Linux by @oech3 in https://github.com/uutils/coreutils/pull/11906
- cat: remove unsafe from test code by @oech3 in https://github.com/uutils/coreutils/pull/12027
- cat: simplify match by @oech3 in https://github.com/uutils/coreutils/pull/12178
- cat: remove line buffering by @oech3 in https://github.com/uutils/coreutils/pull/12190
- cat: dedup print_unbuffered by @oech3 in https://github.com/uutils/coreutils/pull/12214
- cat: remove splice.rs by @oech3 in https://github.com/uutils/coreutils/pull/12404
chroot
- chroot: start removing unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12053
cksum
- cksum: fix parsing error with tagged cheksum files by @frenchua in https://github.com/uutils/coreutils/pull/11704
- cksum: get rid of
print!andprintln!to avoid panicking on write errors by @RenjiSann in https://github.com/uutils/coreutils/pull/12099 - cksum: Fix --check filename escaping for 9.11 by @RenjiSann in https://github.com/uutils/coreutils/pull/12156
- cksum: Introduce HashLength newtype to avoid byte/bit misuse by @RenjiSann in https://github.com/uutils/coreutils/pull/12235
coreutils
- coreutils: --help args is same with --help by @oech3 in https://github.com/uutils/coreutils/pull/11367
- coreutils: fix panic on linux < 6.4 when /proc is not mounted by @oech3 in https://github.com/uutils/coreutils/pull/12104
cp
- cp: improve throughput with pipe input (Linux only) by @oech3 in https://github.com/uutils/coreutils/pull/11798
- cp: fix fail-perm GNU test adaptation by @karanabe in https://github.com/uutils/coreutils/pull/12119
- chore(cp): : move raw libc calls to rustix by @Alonely0 in https://github.com/uutils/coreutils/pull/12112
date
- date: replace regex with hand-written format spec parser by @sylvestre in https://github.com/uutils/coreutils/pull/11758
- date: use cfg unix by @oech3 in https://github.com/uutils/coreutils/pull/11952
- date: width prefix in %N format specifier is ignored ( %3N, %6N always output full 9 nanosecond digits) [#12001] by @Devel08 in https://github.com/uutils/coreutils/pull/12010
- date: fix build for cygwin by @oech3 in https://github.com/uutils/coreutils/pull/12309
- date: re-zone trailing TZ abbreviation input to local timezone by @0xSoftBoi in https://github.com/uutils/coreutils/pull/12327
dd
- dd: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11885
- dd: exit when bs/ibs/obs/cbs isn't positive by @iburaky2 in https://github.com/uutils/coreutils/pull/11630
- dd: support wasm32-wasip1 by @pocopepe in https://github.com/uutils/coreutils/pull/12258
- dd: fix OOM panic with skip=1 by @oech3 in https://github.com/uutils/coreutils/pull/12399
df
- df: get rid of unnecessary clone calls by @fogti in https://github.com/uutils/coreutils/pull/12073
dirname
- dirname: get rid of needless
Cowby @ChrisDenton in https://github.com/uutils/coreutils/pull/11960
du
- du: fix error from
needless_borrowlint on FreeBSD by @cakebaker in https://github.com/uutils/coreutils/pull/11791 - du: remove unnecessary implementation of
code()by @cakebaker in https://github.com/uutils/coreutils/pull/11803 - du: make du -a -s error by @oech3 in https://github.com/uutils/coreutils/pull/11917
- du: Allow command-line argument that appears more than once by @ajanicij in https://github.com/uutils/coreutils/pull/11897
- refactor(du): simplify error handling by @xtqqczze in https://github.com/uutils/coreutils/pull/11957
- du: propagate errors from --exclude-from instead of panicking by @rossilor95 in https://github.com/uutils/coreutils/pull/11996
- du: honor LC_NUMERIC for decimal separator by @eyupcanakman in https://github.com/uutils/coreutils/pull/12357
echo
- echo: add benchmark by @oech3 in https://github.com/uutils/coreutils/pull/12091
env
- tests(env): increase signal delivery delay to fix flaky macOS CI by @sylvestre in https://github.com/uutils/coreutils/pull/11829
expr
- expr: avoid panic on regex retry-limit by @eyupcanakman in https://github.com/uutils/coreutils/pull/11833
factor
- factor: emit GNU 9.11 'is not a valid positive integer' for stdin input by @sylvestre in https://github.com/uutils/coreutils/pull/12137
- factor: remove unsafe str::from_utf8_unchecked by @oech3 in https://github.com/uutils/coreutils/pull/12142
fmt
- fmt: remove unwrap() by @oech3 in https://github.com/uutils/coreutils/pull/11810
head
- head: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11883
- refactor(head): rename read functions to print for clarity by @xtqqczze in https://github.com/uutils/coreutils/pull/11988
- head: remove print(ln) macros by @oech3 in https://github.com/uutils/coreutils/pull/11974
- head: catch I/O error with -c 1 by @oech3 in https://github.com/uutils/coreutils/pull/12030
- head: strip os error suffix from stdout write error message by @sylvestre in https://github.com/uutils/coreutils/pull/12121
- head: fix -c0 and -n0 on directories to match GNU behavior by @sylvestre in https://github.com/uutils/coreutils/pull/12217
- head/tail: use OPTION rather than FLAG by @fnadeau in https://github.com/uutils/coreutils/pull/12301
id
- fix(id): refine feature checks for SELinux and SMACK support by @xtqqczze in https://github.com/uutils/coreutils/pull/12047
- id: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/12164
install
- fix(install): follow symlink components in destination path with -D by @abendrothj in https://github.com/uutils/coreutils/pull/11505
- install: update comments and tests after symlink follow behavior change by @Ecordonnier in https://github.com/uutils/coreutils/pull/12475
join
- join: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11901
- join: use
show_errorinstead ofeprintlnby @cakebaker in https://github.com/uutils/coreutils/pull/11932
ln
- ln: Improve to LnError and make public fns for nushell by @dmatos2012 in https://github.com/uutils/coreutils/pull/12009
- ln: add WASI support via symlink_path by @DePasqualeOrg in https://github.com/uutils/coreutils/pull/11713
logname
- fix(logname): return error exit code when there is an error by @rodrigost23 in https://github.com/uutils/coreutils/pull/9313
ls
- ls: drop #[allow(clippy::needless_bool)] by @oech3 in https://github.com/uutils/coreutils/pull/11739
- ls: fix link-count column inflating per ACL file by @sylvestre in https://github.com/uutils/coreutils/pull/11781
- refactor
uu_lsso that crate users can call thelswithout having to print everything to stdout by @fdncred in https://github.com/uutils/coreutils/pull/9851 - ls: restore WASI ".." metadata fallback in collect_directory_entries by @sylvestre in https://github.com/uutils/coreutils/pull/11930
- ls: use cfg unix by @oech3 in https://github.com/uutils/coreutils/pull/11953
- ls: fix comparisons in version sorting and recursive mode by @Alonely0 in https://github.com/uutils/coreutils/pull/12108
- ls: hide
pathsargument by @cakebaker in https://github.com/uutils/coreutils/pull/12113 - fix(ls): respect sorting when grouping directories; disambiguate size sorting properly by @Alonely0 in https://github.com/uutils/coreutils/pull/12109
- ls: use
lines()instead ofsplit('\n')in test by @cakebaker in https://github.com/uutils/coreutils/pull/12154 - ls: track permissions column width independently by @sylvestre in https://github.com/uutils/coreutils/pull/12411
- ls:
ls -lFsymlink target indicators by @joknarf in https://github.com/uutils/coreutils/pull/11554 - ls: simplify symlink target indicator logic by @sylvestre in https://github.com/uutils/coreutils/pull/12508
md5sum
- md5sum: remove some
stderr_is("")in the tests by @cakebaker in https://github.com/uutils/coreutils/pull/12168
mkdir
- mkdir: acl and permission inheritance with -p by @j5awry in https://github.com/uutils/coreutils/pull/11931
- mkdir: simplify umask shaping and add regression tests by @sylvestre in https://github.com/uutils/coreutils/pull/12467
mknod
- mknod: avoid 2>/dev/full SIGABRT by @oech3 in https://github.com/uutils/coreutils/pull/12059
mktemp
- mktemp: build for wasip1 by @oech3 in https://github.com/uutils/coreutils/pull/12319
- mktemp: fix hidden file creation with dot prefix by @gabrielhnf in https://github.com/uutils/coreutils/pull/12311
- mktemp: ensure that "-q XX" shows error msg by @cakebaker in https://github.com/uutils/coreutils/pull/12492
more
- refactor(more): avoid Box<dyn Write> by @xtqqczze in https://github.com/uutils/coreutils/pull/12090
- more: replace InputType enum with Input struct; cache file_size by @aaron-ang in https://github.com/uutils/coreutils/pull/12225
- more: gate tty-only writes; extract clear_line/highlight_text by @aaron-ang in https://github.com/uutils/coreutils/pull/12224
- more: replace nix::unistd with std::fs by @xtqqczze in https://github.com/uutils/coreutils/pull/12268
mv
- mv: preserve ownership (uid/gid) on cross-device moves by @sylvestre in https://github.com/uutils/coreutils/pull/11706
- mv: merge two "unix" blocks by @cakebaker in https://github.com/uutils/coreutils/pull/11820
- mv: dedup libc by @oech3 in https://github.com/uutils/coreutils/pull/12242
nl
- nl: continue if a file can't be opened by @cakebaker in https://github.com/uutils/coreutils/pull/11983
nohup
- nohup: simplify cfg & use compile_error! by @oech3 in https://github.com/uutils/coreutils/pull/11912
- nohup: reduce unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12111
- nohup: remove unsafe stub by @oech3 in https://github.com/uutils/coreutils/pull/12125
- nohup: refactor
find_stdoutby @cakebaker in https://github.com/uutils/coreutils/pull/12146
nproc
- nproc: Reject quota with some schedulers by @oech3 in https://github.com/uutils/coreutils/pull/11173
numfmt
- numfmt: apply prefix after scaling for --to-unit by @BipulLamsal in https://github.com/uutils/coreutils/pull/11684
- numfmt: fix zero-padding placement for negative numbers by @Sim-hu in https://github.com/uutils/coreutils/pull/11694
- numfmt:fix issue [#11653] & correct test cases by @THEMIScale in https://github.com/uutils/coreutils/pull/11695
- fix(numfmt):fix precision loss for large numbers in [#11654] by @THEMIScale in https://github.com/uutils/coreutils/pull/11716
- numfmt: precision is ignored [#11667] by @Devel08 in https://github.com/uutils/coreutils/pull/11683
- numfmt: fix --to=auto to return with exitcode=1 by @BipulLamsal in https://github.com/uutils/coreutils/pull/11701
- numfmt: honor LC_NUMERIC for decimal separator by @pocopepe in https://github.com/uutils/coreutils/pull/11941
- numfmt: fix [#11935] --invalid=warn/ignore/fail ignores mode when rejecting scientific notation by @Devel08 in https://github.com/uutils/coreutils/pull/11945
- numfmt: cap IEC precision at 3 decimals by @pocopepe in https://github.com/uutils/coreutils/pull/11959
- numfmt: --format width accounting diverges from GNU for multi-byte --suffix [#11937] fix by @Devel08 in https://github.com/uutils/coreutils/pull/11992
- numfmt: fix rounding for small scaled values by @hayato0909 in https://github.com/uutils/coreutils/pull/12032
- numfmt: reject %f values too large to format exactly by @pocopepe in https://github.com/uutils/coreutils/pull/12012
od
- od: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11900
- od: hex byte offset case fix by @max-amb in https://github.com/uutils/coreutils/pull/12175
- od: remove unsafe, GNU stdin compat on wasi by @oech3 in https://github.com/uutils/coreutils/pull/12205
- od: generalize RawReader by @oech3 in https://github.com/uutils/coreutils/pull/12220
paste
- paste: remove unsafe from test code by @oech3 in https://github.com/uutils/coreutils/pull/12028
pathchk
- pathchk: fix name by @oech3 in https://github.com/uutils/coreutils/pull/11689
pinky
- refactor(pinky): improve output handling by @xtqqczze in https://github.com/uutils/coreutils/pull/12002
pr
- pr: exit with code 1 if --column argument is zero by @Devel08 in https://github.com/uutils/coreutils/pull/11750
realpath
- realpath: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11895
rm
- rm: fix inaccessible GNU test adaptation by @karanabe in https://github.com/uutils/coreutils/pull/12127
rmdir
- rmdir: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11896
shred
- shred: fix --remove=unlink with relative paths by @gabrielhnf in https://github.com/uutils/coreutils/pull/12516
sort
- fix(sort): always install SIGINT handler to ensure temp dir cleanup by @mattsu2020 in https://github.com/uutils/coreutils/pull/11889
- fix(sort): explicitly clean up temp directory in TmpDirWrapper::Drop by @mattsu2020 in https://github.com/uutils/coreutils/pull/11888
- Add sort_bench_merge benchmark for sort -m (merge) performance by @nonontb in https://github.com/uutils/coreutils/pull/12022
- sort: Fix inconsistent sort orderg under i18n-collator with equal sorting keys. by @ksgk1 in https://github.com/uutils/coreutils/pull/12013
- sort: add benchmark for locale UTF-8 sorting by @sylvestre in https://github.com/uutils/coreutils/pull/12185
- sort: replace nix feature resource with rustix by @xtqqczze in https://github.com/uutils/coreutils/pull/12275
- sort: remove nix from dep by @oech3 in https://github.com/uutils/coreutils/pull/12378
- fix(sort): reject leading '+' in numeric (-n) sort by @leno23 in https://github.com/uutils/coreutils/pull/12350
- sort: fix incorrect sort ordering/output corruption with long line inputs + add a test by @karlicoss in https://github.com/uutils/coreutils/pull/12471
split
- split: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11891
stat
- stat: warn once when QUOTING_STYLE env has an unknown value by @sylvestre in https://github.com/uutils/coreutils/pull/12136
- stat: fix %N quoting of filenames containing control characters by @fullwoodenshovel in https://github.com/uutils/coreutils/pull/12330
stdbuf
- stdbuf: support cross-platform building by @YumeYuka in https://github.com/uutils/coreutils/pull/11609
- stdbuf: build on Windows (depending on cygwin dll) by @oech3 in https://github.com/uutils/coreutils/pull/12329
stty
- stty: add two missing baud rates by @cakebaker in https://github.com/uutils/coreutils/pull/11865
- stty: add support for tabs/-tabs combination settings by @sylvestre in https://github.com/uutils/coreutils/pull/11735
sum
- feat(sum): use larger buffer in bsd_sum and sysv_sum by @xtqqczze in https://github.com/uutils/coreutils/pull/12391
sync
- refactor(sync): DRY do_sync_with function by @hlsxx in https://github.com/uutils/coreutils/pull/12033
- refactor(sync): remove unnecessary files move by @hlsxx in https://github.com/uutils/coreutils/pull/12485
tail
- tail: replace unsafe libc::kill by rustix by @mattsu2020 in https://github.com/uutils/coreutils/pull/11725
- tail: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11890
- tail: fix panic on write error in bounded_tail by @rossilor95 in https://github.com/uutils/coreutils/pull/11886
- tail: improve throughput for -c +0 by splice() by @oech3 in https://github.com/uutils/coreutils/pull/11962
- tail: remove ?Sized by @oech3 in https://github.com/uutils/coreutils/pull/12014
- test(tail): fix flaky test_follow_name_multiple on macOS by @naoNao89 in https://github.com/uutils/coreutils/pull/9636
- tail: improve throughput for -c N file by @oech3 in https://github.com/uutils/coreutils/pull/11979
- tail: reuse existing pipe when stdout is already a pipe by @dragutreis in https://github.com/uutils/coreutils/pull/12463
tee
- tee: fix input with sleep by @oech3 in https://github.com/uutils/coreutils/pull/11686
- tee: add short-read regression test by @kevinburke in https://github.com/uutils/coreutils/pull/11784
- tee: remove unused returned usize by @oech3 in https://github.com/uutils/coreutils/pull/11830
- tee: avoid 2 Err(e) at match by @oech3 in https://github.com/uutils/coreutils/pull/11878
- tee: drop cfg for unsupported target by @oech3 in https://github.com/uutils/coreutils/pull/11875
- tee: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11876
- tee: move fn copy to MultiWriter & simplify by @oech3 in https://github.com/uutils/coreutils/pull/11899
- tee: remove duplicated flush() by @oech3 in https://github.com/uutils/coreutils/pull/11909
- tee: reduce line of code by @oech3 in https://github.com/uutils/coreutils/pull/11892
- tee: merge logic of flush into write by @xtqqczze in https://github.com/uutils/coreutils/pull/11893
- tee: remove dummy definition & unused return by @oech3 in https://github.com/uutils/coreutils/pull/11923
- tee: drop unnecessary impl by @oech3 in https://github.com/uutils/coreutils/pull/11933
- tee: restore alloc guard for small input by @oech3 in https://github.com/uutils/coreutils/pull/11942
- tee: remove a var by @oech3 in https://github.com/uutils/coreutils/pull/11947
- tee: remove unsafe from test code by @oech3 in https://github.com/uutils/coreutils/pull/12025
- tee: move aborted to MultiWriter by @oech3 in https://github.com/uutils/coreutils/pull/12078
- tee: add benchmark by @oech3 in https://github.com/uutils/coreutils/pull/12134
- tee: drop libc from Cargo.toml by @oech3 in https://github.com/uutils/coreutils/pull/12232
- tee: improve throughput by raw syscall by @oech3 in https://github.com/uutils/coreutils/pull/12131
- tee: don't print EINTR by @oech3 in https://github.com/uutils/coreutils/pull/12461
- tee: simplify code by @oech3 in https://github.com/uutils/coreutils/pull/12493
- tee: restrict to NamedReader by @oech3 in https://github.com/uutils/coreutils/pull/12510
timeout
- timeout: replace nix with rustix by @gabrielhnf in https://github.com/uutils/coreutils/pull/12440
touch
- touch: add regression test for pre-epoch date on 32-bit by @sylvestre in https://github.com/uutils/coreutils/pull/11817
tr
- tr: fix complemented class truncation ordering by @can1357 in https://github.com/uutils/coreutils/pull/11406
- tr: drop '[:...:]' wrapper from invalid character class error by @sylvestre in https://github.com/uutils/coreutils/pull/12122
- tr: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/12266
tty
- tty: Build for Windows by @oech3 in https://github.com/uutils/coreutils/pull/12077
- tty: Build tty.wasm by @oech3 in https://github.com/uutils/coreutils/pull/12079
- tty: support printing msys2 tty path by @ChrisDenton in https://github.com/uutils/coreutils/pull/12083
unexpand
- unexpand: remove Box dyn - perf +7.5% by @oech3 in https://github.com/uutils/coreutils/pull/11806
- unexpand: rename
uflagtoutf8by @cakebaker in https://github.com/uutils/coreutils/pull/11826
uniq
- uniq: remove a collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11894
uptime
- clippy(uptime): fix some lints on windows by @xtqqczze in https://github.com/uutils/coreutils/pull/11726
wc
- wc: replace unsafe sysconf by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11707
- wc: introduce IS_POSIXLY_CORRECT static by @xtqqczze in https://github.com/uutils/coreutils/pull/11853
- wc: avoid pipe() if input is pipe by @oech3 in https://github.com/uutils/coreutils/pull/11636
- wc: Fix fallback when pipe() or splice() failed by @oech3 in https://github.com/uutils/coreutils/pull/11990
- wc: remove else by @oech3 in https://github.com/uutils/coreutils/pull/12165
- wc: reduce some nest by @oech3 in https://github.com/uutils/coreutils/pull/12382
- wc: remove splice_exact by @oech3 in https://github.com/uutils/coreutils/pull/12316
- wc: reduce lines of code by @oech3 in https://github.com/uutils/coreutils/pull/12420
- wc: remove a nest by loop{} by @oech3 in https://github.com/uutils/coreutils/pull/12502
who
- Fixed panic in who > /dev/full by @AntoxaBarin in https://github.com/uutils/coreutils/pull/11767
- who: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12074
yes
- yes: simplify logic for buffer creation by @oech3 in https://github.com/uutils/coreutils/pull/11727
- yes: replace match by ok_or_else by @oech3 in https://github.com/uutils/coreutils/pull/11740
- yes: use tee syscall as fast-path by @oech3 in https://github.com/uutils/coreutils/pull/11458
- yes: avoid kernel side length validation by @oech3 in https://github.com/uutils/coreutils/pull/12115
- yes: remove cfg & move ownership of buffer to fn exec by @oech3 in https://github.com/uutils/coreutils/pull/12095
- yes: move import to the other imports by @cakebaker in https://github.com/uutils/coreutils/pull/12153
- yes: remove unnecessary cfg by @oech3 in https://github.com/uutils/coreutils/pull/12159
- yes: fix wrong assumption for stdout by @oech3 in https://github.com/uutils/coreutils/pull/12249
- yes: reduce lines by cfg by @oech3 in https://github.com/uutils/coreutils/pull/12295
- yes: don't mix buffered write and zero-copy by @oech3 in https://github.com/uutils/coreutils/pull/12294
- yes: avoid ambiguous PAGE_SIZE by @oech3 in https://github.com/uutils/coreutils/pull/12370
- yes: fix confusing 1.. and comment by @oech3 in https://github.com/uutils/coreutils/pull/12424
- yes: dedup tee() by @oech3 in https://github.com/uutils/coreutils/pull/12456
uucore
- fix(uucore): fix build failure by @xtqqczze in https://github.com/uutils/coreutils/pull/11729
- uucore: simplify splice() by @oech3 in https://github.com/uutils/coreutils/pull/11745
- uucore: replace nix of buf_copy by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11765
- uucore: replace nix of FS related parts by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11771
- uucore: enable
processfeature ofrustixby @cakebaker in https://github.com/uutils/coreutils/pull/11792 - fix(uucore): use is_dir() instead of exists() for locale path resolution by @mattsu2020 in https://github.com/uutils/coreutils/pull/11851
- cp, uucore: remove unused returned u64 by @oech3 in https://github.com/uutils/coreutils/pull/11837
- uucore: remove returned and unused usize by @oech3 in https://github.com/uutils/coreutils/pull/11920
- uucore: simplify fallback when splice failed by @oech3 in https://github.com/uutils/coreutils/pull/11921
- uucore: splice fast-path for head -c & preliminary for dd, tail, split by @oech3 in https://github.com/uutils/coreutils/pull/11844
- uucore: dedup code of unbounded splice with broker by @oech3 in https://github.com/uutils/coreutils/pull/11928
- pipes.rs: add debug_assert! for RAM usage by @oech3 in https://github.com/uutils/coreutils/pull/11994
- uucore, cat: move unbounded splice code by @oech3 in https://github.com/uutils/coreutils/pull/12008
- safe_traversal.rs: remove 1 unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12029
- fix(fs): replace incorrect error handling with last_os_error by @xtqqczze in https://github.com/uutils/coreutils/pull/12057
- refactor(buf_copy): remove unused code by @xtqqczze in https://github.com/uutils/coreutils/pull/12081
- uucore: do not use Linux specific fn at tests by @oech3 in https://github.com/uutils/coreutils/pull/12128
- uucore: fix cfg attributes causing dead code warnings by @xtqqczze in https://github.com/uutils/coreutils/pull/12192
- pipes.rs: don't mix raw write and buffered write by @oech3 in https://github.com/uutils/coreutils/pull/12195
- uucore: remove dead code by @xtqqczze in https://github.com/uutils/coreutils/pull/12223
- uucore/build.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12237
- uucore: remove unsafe get_groups by @oech3 in https://github.com/uutils/coreutils/pull/12270
- uucore/build.rs: small refactoring by @cakebaker in https://github.com/uutils/coreutils/pull/12250
- uucore: remove unsafe make_fifo by @oech3 in https://github.com/uutils/coreutils/pull/12243
- yes, uucore::pipes: merge pipe_with_size to pipe and catch fcntl err by @oech3 in https://github.com/uutils/coreutils/pull/12285
- process: replace getuid with rustix::process::getuid by @Franklin-Qi in https://github.com/uutils/coreutils/pull/12094
- buf_copy.rs: don't test a trivial io::copy wrapper by @oech3 in https://github.com/uutils/coreutils/pull/12344
- od, uucore: Allow reusing RawReader by @oech3 in https://github.com/uutils/coreutils/pull/12385
- uucore: upgrade md-5, sha1, sha2, sha3, digest to latest versions by @gabrielhnf in https://github.com/uutils/coreutils/pull/12367
- pipes.rs: simplify trait and match by @oech3 in https://github.com/uutils/coreutils/pull/12397
- buf_copy/linux.rs: drop unused trait by @oech3 in https://github.com/uutils/coreutils/pull/12345
- pipes.rs: simplify dev_null & remove crate name from comment by @oech3 in https://github.com/uutils/coreutils/pull/12408
- pipes.rs: simplify by io::copy & doc the case it cannot be used by @oech3 in https://github.com/uutils/coreutils/pull/12415
- pipes.rs: remove fcntl overhead from splice_unbounded by @oech3 in https://github.com/uutils/coreutils/pull/12422
- pipes.rs: avoid usage of bool by @oech3 in https://github.com/uutils/coreutils/pull/12444
- pipes.rs: add missing count on fallback by @oech3 in https://github.com/uutils/coreutils/pull/12451
- pipes.rs: deduplicate many cfg's by @oech3 in https://github.com/uutils/coreutils/pull/12436
- pipes.rs: dedup code by including fallback to splice_exact by @oech3 in https://github.com/uutils/coreutils/pull/12472
- pipes.rs: replace bool by Result<(),()> by @oech3 in https://github.com/uutils/coreutils/pull/12454
- buf_copy: remove thin wrapper & useless conversion by @oech3 in https://github.com/uutils/coreutils/pull/12487
- pipes.rs: alias std::io::Result<Result<(), ()>> by @oech3 in https://github.com/uutils/coreutils/pull/12483
- simplify uucore::pipes::send_n_bytes by @oech3 in https://github.com/uutils/coreutils/pull/12491
Security
- deps: bump rand to 0.10.1 to fix RUSTSEC-2026-0097 by @sylvestre in https://github.com/uutils/coreutils/pull/11756
- tail: fix TOCTOU race in follow retry logic by @sylvestre in https://github.com/uutils/coreutils/pull/11711
- rm: fix path parsing for dot/dotdot protection by @naoNao89 in https://github.com/uutils/coreutils/pull/11005
- uucore: add safe_copy module with TOCTOU-resistant copy primitives by @sylvestre in https://github.com/uutils/coreutils/pull/12130
- uucore/safe_copy: use rustix Mode flags to avoid mode_t width mismatch by @sylvestre in https://github.com/uutils/coreutils/pull/12140
- chmod: fix TOCTOU race in recursive traversal by @mattsu2020 in https://github.com/uutils/coreutils/pull/11918
- cp: address the remaining toctou issues by @sylvestre in https://github.com/uutils/coreutils/pull/12135
- mv: fix the remaining TOCTOU by @sylvestre in https://github.com/uutils/coreutils/pull/12170
- chroot: resolve all ids before chroot by @victor-prokhorov in https://github.com/uutils/coreutils/pull/11211
- nohup: create nohup.out with mode 0600 by @c-tonneslan in https://github.com/uutils/coreutils/pull/12339
Code Quality & Cleanup
- Deduplicate block size logic by @sylvestre in https://github.com/uutils/coreutils/pull/11678
- tests: tail: skip test_follow_name_multiple on macOS by @sylvestre in https://github.com/uutils/coreutils/pull/11709
- Add 'tests/tail/tail-n0f' to ignore list by @sylvestre in https://github.com/uutils/coreutils/pull/11710
- forbid scientific notation in numfmt [#11655] by @Devel08 in https://github.com/uutils/coreutils/pull/11721
- deny.toml: add
redox_syscallto skip list by @cakebaker in https://github.com/uutils/coreutils/pull/11749 - fuzz: fix clippy::collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11764
- fuzz: bump
randto0.10.1by @cakebaker in https://github.com/uutils/coreutils/pull/11313 - remove seekable from local cspell conf and use it by @oech3 in https://github.com/uutils/coreutils/pull/11773
- tests/cut: ignore stdin write error on fast-exit delimiter test by @sylvestre in https://github.com/uutils/coreutils/pull/11782
- chore: run cargo shear by @xtqqczze in https://github.com/uutils/coreutils/pull/11838
- Remove authors from Cargo metadata (per RFC 3052) by @xtqqczze in https://github.com/uutils/coreutils/pull/11832
- chore: remove unused entries from spelling wordlist by @xtqqczze in https://github.com/uutils/coreutils/pull/11850
- clippy: fix rust 1.95 lints by @xtqqczze in https://github.com/uutils/coreutils/pull/11861
- locale.rs: fix a cfg with collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11856
- panic.rs: remove collapsible_if by @oech3 in https://github.com/uutils/coreutils/pull/11857
- tests: timeout: increase delay on macOS for forward_sigint_to_child by @sylvestre in https://github.com/uutils/coreutils/pull/11874
- panic.rs: use var_os by @xtqqczze in https://github.com/uutils/coreutils/pull/11880
- clippy: warn for large_stack_arrays lint by @xtqqczze in https://github.com/uutils/coreutils/pull/11868
- reduce cfg by target_vendor by @oech3 in https://github.com/uutils/coreutils/pull/11910
- tests: timeout: increase delay on macOS for forward_sigint_to_child by @sylvestre in https://github.com/uutils/coreutils/pull/11881
- refactor: avoid unidiomatic use of and_then by @xtqqczze in https://github.com/uutils/coreutils/pull/11919
- refactor: rename write functions to print for consistency by @xtqqczze in https://github.com/uutils/coreutils/pull/11929
- workspace.wordlist.txt: drop unsafe vmsplice by @oech3 in https://github.com/uutils/coreutils/pull/11946
- fix: macro should use snake_case by @xtqqczze in https://github.com/uutils/coreutils/pull/11967
- cat, splice.rs: replace if with match, add comment by @oech3 in https://github.com/uutils/coreutils/pull/12019
- test_nice.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12040
- test_ls.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12044
- test_tail.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12048
- clippy: fix items_after_statements lint by @xtqqczze in https://github.com/uutils/coreutils/pull/12031
- test_nohup.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12052
- test_test.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12055
- fix: refine feature checks for SELinux and SMACK support by @xtqqczze in https://github.com/uutils/coreutils/pull/12056
- refactor: rustix::io::Errno for CatError by @xtqqczze in https://github.com/uutils/coreutils/pull/12082
- refactor: rename print methods to write for consistency by @xtqqczze in https://github.com/uutils/coreutils/pull/12087
- tests: patch GNU numfmt 'neg-arg-not-option' to accept clap-style error by @sylvestre in https://github.com/uutils/coreutils/pull/12123
- Cargo.toml: unpin
notifyby @cakebaker in https://github.com/uutils/coreutils/pull/11978 - test_tail.rs: increase delay by @oech3 in https://github.com/uutils/coreutils/pull/12155
- reduce usage of nix::unistd::geteuid by @oech3 in https://github.com/uutils/coreutils/pull/12163
- ignore-intermittent.txt: add tests/tail/retry by @oech3 in https://github.com/uutils/coreutils/pull/12169
- fuzz: replace unsafe libc::dup by rustix::io::dup by @blixygetir in https://github.com/uutils/coreutils/pull/12148
- cargo: clarify lto setting by @xtqqczze in https://github.com/uutils/coreutils/pull/12199
- toml: avoid defining tables out-of-order by @xtqqczze in https://github.com/uutils/coreutils/pull/12198
- test_chmod.rs: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12213
- fuzz: remove unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12218
- uutests: remove 1 unsafe by @oech3 in https://github.com/uutils/coreutils/pull/12227
- remove unused import by @oech3 in https://github.com/uutils/coreutils/pull/12230
- tests: replace .no_stdout().no_stderr() chains with .no_output() by @sylvestre in https://github.com/uutils/coreutils/pull/12241
- replace nix getgroups by rustix by @oech3 in https://github.com/uutils/coreutils/pull/12269
- deny.toml: remove
redox_syscallfrom skip list by @cakebaker in https://github.com/uutils/coreutils/pull/12351 - tests_ls.rs: remove nix by @oech3 in https://github.com/uutils/coreutils/pull/12379
- ignore-intermittent.txt: add 3 tests by @oech3 in https://github.com/uutils/coreutils/pull/12368
- tests_sort.rs: remove nix by @oech3 in https://github.com/uutils/coreutils/pull/12380
- tests_tail.rs: remove nix by @oech3 in https://github.com/uutils/coreutils/pull/12381
- fix(tests): refine feature checks for SELinux by @xtqqczze in https://github.com/uutils/coreutils/pull/12372
- refactor: replace rustix::pipe with std::io::pipe by @xtqqczze in https://github.com/uutils/coreutils/pull/12356
- fix(selinux): add missing os checks by @xtqqczze in https://github.com/uutils/coreutils/pull/12406
- deny.toml: remove
cpufeaturesandblock-bufferfrom skip list by @cakebaker in https://github.com/uutils/coreutils/pull/12390 - chore: remove duplicate words in six comments by @mvanhorn in https://github.com/uutils/coreutils/pull/12477
- GNUmakefile: avoid bootstrap issue with mkdir by @oech3 in https://github.com/uutils/coreutils/pull/12521
CI & Build
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/uutils/coreutils/pull/11685
- Publish a comment in case of significant size change by @sylvestre in https://github.com/uutils/coreutils/pull/11757
- GnuTests: mask an equivalent df test by @oech3 in https://github.com/uutils/coreutils/pull/11766
- CI/GnuComment: enhance PR commenting logic to update existing comments by @xtqqczze in https://github.com/uutils/coreutils/pull/11763
- CI/GnuComment: add safeguards by @xtqqczze in https://github.com/uutils/coreutils/pull/11793
- fix: replace apt with apt-get in scripts by @xtqqczze in https://github.com/uutils/coreutils/pull/11808
- ci: group openbsd log sections for easier failure triage by @sylvestre in https://github.com/uutils/coreutils/pull/11819
- gitignore: remove .vscode directory from ignored files by @xtqqczze in https://github.com/uutils/coreutils/pull/11839
- Revert "fix: replace apt with apt-get in scripts" by @cakebaker in https://github.com/uutils/coreutils/pull/11835
- CI/SizeComment: enhance PR commenting logic to update existing comments by @xtqqczze in https://github.com/uutils/coreutils/pull/11795
- GnuTests: bump GNU version to 9.11 by @oech3 in https://github.com/uutils/coreutils/pull/11922
- ci: disable credential persistence in checkout steps by @xtqqczze in https://github.com/uutils/coreutils/pull/11951
- fix(ci): correct formatting of comment body by @xtqqczze in https://github.com/uutils/coreutils/pull/11966
- fix(renovate): do not update pinned dependencies by @xtqqczze in https://github.com/uutils/coreutils/pull/11965
- Revert "fix(renovate): do not update pinned dependencies" by @cakebaker in https://github.com/uutils/coreutils/pull/11977
- ci: add timeout for benchmark job by @cakebaker in https://github.com/uutils/coreutils/pull/12219
- vscode: update rust-analyzer check command to use clippy by @xtqqczze in https://github.com/uutils/coreutils/pull/12197
- CI: add tests/misc/io-errors to intermittent by @xtqqczze in https://github.com/uutils/coreutils/pull/12278
- Add CI for cygwin except for date by @oech3 in https://github.com/uutils/coreutils/pull/12304
- build: exclude chcon and runcon from util_map for non-Linux targets by @xtqqczze in https://github.com/uutils/coreutils/pull/12375
- ci: update macOS job features in code quality workflow by @xtqqczze in https://github.com/uutils/coreutils/pull/12386
- ci: specify bash shell for background jobs by @xtqqczze in https://github.com/uutils/coreutils/pull/10491
- make.yml: try to fix Cygwin CI by @oech3 in https://github.com/uutils/coreutils/pull/12496
- ci: add workflow to check TOML files by @xtqqczze in https://github.com/uutils/coreutils/pull/12206
Documentation
- 0.8.0 release notes by @sylvestre in https://github.com/uutils/coreutils/pull/11691
- wc drop outdated info from BENCHMARKING.md by @oech3 in https://github.com/uutils/coreutils/pull/11720
- docs: remove hashsum from compiles_table.csv by @venoosoo in https://github.com/uutils/coreutils/pull/11732
- yes: add BENCHMARKING.md by @oech3 in https://github.com/uutils/coreutils/pull/12097
- README.md: update compatibility by @oech3 in https://github.com/uutils/coreutils/pull/12302
- docs: remove authors field from book.toml by @xtqqczze in https://github.com/uutils/coreutils/pull/11849
- uucore::pipes::splice_exact: improve document by @oech3 in https://github.com/uutils/coreutils/pull/12414
- docs: update clippy section in DEVELOPMENT.md by @xtqqczze in https://github.com/uutils/coreutils/pull/12369
- Improve documents for splice modules by @oech3 in https://github.com/uutils/coreutils/pull/12455
- docs: add fuzz pointer, AI policy, playground link, and Ubuntu note by @sylvestre in https://github.com/uutils/coreutils/pull/12437
- installation.md: improve AUR docs by @oech3 in https://github.com/uutils/coreutils/pull/12513
Platform Support
- fix: sort and remove duplicates from feat_wasm feature by @xtqqczze in https://github.com/uutils/coreutils/pull/11737
- tests: add WASI integration test support via wasmtime by @DePasqualeOrg in https://github.com/uutils/coreutils/pull/11717
- cat, windows.rs: simplify bool by @oech3 in https://github.com/uutils/coreutils/pull/12093
- fix: unused import on redox by @xtqqczze in https://github.com/uutils/coreutils/pull/12332
Dependency Updates
- chore(deps): update rust crate zip to v8.5.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11696
- chore(deps): update rust crate selinux to v0.6.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11702
- chore(deps): update rust crate ctor to 0.9.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11733
- chore(deps): update actions/github-script action to v9 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11741
- chore(deps): update rust crates by @xtqqczze in https://github.com/uutils/coreutils/pull/11730
- chore(deps): update rust crate clap_complete to v4.6.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11753
- chore(deps): update vampire/setup-wsl action to v6.1.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11754
- deps: unpin selinux rust crate by @xtqqczze in https://github.com/uutils/coreutils/pull/11759
- chore(deps): update softprops/action-gh-release action to v3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11769
- chore(deps): update rust crate similar to v3.1.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11768
- chore(deps): update rust crate ctor to 0.10.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11786
- deps: remove unused rust crate fluent-bundle by @xtqqczze in https://github.com/uutils/coreutils/pull/11776
- chore(deps): update rust crate clap_complete to v4.6.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11797
- chore(deps): update rust crate rayon to v1.12.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11799
- chore(deps): update rust crate clap to v4.6.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11845
- chore(deps): update rust crate divan to v4.5.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11877
- chore(deps): update astral-sh/ruff-action action to v4 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11863
- chore(deps): update mozilla-actions/sccache-action action to v0.0.10 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11954
- chore(deps): update rust crate ctor to v0.10.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11955
- chore(deps): update rust crate jiff to v0.2.24 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11964
- chore(deps): update rust crate data-encoding to v2.11.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11982
- chore(deps): update rust crate data-encoding-macro to v0.1.20 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11981
- chore(deps): update rust crate blake3 to v1.8.5 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11989
- chore(deps): update rust crate sha3 to 0.10.9 by @xtqqczze in https://github.com/uutils/coreutils/pull/11999
- chore(deps): update rust crate zip to v8.6.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12000
- chore(deps): update rust crate onig to v6.5.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12017
- chore(deps): update rust crate clap_complete to v4.6.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12039
- chore(deps): update rand crate to v0.8.6 by @xtqqczze in https://github.com/uutils/coreutils/pull/12043
- chore(deps): update dawidd6/action-download-artifact action to v21 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12054
- chore(deps): update rust crate selinux to v0.6.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12066
- chore(deps): update rust crate divan to v4.6.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12070
- chore(deps): update rust crate ctor to 0.11.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12067
- chore(deps): update rust crate string-interner to 0.20.0 by @xtqqczze in https://github.com/uutils/coreutils/pull/12103
- chore(deps): update rust crate ctor to 0.12.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12101
- chore(deps): update rust crate kqueue-sys to v1.1.0 by @xtqqczze in https://github.com/uutils/coreutils/pull/12141
- chore(deps): update rust crate crc-catalog to 2.5.0 by @xtqqczze in https://github.com/uutils/coreutils/pull/12151
- chore(deps): update rust crate exacl to 0.13.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12158
- Bump
ctor& adapt to change by @cakebaker in https://github.com/uutils/coreutils/pull/12132 - chore(deps): update rust crate ctor to v1.0.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12179
- chore(deps): update rust crate ctor to v1.0.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12187
- chore(deps): update rust crate ctor to v1.0.4 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12203
- chore(deps): update rust crate clap_complete to v4.6.4 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12216
- bump nix and libc by @oech3 in https://github.com/uutils/coreutils/pull/12233
- chore(deps): update rust crate ctor to v1.0.5 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12239
- chore(deps): update rust crate clap_complete to v4.6.5 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12245
- chore(deps): update rust crate filetime to v0.2.29 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12201
- chore(deps): update rust crate ctor to v1.0.6 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12347
- chore(deps): update rust crate digest to v0.11.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12388
- deps: remove unnecessary
packagefields by @xtqqczze in https://github.com/uutils/coreutils/pull/11968 - chore(deps): update rust crate divan to v4.7.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12441
- chore(deps): update rust crate similar to v3.1.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12457
- chore(deps): update rust crate jiff to v0.2.25 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12473
- chore(deps): update rust crate jiff to v0.2.26 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12476
- chore(deps): update rust crate jiff to v0.2.27 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12482
- chore(deps): update rust crate memchr to v2.8.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12488
- chore(deps): update rust crate ctor to v1.0.7 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12509
- chore(deps): update rust crate jiff to v0.2.28 by @renovate[bot] in https://github.com/uutils/coreutils/pull/12511
Version Management
- prepare release 0.9.0 by @sylvestre in https://github.com/uutils/coreutils/pull/12494
New Contributors
- @pre-commit-ci[bot] made their first contribution in https://github.com/uutils/coreutils/pull/11685
- @BipulLamsal made their first contribution in https://github.com/uutils/coreutils/pull/11684
- @Sim-hu made their first contribution in https://github.com/uutils/coreutils/pull/11694
- @THEMIScale made their first contribution in https://github.com/uutils/coreutils/pull/11695
- @Devel08 made their first contribution in https://github.com/uutils/coreutils/pull/11721
- @DePasqualeOrg made their first contribution in https://github.com/uutils/coreutils/pull/11717
- @AntoxaBarin made their first contribution in https://github.com/uutils/coreutils/pull/11767
- @fdncred made their first contribution in https://github.com/uutils/coreutils/pull/9851
- @rossilor95 made their first contribution in https://github.com/uutils/coreutils/pull/11886
- @frenchua made their first contribution in https://github.com/uutils/coreutils/pull/11704
- @pocopepe made their first contribution in https://github.com/uutils/coreutils/pull/11941
- @ChrisDenton made their first contribution in https://github.com/uutils/coreutils/pull/11960
- @nonontb made their first contribution in https://github.com/uutils/coreutils/pull/12022
- @hayato0909 made their first contribution in https://github.com/uutils/coreutils/pull/12032
- @fogti made their first contribution in https://github.com/uutils/coreutils/pull/12073
- @ksgk1 made their first contribution in https://github.com/uutils/coreutils/pull/12013
- @blixygetir made their first contribution in https://github.com/uutils/coreutils/pull/12148
- @fnadeau made their first contribution in https://github.com/uutils/coreutils/pull/12301
- @0xSoftBoi made their first contribution in https://github.com/uutils/coreutils/pull/12327
- @rodrigost23 made their first contribution in https://github.com/uutils/coreutils/pull/9313
- @Franklin-Qi made their first contribution in https://github.com/uutils/coreutils/pull/12094
- @gabrielhnf made their first contribution in https://github.com/uutils/coreutils/pull/12367
- @leno23 made their first contribution in https://github.com/uutils/coreutils/pull/12350
- @c-tonneslan made their first contribution in https://github.com/uutils/coreutils/pull/12339
- @j5awry made their first contribution in https://github.com/uutils/coreutils/pull/11931
- @mvanhorn made their first contribution in https://github.com/uutils/coreutils/pull/12477
- @dragutreis made their first contribution in https://github.com/uutils/coreutils/pull/12463
- @karlicoss made their first contribution in https://github.com/uutils/coreutils/pull/12471
- @joknarf made their first contribution in https://github.com/uutils/coreutils/pull/11554
- @fullwoodenshovel made their first contribution in https://github.com/uutils/coreutils/pull/12330
Full Changelog: https://github.com/uutils/coreutils/compare/0.8.0...0.9.0