### **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:
| 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.
---

---
### 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