### **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](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.svg?raw=true)

---

### 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`](https://github.com/uutils/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](https://hosted.weblate.org/projects/rust-coreutils/)
**Sponsor us on GitHub** to accelerate development: [github.com/sponsors/uutils](https://github.com/sponsors/uutils)

## What's Changed

## cat
* cat: strip errno by @oech3 in https://github.com/uutils/coreutils/pull/10885

## cksum
* *sum: Fix locales fetching from `checksum_common` after installation by @RenjiSann in https://github.com/uutils/coreutils/pull/10575
* *sum: Fix read_byte_lines discarding read errors by @RenjiSann in https://github.com/uutils/coreutils/pull/10671
* test/cksum: implement `test_signed_checksums` by @0xMillyByte in https://github.com/uutils/coreutils/pull/10714
* cksum: Accept SHAKE algorithms by @RenjiSann in https://github.com/uutils/coreutils/pull/10772
* cksum family: Backport new errors for --binary, --text and --tag by @oech3 in https://github.com/uutils/coreutils/pull/10618
* cksum family: Fix clippy::unnecessary_wraps by @oech3 in https://github.com/uutils/coreutils/pull/11110

## chroot
* chroot: fix gid being set by uid with --userspec #10307 by @cerdelen in https://github.com/uutils/coreutils/pull/10465
* chroot: use var_os by @xtqqczze in https://github.com/uutils/coreutils/pull/11070

## comm
* comm /etc/pacman.conf /dev/null 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10746
* date, comm, tty: Fixing handling output to dev/null by @ChrisDryden in https://github.com/uutils/coreutils/pull/10888

## coreutils
* tests/misc/coreutils.sh: Fail with invalid binary name by @oech3 in https://github.com/uutils/coreutils/pull/10258
* coreutils: output expected error for unrecognized options by @ChrisDryden in https://github.com/uutils/coreutils/pull/9869
* coreutils: Let the name *utils valid by @oech3 in https://github.com/uutils/coreutils/pull/10729
* coreutils: Fix 2>/dev/full aborts & drop a sed for GnuTests by @oech3 in https://github.com/uutils/coreutils/pull/10740
* all: --typo 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10764
* Add regression test for coreutils --list by @oech3 in https://github.com/uutils/coreutils/pull/10858

## cp
* cp: fix recursive copy of readonly directories by @nikolalukovic in https://github.com/uutils/coreutils/pull/10529
* cp: improve code clarity and remove redundant filesystem checks by @sylvestre in https://github.com/uutils/coreutils/pull/10790
* cp: fixing cp -a functionality to match gnu implementation for -z flag handling and for folders by @ChrisDryden in https://github.com/uutils/coreutils/pull/10207
* cp: Fix panic when recursively copying a directory with a non-UTF8 name by @aweinstock314 in https://github.com/uutils/coreutils/pull/11148
* cp: handle special files by @victor-prokhorov in https://github.com/uutils/coreutils/pull/11163

## csplit
* refactor(csplit): use &str slices for patterns by @xtqqczze in https://github.com/uutils/coreutils/pull/11013
* csplit: add benchmarks for line number and regex pattern splitting by @sylvestre in https://github.com/uutils/coreutils/pull/10927

## cut
* cut: fix -s flag for newline delimiter and optimize memory allocation by @akervald in https://github.com/uutils/coreutils/pull/11143
* cut: two simple refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/11194

## date
* date: fix -u flag to match GNU behavior for input parsing by @ChrisDryden in https://github.com/uutils/coreutils/pull/10715
* date: Fix format optional argument to capture all following parameters by @cerdelen in https://github.com/uutils/coreutils/pull/10914
* date: fix -s UTC conversion losing timezone offset by @yachi in https://github.com/uutils/coreutils/pull/10828
* date: fix RFC-822 format to always use English names by @sylvestre in https://github.com/uutils/coreutils/pull/10932
* date: bump parse_datetime & add test for leap-1 GNU test by @sylvestre in https://github.com/uutils/coreutils/pull/10933
* date: add tests to match GNU's by @sylvestre in https://github.com/uutils/coreutils/pull/10939
* date: fix double periods in Hungarian month abbreviations by @naoNao89 in https://github.com/uutils/coreutils/pull/10945
* date: fix subfmt-up1, fill-1, pct-pct, and invalid-high-bit-set tests / implement --debug by @sylvestre in https://github.com/uutils/coreutils/pull/10940
* date: use locale date_fmt instead of D_T_FMT for default format by @ChrisDryden in https://github.com/uutils/coreutils/pull/10935
* date: Fix Error message missing '+' for format string after valid d flag by @cerdelen in https://github.com/uutils/coreutils/pull/10982
* date: fix -d with relative dates and timezone abbreviations by @yachi in https://github.com/uutils/coreutils/pull/10956
* date: fix timezone abbreviations using wrong offset outside their DST season by @aguimaraes in https://github.com/uutils/coreutils/pull/11045
* date: fix %+ and %_ modifier edge cases by @naoNao89 in https://github.com/uutils/coreutils/pull/10999
* date: extend tz abbreviation lookup by @cerdelen in https://github.com/uutils/coreutils/pull/11229
* date: Remove eprintln! to avoid 2>/dev/full abort by @oech3 in https://github.com/uutils/coreutils/pull/11228
* date, comm, tty: Fixing handling output to dev/null by @ChrisDryden in https://github.com/uutils/coreutils/pull/10888

## dd
* dd: simplify signal handling by removing Alarm timer thread by @ChrisDryden in https://github.com/uutils/coreutils/pull/10768

## df
* df: fallback when proc masked by @ChrisDryden in https://github.com/uutils/coreutils/pull/10417

## dircolors
* dircolors >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10948

## du
* du: deduplicate Stat::new call by @svlv in https://github.com/uutils/coreutils/pull/10584
* du: Use rustc-hash for du -a / performance by @oech3 in https://github.com/uutils/coreutils/pull/10663
* du: Flags 'm', 'k', 'm' should be POSIX style overriden by @cerdelen in https://github.com/uutils/coreutils/pull/10664
* Du size_format flag override by @cerdelen in https://github.com/uutils/coreutils/pull/10743
* du: malloc perf +3~6% by @oech3 in https://github.com/uutils/coreutils/pull/11034

## echo
* echo --version >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10853

## env
* env: fix regression of `--ignore-signal=PIPE` by @Ecordonnier in https://github.com/uutils/coreutils/pull/9618

## expand
* expand: remove read_until by @cerdelen in https://github.com/uutils/coreutils/pull/10657
* expand: remove empty after help by @cakebaker in https://github.com/uutils/coreutils/pull/10977
* expand: Fix performance drop with cgu=1 by ascii fast-path by @oech3 in https://github.com/uutils/coreutils/pull/11104

## expr
* expr --version >/dev/full panics & --help > /dev/full should fail by @oech3 in https://github.com/uutils/coreutils/pull/10854

## factor
* factor: add a test for a num-prime issue by @sylvestre in https://github.com/uutils/coreutils/pull/11096
* factor: trim also null-chars by @yotam-medini in https://github.com/uutils/coreutils/pull/11182

## false
* false: dedup set_exit_code(1) by @oech3 in https://github.com/uutils/coreutils/pull/10823
* true, false: Fix broken pipe by @oech3 in https://github.com/uutils/coreutils/pull/11204
* true, false: drop Vec for binary size and perf by @oech3 in https://github.com/uutils/coreutils/pull/11223

## fmt
* fmt: restore GNU compatibility for tests/fmt/width by @karanabe in https://github.com/uutils/coreutils/pull/11073

## fold
* fold: refactor compute_col_count and add character mode tests by @ChrisDryden in https://github.com/uutils/coreutils/pull/10533
* fold: replace truncate(0) with clear() by @xtqqczze in https://github.com/uutils/coreutils/pull/11059

## hostname
* hostname: fix panic on hostname > /dev/full by @WhateverAWS in https://github.com/uutils/coreutils/pull/10912
* feat(hostname): add benchmark with large /etc/hosts by @naoNao89 in https://github.com/uutils/coreutils/pull/10979

## id
* Id: don't panic on write error by @FidelSch in https://github.com/uutils/coreutils/pull/10769

## install
* Fixed permissions in install for unix by @max-amb in https://github.com/uutils/coreutils/pull/10564
* fix(install): prevent symlink race condition in install -D (fixes #10013) by @abendrothj in https://github.com/uutils/coreutils/pull/10140

## kill
* kill: fix GNU compatibility tests for RTMIN and RTMAX by @karanabe in https://github.com/uutils/coreutils/pull/11224

## ln
* fix: eliminate TOCTOU races in ln and tac by deferring is_dir() checks by @abendrothj in https://github.com/uutils/coreutils/pull/10991
* ln: Interactive and Force override each other instead of defaulting to Force if both are specified by @aweinstock314 in https://github.com/uutils/coreutils/pull/11129

## ls
* ls: Replace Fnv with rustc-hash by @oech3 in https://github.com/uutils/coreutils/pull/10686
* ls: fix hyperlink functionality to use correct OSC 8 format and handle symlink targets by @sylvestre in https://github.com/uutils/coreutils/pull/10824
* ls: fix ls dired reports by @mattsu2020 in https://github.com/uutils/coreutils/pull/10527
* ls: release directory fds before recursing to avoid EMFILE by @ChrisDryden in https://github.com/uutils/coreutils/pull/10894
* ls: Update French translations by @sylvestre in https://github.com/uutils/coreutils/pull/11003
* ls: Use rustc-hash at colors by @oech3 in https://github.com/uutils/coreutils/pull/10700
* ls: Treat paths starting with a dot as hidden even if they contain invalid UTF-8. by @aweinstock314 in https://github.com/uutils/coreutils/pull/11135

## mktemp
* mktemp: handle invalid UTF-8 in suffix gracefully by @sylvestre in https://github.com/uutils/coreutils/pull/10818
* mktemp: use env::os_var by @xtqqczze in https://github.com/uutils/coreutils/pull/11113
* mktemp: Don't panic when getrandom failed by @oech3 in https://github.com/uutils/coreutils/pull/11154

## mknod
* mKnod: Refactor to remove unsafe code by @mattsu2020 in https://github.com/uutils/coreutils/pull/10138

## mv
* mv: handle FIFOs inside directories during cross-partition move by @ChrisDryden in https://github.com/uutils/coreutils/pull/10857
* fix(mv): correct selinux cfg gating for non-Linux platforms by @naoNao89 in https://github.com/uutils/coreutils/pull/10989
* mv: Use rustc-hash by @oech3 in https://github.com/uutils/coreutils/pull/11010
* mv: preserve symlinks during cross-device moves instead of expanding them by @sylvestre in https://github.com/uutils/coreutils/pull/10546

## nl
* perf(nl): optimize line numbering by using itoa and direct writing by @CrazyRoka in https://github.com/uutils/coreutils/pull/10757

## nproc
* nproc: process space in OMP_NUM_THREADS by @cuiweixie in https://github.com/uutils/coreutils/pull/10973
* nproc: Cleanup a const by @oech3 in https://github.com/uutils/coreutils/pull/11191
* nproc: Minor cleanup by @oech3 in https://github.com/uutils/coreutils/pull/11192

## numfmt
* numfmt: add --debug flag to print warnings about invalid input by @ChrisDryden in https://github.com/uutils/coreutils/pull/10110
* numfmt: numfmt --debug 2>/dev/full does not abort by @tuananh in https://github.com/uutils/coreutils/pull/10668
* numfmt: fix empty delimiter and whitespace handling by @ChrisDryden in https://github.com/uutils/coreutils/pull/10350
* numfmt: optimize output handling by using stdout directly by @xtqqczze in https://github.com/uutils/coreutils/pull/11051
* fix(numfmt): Read lines only up to null byte (as GNU does) by @FidelSch in https://github.com/uutils/coreutils/pull/11146
* fix(numfmt): format output on error messages by @FidelSch in https://github.com/uutils/coreutils/pull/11179
* numfmt: stop a clone by @oech3 in https://github.com/uutils/coreutils/pull/11221

## od
* od: fix od -v /dev/zero panic by @mattsu2020 in https://github.com/uutils/coreutils/pull/10576

## paste
* paste: support multi-byte delimiters and GNU escape sequences by @ChrisDryden in https://github.com/uutils/coreutils/pull/10840
* paste: avoid unbounded buffering for single input by @mattsu2020 in https://github.com/uutils/coreutils/pull/11060

## pr
* pr: fix column behavior for short files by @jfinkels in https://github.com/uutils/coreutils/pull/10379
* pr missing 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10731
* pr: implement the -e flag by @cerdelen in https://github.com/uutils/coreutils/pull/10167

## printf
* printf: fix %q shell quoting with control chars and quotes by @sylvestre in https://github.com/uutils/coreutils/pull/10816

## ptx
* ptx: implement -t/--typeset-mode to change default width to 100 by @ChrisDryden in https://github.com/uutils/coreutils/pull/10856
* ptx: fix panic when truncation string/keyword contain multibyte Unicode by @Xylphy in https://github.com/uutils/coreutils/pull/10836
* ptx: match GNU default behavior by skipping non-alphabetic index tokens by @Xylphy in https://github.com/uutils/coreutils/pull/10919

## readlink
* readlink: Set silent mode as default by @denendaden in https://github.com/uutils/coreutils/pull/10711

## rm
* rm --preserve-root should work on symlink too by @sylvestre in https://github.com/uutils/coreutils/pull/9706
* rm: report permission denied for unreadable subdirectories by @o1x3 in https://github.com/uutils/coreutils/pull/10974

## shuf
* shuf: Use rustc-hash for performance by @oech3 in https://github.com/uutils/coreutils/pull/10648
* shuf: Drop inline after switched to fxhash by @oech3 in https://github.com/uutils/coreutils/pull/10781
* shuf: Reduce malloc by @oech3 in https://github.com/uutils/coreutils/pull/10998
* shuf: delete useless cast by @oech3 in https://github.com/uutils/coreutils/pull/11106
* shuf: try Vec first and fallback to HashMap if it cause OOM by @oech3 in https://github.com/uutils/coreutils/pull/11169
* shuf: Reduce malloc, perf +4% by @oech3 in https://github.com/uutils/coreutils/pull/11219

## sort
* sort: remove redundant if by @oech3 in https://github.com/uutils/coreutils/pull/10716
* Sort: Use ahash by @oech3 in https://github.com/uutils/coreutils/pull/10783
* sort: making ClosedCompressedTmpFile::reopen() not panic. by @devnexen in https://github.com/uutils/coreutils/pull/10807
* sort: fix panic when collator not available in worker threads by @sylvestre in https://github.com/uutils/coreutils/pull/10915
* fix: scientific notation is incorrectly parsed in general numeric sort by @Kaua-Klassmann in https://github.com/uutils/coreutils/pull/10437
* sort: use LazyLock by @xtqqczze in https://github.com/uutils/coreutils/pull/10969
* Sort debug message by @hlsxx in https://github.com/uutils/coreutils/pull/10960
* sort: Replace malloc and 0 fill with huge reserve & min 0 fill by @oech3 in https://github.com/uutils/coreutils/pull/10975
* sort: remove reserve which is difficult to understand by @oech3 in https://github.com/uutils/coreutils/pull/11040
* sort: update DEFAULT_BUF_SIZE to 8 KiB by @xtqqczze in https://github.com/uutils/coreutils/pull/11041
* sort: failed to set message sort by @hlsxx in https://github.com/uutils/coreutils/pull/11137
* sort --compress-program missing 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10951
* deps: replace ahash with foldhash by @xtqqczze in https://github.com/uutils/coreutils/pull/11187

## split
* perf(split): reuse buffer in chunked splitting loop by @CrazyRoka in https://github.com/uutils/coreutils/pull/10695
* perf(split): optimize FixedWidthNumber Display implementation by @CrazyRoka in https://github.com/uutils/coreutils/pull/10723
* split: Reduce malloc by @oech3 in https://github.com/uutils/coreutils/pull/10976

## stat
* stat: fix mount table read when /proc is unavailable by @sylvestre in https://github.com/uutils/coreutils/pull/10300
* print_numeric: print mode in octal when the mode is too large by @Connor-GH in https://github.com/uutils/coreutils/pull/10208

## stdbuf
* stdbuf: support libstdbuf in same directory as stdbuf by @Ecordonnier in https://github.com/uutils/coreutils/pull/10352
* stdbuf: fix warning from `uninlined_format_args` by @cakebaker in https://github.com/uutils/coreutils/pull/10784

## stty
* stty: cleanup cfg by @oech3 in https://github.com/uutils/coreutils/pull/10879
* stty: fix compilation on PowerPC architectures by @sylvestre in https://github.com/uutils/coreutils/pull/11050

## sync
* sync: handle fcntl errors with localized warnings by @sylvestre in https://github.com/uutils/coreutils/pull/10330
* sync: open file with nonblock by @reubenwong97 in https://github.com/uutils/coreutils/pull/10765
* sync: return after checking all inputs by @reubenwong97 in https://github.com/uutils/coreutils/pull/10742

## tac
* tac: fix stdin piping on Windows by skipping empty mmap results by @ChrisDryden in https://github.com/uutils/coreutils/pull/10795
* tac: support non-UTF-8 separator by @victor-prokhorov in https://github.com/uutils/coreutils/pull/10934

## tail
* tail: report PermissionDenied instead of No such file when metadata fails by @RedNhight in https://github.com/uutils/coreutils/pull/11018
* tests/tail: reduce delays in multiple tests to speed up execution by @domysu in https://github.com/uutils/coreutils/pull/11206

## test
* test: make the man-page readable + sync by @matttbe in https://github.com/uutils/coreutils/pull/10737
* test: implement -r/-w/-x on Windows by @anihal in https://github.com/uutils/coreutils/pull/11120

## tr
* tr: fix possible usage in invalid utf8 set sequence. by @devnexen in https://github.com/uutils/coreutils/pull/10791
* tr: simplify truncate logic by @xtqqczze in https://github.com/uutils/coreutils/pull/11072

## true
* true/false: remove large clap call by @my4ng in https://github.com/uutils/coreutils/pull/10673
* true, false: Improve perf & fix clippy::unnecessary_wraps by @oech3 in https://github.com/uutils/coreutils/pull/11200
* feat(true/false): add benchmarks for startup performance by @naoNao89 in https://github.com/uutils/coreutils/pull/10996

## tsort
* tsort: Use rustc-hash by @oech3 in https://github.com/uutils/coreutils/pull/10680

## unexpand
* Unexpand use buffered reads + tests by @cerdelen in https://github.com/uutils/coreutils/pull/10831
* unexpand: codegen-units=1 by @oech3 in https://github.com/uutils/coreutils/pull/10817
* unexpand: Refactor functions to use less parameters by @cerdelen in https://github.com/uutils/coreutils/pull/10900
* unexpand: ascii fast-path by @oech3 in https://github.com/uutils/coreutils/pull/11114
* unexpand: reuse a smaller buf, perf 14%+ by @oech3 in https://github.com/uutils/coreutils/pull/11178

## uniq
* uniq: fix -w to count bytes in C locale by @aguimaraes in https://github.com/uutils/coreutils/pull/11061

## uptime
* uptime: fix "unused import" warnings in test file by @cakebaker in https://github.com/uutils/coreutils/pull/10651
* uptime: Remove wincode and wincode-derive dependencies by @ChrisDryden in https://github.com/uutils/coreutils/pull/10802
* fix: uptime > /dev/full panic fix by @hlsxx in https://github.com/uutils/coreutils/pull/10827

## vdir
* vdir: make vdir an alias of ls to resolve missing ftl by @NatsuCamellia in https://github.com/uutils/coreutils/pull/10434

## wc
* wc: stop processing --files0-from input after stdout write failure by @mattsu2020 in https://github.com/uutils/coreutils/pull/11023

## whoami
* whoami: fix usage line for unexpected arguments by @YuF-9468 in https://github.com/uutils/coreutils/pull/11159

## uucore
* uucore: refactor digest_reader to use ReadingMode enum by @0xMillyByte in https://github.com/uutils/coreutils/pull/10720
* uucore: Use `nix::sys::stat::umask` in `uucore::mode::get_umask` by @mattsu2020 in https://github.com/uutils/coreutils/pull/11102
* uucore: fix correct mkdirat implementation to use nix crate's mkdirat function by @mattsu2020 in https://github.com/uutils/coreutils/pull/11126
* uucore: replace unsafe libc calls with safe nix crate wrappers by @mattsu2020 in https://github.com/uutils/coreutils/pull/11156
* uucore: use transmute instead of raw pointers by @xtqqczze in https://github.com/uutils/coreutils/pull/11077
* uucore: Disallow slashes in determine_backup_suffix by @aweinstock314 in https://github.com/uutils/coreutils/pull/11149
* uucore: disable signals at simple utils for binary size and fast startup by @oech3 in https://github.com/uutils/coreutils/pull/11186
* dedup high-cost localization setup by @oech3 in https://github.com/uutils/coreutils/pull/11147

## CI & Build
* Catch regressions at early stage by @oech3 in https://github.com/uutils/coreutils/pull/10627
* ci: enable memory profiling again by @not-matthias in https://github.com/uutils/coreutils/pull/10659
* Revert "CICD.yml: upload binaries without version string" by @sylvestre in https://github.com/uutils/coreutils/pull/10676
* Fix tag/latest-commit & comment naming policy by @oech3 in https://github.com/uutils/coreutils/pull/10684
* fuzzing.yml: Use prebuilt for faster setup by @oech3 in https://github.com/uutils/coreutils/pull/10498
* chore: run pre-commit on all files by @aaron-ang in https://github.com/uutils/coreutils/pull/10119
* MSRV 1.88 by @oech3 in https://github.com/uutils/coreutils/pull/10771
* Drop release-fast profile for simplicity by @oech3 in https://github.com/uutils/coreutils/pull/10476
* actions: add security audit workflow by @xtqqczze in https://github.com/uutils/coreutils/pull/10767
* Publish *.wasm by @oech3 in https://github.com/uutils/coreutils/pull/10656
* Add rust-version field to all Cargo.toml files by @xtqqczze in https://github.com/uutils/coreutils/pull/10778
* GnuTests: 9.10, remove a bunch of backported tests by @oech3 in https://github.com/uutils/coreutils/pull/10721
* build: sort coreutils entries at build time by @Xylphy in https://github.com/uutils/coreutils/pull/10820
* GNUmakefile: Allow cross-build for Windows by @oech3 in https://github.com/uutils/coreutils/pull/10897
* CICD: Publish static individual *.exe by @oech3 in https://github.com/uutils/coreutils/pull/10903
* benchmarks.yml: Use prebuilt tools for reproducible benches by @oech3 in https://github.com/uutils/coreutils/pull/10497
* ci: remove GNU build caching from GnuTests workflow by @ChrisDryden in https://github.com/uutils/coreutils/pull/10961
* CICD: Introduce check-only for Redox CI by @oech3 in https://github.com/uutils/coreutils/pull/10950
* rust: use const_locks feature by @xtqqczze in https://github.com/uutils/coreutils/pull/10968
* uutests: preserve PATH in UCommand to fix NixOS test failures by @0xMillyByte in https://github.com/uutils/coreutils/pull/10959
* build-gnu: fix factor tests being re-added by automake during make check by @ChrisDryden in https://github.com/uutils/coreutils/pull/10907
* Prevent make check from rebuilding GNU binaries over uutils ones by @ChrisDryden in https://github.com/uutils/coreutils/pull/11049
* Disable strip related tests on Android by @oech3 in https://github.com/uutils/coreutils/pull/11047
* test_env: Make argv0 tests compatible with Ubuntu patch by @oech3 in https://github.com/uutils/coreutils/pull/10834
* GnuTests: Use our libstdbuf.so by @oech3 in https://github.com/uutils/coreutils/pull/10793
* Avoid non reproducible cache generation at codcov by @oech3 in https://github.com/uutils/coreutils/pull/10926
* Use MULTICALL=y at toybox test for faster CI by @oech3 in https://github.com/uutils/coreutils/pull/10370
* CICD: Drop a duplicated test producing huge caches by @oech3 in https://github.com/uutils/coreutils/pull/10513
* Don't fail when sccache caused network error & mark 2 tests flakey by @oech3 in https://github.com/uutils/coreutils/pull/11098
* Don't wrap rustc when sccache action caused network err by @oech3 in https://github.com/uutils/coreutils/pull/11141
* Cargo.toml: Avoid huge diff generation at version bump by @oech3 in https://github.com/uutils/coreutils/pull/11131
* Cargo.toml: Define feat_wasm by @oech3 in https://github.com/uutils/coreutils/pull/11074
* Mark pr/bounded-memory flakey & drop 2 useless setup by @oech3 in https://github.com/uutils/coreutils/pull/10887
* Mark date-locale-hour flakey & drop a useless cache action by @oech3 in https://github.com/uutils/coreutils/pull/11093
* Updating intermittent gnu test failures to reflect recent changes by @ChrisDryden in https://github.com/uutils/coreutils/pull/10804

## Documentation
* README.md: Don't recommend latest-commit for everyone by @oech3 in https://github.com/uutils/coreutils/pull/10678
* add 0.5.0 & 0.6.0 release notes by @sylvestre in https://github.com/uutils/coreutils/pull/10709
* Remove the word: hashsums by @oech3 in https://github.com/uutils/coreutils/pull/10674
* fix docs hashsumS and test by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/7936
* head: improve help grammar by @memark in https://github.com/uutils/coreutils/pull/10848
* Fix for potential typos by @lanceXwq in https://github.com/uutils/coreutils/pull/10822
* chore: use consistent copyright header in `.rs` files by @xtqqczze in https://github.com/uutils/coreutils/pull/11020

## Code Quality & Cleanup
* clippy: fix nightly map_unwrap_or lint by @xtqqczze in https://github.com/uutils/coreutils/pull/10625
* Re-enable unused_qualifications lint by @Xylphy in https://github.com/uutils/coreutils/pull/10571
* chore: a few more Clippy fixes by @nyurik in https://github.com/uutils/coreutils/pull/10697
* chore: minor optimizations by @nyurik in https://github.com/uutils/coreutils/pull/10707
* chore: fix `clippy::single_match_else` by @nyurik in https://github.com/uutils/coreutils/pull/10699
* chore: `clippy::unreadable_literal` by @nyurik in https://github.com/uutils/coreutils/pull/10717
* refactor: removing unnecessary references in fn signatures by @nyurik in https://github.com/uutils/coreutils/pull/10703
* chore: `clippy::wildcard_imports` by @nyurik in https://github.com/uutils/coreutils/pull/10719
* chore: `clippy::unnecessary_wraps` by @nyurik in https://github.com/uutils/coreutils/pull/10722
* chore: a few minor lints by @nyurik in https://github.com/uutils/coreutils/pull/10754
* chore: `clippy::redundant_closure_for_method_calls` by @nyurik in https://github.com/uutils/coreutils/pull/10704
* refactor: inline format! args in a few places by @nyurik in https://github.com/uutils/coreutils/pull/10730
* clippy: fix manual_is_multiple_of lint by @xtqqczze in https://github.com/uutils/coreutils/pull/10775
* clippy: fix struct_field_names lint by @xtqqczze in https://github.com/uutils/coreutils/pull/10902
* clippy: fix nightly lints by @xtqqczze in https://github.com/uutils/coreutils/pull/10970
* clippy: fix lints by @xtqqczze in https://github.com/uutils/coreutils/pull/11000
* clippy: fix nightly lints by @xtqqczze in https://github.com/uutils/coreutils/pull/11232
* clippy: enable `struct_field_names` lint by @cakebaker in https://github.com/uutils/coreutils/pull/11214
* chore: Enable workspace lints in uutest crate by @Xylphy in https://github.com/uutils/coreutils/pull/10727
* deps: remove unused rust deps by @xtqqczze in https://github.com/uutils/coreutils/pull/10688
* use zip for cleaner iteration with 1-based index by @xtqqczze in https://github.com/uutils/coreutils/pull/10963
* refactor: simplify UError construction by @xtqqczze in https://github.com/uutils/coreutils/pull/11171
* refactor: use slice::get for clarity by @xtqqczze in https://github.com/uutils/coreutils/pull/11108
* tail: disallow clippy::wrong_self_convention by @oech3 in https://github.com/uutils/coreutils/pull/11145
* Remove hashsum test files by @oech3 in https://github.com/uutils/coreutils/pull/11086

## Dependency Updates
* Bump wincode crates to `0.3.1` by @cakebaker in https://github.com/uutils/coreutils/pull/10650
* chore(deps): update rust crate regex to v1.12.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10683
* chore(deps): update rust crate clap to v4.5.57 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10685
* chore(deps): update rust crate zip to v7.3.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10713
* chore(deps): update vmactions/freebsd-vm action to v1.3.9 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9605
* chore(deps): update rust crate jiff to v0.2.19 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10760
* chore(deps): update rust crate memchr to v2.8.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10774
* chore(deps): update rust crate libc to v0.2.181 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10844
* Revert "chore(deps): update rust crate libc to v0.2.181" by @xtqqczze in https://github.com/uutils/coreutils/pull/10875
* chore(deps): update rust crate clap to v4.5.58 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10876
* chore(deps): update rust crate clap_complete to v4.5.66 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10877
* Bump `jiff` & fix clippy warning by @cakebaker in https://github.com/uutils/coreutils/pull/10881
* chore(deps): update rust crate tempfile to v3.25.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10843
* chore(deps): update rust crate libfuzzer-sys to v0.4.12 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10864
* chore(deps): update rust crate z85 to v3.0.7 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10913
* chore(deps): update rust crate zip to v8 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10944
* chore(deps): update rust crate indicatif to v0.18.4 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10936
* chore(deps): update rust crate memmap2 to v0.9.10 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10953
* chore(deps): update rust crate clap to v4.5.59 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10985
* chore(deps): update rust crate zip to v8.1.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/10990
* fix(deps): update rust crate keccak to v0.1.6 by @xtqqczze in https://github.com/uutils/coreutils/pull/10988
* chore(deps): update dawidd6/action-download-artifact action to v15 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11012
* chore(deps): update rust crate clap to v4.5.60 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11030
* Bump fuzzer's libc to 0.2.182 by @oech3 in https://github.com/uutils/coreutils/pull/11037
* fuzz: bump `keccak` from `0.1.5` to `0.1.6` by @cakebaker in https://github.com/uutils/coreutils/pull/11035
* chore(deps): update rust crate rustix to 1.1.4 by @xtqqczze in https://github.com/uutils/coreutils/pull/11055
* chore(deps): update rust crate jiff to v0.2.21 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11058
* chore(deps): update rust crate tempfile to v3.26.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11087
* Bump `num-prime` from `0.4.4` to `0.5.0` by @cakebaker in https://github.com/uutils/coreutils/pull/11069
* deps: update rust crate futures-util to v0.3.32 by @xtqqczze in https://github.com/uutils/coreutils/pull/11094
* chore(deps): update dawidd6/action-download-artifact action to v16 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11121
* chore(deps): update rust crate jiff to v0.2.22 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11164
* chore(deps): update rust crate zip to v8.2.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11184
* chore(deps): update rust crate quote to v1.0.45 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11188
* chore(deps): update rust crate jiff to v0.2.23 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11189
* chore(deps): update github artifact actions (major) by @renovate[bot] in https://github.com/uutils/coreutils/pull/11132
* deps: replace ahash with foldhash by @xtqqczze in https://github.com/uutils/coreutils/pull/11187
* deny.toml: remove `signal-hook` from skip list by @cakebaker in https://github.com/uutils/coreutils/pull/10785

## Version Management
* prepare release 0.7.0 by @sylvestre in https://github.com/uutils/coreutils/pull/11128

## New Contributors
* @my4ng made their first contribution in https://github.com/uutils/coreutils/pull/10673
* @tuananh made their first contribution in https://github.com/uutils/coreutils/pull/10668
* @0xMillyByte made their first contribution in https://github.com/uutils/coreutils/pull/10714
* @NatsuCamellia made their first contribution in https://github.com/uutils/coreutils/pull/10434
* @nikolalukovic made their first contribution in https://github.com/uutils/coreutils/pull/10529
* @memark made their first contribution in https://github.com/uutils/coreutils/pull/10848
* @lanceXwq made their first contribution in https://github.com/uutils/coreutils/pull/10822
* @denendaden made their first contribution in https://github.com/uutils/coreutils/pull/10711
* @hlsxx made their first contribution in https://github.com/uutils/coreutils/pull/10827
* @WhateverAWS made their first contribution in https://github.com/uutils/coreutils/pull/10912
* @vjardin made their first contribution in https://github.com/uutils/coreutils/pull/10901
* @yachi made their first contribution in https://github.com/uutils/coreutils/pull/10828
* @cuiweixie made their first contribution in https://github.com/uutils/coreutils/pull/10973
* @o1x3 made their first contribution in https://github.com/uutils/coreutils/pull/10974
* @aguimaraes made their first contribution in https://github.com/uutils/coreutils/pull/11045
* @victor-prokhorov made their first contribution in https://github.com/uutils/coreutils/pull/10934
* @RedNhight made their first contribution in https://github.com/uutils/coreutils/pull/11018
* @anihal made their first contribution in https://github.com/uutils/coreutils/pull/11112
* @aweinstock314 made their first contribution in https://github.com/uutils/coreutils/pull/11129
* @YuF-9468 made their first contribution in https://github.com/uutils/coreutils/pull/11159
* @yotam-medini made their first contribution in https://github.com/uutils/coreutils/pull/11182
* @akervald made their first contribution in https://github.com/uutils/coreutils/pull/11143
* @domysu made their first contribution in https://github.com/uutils/coreutils/pull/11206

**Full Changelog**: https://github.com/uutils/coreutils/compare/0.6.0...0.7.0
