Gitpedia
uutils

uutils/coreutils

Cross-platform Rust rewrite of the GNU coreutils

30 Releases
Latest: yesterday
0.9.0Latest
github-actions[bot]github-actions[bot]ยทyesterdayยทMay 30, 2026
GitHub

๐Ÿ“ฆ **Rust Coreutils 0.9.0 Release:**

  • ---

๐Ÿงช 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) | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ Highlights:

  • Security Hardening (Zellic audit)
  • A third-party security audit by [Zellic](https://github.com/Zellic/publications/blob/master/uutils%20coreutils%20-%20Zellic%20Audit%20Report.pdf) reviewed the codebase; the findings - widely reported as [44 CVEs](https://www.reddit.com/r/rust/comments/1st3tl0/44cves_found_in_rust_coreutils_audit/) (see also the [Ubuntu update](https://discourse.ubuntu.com/t/an-update-on-rust-coreutils/80773) and the corrode write-up [*Bugs Rust won't catch*](https://corrode.dev/blog/bugs-rust-wont-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_copy` module; TOCTOU fixes in `cp`, `mv`, and `chmod` recursive traversal; `rm` dot/dotdot path-parsing protection; `nohup.out` now created with mode `0600`; and `chroot` now resolves all ids before chrooting
  • Reducing `unsafe` & migrating to `rustix`
  • A sustained, project-wide push to shrink the `unsafe` surface: dozens of `unsafe` removals across utilities, tests, fuzz targets and `uucore` (`get_groups`, `make_fifo`, `build.rs`, and more)
  • Migration from `nix`/`libc` to `rustix` across `id`, `tr`, `timeout`, `sort`, `wc`, `tail`, `cp`, `who`, `factor`, and core process/IO paths
  • Performance
  • + 17 more

๐Ÿ“ฆ Call to Action:

  • Try it in your browser - [Online Playground](https://uutils.github.io/playground/) powered by WebAssembly
  • Help us translate - Contribute to [Rust Coreutils on Weblate](https://hosted.weblate.org/projects/rust-coreutils/)
  • Sponsor us on GitHub to accelerate development: [github.com/sponsors/uutils](https://github.com/sponsors/uutils)

๐Ÿ“ฆ 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
  • + 3 more

๐Ÿ“ฆ 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!` and `println!` 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 `Cow` by @ChrisDenton in https://github.com/uutils/coreutils/pull/11960

๐Ÿ“ฆ du

  • du: fix error from `needless_borrow` lint 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_error` instead of `eprintln` by @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_ls` so that crate users can call the `ls` without 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 `paths` argument 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
  • + 4 more

๐Ÿ“ฆ 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_stdout` by @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
  • + 4 more

๐Ÿ“ฆ 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
  • + 1 more

๐Ÿ“ฆ 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
  • + 14 more

๐Ÿ“ฆ 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 `uflag` to `utf8` by @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
  • + 1 more

๐Ÿ“ฆ 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
  • + 5 more

๐Ÿ“ฆ 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 `process` feature of `rustix` by @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
  • + 34 more

๐Ÿ”’ 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
  • + 2 more

๐Ÿ“ฆ 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_syscall` to 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 `rand` to `0.10.1` by @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
  • + 51 more

๐Ÿ“ฆ 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
  • + 16 more

๐Ÿ“ 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
  • + 3 more

๐Ÿ“ฆ 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
  • + 49 more

๐Ÿ“ฆ 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
  • + 23 more
0.8.0
github-actions[bot]github-actions[bot]ยท1mo agoยทApril 6, 2026
GitHub

๐Ÿ“ฆ **Rust Coreutils 0.8.0 Release:**

  • ---

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.7.0 | 0.8.0 | Change 0.7.0 to 0.8.0 | % Total 0.7.0 | % Total 0.8.0 | % Change 0.7.0 to 0.8.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 629 | 630 | +1 | 94.59% | 94.74% | +0.15% |
  • | Skip | 13 | 14 | +1 | 1.95% | 2.11% | +0.16% |
  • | Fail | 23 | 21 | -2 | 3.46% | 3.16% | -0.30% |
  • | Error | 0 | 0 | 0 | 0% | 0% | 0% |
  • | Total | 665 | 665 | 0 | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ Highlights:

  • GNU Compatibility & Upstream Collaboration
  • 630 passing GNU tests, with 2 fewer failures than 0.7.0
  • Continued contributing tests and bug reports upstream to GNU coreutils, strengthening both projects
  • Our compatibility work regularly uncovers edge cases in GNU itself, leading to fixes on both sides
  • `nix` โ†’ `rustix` Migration
  • Replaced `nix` crate with `rustix` across cat, df, wc, tty, tsort, tail, touch, date, mkdir, and uucore
  • Reduced range of unsafe code in hostname, logname, who, and nice
  • `uucore`: uses `rustix` for `splice()`, restricted to Linux
  • + 33 more

๐Ÿ“ฆ Call to Action:

  • Try it in your browser โ€” [Online Playground](https://uutils.github.io/playground/) powered by WebAssembly
  • Sponsor us on GitHub to accelerate development: [github.com/sponsors/uutils](https://github.com/sponsors/uutils)

๐Ÿ“ฆ cat

  • cat: Drop a clone() and use clap's default value by @oech3 in https://github.com/uutils/coreutils/pull/11298
  • cat: replace nix with rustix by @oech3 in https://github.com/uutils/coreutils/pull/11567
  • cat: avoid pipe() if stdout is pipe, extend pipe by @oech3 in https://github.com/uutils/coreutils/pull/11551
  • cat: add bench for large size for splice by @oech3 in https://github.com/uutils/coreutils/pull/11587
  • cat: add WASI stub for is_unsafe_overwrite and add to feat_wasm by @sylvestre in https://github.com/uutils/coreutils/pull/11573
  • cat: fallback with pipe() failure by @oech3 in https://github.com/uutils/coreutils/pull/11635
  • cat: don't lock stdout before splice() by @oech3 in https://github.com/uutils/coreutils/pull/11643
  • cat: simplify splice & fix comment by @oech3 in https://github.com/uutils/coreutils/pull/11627
  • + 2 more

๐Ÿ“ฆ chown

  • chown(ref): parse_uid flattened syntax by @hlsxx in https://github.com/uutils/coreutils/pull/11351
  • chown: warn when '.' is used as owner:group separator by @eyupcanakman in https://github.com/uutils/coreutils/pull/11438

๐Ÿ“ฆ cksum

  • cksum family: #[allow(clippy::unwrap_used)] by @oech3 in https://github.com/uutils/coreutils/pull/11307
  • cksum: add length support for shake128 and shake256 validation by @AldanTanneo in https://github.com/uutils/coreutils/pull/11320
  • cksum: Bring back blake3 algorithm by @RenjiSann in https://github.com/uutils/coreutils/pull/11316
  • cksum: rework blake length validation, add tests by @RenjiSann in https://github.com/uutils/coreutils/pull/11437
  • cksum: Match GNU behavior for digest length errors in --check mode by @RenjiSann in https://github.com/uutils/coreutils/pull/11499
  • *sum: protect names against argv[0] by @oech3 in https://github.com/uutils/coreutils/pull/11375

๐Ÿ“ฆ coreutils

  • coreutils: --help >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/11444
  • coreutils: --list arg and no args should fail by @oech3 in https://github.com/uutils/coreutils/pull/11385
  • coreutils: Protect against env -a for security by @oech3 in https://github.com/uutils/coreutils/pull/10773
  • coreutils: strip errno by @oech3 in https://github.com/uutils/coreutils/pull/11484
  • yes, coreutils: backport(enable) 2 GnuTests by @oech3 in https://github.com/uutils/coreutils/pull/11480

๐Ÿ“ฆ cp

  • clippy(cp): fix collapsible_if lint by @mattsu2020 in https://github.com/uutils/coreutils/pull/11288
  • fix(cp): always create dest dirs with owner write bit before fixing permissions by @baa-ableton in https://github.com/uutils/coreutils/pull/11318
  • wasm: add support for cp & mv by @sylvestre in https://github.com/uutils/coreutils/pull/11572

๐Ÿ“ฆ cut

  • cut: Drop a clone() and use clap's default value by @oech3 in https://github.com/uutils/coreutils/pull/11310
  • cut: improve some error messages by @cakebaker in https://github.com/uutils/coreutils/pull/11338
  • cut: reject literal '' delimiter special-casing by @can1357 in https://github.com/uutils/coreutils/pull/11399
  • cut: honor only-delimited in newline-delimiter mode by @can1357 in https://github.com/uutils/coreutils/pull/11394
  • cut: use `?` instead of `match` by @cakebaker in https://github.com/uutils/coreutils/pull/11461

๐Ÿ“ฆ date

  • date: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11646
  • date: fix "unused variable" warning by @cakebaker in https://github.com/uutils/coreutils/pull/11637
  • date: fix date +%9223372036854775807c panic by @mattsu2020 in https://github.com/uutils/coreutils/pull/11046
  • date: fix %#P case-swap on lowercase am/pm by @vishakha1411 in https://github.com/uutils/coreutils/pull/11671
  • date: honor narrow width on wide default strftime fields by @vishakha1411 in https://github.com/uutils/coreutils/pull/11670
  • date: apply locale-aware localization before GNU modifier processing by @sylvestre in https://github.com/uutils/coreutils/pull/11661
  • date: add ignored tests for GNU compatibility gaps found by fuzz_date by @sylvestre in https://github.com/uutils/coreutils/pull/11665

๐Ÿ“ฆ dd

  • dd: fix ISO-8859-1 case conversion for conv=lcase/ucase by @sylvestre in https://github.com/uutils/coreutils/pull/10830
  • dd: catch OOM by @oech3 in https://github.com/uutils/coreutils/pull/11562
  • dd: avoid 0-filling buf at read_and_discard by @oech3 in https://github.com/uutils/coreutils/pull/11583
  • dd: do not show zero multiplier warning when zero is the multiplicand by @iburaky2 in https://github.com/uutils/coreutils/pull/11673

๐Ÿ“ฆ df

  • df: replace unsafe libc sync with nix crate by @mattsu2020 in https://github.com/uutils/coreutils/pull/11279
  • df: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11576

๐Ÿ“ฆ env

  • env: fix --version and protect against argv[0] by @oech3 in https://github.com/uutils/coreutils/pull/11370
  • env: Disallow __ALL__ in --{ignore,default,block}-signal by @aweinstock314 in https://github.com/uutils/coreutils/pull/11218

๐Ÿ“ฆ expand

  • clippy(expand): fix collapsible_if lint by @xtqqczze in https://github.com/uutils/coreutils/pull/11286

๐Ÿ“ฆ expr

  • expr: fix eager evaluation of parenthesized dead branches by @can1357 in https://github.com/uutils/coreutils/pull/11395

๐Ÿ“ฆ factor

  • factor: fix crash on malformed input by @Alonely0 in https://github.com/uutils/coreutils/pull/11190
  • factor: deduplicate code, refactor & optimize parsing by @Alonely0 in https://github.com/uutils/coreutils/pull/11292

๐Ÿ“ฆ head

  • head: reset stale partial line state on reused buffers by @can1357 in https://github.com/uutils/coreutils/pull/11407
  • head: fix error message when input is a directory by @aguimaraes in https://github.com/uutils/coreutils/pull/11541
  • head: split head.rs by @oech3 in https://github.com/uutils/coreutils/pull/11679
  • feat_wasm: add head to the WASM-compatible utilities by @sylvestre in https://github.com/uutils/coreutils/pull/11570

๐Ÿ“ฆ install

  • install: refactor conditional expression by @xtqqczze in https://github.com/uutils/coreutils/pull/11280
  • install: rename `unprivileged` property by @cakebaker in https://github.com/uutils/coreutils/pull/11283
  • clippy(install): fix collapsible_if lint by @xtqqczze in https://github.com/uutils/coreutils/pull/11285
  • install: improve help texts by @cakebaker in https://github.com/uutils/coreutils/pull/11290

๐Ÿ“ฆ ln

  • ln: Avoid dereferencing target if --no-dereference is passed by @aweinstock314 in https://github.com/uutils/coreutils/pull/11253
  • ln: Restore backup to destination if linking fails by @aweinstock314 in https://github.com/uutils/coreutils/pull/11355
  • ln: simplify the code by @sylvestre in https://github.com/uutils/coreutils/pull/11390

๐Ÿ“ฆ ls

  • ls: replace recursion with depth-first search by @Alonely0 in https://github.com/uutils/coreutils/pull/11386
  • ls: remove many unnecessary allocations by @Alonely0 in https://github.com/uutils/coreutils/pull/11447
  • chore(ls): refactor codebase into new files by @Alonely0 in https://github.com/uutils/coreutils/pull/11429
  • ls: add header to new files by @cakebaker in https://github.com/uutils/coreutils/pull/11442
  • ls: Fix error message for ls file/missing-file by @oech3 in https://github.com/uutils/coreutils/pull/11333
  • ls: fall back to "." metadata for ".." on WASI by @sylvestre in https://github.com/uutils/coreutils/pull/11633
  • ls,dir,vdir: protect names against argv[0] by @oech3 in https://github.com/uutils/coreutils/pull/11371
  • simplify the ls code by @sylvestre in https://github.com/uutils/coreutils/pull/11391

๐Ÿ“ฆ mkdir

  • mkdir: replace libc and unsafe by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11647

๐Ÿ“ฆ nice

  • nice: Remove unsafe and reduce bin size by @oech3 in https://github.com/uutils/coreutils/pull/11489

๐Ÿ“ฆ numfmt

  • numfmt: protect name from argv[0], perf +3% by @oech3 in https://github.com/uutils/coreutils/pull/11379
  • numfmt: move duplicate code to function by @cakebaker in https://github.com/uutils/coreutils/pull/11381
  • numfmt: implement the last changes by @sylvestre in https://github.com/uutils/coreutils/pull/11411
  • numfmt: preserve fractional digits when --from-unit is used without suffix by @Eshwar1440 in https://github.com/uutils/coreutils/pull/11674
  • numfmt: add failing test cases by @sylvestre in https://github.com/uutils/coreutils/pull/11668
  • numfmt & others: Dedup some code by @sylvestre in https://github.com/uutils/coreutils/pull/11645

๐Ÿ“ฆ od

  • od: default `-t f` to double precision by @can1357 in https://github.com/uutils/coreutils/pull/11396

๐Ÿ“ฆ pr

  • pr: don't convert to String when storing lines to print by @venoosoo in https://github.com/uutils/coreutils/pull/11327

๐Ÿ“ฆ sort

  • sort: fix infinite loop on --files0-from read error by @vitkyrka in https://github.com/uutils/coreutils/pull/11504
  • sort: fix warnings about unused stuff on Redox by @cakebaker in https://github.com/uutils/coreutils/pull/11547
  • Sort: improve some of the performances by @sylvestre in https://github.com/uutils/coreutils/pull/11412
  • sort: add locale-aware month sorting (-M) by @sylvestre in https://github.com/uutils/coreutils/pull/11445
  • sort: disable rayon on wasi by @sylvestre in https://github.com/uutils/coreutils/pull/11595
  • sort: add WASI single-threaded sort path & run most of the tests by @sylvestre in https://github.com/uutils/coreutils/pull/11624
  • docs(sort): fix random number generation example by @xtqqczze in https://github.com/uutils/coreutils/pull/11295

๐Ÿ“ฆ split

  • split: preserve non-UTF-8 bytes in output filename generation by @can1357 in https://github.com/uutils/coreutils/pull/11397

๐Ÿ“ฆ stdbuf

  • stdbuf: detect unsupported target at build time by @oech3 in https://github.com/uutils/coreutils/pull/11476
  • stdbuf: Fix cfg block for Cygwin by @oech3 in https://github.com/uutils/coreutils/pull/11311
  • stdbuf: remove clippy::unnecessary_wraps by @oech3 in https://github.com/uutils/coreutils/pull/11545
  • stdbuf: use .with_capacity for Vec storing searched paths by @oech3 in https://github.com/uutils/coreutils/pull/11546
  • Fix `stdbuf` on NetBSD by @0323pin in https://github.com/uutils/coreutils/pull/11428
  • libstdbuf: remove eprintln! causing 2>/dev/full abort by @oech3 in https://github.com/uutils/coreutils/pull/11213
  • uu_stdbuf_libstdbuf: add LICENSE by @michel-slm in https://github.com/uutils/coreutils/pull/11417

๐Ÿ“ฆ stty

  • stty: Fix incorrect ppc64el type presumption by @BAMF0 in https://github.com/uutils/coreutils/pull/11284

๐Ÿ“ฆ sync

  • sync: fix exit code when fcntl failed & 2>/dev/full abort by @oech3 in https://github.com/uutils/coreutils/pull/11508
  • sync: fall back to full sync when --file-system has no operands by @can1357 in https://github.com/uutils/coreutils/pull/11393

๐Ÿ“ฆ tail

  • tail: increase retry delay and sleep interval for flaky test by @mattsu2020 in https://github.com/uutils/coreutils/pull/11278
  • tail: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11606
  • tail: add WASI support by disabling notify and pid features by @sylvestre in https://github.com/uutils/coreutils/pull/11569

๐Ÿ“ฆ tee

  • tee: remove Box and dyn by @oech3 in https://github.com/uutils/coreutils/pull/11578
  • tee: increase buf size for large input by @oech3 in https://github.com/uutils/coreutils/pull/11441
  • tee: fix < . message and strip errno by @oech3 in https://github.com/uutils/coreutils/pull/11483
  • tee: simplify by clap by @oech3 in https://github.com/uutils/coreutils/pull/11582
  • tee: reduce if block by @oech3 in https://github.com/uutils/coreutils/pull/11472
  • tee: split cli part of tee.rs by @oech3 in https://github.com/uutils/coreutils/pull/11640

๐Ÿ“ฆ timeout

  • timeout: return timed-out status after kill grace period by @can1357 in https://github.com/uutils/coreutils/pull/11392
  • feat(timeout): add benchmarking support with divan by @mattsu2020 in https://github.com/uutils/coreutils/pull/9733

๐Ÿ“ฆ touch

  • touch: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11648

๐Ÿ“ฆ tr

  • tr: reject unknown character classes during sequence parsing by @can1357 in https://github.com/uutils/coreutils/pull/11398
  • tr: fix graph/print character class mapping by @can1357 in https://github.com/uutils/coreutils/pull/11405

๐Ÿ“ฆ true/false

  • true, false, echo: avoid uu_app().render_version() for smaller binary by @oech3 in https://github.com/uutils/coreutils/pull/11362

๐Ÿ“ฆ tsort

  • tsort: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11598

๐Ÿ“ฆ tty

  • tty: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11589

๐Ÿ“ฆ wc

  • wc: replace File::from_raw_fd with nix::sys::stat by @mattsu2020 in https://github.com/uutils/coreutils/pull/11248
  • wc: replace nix by rustix by @oech3 in https://github.com/uutils/coreutils/pull/11575
  • wc: improve wc -c perf with unextended pipe input (Linux only) by @oech3 in https://github.com/uutils/coreutils/pull/11591
  • wc: support cross-platform building and 32-bit by @YumeYuka in https://github.com/uutils/coreutils/pull/11452
  • wc: add bench for small file by @oech3 in https://github.com/uutils/coreutils/pull/11526
  • wc: drop #[allow(clippy::question_mark)] by @oech3 in https://github.com/uutils/coreutils/pull/11638

๐Ÿ“ฆ yes

  • yes: Refactor by clap's default value by @oech3 in https://github.com/uutils/coreutils/pull/11296
  • yes: dedup some logic by @oech3 in https://github.com/uutils/coreutils/pull/11536
  • yes: drop unused feat deps by @oech3 in https://github.com/uutils/coreutils/pull/11518

๐Ÿ“ฆ uucore

  • uucore: tr, nice -n . 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10762
  • uucore: share a fluent resource between threads - dd perf + 45% by @oech3 in https://github.com/uutils/coreutils/pull/11220
  • uucore: Permit 'D' as a decimal suffix modifier in size parsing for GNU compatibility by @aweinstock314 in https://github.com/uutils/coreutils/pull/11354
  • uucore: use rustix'splice & restrict to Linux by @oech3 in https://github.com/uutils/coreutils/pull/11566
  • uucore: add WASI support for FileInformation and io module by @sylvestre in https://github.com/uutils/coreutils/pull/11568
  • uucore: pipes.rs replace != with > by @oech3 in https://github.com/uutils/coreutils/pull/11629
  • uucore: add a function returning /dev/null to use splice() for wc,dd,tail by @oech3 in https://github.com/uutils/coreutils/pull/11601
  • uucore: add missing feature of rustix by @oech3 in https://github.com/uutils/coreutils/pull/11632
  • + 5 more

๐Ÿ“ uudoc

  • uudoc: make tldr attribution and disclaimer translatable by @sylvestre in https://github.com/uutils/coreutils/pull/11450
  • uudoc: drop legacy FA4 `fa` class from platform icons by @sylvestre in https://github.com/uutils/coreutils/pull/11641
  • Improve the manpages & lint them in github by @sylvestre in https://github.com/uutils/coreutils/pull/11339

๐Ÿ“ฆ CI & Build

  • CICD.yml: split jobs for make by @oech3 in https://github.com/uutils/coreutils/pull/11269
  • make.yml: Replace wrong *.yml ref by @oech3 in https://github.com/uutils/coreutils/pull/11281
  • make.yml: Switch to stable from MSRV by @oech3 in https://github.com/uutils/coreutils/pull/11273
  • CICD: Partial check for NetBSD by @oech3 in https://github.com/uutils/coreutils/pull/11334
  • CICD: Check more NetBSD progs by @oech3 in https://github.com/uutils/coreutils/pull/11408
  • CICD.yml: Bump cross for NetBSD by @oech3 in https://github.com/uutils/coreutils/pull/11496
  • l10n.yml: Simplify by @oech3 in https://github.com/uutils/coreutils/pull/11335
  • l10n.yml: drop cargo build covered by cargo {test,run} by @oech3 in https://github.com/uutils/coreutils/pull/11349
  • + 19 more

๐Ÿ“ Documentation

  • docs(sort): fix random number generation example by @xtqqczze in https://github.com/uutils/coreutils/pull/11295
  • docs(performance): Use gnuls where ls is uutils by @danielzgtg in https://github.com/uutils/coreutils/pull/11342
  • ls,pr: wrap angle-bracket placeholders in backticks to fix mdbook HTML warnings by @sylvestre in https://github.com/uutils/coreutils/pull/11520
  • CONTRIBUTING.md: drop outdated hint, add policies and links by @oech3 in https://github.com/uutils/coreutils/pull/11433
  • arch, uname, Cargo.toml: update outdated info by @oech3 in https://github.com/uutils/coreutils/pull/11556
  • fr-FR: fix anglicisms (supportรฉโ†’pris en charge, drapeauโ†’option, removedโ†’supprimรฉ) by @sylvestre in https://github.com/uutils/coreutils/pull/11651
  • Remove useless translations by @sylvestre in https://github.com/uutils/coreutils/pull/11652

๐Ÿ“ฆ Code Quality & Cleanup

  • use var_os in a few places by @xtqqczze in https://github.com/uutils/coreutils/pull/11242
  • refactor: replace manual last()+pop() patterns with Vec::pop_if by @mattsu2020 in https://github.com/uutils/coreutils/pull/11272
  • Cargo.toml: dedup feat_require_unix_hostid dep by @oech3 in https://github.com/uutils/coreutils/pull/11347
  • Remove duplicated features by @oech3 in https://github.com/uutils/coreutils/pull/11510
  • hostid: reduce lines by @oech3 in https://github.com/uutils/coreutils/pull/11502
  • logname: reduce range of unsafe block by @oech3 in https://github.com/uutils/coreutils/pull/11506
  • hostname: reduce range of unsafe by @oech3 in https://github.com/uutils/coreutils/pull/11515
  • who: reduce range of unsafe by @oech3 in https://github.com/uutils/coreutils/pull/11521
  • + 10 more

๐Ÿ“ฆ Version Management

  • Revert "Cargo.toml: Avoid huge diff generation at version bump" by @sylvestre in https://github.com/uutils/coreutils/pull/11259
  • prepare release 0.8.0 by @sylvestre in https://github.com/uutils/coreutils/pull/11449

๐Ÿ“ฆ Dependency Updates

  • chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11275
  • chore(deps): update dawidd6/action-download-artifact action to v16 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11277
  • chore(deps): update rust crate tempfile to v3.27.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11289
  • chore(deps): update reactivecircus/android-emulator-runner action to v2.36.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11293
  • chore(deps): update rand and related crates to version 0.10 by @xtqqczze in https://github.com/uutils/coreutils/pull/11172
  • chore(deps): update dawidd6/action-download-artifact action to v17 by @renovate[bot] in https://github.com/uutils/coreutils/pull/11300
  • chore(deps): update rust crate nix to 0.31.2 by @xtqqczze in https://github.com/uutils/coreutils/pull/11301
  • chore(deps): update rust crate bitflags to 2.11.0 by @xtqqczze in https://github.com/uutils/coreutils/pull/11303
  • + 33 more

โœจ New Contributors

  • @BAMF0 made their first contribution in https://github.com/uutils/coreutils/pull/11284
  • @AldanTanneo made their first contribution in https://github.com/uutils/coreutils/pull/11320
  • @danielzgtg made their first contribution in https://github.com/uutils/coreutils/pull/11342
  • @venoosoo made their first contribution in https://github.com/uutils/coreutils/pull/11327
  • @baa-ableton made their first contribution in https://github.com/uutils/coreutils/pull/11318
  • @can1357 made their first contribution in https://github.com/uutils/coreutils/pull/11399
  • @vitkyrka made their first contribution in https://github.com/uutils/coreutils/pull/11504
  • @kaladron made their first contribution in https://github.com/uutils/coreutils/pull/11538
  • + 6 more
0.7.0
sylvestresylvestreยท2mo agoยทMarch 8, 2026
GitHub

๐Ÿ“ฆ **Rust Coreutils 0.7.0 Release:**

  • ---

๐Ÿงช 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) | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ 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`
  • + 33 more

๐Ÿ“ฆ 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)

๐Ÿ“ฆ 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
  • + 8 more

๐Ÿ“ฆ 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
  • + 5 more

๐Ÿ“ฆ 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
  • + 27 more

๐Ÿ“ 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
  • + 17 more

๐Ÿ“ฆ 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
  • + 30 more

๐Ÿ“ฆ 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
  • + 16 more
0.6.0
github-actions[bot]github-actions[bot]ยท3mo agoยทFebruary 2, 2026
GitHub

๐Ÿ“ฆ **Rust Coreutils 0.6.0 Release:**

  • ---

๐Ÿ“ฆ Highlights:

  • Major GNU Compatibility Leap
  • 622 passing tests (+56 from 0.5.0), achieving 96.28% compatibility
  • Reduced failures from 55 to just 16 (-39) and skipped tests from 23 to 7 (-16)
  • Extensive test suite improvements across `sort`, `ls`, `date`, `cksum`, `tail`, and many more
  • Safety & Code Quality
  • Removed unsafe code from `date`, `sort`, `locale.rs`, and other utilities
  • Replaced raw `libc` calls with safe `nix` crate equivalents throughout
  • Enhanced error handling to avoid panics on `/dev/full` writes across many utilities
  • + 27 more

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.5.0 | 0.6.0 | Change 0.5.0 to 0.6.0 | % Total 0.5.0 | % Total 0.6.0 | % Change 0.5.0 to 0.6.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 566 | 622 | +56 | 87.75% | 96.28% | +8.53% |
  • | Skip | 23 | 7 | -16 | 3.57% | 1.08% | -2.49% |
  • | Fail | 55 | 16 | -39 | 8.53% | 2.48% | -6.05% |
  • | Error | 1 | 1 | 0 | 0.16% | 0.15% | ~0% |
  • | Total | 645 | 646 | +1 (new test) | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ 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)

๐Ÿ“ฆ arch

  • Avoid >/dev/full panic by @oech3 in https://github.com/uutils/coreutils/pull/10516

๐Ÿ“ฆ base64

  • base(nc|32|64): Optimize performances reduction memset by @mattsu2020 in https://github.com/uutils/coreutils/pull/9632
  • Improve read error message by @dezgeg in https://github.com/uutils/coreutils/pull/10512

๐Ÿ“ฆ basename

  • basename . >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10553

๐Ÿ“ฆ cat

  • do not connect to unix domain socket and instead return an error by @asder8215 in https://github.com/uutils/coreutils/pull/9755
  • fix write error handling to propagate errors instead of panicking by @rynewang in https://github.com/uutils/coreutils/pull/10038
  • tests(cat,stdbuf): Add broken-pipe robustness tests (#4627) by @naoNao89 in https://github.com/uutils/coreutils/pull/8798

๐Ÿ“ฆ chgrp

  • correct exit code by @cerdelen in https://github.com/uutils/coreutils/pull/10035

๐Ÿ“ฆ chmod

  • fix error handling if multiple files are handled by @cerdelen in https://github.com/uutils/coreutils/pull/9793
  • recursive hyper nested dirs by @cerdelen in https://github.com/uutils/coreutils/pull/9990
  • preserve root by @cerdelen in https://github.com/uutils/coreutils/pull/10033

๐Ÿ“ฆ chroot

  • use execvp directly instead of process::Command by @mattsu2020 in https://github.com/uutils/coreutils/pull/9013

๐Ÿ“ฆ cksum

  • Checksum ignore binary by @RenjiSann in https://github.com/uutils/coreutils/pull/9695
  • Improve check-only flags handling by @RenjiSann in https://github.com/uutils/coreutils/pull/9770
  • Move --ckeck's deps to clap by @oech3 in https://github.com/uutils/coreutils/pull/9996
  • Move handle_tag_text_binary_flags to clap by @oech3 in https://github.com/uutils/coreutils/pull/9999
  • Simple default tag variable by @oech3 in https://github.com/uutils/coreutils/pull/10057
  • cksum,hashsum: Drop a message replaced by clap by @oech3 in https://github.com/uutils/coreutils/pull/10055
  • cksum/hashsum: Merge common logic under a common crate by @RenjiSann in https://github.com/uutils/coreutils/pull/10142
  • Revert recent checksum CLI changes by @RenjiSann in https://github.com/uutils/coreutils/pull/10141
  • + 3 more

๐Ÿ“ฆ comm

  • fix comparison when reading from pipes by @martinkunkel2 in https://github.com/uutils/coreutils/pull/9545
  • Fixes #10192 - fix(comm): improve stdout handling and add test for lossy UTF-8 output by @Paol0B in https://github.com/uutils/coreutils/pull/10206
  • Properly handle I/O errors when reading input by @dezgeg in https://github.com/uutils/coreutils/pull/10567

๐Ÿ“ฆ cp

  • fix preserve-gid when canonicalize fails due to inaccessible parent dirs by @ChrisDryden in https://github.com/uutils/coreutils/pull/9803
  • reduce memory usage for cp -al by skipping unnecessary tracking by @ChrisDryden in https://github.com/uutils/coreutils/pull/9805
  • set status code when encountering circular symbolic links by @Thanhphan1147 in https://github.com/uutils/coreutils/pull/9757
  • symlink flags fixing conflicting flag logic to use last flag by @Dylans123 in https://github.com/uutils/coreutils/pull/9960
  • Added test for permissions copying to an existing file by @max-amb in https://github.com/uutils/coreutils/pull/10049
  • use FileInformation without dereference for symlink destination check to match GNU behaviour for test/nfs-removal-race by @ChrisDryden in https://github.com/uutils/coreutils/pull/10086
  • Avoid other error at cp stream /dev/full by @oech3 in https://github.com/uutils/coreutils/pull/10139
  • Fixed posixly correct dangling symlink test by @max-amb in https://github.com/uutils/coreutils/pull/10247
  • + 1 more

๐Ÿ“ฆ csplit

  • detect and report write errors by @ChrisDryden in https://github.com/uutils/coreutils/pull/9855

๐Ÿ“ฆ date

  • remove unsafe by @xtqqczze in https://github.com/uutils/coreutils/pull/9688
  • fix inconsistent input parsing between -s and -d flags by @AnarchistHoneybun in https://github.com/uutils/coreutils/pull/9690
  • Implement locale-aware hour formatting for date command by @naoNao89 in https://github.com/uutils/coreutils/pull/9654
  • improve fuzzer and handle edge cases by @ChrisDryden in https://github.com/uutils/coreutils/pull/9661
  • fix hardcoded formats with nl_langinfo(D_T_FMT) by @naoNao89 in https://github.com/uutils/coreutils/pull/9756
  • Fix military date parsing not adjusting date by @cerdelen in https://github.com/uutils/coreutils/pull/9785
  • add benchmark by @CrazyRoka in https://github.com/uutils/coreutils/pull/9911
  • benchmark: keep only one value by @sylvestre in https://github.com/uutils/coreutils/pull/9989
  • + 10 more

๐Ÿ“ฆ dd

  • should terminate with error if skip argument is too large by @ic3man5 in https://github.com/uutils/coreutils/pull/7275
  • use actual filename in nocache error messages by @ChrisDryden in https://github.com/uutils/coreutils/pull/9820
  • fix nocache flag handling at EOF by @ChrisDryden in https://github.com/uutils/coreutils/pull/9818
  • use ibs/obs-sized buffer for skip/seek on non-seekable files by @ChrisDryden in https://github.com/uutils/coreutils/pull/9806
  • use seek for stdin skip when possible by @ChrisDryden in https://github.com/uutils/coreutils/pull/9821
  • get rid of line buffered stdout by @svlv in https://github.com/uutils/coreutils/pull/10235
  • feat(dd): add first benchmark suite for performance validation by @naoNao89 in https://github.com/uutils/coreutils/pull/9136

๐Ÿ“ฆ df

  • add binfmt_misc to is_dummy_filesystem by @van-sprundel in https://github.com/uutils/coreutils/pull/9975
  • add benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/10123
  • improve perfs by @sylvestre in https://github.com/uutils/coreutils/pull/10122
  • add rootfs to is_dummy_filesystem by @ChrisDryden in https://github.com/uutils/coreutils/pull/10159
  • Sum scaled values to compute the totals by @3v1n0 in https://github.com/uutils/coreutils/pull/10438

๐Ÿ“ฆ dir

  • add "about" and "usage" instead of being "ls" by @w007878 in https://github.com/uutils/coreutils/pull/10369

๐Ÿ“ฆ dirname

  • refactor(dirname): implement pure string manipulation per POSIX by @naoNao89 in https://github.com/uutils/coreutils/pull/8936
  • use Cow::Borrowed to avoid unnecessary heap allocations by @sylvestre in https://github.com/uutils/coreutils/pull/10294
  • add fuzzer to test GNU compatibility by @sylvestre in https://github.com/uutils/coreutils/pull/10289

๐Ÿ“ฆ du

  • fix -l/--count-links option not counting hardlinks separately by @WaterWhisperer in https://github.com/uutils/coreutils/pull/9884
  • count links based on inode by @svlv in https://github.com/uutils/coreutils/pull/10313

๐Ÿ“ฆ echo

  • Reduce memory allocation by @AnuthaDev in https://github.com/uutils/coreutils/pull/10090

๐Ÿ“ฆ env

  • preserve non-UTF-8 environment variables and remove unwrap by @ChrisDryden in https://github.com/uutils/coreutils/pull/9726
  • Improve GNU coreutils Compatibility & Fix env-signal-handler.sh Test by @mattsu2020 in https://github.com/uutils/coreutils/pull/9465
  • env/printenv: dedup the code by @sylvestre in https://github.com/uutils/coreutils/pull/9841
  • dedup some code by @sylvestre in https://github.com/uutils/coreutils/pull/9874
  • --debug 2>/dev/full does not abort by @oech3 in https://github.com/uutils/coreutils/pull/10594

๐Ÿ“ฆ expand

  • address a cognitive_complexity warnings by @sylvestre in https://github.com/uutils/coreutils/pull/9930
  • expand, unexpand: Properly handle I/O errors by @dezgeg in https://github.com/uutils/coreutils/pull/10510

๐Ÿ“ฆ expr

  • fix regex matching on inputs containing newlines by @ChrisDryden in https://github.com/uutils/coreutils/pull/10543

๐Ÿ“ฆ fmt

  • handle invalid UTF-8 input by replacing malformed sequences by @mattsu2020 in https://github.com/uutils/coreutils/pull/9329

๐Ÿ“ฆ fold

  • fix gnu test fold-zero-width.sh by @mattsu2020 in https://github.com/uutils/coreutils/pull/9274
  • Add support for -c short option and fix character mode tab handling by @mattsu2020 in https://github.com/uutils/coreutils/pull/10530

๐Ÿ“ฆ groups

  • groups > /dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10523

๐Ÿ“ฆ hashsum

  • Drop --no-names by @oech3 in https://github.com/uutils/coreutils/pull/9762
  • Drop non-GNU `--bits` flag by @RenjiSann in https://github.com/uutils/coreutils/pull/9773
  • Drop locales for --bits by @oech3 in https://github.com/uutils/coreutils/pull/9811
  • Drop benches as covered by cksum benches by @oech3 in https://github.com/uutils/coreutils/pull/9842
  • Move --ckeck's deps to clap by @oech3 in https://github.com/uutils/coreutils/pull/9998
  • hashsum, cksum: Move default stdin to clap by @oech3 in https://github.com/uutils/coreutils/pull/10043
  • hashsum, cksum: Move --check confliction to clap by @oech3 in https://github.com/uutils/coreutils/pull/10041
  • Remove hashsum by @RenjiSann in https://github.com/uutils/coreutils/pull/10587
  • + 1 more

๐Ÿ“ฆ head

  • Consolidate legacy argument parsing for head/tail by @sylvestre in https://github.com/uutils/coreutils/pull/9727
  • refactor(head): replace unsafe raw fd usage with safe AsFd API by @mattsu2020 in https://github.com/uutils/coreutils/pull/10161

๐Ÿ“ฆ hostid

  • Avoid hostid > /dev/full panic by @oech3 in https://github.com/uutils/coreutils/pull/10172

๐Ÿ“ฆ id

  • -p crashes with panic when the real GID doesn't exist in /etc/group by @sylvestre in https://github.com/uutils/coreutils/pull/9670
  • Fix incorrect human-readable output by @frendsick in https://github.com/uutils/coreutils/pull/7814

๐Ÿ“ฆ install

  • add FreeBSD's -U (unprivileged) option by @alexandrefresnais in https://github.com/uutils/coreutils/pull/9526
  • prevent TOCTOU race attack by @Dolphindalt in https://github.com/uutils/coreutils/pull/10067
  • install -dv a >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10541

๐Ÿ“ฆ join

  • add benchmarks by @WaterWhisperer in https://github.com/uutils/coreutils/pull/10005
  • add benchmark with the French locale by @WaterWhisperer in https://github.com/uutils/coreutils/pull/10025
  • consider locale collation in field comparison by @WaterWhisperer in https://github.com/uutils/coreutils/pull/9982
  • Benchmark join with actual Unicode data requiring locale collation by @sylvestre in https://github.com/uutils/coreutils/pull/10391

๐Ÿ“ฆ kill

  • kill -1 should trigger an error by @sylvestre in https://github.com/uutils/coreutils/pull/9700

๐Ÿ“ฆ ln

  • ln -svf /dev/null /tmp/a > /dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10539

๐Ÿ“ฆ logname

  • logname > /dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10522

๐Ÿ“ฆ ls

  • Make ls pass the GNU ls-misc.pl suite by @karanabe in https://github.com/uutils/coreutils/pull/9262
  • Add SMACK support by @ChrisDryden in https://github.com/uutils/coreutils/pull/9868
  • some improvements after #9431 by @sylvestre in https://github.com/uutils/coreutils/pull/10149
  • fixes for capability coloring by @bkueng in https://github.com/uutils/coreutils/pull/8615
  • Proper alignment for capabilities and ACLs notifications by @kimono-koans in https://github.com/uutils/coreutils/pull/8793
  • fix symlink chain target coloring by @ChrisDryden in https://github.com/uutils/coreutils/pull/10274

๐Ÿ“ฆ mkdir

  • create directories atomically with correct permissions by @rynewang in https://github.com/uutils/coreutils/pull/10036
  • Add SMACK support to id, mkdir, mkfifo, mknod utilities by @ChrisDryden in https://github.com/uutils/coreutils/pull/9910
  • chore: add test for setgid bit inheritance in mkdir -p by @0xferrous in https://github.com/uutils/coreutils/pull/10412
  • mkdir -pv a >/dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10540

๐Ÿ“ฆ mkfifo

  • replace unsafe libc::mkfifo with nix::unistd::mkfifo by @sylvestre in https://github.com/uutils/coreutils/pull/10112
  • do not change permission when failed to create by @w007878 in https://github.com/uutils/coreutils/pull/10376
  • error when non-file permission mode set by @w007878 in https://github.com/uutils/coreutils/pull/10372

๐Ÿ“ฆ mknod

  • Avoid major/minor No overflow by @oech3 in https://github.com/uutils/coreutils/pull/10196
  • fix SELinux cleanup when context setting fails by @ChiamakaUI in https://github.com/uutils/coreutils/pull/10582

๐Ÿ“ฆ mktemp

  • Fix template validation to require trailing consecutive Xs by @Xylphy in https://github.com/uutils/coreutils/pull/10224
  • treat empty TMPDIR as unset and fallback to /tmp by @reubenwong97 in https://github.com/uutils/coreutils/pull/10566

๐Ÿ“ฆ more

  • file status made more idiomatic. by @devnexen in https://github.com/uutils/coreutils/pull/10151
  • test(more): Fix test_from_line_option race condition by increasing PTY delay by @naoNao89 in https://github.com/uutils/coreutils/pull/9629

๐Ÿ“ฆ mv

  • Adding fixes for i-3 GNU tests related to tty output when file is not writeable by @ChrisDryden in https://github.com/uutils/coreutils/pull/9599
  • support moving folder containing symlinks to different filesystem by @yuankunzhang in https://github.com/uutils/coreutils/pull/8605
  • test_mv.rs: Remove ignore from test_mv_broken_symlink_to_another_fs by @oech3 in https://github.com/uutils/coreutils/pull/9978
  • test-mv: Use temporary directory in /dev/shm by @3v1n0 in https://github.com/uutils/coreutils/pull/10439

๐Ÿ“ฆ nice

  • use Command::exec() instead of libc::execvp() by @Ecordonnier in https://github.com/uutils/coreutils/pull/9612
  • simplify the code by @sylvestre in https://github.com/uutils/coreutils/pull/9931
  • nice -n huge_num true by @oech3 in https://github.com/uutils/coreutils/pull/10213
  • nice > /dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10524

๐Ÿ“ฆ nl

  • preserve raw bytes in output instead of using from_utf8_lossy by @ChrisDryden in https://github.com/uutils/coreutils/pull/9673

๐Ÿ“ฆ nohup

  • use POSIXLY_CORRECT to determine failure exit code by @ChrisDryden in https://github.com/uutils/coreutils/pull/9685

๐Ÿ“ฆ nproc

  • Avoid nproc > /dev/full panic by @oech3 in https://github.com/uutils/coreutils/pull/10157

๐Ÿ“ฆ numfmt

  • add --debug flag to print warnings about invalid input (#10110)
  • add --unit-separator option for output formatting by @ChrisDryden in https://github.com/uutils/coreutils/pull/10108
  • support non-UTF8 delimiters for locales like GB18030 by @ChrisDryden in https://github.com/uutils/coreutils/pull/10079
  • align error messages for suffixes by @sbentmar in https://github.com/uutils/coreutils/pull/9887

๐Ÿ“ฆ pr

  • Enable pr-tests.pl with suppressed diff output by @ChrisDryden in https://github.com/uutils/coreutils/pull/9829
  • add -b flag for backwards compatibility by @ChrisDryden in https://github.com/uutils/coreutils/pull/9993
  • allow character, block, and fifo devices as input by @SaathwikDasari in https://github.com/uutils/coreutils/pull/9946
  • use 72 char line width for all page headers by @jfinkels in https://github.com/uutils/coreutils/pull/10059
  • add default values for -s and -S separator options by @ChrisDryden in https://github.com/uutils/coreutils/pull/10073
  • add -T/--omit-pagination option by @ChrisDryden in https://github.com/uutils/coreutils/pull/10107
  • uniformly scan for form feed and newline chars by @jfinkels in https://github.com/uutils/coreutils/pull/10303
  • refactor common code for reading from file by @jfinkels in https://github.com/uutils/coreutils/pull/10334
  • + 3 more

๐Ÿ“ฆ printenv

  • Fix printenv non-UTF8 by @RenjiSann in https://github.com/uutils/coreutils/pull/9728

๐Ÿ“ฆ printf

  • Format String Parsing Overflow Causes Panic by @sylvestre in https://github.com/uutils/coreutils/pull/9693
  • printf 1 > /dev/full is not silent by @oech3 in https://github.com/uutils/coreutils/pull/10171

๐Ÿ“ฆ ptx

  • fix incorrect column width calculation and padding logic by @CrazyRoka in https://github.com/uutils/coreutils/pull/9681
  • implement -S/--sentence-regexp by @CrazyRoka in https://github.com/uutils/coreutils/pull/9682
  • fix panic when reference length exceeds line width by @CrazyRoka in https://github.com/uutils/coreutils/pull/9816
  • handle invalid regex arguments gracefully instead of panicking by @CrazyRoka in https://github.com/uutils/coreutils/pull/9825
  • handle duplicate input files by @CrazyRoka in https://github.com/uutils/coreutils/pull/9823

๐Ÿ“ฆ readlink

  • readlink /etc/mtab > /dev/full panics by @oech3 in https://github.com/uutils/coreutils/pull/10525

๐Ÿ“ฆ rm

  • fix safe traversal/access by @mattsu2020 in https://github.com/uutils/coreutils/pull/9577
  • fix error reporting for -r on Linux fixing #9011 by @ChrisDryden in https://github.com/uutils/coreutils/pull/10111
  • don't treat symlinks as write-protected by @GomesGoncalo in https://github.com/uutils/coreutils/pull/10232
  • no abbreviation no preserve root by @cerdelen in https://github.com/uutils/coreutils/pull/10205
  • fix for -rf ./ and variants silently delete current directory by @jacek-kurlit in https://github.com/uutils/coreutils/pull/9924

๐Ÿ“ฆ rmdir

  • Remove all trailing slashes when checking for symlinks by @cerdelen in https://github.com/uutils/coreutils/pull/9983

๐Ÿ“ฆ runcon

  • use `Command::exec()` instead of `libc::execvp()` by @Ecordonnier in https://github.com/uutils/coreutils/pull/9611
  • add missing utilities to enable tests/runcon/runcon-compute and removing PATH from runcon -c by @ChrisDryden in https://github.com/uutils/coreutils/pull/10088

๐Ÿ“ฆ seq

  • add SIGPIPE handling for GNU compatibility by @ChrisDryden in https://github.com/uutils/coreutils/pull/9657
  • Change fuzz_seq_parse_number to should_pass: false by @sylvestre in https://github.com/uutils/coreutils/pull/10335

๐Ÿ“ฆ shred

  • ensure deterministic pass sequence compatibility with reference implementation by @sylvestre in https://github.com/uutils/coreutils/pull/9317
  • fix(shred): stop immediately on write errors by @naoNao89 in https://github.com/uutils/coreutils/pull/9649

๐Ÿ“ฆ shuf

  • Add `--random-seed`, make `--random-source` GNU-compatible, report write failures, optimize by @blyxxyz in https://github.com/uutils/coreutils/pull/7585
  • optimize numeric output by avoiding write!() by @CrazyRoka in https://github.com/uutils/coreutils/pull/10048
  • Tune performance for -i 1-1000000 by @oech3 in https://github.com/uutils/coreutils/pull/10478

๐Ÿ“ฆ sort

  • Add legacy +POS/-POS handling in sort to pass GNU sort-field-limit test by @karanabe in https://github.com/uutils/coreutils/pull/9501
  • remove unsafe by @xtqqczze in https://github.com/uutils/coreutils/pull/9694
  • fix(sort): GNU sort-continue.sh test by @mattsu2020 in https://github.com/uutils/coreutils/pull/9107
  • Align sort debug key annotations with GNU coreutils by @mattsu2020 in https://github.com/uutils/coreutils/pull/9468
  • fixing locale benchmarks since locale is cached in OnceCell by @ChrisDryden in https://github.com/uutils/coreutils/pull/9914
  • bench(sort): add general numeric benchmark by @mattsu2020 in https://github.com/uutils/coreutils/pull/10101
  • feat(sort): add warning messages for obsolescent keys and options by @mattsu2020 in https://github.com/uutils/coreutils/pull/9900
  • refine error handling and localize field parsing errors by @mattsu2020 in https://github.com/uutils/coreutils/pull/10068
  • + 8 more

๐Ÿ“ฆ split

  • Added error when attempting to create file that already exists as directory by @max-amb in https://github.com/uutils/coreutils/pull/9945

๐Ÿ“ฆ stat

  • fix(stat): Collection of fixes for stat(1) by @Alonely0 in https://github.com/uutils/coreutils/pull/9078

๐Ÿ“ฆ stdbuf

  • use exec instead of forking by @Ecordonnier in https://github.com/uutils/coreutils/pull/9495

๐Ÿ“ฆ stty

  • implemented hex and octal parsing for rows and columns by @ChrisDryden in https://github.com/uutils/coreutils/pull/9516
  • columns env support and integration testing by @ChrisDryden in https://github.com/uutils/coreutils/pull/9490
  • Added unit tests for stty.rs to improve test coverage by @naoNao89 in https://github.com/uutils/coreutils/pull/9094
  • use stdin for TTY operations instead of /dev/tty by @ChrisDryden in https://github.com/uutils/coreutils/pull/9881
  • Implemented input and output baud rate setting for stty by @ChrisDryden in https://github.com/uutils/coreutils/pull/9517
  • bump libc & tmp stop musl-i686 by @oech3 in https://github.com/uutils/coreutils/pull/10072
  • Add bad-speed.sh test script to fetch-gnu.sh by @ChrisDryden in https://github.com/uutils/coreutils/pull/10077
  • Add cfg_aliases by @oech3 in https://github.com/uutils/coreutils/pull/10443
  • + 1 more

๐Ÿ“ฆ sync

  • Reset O_NONBLOCK flag after file validation to match GNU behavior by @naoNao89 in https://github.com/uutils/coreutils/pull/9437

๐Ÿ“ฆ tac

  • fix error message by @cerdelen in https://github.com/uutils/coreutils/pull/9942
  • use temp file for stdin to respect TMPDIR and handle disk-full errors by @ChrisDryden in https://github.com/uutils/coreutils/pull/10094
  • add regex flavor translation for compatibility and new test case by @FidelSch in https://github.com/uutils/coreutils/pull/10416
  • tac, tail, dd: detect closed stdin before Rust sanitizes it to /dev/null by @ChrisDryden in https://github.com/uutils/coreutils/pull/9664

๐Ÿ“ฆ tail

  • fix: patch inotify-dir-recreate test for notify crate's threaded inotify by @ChrisDryden in https://github.com/uutils/coreutils/pull/9666
  • Removing flaky inotify-dir patch by @ChrisDryden in https://github.com/uutils/coreutils/pull/9800
  • fix --pid with FIFO by using non-blocking open by @ChrisDryden in https://github.com/uutils/coreutils/pull/9663
  • fix big number handling and error message quoting by @ChrisDryden in https://github.com/uutils/coreutils/pull/10155
  • add --debug flag to show follow implementation mode by @ChrisDryden in https://github.com/uutils/coreutils/pull/10105
  • fix pipe-f test by detecting broken stdout pipe by @ChrisDryden in https://github.com/uutils/coreutils/pull/10156
  • Fix tail -c panics when requested bytes exceed file size by @dhr412 in https://github.com/uutils/coreutils/pull/10268
  • tests: Add 'tests/tail/follow-name' to ignore list by @ChrisDryden in https://github.com/uutils/coreutils/pull/10297
  • + 3 more

๐Ÿ“ฆ tee

  • allow multiple -a flags by @sylvestre in https://github.com/uutils/coreutils/pull/10293
  • tee miss/ing 2>/dev/full should not abort by @oech3 in https://github.com/uutils/coreutils/pull/10637

๐Ÿงช test

  • fixing unary operators that are getting parsed as argument instead of string literal by @georgepaulsen in https://github.com/uutils/coreutils/pull/9951
  • Trim whitespace in integer comparisons by @dezgeg in https://github.com/uutils/coreutils/pull/10489

๐Ÿ“ฆ timeout

  • cleanup return values by @Ecordonnier in https://github.com/uutils/coreutils/pull/9576
  • use nix kill/setpgid to reduce unsafe by @mattsu2020 in https://github.com/uutils/coreutils/pull/10120
  • backport timeout tests from master by @ChrisDryden in https://github.com/uutils/coreutils/pull/10195
  • display signal 0 as '0' instead of 'EXIT' in verbose mode by @ChrisDryden in https://github.com/uutils/coreutils/pull/10194
  • Improve error handling with explicit expect messages by @naoNao89 in https://github.com/uutils/coreutils/pull/9435
  • add all signal handlers, pass on signals to child, add ignored signal handling by @ChrisDryden in https://github.com/uutils/coreutils/pull/10254

๐Ÿ“ฆ touch

  • fix: touch -r: dangling symlink reference is accepted Fixes #9703 by @dshemetov in https://github.com/uutils/coreutils/pull/9732
  • Use libc::UTIME_NOW in touch when updating time to now by @iburaky2 in https://github.com/uutils/coreutils/pull/9870
  • fix: use jiff time for touch tests by @aaron-ang in https://github.com/uutils/coreutils/pull/10093
  • extent a test for many device files by @oech3 in https://github.com/uutils/coreutils/pull/10199

๐Ÿ“ฆ truncate

  • eliminate duplicate stat() syscall by @Jean-Christian-Cirstea in https://github.com/uutils/coreutils/pull/9527

๐Ÿ“ฆ tsort

  • gnu misc tsort.pl by @mattsu2020 in https://github.com/uutils/coreutils/pull/9289
  • perf (tsort) : avoid reading the whole input into memory and intern strings by @anastygnome in https://github.com/uutils/coreutils/pull/9872
  • Disable tsort_input_parsing_heavy for being too intermittent by @sylvestre in https://github.com/uutils/coreutils/pull/10109

๐Ÿ“ฆ uname

  • remove unwrap() for > /dev/full by @oech3 in https://github.com/uutils/coreutils/pull/10517

๐Ÿ“ฆ unexpand

  • use byte count for multibyte characters for column width when using -a flag by @JaneIllario in https://github.com/uutils/coreutils/pull/9949
  • add support for extended tab stop syntax (+N and /N) by @sylvestre in https://github.com/uutils/coreutils/pull/9265
  • fix +0 and /0 handling, add integration tests by @ChrisDryden in https://github.com/uutils/coreutils/pull/10406

๐Ÿ“ฆ uniq

  • optimize memory usage for ignore-case comparison by @CrazyRoka in https://github.com/uutils/coreutils/pull/10050
  • rename `keys_differ` to `keys_are_equal` by @cakebaker in https://github.com/uutils/coreutils/pull/10070

๐Ÿ“ฆ uptime

  • Fix uptime on macOS using sysctl kern.boottime fallback by @naoNao89 in https://github.com/uutils/coreutils/pull/8908
  • refactor(uptime): use FluentArgs for loadavg formatting in get_format by @mattsu2020 in https://github.com/uutils/coreutils/pull/10102
  • Add -p, --pretty argument by @Ivan-Shaml in https://github.com/uutils/coreutils/pull/10143

๐Ÿ“ฆ users

  • Avoid > /dev/full panic by @oech3 in https://github.com/uutils/coreutils/pull/10165

๐Ÿ“ฆ wc

  • GNU wc-cpu.sh by @mattsu2020 in https://github.com/uutils/coreutils/pull/9144
  • Ensure the output order of stdout and stderror remains unchanged. by @mattsu2020 in https://github.com/uutils/coreutils/pull/9905
  • respect POSIXLY_CORRECT for word counting by @dhr412 in https://github.com/uutils/coreutils/pull/10344
  • fix word undercount with invalid byte sequences by @dhr412 in https://github.com/uutils/coreutils/pull/10348
  • --debug 2>/dev/full does not fail by @oech3 in https://github.com/uutils/coreutils/pull/10590

๐Ÿ“ฆ yes

  • Silently handle broken pipe on windows by @ChrisDryden in https://github.com/uutils/coreutils/pull/10429

๐Ÿ“ฆ uucore

  • use --suffix to enable backup mode by @jacek-kurlit in https://github.com/uutils/coreutils/pull/9741
  • parser: add binary support to determine_number_system and parse_size by @csko in https://github.com/uutils/coreutils/pull/9659
  • locale.rs: move more code outside of the unsafe block by @sylvestre in https://github.com/uutils/coreutils/pull/9720
  • fix clippy::pedantic warnings in build.rs and generated locale code by @skjha98 in https://github.com/uutils/coreutils/pull/9837
  • Remove lossy OS string conversions by @blyxxyz in https://github.com/uutils/coreutils/pull/9337
  • document that libselinux caches is_selinux_enabled by @ChrisDryden in https://github.com/uutils/coreutils/pull/9873
  • switch to `BigDecimal::powi` implementation by @xtqqczze in https://github.com/uutils/coreutils/pull/9957
  • uucore/uptime: remove unreachable code on Windows by @cakebaker in https://github.com/uutils/coreutils/pull/9985
  • + 7 more

๐Ÿ“ uudoc

  • style(uudoc): update header formatting for options and examples by @hwhsu1231 in https://github.com/uutils/coreutils/pull/10004
  • print tldr.zip warning only once per process by @rynewang in https://github.com/uutils/coreutils/pull/10039

๐Ÿ“ฆ coreutils

  • Remove limitation for prefix by @oech3 in https://github.com/uutils/coreutils/pull/10261
  • Drop find_prefixed_util by @oech3 in https://github.com/uutils/coreutils/pull/10306
  • uu: fix typo by @antonkesy in https://github.com/uutils/coreutils/pull/10170
  • fix: properly handle write errors for --version and --help output by @naoNao89 in https://github.com/uutils/coreutils/pull/10223

๐Ÿ“ฆ Platform Support

  • Add more Cygwin support by @500-internal-server-error in https://github.com/uutils/coreutils/pull/9686
  • Bump mio for cygwin by @oech3 in https://github.com/uutils/coreutils/pull/9809
  • clippy: allow "cygwin" as value for "target_os" by @cakebaker in https://github.com/uutils/coreutils/pull/10054
  • fix: allow selinux on android by @xtqqczze in https://github.com/uutils/coreutils/pull/10419
  • runcon, chcon: Don't fetch crates at unsupported target by @oech3 in https://github.com/uutils/coreutils/pull/10360

๐Ÿ“ฆ CI & Build

  • GnuTests: Reduce gnproc deps on BSD by @oech3 in https://github.com/uutils/coreutils/pull/9644
  • GnuTests: Split online process to a script by @oech3 in https://github.com/uutils/coreutils/pull/9652
  • GnuTests: Caches for faster configure and skipping make by @oech3 in https://github.com/uutils/coreutils/pull/9627
  • run-gnu-test.sh: Fix nproc broken by cache by @oech3 in https://github.com/uutils/coreutils/pull/9735
  • build-gnu.sh: Move {ch,run}con tests to Fedora VM and avoid wrong result by @oech3 in https://github.com/uutils/coreutils/pull/9607
  • GnuTests.yml: Fix caches by @oech3 in https://github.com/uutils/coreutils/pull/9739
  • build-gnu.sh: Don't hack test suite to force-enable tests by @oech3 in https://github.com/uutils/coreutils/pull/9744
  • GnuTests.yml: Discard caches at each build-gnu.sh update by @oech3 in https://github.com/uutils/coreutils/pull/9753
  • + 92 more

๐Ÿ“ฆ Code Quality & Cleanup

  • clippy: fix map_unwrap_or lint by @xtqqczze in https://github.com/uutils/coreutils/pull/9678
  • clippy: fix ptr lints by @xtqqczze in https://github.com/uutils/coreutils/pull/9687
  • clippy: enable `needless_raw_string_hashes` lint by @cakebaker in https://github.com/uutils/coreutils/pull/9840
  • clippy: fix uninlined_format_args lint by @xtqqczze in https://github.com/uutils/coreutils/pull/9962
  • Enable clippy::assigning_clones on OpenBSD by @xtqqczze in https://github.com/uutils/coreutils/pull/9956
  • Bump `signal-hook` & add it to skip list by @cakebaker in https://github.com/uutils/coreutils/pull/9979
  • benchmark: some minor improvements by @sylvestre in https://github.com/uutils/coreutils/pull/9928
  • mac: change the delay value to avoid intermittent by @sylvestre in https://github.com/uutils/coreutils/pull/9895
  • + 16 more

๐Ÿ“ Documentation

  • README.md: Guide people to release page or main by @oech3 in https://github.com/uutils/coreutils/pull/9709
  • DEVELOPMENT.md: Remove a wrong desc by @oech3 in https://github.com/uutils/coreutils/pull/9717
  • why-error.md: Cleanup by @oech3 in https://github.com/uutils/coreutils/pull/9738
  • why-error.md: Remove 2 tests by @oech3 in https://github.com/uutils/coreutils/pull/9799
  • why-error.md: Remove 1 test by @oech3 in https://github.com/uutils/coreutils/pull/9826
  • why-*.md: Drop as issue is enough by @oech3 in https://github.com/uutils/coreutils/pull/9835
  • CONTRIBUTING.md: update crate structure by @cakebaker in https://github.com/uutils/coreutils/pull/9861
  • CONTRIBUTING.md: Bug report with LANG=C by @oech3 in https://github.com/uutils/coreutils/pull/9890
  • + 5 more

๐Ÿ“ฆ Dependency Updates

  • chore(deps): update rust crate console to v0.16.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9675
  • chore(deps): update rust crate clap_complete to v4.5.62 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9698
  • chore(deps): update rust crate zip to v7 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9731
  • chore(deps): update rust crate crc-fast to v1.8.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9730
  • chore(deps): update rust crate linux-raw-sys to v0.12.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9787
  • chore(deps): update rust crate divan to v4.2.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9786
  • chore(deps): update rust crate crc-fast to v1.9.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9791
  • chore(deps): update rust crate jiff to v0.2.17 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9830
  • + 44 more

โœจ New Contributors

  • @xtqqczze made their first contribution in https://github.com/uutils/coreutils/pull/9678
  • @Jean-Christian-Cirstea made their first contribution in https://github.com/uutils/coreutils/pull/9527
  • @jacek-kurlit made their first contribution in https://github.com/uutils/coreutils/pull/9741
  • @csko made their first contribution in https://github.com/uutils/coreutils/pull/9659
  • @nutthawit made their first contribution in https://github.com/uutils/coreutils/pull/9788
  • @dshemetov made their first contribution in https://github.com/uutils/coreutils/pull/9732
  • @500-internal-server-error made their first contribution in https://github.com/uutils/coreutils/pull/9686
  • @CrazyRoka made their first contribution in https://github.com/uutils/coreutils/pull/9681
  • + 34 more
latest-commitPre-release
github-actions[bot]github-actions[bot]ยท4mo agoยทJanuary 17, 2026
GitHub

commit: 7f0053075eb61c0982674dbf143537a6316f04c8

0.5.0
github-actions[bot]github-actions[bot]ยท5mo agoยทDecember 14, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.5.0 Release:**

  • ---

๐Ÿ“ฆ Highlights:

  • Improved GNU Compatibility
  • 566 passing tests (+22 from 0.4.0), achieving 87.75% compatibility
  • Reduced failures from 56 to 55 (-1) and skipped tests from 33 to 23 (-10)
  • Updated GNU reference from 9.8 to 9.9, adding 11 new tests
  • Major improvements to `fold`, `cksum`, `install`, and `numfmt`
  • Unicode & Text Processing Enhancements
  • `fold`: Added combining character support for proper Unicode text wrapping
  • `ptx`: Implemented GNU mode with dumb terminal format
  • + 18 more

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.4.0 | 0.5.0 | Change 0.4.0 to 0.5.0 | % Total 0.4.0 | % Total 0.5.0 | % Change 0.4.0 to 0.5.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 544 | 566 | +22 | 85.80% | 87.75% | +1.95% |
  • | Skip | 33 | 23 | -10 | 5.21% | 3.57% | -1.64% |
  • | Fail | 56 | 55 | -1 | 8.83% | 8.53% | -0.30% |
  • | Error | 1 | 1 | 0 | 0.16% | 0.16% | 0% |
  • | Total | 634 | 645 | +11 (new tests) | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ 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)
  • ๐Ÿ”— Download the latest release: [https://uutils.github.io](https://uutils.github.io)

๐Ÿ“ฆ basenc

  • basenc: Fix basenc.pl GNU-compat tests pass by @karanabe in https://github.com/uutils/coreutils/pull/9203
  • fix(Basenc):fix GNU coreutils test bounded-memory.sh by @mattsu2020 in https://github.com/uutils/coreutils/pull/9536
  • base32, base64, baseenc:Simplifying the base encoding uu_app and adding basic buffer tests by @ChrisDryden in https://github.com/uutils/coreutils/pull/9409

๐Ÿ“ฆ chmod

  • chmod:fix safe traversal/access by @mattsu2020 in https://github.com/uutils/coreutils/pull/9554

๐Ÿ“ฆ cksum

  • cksum/hashsum: merge digest computation & various improvements by @RenjiSann in https://github.com/uutils/coreutils/pull/9135
  • cksum: Fix GNU test cksum-base64-untagged by @RenjiSann in https://github.com/uutils/coreutils/pull/9344
  • Add --debug flag to cksum by @naoNao89 in https://github.com/uutils/coreutils/pull/9088
  • cksum: Fix GNU test `cksum-c.sh` after bump to 9.9 by @RenjiSann in https://github.com/uutils/coreutils/pull/9511
  • cksum: small improvements, l10n by @RenjiSann in https://github.com/uutils/coreutils/pull/9532
  • Fix hardware capabilities detection; cksum --debug by @RenjiSann in https://github.com/uutils/coreutils/pull/9603

๐Ÿ“ฆ cp

  • cp: allow directory merging when destination was just created by @vikram-kangotra in https://github.com/uutils/coreutils/pull/9325
  • cp: Adding test to cover no dereference when copying symlinks by @ChrisDryden in https://github.com/uutils/coreutils/pull/9623
  • cp: Enabling cp force flag to run on windows by @ChrisDryden in https://github.com/uutils/coreutils/pull/9624
  • Add comprehensive readonly file regression tests for cp by @naoNao89 in https://github.com/uutils/coreutils/pull/9045

๐Ÿ“ฆ du

  • du: Alias -A --apparent-size by @oech3 in https://github.com/uutils/coreutils/pull/9555
  • du: handle `--files0-from=-` with piped in `-` by @cakebaker in https://github.com/uutils/coreutils/pull/8985

๐Ÿ“ฆ env

  • Adding integration tests for the braced variable parsing in env by @ChrisDryden in https://github.com/uutils/coreutils/pull/9459
  • env: remove outdated comment by @cakebaker in https://github.com/uutils/coreutils/pull/9496
  • env: use Command::exec() instead of libc::execvp() by @Ecordonnier in https://github.com/uutils/coreutils/pull/9614

๐Ÿ“ฆ fold

  • fold:Improve fold bench data generation by @mattsu2020 in https://github.com/uutils/coreutils/pull/9210
  • fix(fold): GNU fold-characters.sh test by @mattsu2020 in https://github.com/uutils/coreutils/pull/9126
  • Fold: Adding combining character support by @ChrisDryden in https://github.com/uutils/coreutils/pull/9328

๐Ÿ“ฆ hashsum

  • hashsum: Fix length processing to fix last GNU test by @RenjiSann in https://github.com/uutils/coreutils/pull/9569

๐Ÿ“ฆ install

  • install: ignore umask by @akretz in https://github.com/uutils/coreutils/pull/9254
  • Enhance mode parsing to support comma-separated mode strings in install command by @Vesal-J in https://github.com/uutils/coreutils/pull/9298
  • install: do not call chown when called as root by @Ecordonnier in https://github.com/uutils/coreutils/pull/9477

๐Ÿ“ฆ ln

  • ln: add error handling for hard link creation on directories by @FidelSch in https://github.com/uutils/coreutils/pull/9342

๐Ÿ“ฆ ls

  • ls: prevent ReadDir from closing before entries are processed by @vikram-kangotra in https://github.com/uutils/coreutils/pull/9410

๐Ÿ“ฆ mkfifo

  • tests/mkfifo: added a test to check mkfifo permission denied error for code coverage by @asder8215 in https://github.com/uutils/coreutils/pull/9586

๐Ÿ“ฆ nl

  • fix(nl): allow repeated flags to match GNU nl behavior (fixes #9132) by @naoNao89 in https://github.com/uutils/coreutils/pull/9140

๐Ÿ“ฆ nohup

  • nohup: use Command::exec() instead of libc::execvp() by @Ecordonnier in https://github.com/uutils/coreutils/pull/9613

๐Ÿ“ฆ numfmt

  • numfmt: support quetta/ronna suffixes and fix error messages by @naoNao89 in https://github.com/uutils/coreutils/pull/9280

๐Ÿ“ฆ od

  • od: fix GNU od.pl by @mattsu2020 in https://github.com/uutils/coreutils/pull/9334
  • fix(od):fix GNU coreutils test od float.sh by @mattsu2020 in https://github.com/uutils/coreutils/pull/9534

๐Ÿ“ฆ pr

  • pr: fix header formatting for custom date formats starting with '+' by @sylvestre in https://github.com/uutils/coreutils/pull/9252

๐Ÿ“ฆ ptx

  • ptx: implement GNU mode with dumb terminal format by @sylvestre in https://github.com/uutils/coreutils/pull/9573

๐Ÿ“ฆ readlink

  • readlink: test calling without args by @cakebaker in https://github.com/uutils/coreutils/pull/9230
  • readlink:Correction to Symbolic Link Handling by @mattsu2020 in https://github.com/uutils/coreutils/pull/9633

๐Ÿ“ฆ seq

  • fix(seq): handle BrokenPipe like GNU by @mattsu2020 in https://github.com/uutils/coreutils/pull/9471
  • seq:fix test_broken_pipe_still_exits_success by @mattsu2020 in https://github.com/uutils/coreutils/pull/9520
  • seq: adding large integers benchmarks by @ChrisDryden in https://github.com/uutils/coreutils/pull/9561

๐Ÿ“ฆ shuf

  • shuf: add benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/9320

๐Ÿ“ฆ sort

  • sort: make compression program failures non-fatal, warn and fallback to plain files by @sylvestre in https://github.com/uutils/coreutils/pull/9266

๐Ÿ“ฆ stdbuf

  • Remove unsafe unwrap() calls in stdbuf error handling by @naoNao89 in https://github.com/uutils/coreutils/pull/9429

๐Ÿ“ฆ stty

  • Adding TTY helper for unix to be able to create tests for stty and more by @ChrisDryden in https://github.com/uutils/coreutils/pull/9348
  • Using the pty helper function for the more bin testing by @ChrisDryden in https://github.com/uutils/coreutils/pull/9441
  • stty: baud parsing integration tests and validation by @ChrisDryden in https://github.com/uutils/coreutils/pull/9454
  • stty: Implemented saved state parser for stty by @ChrisDryden in https://github.com/uutils/coreutils/pull/9480
  • stty: Changing shell command to add recognizing a TTY for stty tests by @ChrisDryden in https://github.com/uutils/coreutils/pull/9336

๐Ÿ“ฆ tail

  • tail: batch inotify events to prevent redundant headers after SIGSTOP/SIGCONT by @sylvestre in https://github.com/uutils/coreutils/pull/9574
  • tail: fix intermittent overlay-headers test by batching inotify events by @sylvestre in https://github.com/uutils/coreutils/pull/9598

๐Ÿ“ฆ tee

  • tee: fix poll timeout causing intermittent hangs with -p flag by @sylvestre in https://github.com/uutils/coreutils/pull/9585

๐Ÿ“ฆ timeout

  • Reducing sleep times and timeout times in test_timeout by @ChrisDryden in https://github.com/uutils/coreutils/pull/9448
  • timeout: cleanup return values by @Ecordonnier in https://github.com/uutils/coreutils/pull/9576
  • timeout: remove FIXME in test by @Ecordonnier in https://github.com/uutils/coreutils/pull/9580

๐Ÿ“ฆ dd

  • dd: Handle slow transfer rates in progress display by @martinkunkel2 in https://github.com/uutils/coreutils/pull/9529

๐Ÿ“ฆ uucore

  • uucore: embed system locale on cargo install by @WaterWhisperer in https://github.com/uutils/coreutils/pull/8604
  • feat(uucore): add shared hardware detection module by @naoNao89 in https://github.com/uutils/coreutils/pull/9279
  • uucore: support cygwin by @ognevny in https://github.com/uutils/coreutils/pull/9535
  • uucore: mode parsing: support comma-separated modes by @martinkunkel2 in https://github.com/uutils/coreutils/pull/9578

๐Ÿ“ uudoc

  • uudoc: fix manpage for individual utilities has wrong name (nit) by @shayelkin in https://github.com/uutils/coreutils/pull/9152

๐Ÿ“ฆ CI & Build

  • CICD.yml: split PROFILE= from CARGOFLAGS by @oech3 in https://github.com/uutils/coreutils/pull/9219
  • GNUmakefile: use PROFILE_CMD at make test by @oech3 in https://github.com/uutils/coreutils/pull/9214
  • GNUmakefile: generalize logic for SELINUX_PROGS for many platforms by @oech3 in https://github.com/uutils/coreutils/pull/9221
  • build-gnu.sh: Let SELinux optional to use it locally without libselinux by @oech3 in https://github.com/uutils/coreutils/pull/9220
  • freebsd.yml: remove not working PROFILE= by @oech3 in https://github.com/uutils/coreutils/pull/9225
  • GNUmakefile: Remove check for LIBSELINUX_ENABLED by @oech3 in https://github.com/uutils/coreutils/pull/9228
  • Update redoxer and reenable Redox OS in CI by @jackpot51 in https://github.com/uutils/coreutils/pull/9233
  • GNUmakefile: drop not used use_default:=1 by @oech3 in https://github.com/uutils/coreutils/pull/9231
  • + 45 more

๐Ÿ“ Documentation

  • README.md: profiles for binary size by @oech3 in https://github.com/uutils/coreutils/pull/9268
  • installation.md: Fix wrong reference for AUR by @oech3 in https://github.com/uutils/coreutils/pull/9447
  • README.md: note that separator is needed for PROG_PREFIX by @oech3 in https://github.com/uutils/coreutils/pull/9444
  • installation.md: Ref MSYS2 package by @oech3 in https://github.com/uutils/coreutils/pull/9456
  • installation.md: Add MSYS2 Cygwin package by @oech3 in https://github.com/uutils/coreutils/pull/9566
  • why-skip.md: Remove an OOD doc by @oech3 in https://github.com/uutils/coreutils/pull/9506
  • why-skip.md: Remove a passing test by @oech3 in https://github.com/uutils/coreutils/pull/9507
  • why-skip.md: Remove 4 sparse-* by @oech3 in https://github.com/uutils/coreutils/pull/9508
  • + 9 more

๐Ÿ“ฆ Code Quality & Cleanup

  • test: existing file is newer than non-existing file by @cakebaker in https://github.com/uutils/coreutils/pull/9245
  • move the factor divan bench into the actual directory by @sylvestre in https://github.com/uutils/coreutils/pull/9296
  • Remove high variance benchmark functions by @sylvestre in https://github.com/uutils/coreutils/pull/9311
  • Bump `markdownlint_cli2_action` & fix warnings by @cakebaker in https://github.com/uutils/coreutils/pull/9309
  • replace number_prefix by unit-prefix by @sylvestre in https://github.com/uutils/coreutils/pull/9322
  • coreutils: Print utility not found to stderr by @oech3 in https://github.com/uutils/coreutils/pull/9588
  • use github URLs for fetching tldr.zip by @dgilman in https://github.com/uutils/coreutils/pull/9584
  • unit test coverage: fix missing coverage by @martinkunkel2 in https://github.com/uutils/coreutils/pull/9606
  • + 3 more

โšก Performance & Benchmarking

  • benches: Migrate factor benchmarks from Criterion to Divan by @naoNao89 in https://github.com/uutils/coreutils/pull/9247
  • Add functionality to show when tests were previously skipped and now failing accurately by @ChrisDryden in https://github.com/uutils/coreutils/pull/9521

๐Ÿ“ฆ Version Management

  • update gnu ref to 9.9 + improve the script by @sylvestre in https://github.com/uutils/coreutils/pull/9216
  • prepare version 0.5.0 by @sylvestre in https://github.com/uutils/coreutils/pull/9596

๐Ÿ“ฆ Dependency Updates

  • chore(deps): update rust crate crc-fast to v1.7.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9224
  • chore(deps): update rust crate indicatif to v0.18.3 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9226
  • chore(deps): update rust crate crc-fast to v1.8.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9282
  • Update vmactions/freebsd-vm action to v1.2.7 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9304
  • chore(deps): update rust crate clap to v4.5.52 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9316
  • chore(deps): update rust crate clap_complete to v4.5.61 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9343
  • chore(deps): update rust crate clap to v4.5.53 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9340
  • GNUmakefile: Use libstdbuf.* instead of libstdbuf* by @oech3 in https://github.com/uutils/coreutils/pull/9345
  • + 13 more

โœจ New Contributors

  • @WaterWhisperer made their first contribution in https://github.com/uutils/coreutils/pull/8604
  • @ChrisDryden made their first contribution in https://github.com/uutils/coreutils/pull/9328
  • @FidelSch made their first contribution in https://github.com/uutils/coreutils/pull/9342
  • @ognevny made their first contribution in https://github.com/uutils/coreutils/pull/9535
  • @shayelkin made their first contribution in https://github.com/uutils/coreutils/pull/9152
  • @dgilman made their first contribution in https://github.com/uutils/coreutils/pull/9584
  • Full Changelog: https://github.com/uutils/coreutils/compare/0.4.0...0.5.0
0.4.0
github-actions[bot]github-actions[bot]ยท6mo agoยทNovember 9, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.4.0 Release:**

  • ---

๐Ÿ“ฆ Highlights:

  • Enhanced GNU Compatibility
  • 544 passing tests (+12 from 0.3.0), achieving 85.80% compatibility
  • Reduced failures from 68 to 56 (-12)
  • Better compatibility with GNU `date` timezone handling
  • Algorithm & Performance Improvements
  • `factor`: Integrated num_prime crate for faster u64/u128 factorization
  • `tsort`: Fixed stack overflow issues with iterative DFS implementation
  • `cksum`: Added comprehensive performance benchmarks
  • + 11 more

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.3.0 | 0.4.0 | Change 0.3.0 to 0.4.0 | % Total 0.3.0 | % Total 0.4.0 | % Change 0.3.0 to 0.4.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 532 | 544 | +12 | 83.91% | 85.80% | +1.89% |
  • | Skip | 33 | 33 | 0 | 5.20% | 5.20% | +0.01% |
  • | Fail | 68 | 56 | -12 | 10.73% | 8.83% | -1.90% |
  • | Error | 1 | 1 | 0 | 0.16% | 0.16% | 0% |
  • | Total | 634 | 634 | 0 | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ 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)
  • ๐Ÿ”— Download the latest release: [https://uutils.github.io](https://uutils.github.io)

๐Ÿ“ฆ base64

  • Align base64 with GNU base64.pl tests by @karanabe in https://github.com/uutils/coreutils/pull/9194

๐Ÿ“ฆ cat

  • Fix EINTR handling in cat by @naoNao89 in https://github.com/uutils/coreutils/pull/8946
  • fix(cat): refine unsafe overwrite detection for appending files by @mattsu2020 in https://github.com/uutils/coreutils/pull/9122

๐Ÿ“ฆ chown

  • Fix chown tests for FreeBSD and macOS by @akretz in https://github.com/uutils/coreutils/pull/9058

๐Ÿ“ฆ cksum

  • Refactor cksum for incoming merge with hashsum, Fix behavior for `--text` and `--untagged` by @RenjiSann in https://github.com/uutils/coreutils/pull/9024
  • Fix "cksum: --length 0 shouldn't fail for algorithms that don't support --length" by @RenjiSann in https://github.com/uutils/coreutils/pull/9032
  • Add support for sha2, sha3 by @RenjiSann in https://github.com/uutils/coreutils/pull/9035
  • Fix GNU `cksum-c.sh` and `cksum-sha3.sh` by @RenjiSann in https://github.com/uutils/coreutils/pull/9063
  • add cksum performance benchmarks by @naoNao89 in https://github.com/uutils/coreutils/pull/9075
  • fix(cksum): correct CRC32B implementation to match GNU cksum by @naoNao89 in https://github.com/uutils/coreutils/pull/9026

๐Ÿ“ฆ comm

  • Fix EINTR handling in comm by @naoNao89 in https://github.com/uutils/coreutils/pull/8946
  • hold the stdin lock for the whole duration of the program by @andreacorbellini in https://github.com/uutils/coreutils/pull/9085

๐Ÿ“ฆ date

  • fix(date): support timezone abbreviations in date --set by @naoNao89 in https://github.com/uutils/coreutils/pull/8944
  • date, touch: fix parse_datetime 0.13.0 compatibility by @naoNao89 in https://github.com/uutils/coreutils/pull/8843
  • improve compat with GNU by @sylvestre in https://github.com/uutils/coreutils/pull/9022
  • remove `chrono` by @cakebaker in https://github.com/uutils/coreutils/pull/9048
  • add --uct alias and allow multiple option aliases together by @sylvestre in https://github.com/uutils/coreutils/pull/9181

๐Ÿ“ฆ dd

  • fix(dd): handle O_DIRECT partial block writes by @naoNao89 in https://github.com/uutils/coreutils/pull/9016

๐Ÿ“ฆ du

  • fix dead code warnings in test on Android by @cakebaker in https://github.com/uutils/coreutils/pull/9131
  • disable some benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/9167
  • also disable du_human_balanced_tree as benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/9198

๐Ÿ“ฆ factor

  • base benchmarking for single/multiple u64, u128, and >u128 by @asder8215 in https://github.com/uutils/coreutils/pull/9182
  • use num_prime crate's u64 and u128 factorization methods to speed up the performance by @asder8215 in https://github.com/uutils/coreutils/pull/9171

๐Ÿ“ฆ hashsum

  • don't fail on dirs by @Ada-Armstrong in https://github.com/uutils/coreutils/pull/8930
  • Remove non-GNU binaries (fix cksum interface divergence) by @oech3 in https://github.com/uutils/coreutils/pull/9153

๐Ÿ“ฆ install

  • fix the error message by @sylvestre in https://github.com/uutils/coreutils/pull/9188

๐Ÿ“ฆ ls

  • use file path for ACL check by @akretz in https://github.com/uutils/coreutils/pull/9055

๐Ÿ“ฆ mkdir

  • Fix stack overflow with deeply nested directories by @naoNao89 in https://github.com/uutils/coreutils/pull/8947
  • remove `#[allow(unused_variables)]` by @cakebaker in https://github.com/uutils/coreutils/pull/9109

๐Ÿ“ฆ od

  • Fix EINTR handling in od by @naoNao89 in https://github.com/uutils/coreutils/pull/8946

๐Ÿ“ฆ printenv

  • add more tests by @ya7on in https://github.com/uutils/coreutils/pull/9151

๐Ÿ“ฆ printf

  • handle extremely large format widths gracefully to fix GNU test panic by @sylvestre in https://github.com/uutils/coreutils/pull/9133

๐Ÿ“ฆ readlink

  • fix(readlink): emit GNU-style Invalid argument for non-symlinks by @karanabe in https://github.com/uutils/coreutils/pull/9189

๐Ÿ“ฆ stdbuf

  • add support for OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/9185

๐Ÿ“ฆ timeout

  • add missing extra help by @matttbe in https://github.com/uutils/coreutils/pull/9160

๐Ÿ“ฆ truncate

  • feat(truncate): allow negative size values for truncation by @mattsu2020 in https://github.com/uutils/coreutils/pull/9129

๐Ÿ“ฆ tsort

  • use iterative dfs to prevent stack overflows by @Nekrolm in https://github.com/uutils/coreutils/pull/8737
  • fix minimal cycle reporting and precise back-edge removal by @naoNao89 in https://github.com/uutils/coreutils/pull/8786

๐Ÿ“ฆ uptime

  • Fix build and tests for uptime on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/9158
  • fix clippy warning manual-let-else on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/9193

๐Ÿ“ uudoc

  • respect SKIP_UTILS by @oech3 in https://github.com/uutils/coreutils/pull/8982
  • Add example to manpage by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/7841

๐Ÿ“ Documentation

  • release notes: add 0.2.2 by @sylvestre in https://github.com/uutils/coreutils/pull/8998
  • README: Fix coverage badge URL by @RenjiSann in https://github.com/uutils/coreutils/pull/9046
  • README.md: Fix about manpage generation by @oech3 in https://github.com/uutils/coreutils/pull/8994
  • README.md: Show how to build all individual bins by cargo by @oech3 in https://github.com/uutils/coreutils/pull/9069
  • extensions.md: mark hashsum as deprecated by @oech3 in https://github.com/uutils/coreutils/pull/9089
  • doc: rename file by @sylvestre in https://github.com/uutils/coreutils/pull/9208

๐Ÿ“ฆ CI & Build

  • chore(deps): update github artifact actions (major) by @renovate[bot] in https://github.com/uutils/coreutils/pull/8997
  • publish script: add progress by @sylvestre in https://github.com/uutils/coreutils/pull/9008
  • GNUmakefile: Add a value for cross-build by @oech3 in https://github.com/uutils/coreutils/pull/9015
  • GNUmakefile: Don't install part of hashsum if we excluded hashsum by @oech3 in https://github.com/uutils/coreutils/pull/9036
  • ci: remove `code_format` job from `FixPR` workflow by @cakebaker in https://github.com/uutils/coreutils/pull/9043
  • Append .bash to completions by @oech3 in https://github.com/uutils/coreutils/pull/9049
  • ci: remove deprecated `lima-actions/ssh` by @cakebaker in https://github.com/uutils/coreutils/pull/9054
  • GNUmakefile: Do not use install -v by @oech3 in https://github.com/uutils/coreutils/pull/9051
  • + 8 more

๐Ÿ“ฆ Code Quality & Cleanup

  • fix: make visible alias by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/9041
  • fix: show ignored args by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/9040
  • rustdoc: fix broken intra doc links by @cakebaker in https://github.com/uutils/coreutils/pull/9097
  • clippy: re-enable `unnecessary_semicolon` lint by @cakebaker in https://github.com/uutils/coreutils/pull/9143
  • Remove `test_keys2` binary by @cakebaker in https://github.com/uutils/coreutils/pull/9183
  • Typo by @sylvestre in https://github.com/uutils/coreutils/pull/9197

โšก Performance & Benchmarking

  • bench: remove 'sort_random_strings' by @sylvestre in https://github.com/uutils/coreutils/pull/9030
  • bench: tsort_input_parsing_heavy reduce the input side by @sylvestre in https://github.com/uutils/coreutils/pull/9067
  • Fix base64 benchmarks by @akretz in https://github.com/uutils/coreutils/pull/9082
  • Revert "Fix base64 benchmarks" by @sylvestre in https://github.com/uutils/coreutils/pull/9139
  • Disable variance-heavy benchmark tests by @sylvestre in https://github.com/uutils/coreutils/pull/9201

๐Ÿ“ฆ Version Management

  • prepare version 0.4.0 by @sylvestre in https://github.com/uutils/coreutils/pull/9205

๐Ÿ“ฆ Dependency Updates

  • be prescriptive on the codspeed-divan-compat version by @sylvestre in https://github.com/uutils/coreutils/pull/9007
  • Bump `linux-raw-sys` from `0.11` to `0.12` by @cakebaker in https://github.com/uutils/coreutils/pull/9019
  • chore(deps): update rust crate bstr to v1.12.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9038
  • chore(deps): update rust crate indicatif to v0.18.2 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9053
  • chore(deps): update rust crate hex-literal to v1.1.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9077
  • chore(deps): update rust crate clap to v4.5.51 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9079
  • chore(deps): update rust crate clap_complete to v4.5.60 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9087
  • chore(deps): update rust crate crc-fast to v1.6.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/9095
  • + 9 more

โœจ New Contributors

  • @akretz made their first contribution in https://github.com/uutils/coreutils/pull/9058
  • @andreacorbellini made their first contribution in https://github.com/uutils/coreutils/pull/9085
  • @ya7on made their first contribution in https://github.com/uutils/coreutils/pull/9151
  • @matttbe made their first contribution in https://github.com/uutils/coreutils/pull/9160
  • Full Changelog: https://github.com/uutils/coreutils/compare/0.3.0...0.4.0
0.3.0
github-actions[bot]github-actions[bot]ยท7mo agoยทOctober 24, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.3.0 Release:**

  • ---

๐Ÿ“ฆ Highlights:

  • Performance Improvements
  • Compared to GNU:
  • `base64` is 1.20x faster
  • `expand` is 1.80x faster
  • `unexpand` is 1.50x faster
  • `nl` is 1.57x faster
  • `sort` is 3.72x faster for regular sorting and 1.46x faster for numeric sorting
  • `fold` is 1.19x faster through optimization
  • + 18 more

๐Ÿงช GNU Test Suite Compatibility:

  • *Note: Test result changes are primarily due to upgrading our reference from GNU coreutils 9.7 to 9.8, which introduced 16 new tests and updated existing test expectations.*
  • | Result | 0.2.0 | 0.3.0 | Change 0.2.0 to 0.3.0 | % Total 0.2.0 | % Total 0.3.0 | % Change 0.2.0 to 0.3.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 538 | 532 | -6 | 87.06% | 83.91% | -3.15% |
  • | Skip | 27 | 33 | +6 | 4.37% | 5.20% | +0.83% |
  • | Fail | 52 | 68 | +16 | 8.42% | 10.73% | +2.31% |
  • | Error | 1 | 1 | 0 | 0.16% | 0.16% | 0% |
  • | Total | 618 | 634 | +16 (new tests) | | | |
  • + 3 more

๐Ÿ“ฆ 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)
  • ๐Ÿ”— Download the latest release: [https://uutils.github.io](https://uutils.github.io)

๐Ÿ“ฆ base64

  • Input reuse on base64 by @ThePseudo in https://github.com/uutils/coreutils/pull/8587
  • Add benchmark for base64 by @ThePseudo in https://github.com/uutils/coreutils/pull/8768

๐Ÿ“ฆ basenc

  • basenc: implement --base58 encoding option by @AnarchistHoneybun in https://github.com/uutils/coreutils/pull/8751
  • base58: it wasn't working properly with long input by @sylvestre in https://github.com/uutils/coreutils/pull/8818

๐Ÿ“ฆ chgrp

  • safe traversal: adjust chmod & chgrp to use it by @sylvestre in https://github.com/uutils/coreutils/pull/8632

๐Ÿ“ฆ chmod

  • safe traversal: adjust chmod & chgrp to use it by @sylvestre in https://github.com/uutils/coreutils/pull/8632

๐Ÿ“ฆ cksum

  • cksum: improve performance (Closes: #8573) by @RenjiSann in https://github.com/uutils/coreutils/pull/8643

๐Ÿ“ฆ cp

  • cp: fix Ioctl casting for ppc64 (Closes: #8161) by @maxfilov in https://github.com/uutils/coreutils/pull/8637
  • Replace casting to Ioctl with a const from libc by @maxfilov in https://github.com/uutils/coreutils/pull/8641
  • cp: fix recursive cp fails on files with trailing backslashes by @Anonymous-AAA in https://github.com/uutils/coreutils/pull/8747
  • feat(cp): optimize directory copy by caching file checks and refactoring calls by @mattsu2020 in https://github.com/uutils/coreutils/pull/8805
  • cp: fix crash on -T/--no-preserve-target by @Alonely0 in https://github.com/uutils/coreutils/pull/8864
  • cp: show relative path of source file with -vr by @Ada-Armstrong in https://github.com/uutils/coreutils/pull/8887
  • cp: display symlink creation with --verbose by @Ada-Armstrong in https://github.com/uutils/coreutils/pull/8899
  • docs: add benchmarking guidelines for cp by @mattsu2020 in https://github.com/uutils/coreutils/pull/8807

๐Ÿ“ฆ csplit

  • csplit: create final empty file with --suppress-matched to match GNU (fixes #7286) by @naoNao89 in https://github.com/uutils/coreutils/pull/8655

๐Ÿ“ฆ date

  • date: use --reference=file to display the file modification time by @yuankunzhang in https://github.com/uutils/coreutils/pull/8630
  • date: consolidate date parsing logic by @yuankunzhang in https://github.com/uutils/coreutils/pull/8629
  • date: implement `--resolution` flag by @Banzobotic in https://github.com/uutils/coreutils/pull/8686
  • date: follow GNU pure-number -d semantics by @naoNao89 in https://github.com/uutils/coreutils/pull/8907

๐Ÿ“ฆ df

  • df: follow symlinks by @bakanovskii in https://github.com/uutils/coreutils/pull/8763
  • df: add tracing zero and rounding by @bakanovskii in https://github.com/uutils/coreutils/pull/8685
  • df: treat env var with zero block size same as invalid by @Ada-Armstrong in https://github.com/uutils/coreutils/pull/8932
  • tests(df): Fix test_total to avoid whitespace parsing issues by @naoNao89 in https://github.com/uutils/coreutils/pull/8799

๐Ÿ“ฆ dirname

  • Fix dirname handling of paths ending in `/.` by @naoNao89 in https://github.com/uutils/coreutils/pull/8911

๐Ÿ“ฆ du

  • Adjust rm & du to use safe traversal (openat, unlinkat, etc) by @sylvestre in https://github.com/uutils/coreutils/pull/8517
  • du: some small refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/8631
  • du: add benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8774
  • du: ignore env zero blocksize by @Ada-Armstrong in https://github.com/uutils/coreutils/pull/8961

๐Ÿ“ฆ expand

  • expand: add a benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8800
  • expand: improve the performances - 1.80 faster than GNU by @sylvestre in https://github.com/uutils/coreutils/pull/8803

๐Ÿ“ฆ expr

  • expr: fix some multibyte issues by @sylvestre in https://github.com/uutils/coreutils/pull/8606

๐Ÿ“ฆ fold

  • fold: add a benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8801
  • fold: improve the performances - now same as GNU by @sylvestre in https://github.com/uutils/coreutils/pull/8804

๐Ÿ“ฆ hashsum

  • hashsum: fix help text to show actual utility name by @AnarchistHoneybun in https://github.com/uutils/coreutils/pull/8650
  • hashsum: remove the usage of the mut by @sylvestre in https://github.com/uutils/coreutils/pull/8692
  • Patch to add hashsum symlinks with tests by @tpowa in https://github.com/uutils/coreutils/pull/8647
  • hashsum: improve hashsum using 32KiB bufreader by @psvri in https://github.com/uutils/coreutils/pull/8869

๐Ÿ“ฆ hostname

  • hostname: fix -d flag by @bakanovskii in https://github.com/uutils/coreutils/pull/8657
  • Build {host,u}name on Windows by @oech3 in https://github.com/uutils/coreutils/pull/8950

๐Ÿ“ฆ id

  • id: added '-a' argument by @erammos in https://github.com/uutils/coreutils/pull/8733

๐Ÿ“ฆ install

  • tests/install/install-Z-selinux: fix selinux for install by @sylvestre in https://github.com/uutils/coreutils/pull/8307

๐Ÿ“ฆ ln

  • Fix ln -f handling when source and destination are the same entry by @mattsu2020 in https://github.com/uutils/coreutils/pull/8838
  • Allow to replace ln -fs and hardlink on Windows by default by @oech3 in https://github.com/uutils/coreutils/pull/8810

๐Ÿ“ฆ ls

  • ls: Lazily obtain FileType, eagerly obtain Metadata when Metadata is available by @kimono-koans in https://github.com/uutils/coreutils/pull/8753
  • ls: remove unnecessary getgrgid handling for Redox OS by @Connor-GH in https://github.com/uutils/coreutils/pull/8779
  • ls: add some benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/8738
  • ls: Implement -f flag to disable sorting and enable -a by @naoNao89 in https://github.com/uutils/coreutils/pull/8824
  • ls: fix zero block size handling to match GNU ls by @yrakcaz in https://github.com/uutils/coreutils/pull/8928
  • tests(ls): Add GNU-compat TIME_STYLE tests (#4627) by @naoNao89 in https://github.com/uutils/coreutils/pull/8796

๐Ÿ“ฆ mv

  • mv: support moving source to a symlink directory by @yuankunzhang in https://github.com/uutils/coreutils/pull/8589
  • mv: improve the verbose mode to make tests/mv/mv-special-1.sh pass by @sylvestre in https://github.com/uutils/coreutils/pull/8521

๐Ÿ“ฆ nl

  • nl: add a benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8808
  • nl: improve the performances by @sylvestre in https://github.com/uutils/coreutils/pull/8811

๐Ÿ“ฆ nohup

  • test(nohup): improve coverage for fd replacement and error paths by @naoNao89 in https://github.com/uutils/coreutils/pull/8920

๐Ÿ“ฆ numfmt

  • numfmt: add benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8726

๐Ÿ“ฆ od

  • od: fix options after filename issue by @Anonymous-AAA in https://github.com/uutils/coreutils/pull/8624
  • od: add support for -S by @sylvestre in https://github.com/uutils/coreutils/pull/8849
  • od: fix incomplete test & apply small refactorings to tests by @cakebaker in https://github.com/uutils/coreutils/pull/8941

๐Ÿ“ฆ pinky

  • pinky: fix time format by @bakanovskii in https://github.com/uutils/coreutils/pull/8666
  • pinky: add --lookup flag by @bakanovskii in https://github.com/uutils/coreutils/pull/8669
  • pinky: move unit test away from the integration tests by @cakebaker in https://github.com/uutils/coreutils/pull/8671

๐Ÿ“ฆ ptx

  • fix(ptx): Remove extra space before truncation marker and add a related test by @Misakait in https://github.com/uutils/coreutils/pull/8784
  • fix(ptx): Correct various output formatting bugs by @Misakait in https://github.com/uutils/coreutils/pull/8787
  • fix(ptx): Correct reference format for stdin by @Misakait in https://github.com/uutils/coreutils/pull/8806
  • fix(ptx): Align text wrapping behavior with GNU in traditional mode by @Misakait in https://github.com/uutils/coreutils/pull/8820

๐Ÿ“ฆ realpath

  • realpath: implement -E by @sylvestre in https://github.com/uutils/coreutils/pull/8757

๐Ÿ“ฆ rm

  • Adjust rm & du to use safe traversal (openat, unlinkat, etc) by @sylvestre in https://github.com/uutils/coreutils/pull/8517
  • rm: add the --progress option like with cp & mv by @sylvestre in https://github.com/uutils/coreutils/pull/8567

๐Ÿ“ฆ seq

  • seq: support non-utf8 for `--separator` & `--terminator` by @cakebaker in https://github.com/uutils/coreutils/pull/8681
  • clippy: move `unexpected_cfgs` to workspace lints & fix warnings in `seq` by @cakebaker in https://github.com/uutils/coreutils/pull/8859

๐Ÿ“ฆ sort

  • sort: add benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8735
  • sort: adapt error message to pass `sort-files0-from` by @cakebaker in https://github.com/uutils/coreutils/pull/8748
  • sort: also declare sort_locale_bench as benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8780
  • sort: add a bench for long line by @sylvestre in https://github.com/uutils/coreutils/pull/8886
  • sort: fix newline handling across large and/or multiple files by @jacob-greenfield in https://github.com/uutils/coreutils/pull/8746
  • Reduce variance in sort benchmarks by reusing temp file by @naoNao89 in https://github.com/uutils/coreutils/pull/8939
  • feat(sort): auto-tune buffer sizing from available memory by @mattsu2020 in https://github.com/uutils/coreutils/pull/8959
  • Improve sort buffer sizing heuristics and honor explicit --buffer-size (#8833)

๐Ÿ“ฆ stat

  • stat: fix mount point handling for non-UTF8 paths by @dekuu5 in https://github.com/uutils/coreutils/pull/8538
  • stat: fix %N symlink to be single quote instead of double quote by @dekuu5 in https://github.com/uutils/coreutils/pull/8791
  • Include subsecond precision in stat atime/ctime by @gaul in https://github.com/uutils/coreutils/pull/8903

๐Ÿ“ฆ stdbuf

  • stdbuf: fix a publish issue by @sylvestre in https://github.com/uutils/coreutils/pull/8566

๐Ÿ“ฆ stty

  • move stty to UNIX_PROGS by @oech3 in https://github.com/uutils/coreutils/pull/8925

๐Ÿ“ฆ tail

  • Add tests/tail/overlay-headers to the intermittent list by @sylvestre in https://github.com/uutils/coreutils/pull/8736

๐Ÿ“ฆ tee

  • tests(tee): Add GNU-compat write-error and broken-pipe tests (#4627) by @naoNao89 in https://github.com/uutils/coreutils/pull/8797

๐Ÿ“ฆ timeout

  • tests/timeout: remove unnecessary stderr check for test_kill_subprocess by @elliotwesoff in https://github.com/uutils/coreutils/pull/8845

๐Ÿ“ฆ touch

  • touch: adapt expected error message in test by @cakebaker in https://github.com/uutils/coreutils/pull/8599
  • touch: simplify some tests by using `new_ucmd!()` by @cakebaker in https://github.com/uutils/coreutils/pull/8602
  • Remove additional touch when feat_common_core is required by @zdiff in https://github.com/uutils/coreutils/pull/8598
  • GNUmakefile: move `du` & `touch` to `PROGS` by @cakebaker in https://github.com/uutils/coreutils/pull/8926

๐Ÿ“ฆ tsort

  • tsort: write a benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8712
  • Remove extra lookups and memory allocations from tsort graph construction by @Nekrolm in https://github.com/uutils/coreutils/pull/8694

๐Ÿ“ฆ unexpand

  • unexpand: add a benchmark by @sylvestre in https://github.com/uutils/coreutils/pull/8813
  • unexpand: improve performances (1.50 faster than GNU) by @sylvestre in https://github.com/uutils/coreutils/pull/8815
  • unexpand: remove unnecessary condition by @cakebaker in https://github.com/uutils/coreutils/pull/8822
  • unexpand: add support for non-utf8 filenames by @cakebaker in https://github.com/uutils/coreutils/pull/8836

๐Ÿ“ฆ uniq

  • uniq: add benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/8762
  • Refactor uniq field skipping to avoid allocations by @mattsu2020 in https://github.com/uutils/coreutils/pull/8703
  • uniq: reduce the size of the benchmarks by @sylvestre in https://github.com/uutils/coreutils/pull/8764

๐Ÿ“ฆ uname

  • Build {host,u}name on Windows by @oech3 in https://github.com/uutils/coreutils/pull/8950

๐Ÿ“ฆ wc

  • wc: adapt error message to pass `wc-files0-from` by @cakebaker in https://github.com/uutils/coreutils/pull/8749

๐Ÿ“ฆ who

  • who/pinky: fix systemd local host by @bakanovskii in https://github.com/uutils/coreutils/pull/8672

๐Ÿ“ฆ uucore

  • uucore/safe_traversal: remove unnecessary vars by @cakebaker in https://github.com/uutils/coreutils/pull/8627
  • safe traversal: use the nix crate instead of unsafe calls to libc by @sylvestre in https://github.com/uutils/coreutils/pull/8626
  • uucore/checksum: use `ChecksumError` variants by @cakebaker in https://github.com/uutils/coreutils/pull/8636
  • uucore/selinux: add support for translations by @sylvestre in https://github.com/uutils/coreutils/pull/8628
  • uucore/checksum: improve API of `create_sha3()` by @cakebaker in https://github.com/uutils/coreutils/pull/8645
  • uucore: parse_time: avoid expensive `with_scale(9)` for huge inputs by @loskutov in https://github.com/uutils/coreutils/pull/8740
  • uucore: fix clippy warnings by @bakanovskii in https://github.com/uutils/coreutils/pull/8769
  • uucore/fsext: recognize magic number for `cgroup2fs` by @cakebaker in https://github.com/uutils/coreutils/pull/8778
  • + 4 more

๐Ÿ“ฆ Localization & Internationalization

  • l10n: replace the hash table by a long match per file to faciliate thโ€ฆ by @sylvestre in https://github.com/uutils/coreutils/pull/8734

โšก Performance & Benchmarking

  • evaluate codspeed for perfs by @sylvestre in https://github.com/uutils/coreutils/pull/8680
  • github: improve the codspeed configuration by @sylvestre in https://github.com/uutils/coreutils/pull/8689
  • fix the divan usage for codspeed by @sylvestre in https://github.com/uutils/coreutils/pull/8710
  • bench: call the function directly to improve the profiling + move the common functions in uucore by @sylvestre in https://github.com/uutils/coreutils/pull/8716
  • Codspeed: reduce the number of tests and increase some values for long tests by @sylvestre in https://github.com/uutils/coreutils/pull/8758
  • bench: remove some duplication by @sylvestre in https://github.com/uutils/coreutils/pull/8781
  • fix some benchmark (some of them were failing) by @sylvestre in https://github.com/uutils/coreutils/pull/8773
  • More bench by @sylvestre in https://github.com/uutils/coreutils/pull/8870
  • + 1 more

๐Ÿ”’ Security

  • Document the security process by @sylvestre in https://github.com/uutils/coreutils/pull/8633
  • add a github check for programs not using traversal by @sylvestre in https://github.com/uutils/coreutils/pull/8698

๐Ÿ“ฆ Code Quality & Cleanup

  • Minor fix by @dev-4hmad in https://github.com/uutils/coreutils/pull/8596
  • systemd_logind: replace i8 with libc::c_char by @Ecordonnier in https://github.com/uutils/coreutils/pull/8595
  • clippy: add missing `[lints] workspace = true` to `uucore/Cargo.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/8771
  • clippy: re-enable `semicolon_if_nothing_returned` by @cakebaker in https://github.com/uutils/coreutils/pull/8775
  • clippy: re-enable three more lints by @cakebaker in https://github.com/uutils/coreutils/pull/8777
  • clippy: move `use_self` lint to workspace lints by @cakebaker in https://github.com/uutils/coreutils/pull/8839
  • clippy: re-enable `manual_let_else` lint by @cakebaker in https://github.com/uutils/coreutils/pull/8894
  • Cargo.toml: remove `lints.clippy` section by @cakebaker in https://github.com/uutils/coreutils/pull/8897
  • + 7 more

๐Ÿ“ฆ CI & Build

  • make install: ressource files should have 644 as permissions. Closes: #8638 by @sylvestre in https://github.com/uutils/coreutils/pull/8640
  • ci: fix broken CICD workflow by @cakebaker in https://github.com/uutils/coreutils/pull/8831
  • ci: add `apt-get update` to `code-quality` workflow by @cakebaker in https://github.com/uutils/coreutils/pull/8865
  • ci: test platform-specific utils separately, too by @cakebaker in https://github.com/uutils/coreutils/pull/8846
  • github: compile & run benchmarks in parallel by @sylvestre in https://github.com/uutils/coreutils/pull/8891
  • upgrade to GNU coreutils 9.8 as ref by @sylvestre in https://github.com/uutils/coreutils/pull/8720
  • build-gnu.sh: improve setup instructions by @cakebaker in https://github.com/uutils/coreutils/pull/8731
  • fuzz: enable debug symbols in release builds by @naoNao89 in https://github.com/uutils/coreutils/pull/8935
  • + 4 more

๐Ÿ“ Documentation

  • docs: minor grammar fix in packaging.md by @dev-4hmad in https://github.com/uutils/coreutils/pull/8620
  • Fix the doc generation and remove uuhelp_parser by @sylvestre in https://github.com/uutils/coreutils/pull/8610
  • Add missing manpages by @oech3 in https://github.com/uutils/coreutils/pull/8721
  • Add missing completions by @oech3 in https://github.com/uutils/coreutils/pull/8723
  • Document how to generate prefixed completions by @oech3 in https://github.com/uutils/coreutils/pull/8817
  • doc: add `-h` & `-V` to extensions by @cakebaker in https://github.com/uutils/coreutils/pull/8888
  • doc: How to build for SELinux by cargo by @oech3 in https://github.com/uutils/coreutils/pull/8964
  • uudoc: move manpage and completions generation out of binary by @aaron-ang in https://github.com/uutils/coreutils/pull/8513

๐Ÿ“ฆ Platform Support

  • fix: Add cross-platform stubs and gate SELinux to Linux-only by @naoNao89 in https://github.com/uutils/coreutils/pull/8795
  • Drop redundant || exit 1 by @oech3 in https://github.com/uutils/coreutils/pull/8881

๐Ÿ“ฆ Version Management

  • --version should just print the command name, not the path by @sylvestre in https://github.com/uutils/coreutils/pull/8921
  • prepare version 0.3.0 by @sylvestre in https://github.com/uutils/coreutils/pull/8890

๐Ÿ“ฆ Dependency Updates

  • fix(deps): update rust crate tempfile to v3.22.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8590
  • chore(deps): update rust crate zip to v5.0.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8597
  • chore(deps): update rust crate zip to v5.1.0 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8609
  • Bump `rustix` from `1.0.7` to `1.1.2` by @cakebaker in https://github.com/uutils/coreutils/pull/8613
  • Bump `fts-sys` and `selinux-sys` by @cakebaker in https://github.com/uutils/coreutils/pull/8612
  • chore(deps): update rust crate zip to v5.1.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8616
  • chore(deps): update actions/checkout action to v5 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8623
  • chore(deps): update rust crate serde to v1.0.221 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8635
  • + 46 more

โœจ New Contributors

  • @dev-4hmad made their first contribution in https://github.com/uutils/coreutils/pull/8596
  • @zdiff made their first contribution in https://github.com/uutils/coreutils/pull/8598
  • @ThePseudo made their first contribution in https://github.com/uutils/coreutils/pull/8587
  • @maxfilov made their first contribution in https://github.com/uutils/coreutils/pull/8637
  • @naoNao89 made their first contribution in https://github.com/uutils/coreutils/pull/8655
  • @bakanovskii made their first contribution in https://github.com/uutils/coreutils/pull/8666
  • @AnarchistHoneybun made their first contribution in https://github.com/uutils/coreutils/pull/8650
  • @Banzobotic made their first contribution in https://github.com/uutils/coreutils/pull/8686
  • + 17 more
0.2.2
github-actions[bot]github-actions[bot]ยท8mo agoยทSeptember 9, 2025
GitHub

๐Ÿ“ฆ **Rust Coreutils 0.2.2 Release:**

  • This is a patch release focused on critical infrastructure fixes to ensure reliable distribution and deployment across different platforms.
  • We also improved the performance of base64 to be faster than the GNU implementation (1.56 times faster).

๐Ÿ“ฆ base64

  • base64: improve perfs by using the base64-simd crate by @sylvestre in https://github.com/uutils/coreutils/pull/8578

๐Ÿ“ฆ cp

  • cp: fix copying current directory (.) to existing directory by @Vesal-J in https://github.com/uutils/coreutils/pull/8565

๐Ÿ“ฆ nl

  • nl: allow non-UTF8 section delimiter by @cakebaker in https://github.com/uutils/coreutils/pull/8575

๐Ÿ“ฆ stty

  • Avoid panic in stty by @julian-klode in https://github.com/uutils/coreutils/pull/8559

๐Ÿ“ฆ uucore

  • uucore/build.rs: rename function by @cakebaker in https://github.com/uutils/coreutils/pull/8584

๐Ÿ“ฆ Distribution & Build

  • manage the locales when the program is coming from crates.io by @sylvestre in https://github.com/uutils/coreutils/pull/8571
  • link musl libc statically by @Ecordonnier in https://github.com/uutils/coreutils/pull/8585
  • Prepare version 0.2.2 by @sylvestre in https://github.com/uutils/coreutils/pull/8588

๐Ÿ“ Documentation

  • release notes: store a copy in-tree too by @sylvestre in https://github.com/uutils/coreutils/pull/8564

๐Ÿ“ฆ Dependencies

  • chore(deps): update rust crate winapi-util to v0.1.11 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8570
  • fix(deps): update rust crate console to v0.16.1 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8577
  • chore(deps): update rust crate chrono to v0.4.42 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8576
  • chore(deps): update rust crate linux-raw-sys to 0.11 by @renovate[bot] in https://github.com/uutils/coreutils/pull/8580

โœจ New Contributors

  • @Vesal-J made their first contribution in https://github.com/uutils/coreutils/pull/8565
  • Full Changelog: https://github.com/uutils/coreutils/compare/0.2.0...0.2.2
0.2.0
github-actions[bot]github-actions[bot]ยท8mo agoยทSeptember 6, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.2.0 Release:**

  • We are excited to announce the release of Rust Coreutils 0.2.0 โ€” our first fully internationalized release!
  • This milestone brings comprehensive localization support, major performance improvements, and enhanced Unicode handling.
  • ---

๐Ÿ“ฆ Highlights:

  • Full Internationalization & Localization
  • Complete translation infrastructure using Mozilla's Fluent framework with French translations included.
  • Support for complex plural forms (Arabic, Hebrew, etc.) and locale-aware formatting.
  • Even error messages from clap are fully localizable!
  • Community Translation Platform
  • Join our translation efforts at [Weblate](https://hosted.weblate.org/projects/rust-coreutils/)
  • or contribute directly via our [l10n repository](https://github.com/uutils/coreutils-l10n)
  • Unicode & Non-UTF8 Path Support
  • + 13 more

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.1.0 | 0.2.0 | Change 0.1.0 to 0.2.0 | % Total 0.1.0 | % Total 0.2.0 | % Change 0.1.0 to 0.2.0 |
  • |---------------|-------|-------|------------------------|---------------|---------------|--------------------------|
  • | Pass | 522 | 538 | +16 | 84.46% | 87.06% | +2.60% |
  • | Skip | 31 | 27 | -4 | 5.02% | 4.37% | -0.65% |
  • | Fail | 65 | 52 | -13 | 10.52% | 8.42% | -2.10% |
  • | Error | 0 | 1 | +1 | 0% | 0.16% | +0.16% |
  • | Total | 618 | 618 | 0 | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ 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)
  • ๐Ÿ”— Download the latest release: [https://uutils.github.io](https://uutils.github.io)

๐Ÿ“ฆ basenc

  • allow non-UTF8 filenames by @cakebaker in https://github.com/uutils/coreutils/pull/8558

๐Ÿ“ฆ basename

  • Simply logic, do not trim path separators `/` by @drinkcat in https://github.com/uutils/coreutils/pull/8372
  • handle a corner case with /. - Closes #8373 by @sylvestre in https://github.com/uutils/coreutils/pull/8374
  • Handle non-unicode parameters by @drinkcat in https://github.com/uutils/coreutils/pull/8375

๐Ÿ“ฆ cat

  • Fix reporting "input file is output file" error when outputting to an input file by @frendsick in https://github.com/uutils/coreutils/pull/8025
  • add error handling in write_fast function by @yuankunzhang in https://github.com/uutils/coreutils/pull/8091
  • handle broken pipe gracefully by @tgrez in https://github.com/uutils/coreutils/pull/8336

๐Ÿ“ฆ chmod

  • fix recursive symlink handling for -H/-L/-P flags (Closes: #8422) by @sylvestre in https://github.com/uutils/coreutils/pull/8450
  • remove Windows function & unnecessary cfgs by @cakebaker in https://github.com/uutils/coreutils/pull/8458
  • make a test environment-agnostic by @sylvestre in https://github.com/uutils/coreutils/pull/8525

๐Ÿ“ฆ chown

  • fix --reference file syntax by @Anonymous-AAA in https://github.com/uutils/coreutils/pull/8492

๐Ÿ“ฆ chroot

  • remove unwrap calls by @jovielarue in https://github.com/uutils/coreutils/pull/7890

๐Ÿ“ฆ cksum

  • remove duplicate unit test by @cakebaker in https://github.com/uutils/coreutils/pull/8151
  • Fix file quoting on stderr by @RenjiSann in https://github.com/uutils/coreutils/pull/8272
  • two small refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/8527

๐Ÿ“ฆ cp

  • migrate from quick-error to thiserror by @vikram-kangotra in https://github.com/uutils/coreutils/pull/7989
  • clean existing file when copy from stream by @Luv-Ray in https://github.com/uutils/coreutils/pull/8149
  • let `clap` render help & version by @cakebaker in https://github.com/uutils/coreutils/pull/8199
  • Fix --no-dereference --parents with symlink source by @julian-klode in https://github.com/uutils/coreutils/pull/8331
  • Try to change gid only if changing uid+gid fails by @drinkcat in https://github.com/uutils/coreutils/pull/8385
  • Properly preserves fifos and symlink attributes by @drinkcat in https://github.com/uutils/coreutils/pull/8416
  • fix directory permission preservation for sibling directories with -a (Closes: #8407) by @sylvestre in https://github.com/uutils/coreutils/pull/8449
  • fix recursive socket file copy by @Anonymous-AAA in https://github.com/uutils/coreutils/pull/8478

๐Ÿ“ฆ csplit

  • fix two issues with non ASCII digits by @cakebaker in https://github.com/uutils/coreutils/pull/8020

๐Ÿ“ฆ date

  • date/ls: Switch from chrono to jiff by @drinkcat in https://github.com/uutils/coreutils/pull/7894
  • update deprecated TZ by @sylvestre in https://github.com/uutils/coreutils/pull/8405
  • allow multiple `-d`, last wins by @cakebaker in https://github.com/uutils/coreutils/pull/8507
  • add hidden aliases --rfc-2822/822 for GNU compat by @schopin-pro in https://github.com/uutils/coreutils/pull/8550

๐Ÿ“ฆ df

  • Move to using `OsString` by @drinkcat in https://github.com/uutils/coreutils/pull/8371

๐Ÿ“ฆ du

  • create the string into the main thread to avoid some translations issue by @sylvestre in https://github.com/uutils/coreutils/pull/8338
  • du/ls: Merge date formatting code, and handle timestamps far in the future/past by just printing them by @drinkcat in https://github.com/uutils/coreutils/pull/8390
  • `du`/`ls`: Unify file metadata time handling by @drinkcat in https://github.com/uutils/coreutils/pull/8396
  • `du`/`ls`: Improve time-style handling based on GNU coreutils manual by @drinkcat in https://github.com/uutils/coreutils/pull/8415

๐Ÿ“ฆ echo

  • fixed double hyphen as argument by @cerdelen in https://github.com/uutils/coreutils/pull/7581
  • Remove clap for echo by @cerdelen in https://github.com/uutils/coreutils/pull/7603
  • print help if not posixly correct and only argument is --help by @RGBCube in https://github.com/uutils/coreutils/pull/8310
  • show version when `--version` is the only argument by @cakebaker in https://github.com/uutils/coreutils/pull/8341

๐Ÿ“ฆ env

  • use execvp instead of Command::status on Unix systems by @yuankunzhang in https://github.com/uutils/coreutils/pull/8365
  • invalid syntx with the french fluent file by @sylvestre in https://github.com/uutils/coreutils/pull/8530

๐Ÿ“ฆ expr

  • Handle more special cases for regex pattern by @frendsick in https://github.com/uutils/coreutils/pull/7974
  • Fix parsing range quantifiers in regex by @frendsick in https://github.com/uutils/coreutils/pull/7997
  • Fix handling of regex range quantifiers by @frendsick in https://github.com/uutils/coreutils/pull/8010
  • Remove `expr.pl` from `why-error.md` by @frendsick in https://github.com/uutils/coreutils/pull/8022
  • fix substr parsing by @tgrez in https://github.com/uutils/coreutils/pull/8158
  • fix builtin functions precedence by @tgrez in https://github.com/uutils/coreutils/pull/8162

๐Ÿ“ฆ factor

  • fix two "unused import" warnings in test by @cakebaker in https://github.com/uutils/coreutils/pull/8526

๐Ÿ“ฆ fmt

  • Fix the last two GNU tests for fmt by @sylvestre in https://github.com/uutils/coreutils/pull/8264

๐Ÿ“ฆ fold

  • process streams as bytes, not strings, to handle non-utf8 data by @phinjensen in https://github.com/uutils/coreutils/pull/8241

๐Ÿ“ฆ hashsum

  • don't exit early on io errors by @Qelxiros in https://github.com/uutils/coreutils/pull/7918

๐Ÿ“ฆ head

  • fix bug with non-terminated files. by @karlmcdowall in https://github.com/uutils/coreutils/pull/7484
  • fix meaning of ---presume-input-pipe by @bvinc in https://github.com/uutils/coreutils/pull/8315
  • remove `BadEncoding` variant of `HeadError` by @cakebaker in https://github.com/uutils/coreutils/pull/8484
  • refactor `uumain` by @cakebaker in https://github.com/uutils/coreutils/pull/8497

๐Ÿ“ฆ install

  • don't error when multiple arguments of the same type are given, instead override with last one (#8033) by @jenningsfan in https://github.com/uutils/coreutils/pull/8053
  • implement option -C by @sylvestre in https://github.com/uutils/coreutils/pull/8265
  • use `bool` as return type of `need_copy` by @cakebaker in https://github.com/uutils/coreutils/pull/8288
  • Fix --no-target-directory with existing file by @julian-klode in https://github.com/uutils/coreutils/pull/8412
  • install, mkdir: Handle dir/./ like dir/. by @julian-klode in https://github.com/uutils/coreutils/pull/8366

๐Ÿ“ฆ ln

  • fix #6350 by @RenjiSann in https://github.com/uutils/coreutils/pull/7449
  • rename error variant by @cakebaker in https://github.com/uutils/coreutils/pull/8035

๐Ÿ“ฆ logname

  • remove `unsafe extern "C"` block by @cakebaker in https://github.com/uutils/coreutils/pull/8177

๐Ÿ“ฆ ls

  • move recent time threshold comment by @deadmeu in https://github.com/uutils/coreutils/pull/8214
  • follow symlinks for xattrs, fix #8216 by @sudhackar in https://github.com/uutils/coreutils/pull/8217
  • fix the GNU test tests/ls/selinux.sh by @sylvestre in https://github.com/uutils/coreutils/pull/8281
  • improve the test when running selinux by @sylvestre in https://github.com/uutils/coreutils/pull/8403
  • -u/-c/--time control sorting when -l is not used by @drinkcat in https://github.com/uutils/coreutils/pull/8417

๐Ÿ“ฆ mkdir

  • Fix mkdir with non-unicode parameters by @drinkcat in https://github.com/uutils/coreutils/pull/8367
  • Replaced strict restorecon compatibility check with validationโ€ฆ by @sylvestre in https://github.com/uutils/coreutils/pull/8340
  • refactor(mkdir): Simplify mode argument parsing by @amirhosseinghanipour in https://github.com/uutils/coreutils/pull/8406

๐Ÿ“ฆ mkfifo

  • support symbolic mode by @yuankunzhang in https://github.com/uutils/coreutils/pull/8440

๐Ÿ“ฆ mknod

  • set cli specified file mode even when it's 0o666 by @TheJJ in https://github.com/uutils/coreutils/pull/8343

๐Ÿ“ฆ mktemp

  • allow empty string arguments for -p/--tmpdir options by @yuankunzhang in https://github.com/uutils/coreutils/pull/8447

๐Ÿ“ฆ more

  • tests: cleanup processes in test_valid_arg by @martinkunkel2 in https://github.com/uutils/coreutils/pull/8430

๐Ÿ“ฆ mv

  • moving dangling symlinks into directories by @albus-droid in https://github.com/uutils/coreutils/pull/8064
  • improve the hardlink support by @sylvestre in https://github.com/uutils/coreutils/pull/8296
  • add support for selinux and add minor refactor by @sylvestre in https://github.com/uutils/coreutils/pull/8333
  • use `next()` instead of `peekable().peek()` in `is_empty_dir()` by @cakebaker in https://github.com/uutils/coreutils/pull/8413
  • move a string in fluent by @sylvestre in https://github.com/uutils/coreutils/pull/8434
  • treat symlinks as files by @id3v1669 in https://github.com/uutils/coreutils/pull/8528

๐Ÿ“ฆ nice

  • remove useless translations by @sylvestre in https://github.com/uutils/coreutils/pull/8295

๐Ÿ“ฆ nl

  • use `OsString` for `--number-separator` by @cakebaker in https://github.com/uutils/coreutils/pull/8519
  • allow zero for `--join-blank-lines` by @cakebaker in https://github.com/uutils/coreutils/pull/8540
  • support files with non-utf8 content by @cakebaker in https://github.com/uutils/coreutils/pull/8544

๐Ÿ“ฆ od

  • fix handling of non-ascii chars by @tgrez in https://github.com/uutils/coreutils/pull/8268
  • fix typo in help by @cakebaker in https://github.com/uutils/coreutils/pull/8344
  • Fixes float formatting in scientific notation by @yonatan-linik in https://github.com/uutils/coreutils/pull/8352
  • Add support for -tfH and -tfB by @karanabe in https://github.com/uutils/coreutils/pull/8354
  • rename `flo16`/`flo32`/`flo64` to `f16`/`f32`/`f64` in function names by @cakebaker in https://github.com/uutils/coreutils/pull/8369
  • use underscores in filenames, adapt modules by @cakebaker in https://github.com/uutils/coreutils/pull/8393
  • Switch f16 print to width=15/16, precision=8 by @drinkcat in https://github.com/uutils/coreutils/pull/8433

๐Ÿ“ฆ pr

  • Add support for -D/--date-format parameter by @drinkcat in https://github.com/uutils/coreutils/pull/8418
  • reduce nesting to improve readability of `file_last_modified_time_format()` by @cakebaker in https://github.com/uutils/coreutils/pull/8420

๐Ÿ“ฆ printf

  • Fix formatting hexadecimals with padding by @frendsick in https://github.com/uutils/coreutils/pull/8185
  • accept non-UTF-8 input in FORMAT and ARGUMENT arguments by @drinkcat in https://github.com/uutils/coreutils/pull/8329

๐Ÿ“ฆ pwd

  • style(pwd): simplify physical_path implementation by @amirhosseinghanipour in https://github.com/uutils/coreutils/pull/8409

๐Ÿ“ฆ realpath

  • use consts for all options by @cakebaker in https://github.com/uutils/coreutils/pull/8150

๐Ÿ“ฆ rm

  • add support for the `--interactive` arg aliases by @cakebaker in https://github.com/uutils/coreutils/pull/8419
  • do "early return" earlier in `uumain` by @cakebaker in https://github.com/uutils/coreutils/pull/8045
  • rename two consts for better readability by @cakebaker in https://github.com/uutils/coreutils/pull/8070
  • consistent naming of test functions by @cakebaker in https://github.com/uutils/coreutils/pull/8084
  • fix too long filename corner case by @tgrez in https://github.com/uutils/coreutils/pull/8299
  • improve `is_dir_empty` from O(n) to O(1) by @cakebaker in https://github.com/uutils/coreutils/pull/8384
  • remove duplicate test by @cakebaker in https://github.com/uutils/coreutils/pull/8494
  • fix unused var warning on non-(unix & windows) by @cakebaker in https://github.com/uutils/coreutils/pull/8495

๐Ÿ“ฆ shred

  • implement and test feature --random-source by @BenWiederhake in https://github.com/uutils/coreutils/pull/7948

๐Ÿ“ฆ sort

  • prevent -o/--output to be specified multiple times by @RenjiSann in https://github.com/uutils/coreutils/pull/7991
  • Fix sort-files0-from.log by @Charlie-Zheng in https://github.com/uutils/coreutils/pull/8011
  • Make use of ExtendedBigDecimal in -g sorting, then attempt to recover some performance by @drinkcat in https://github.com/uutils/coreutils/pull/8062
  • Support hexadecimal numbers/floats correctly by @yonatan-linik in https://github.com/uutils/coreutils/pull/8377
  • Handle non-utf8 sorting content by @RenjiSann in https://github.com/uutils/coreutils/pull/8386
  • adjust the behavior of 'sort --output --file-with-dash' to match GNU's by @sylvestre in https://github.com/uutils/coreutils/pull/8482

๐Ÿ“ฆ stat

  • stat/locales: Fix fluent_linter errors by @drinkcat in https://github.com/uutils/coreutils/pull/8404
  • `stat`: Convert to use `uucore` functions by @drinkcat in https://github.com/uutils/coreutils/pull/8398

๐Ÿ“ฆ stdbuf

  • fix cross-compilation by @Ecordonnier in https://github.com/uutils/coreutils/pull/7972
  • avoid double "lib" prefix by @Ecordonnier in https://github.com/uutils/coreutils/pull/8067
  • add feat_external_libstdbuf by @Ecordonnier in https://github.com/uutils/coreutils/pull/8104
  • GNUMakefile: install libstdbuf by @Ecordonnier in https://github.com/uutils/coreutils/pull/8238

๐Ÿ“ฆ stty

  • Add stty to GNUmakefile by @oech3 in https://github.com/uutils/coreutils/pull/8013
  • fix output redirection by @willshuttleworth in https://github.com/uutils/coreutils/pull/8016
  • set control characters by @willshuttleworth in https://github.com/uutils/coreutils/pull/7931
  • fix negated options getting rejected by clap by @willshuttleworth in https://github.com/uutils/coreutils/pull/8136
  • fix mappings with empty string literal args by @willshuttleworth in https://github.com/uutils/coreutils/pull/8135
  • add ispeed/ospeed settings by @willshuttleworth in https://github.com/uutils/coreutils/pull/8180
  • add options to set and print terminal size by @willshuttleworth in https://github.com/uutils/coreutils/pull/8221
  • remove redundant `cfg` by @cakebaker in https://github.com/uutils/coreutils/pull/8262
  • + 5 more

๐Ÿ“ฆ sync

  • adjust safety comments by @jtracey in https://github.com/uutils/coreutils/pull/8024
  • reduce use of unsafe and improve comments by @jtracey in https://github.com/uutils/coreutils/pull/8017

๐Ÿ“ฆ tail

  • fix test that disables output in bash shell by @willshuttleworth in https://github.com/uutils/coreutils/pull/8157
  • fix tailing /dev/zero by @bvinc in https://github.com/uutils/coreutils/pull/8314
  • handle broken pipe gracefully by @tgrez in https://github.com/uutils/coreutils/pull/8327
  • show end of device by @martinkunkel2 in https://github.com/uutils/coreutils/pull/8037

๐Ÿ“ฆ tee

  • tests/tee: enable no_more_writable test by @Maximkaaa in https://github.com/uutils/coreutils/pull/8219
  • remove output buffering by @Maximkaaa in https://github.com/uutils/coreutils/pull/8218
  • move test to `linux_only` module by @cakebaker in https://github.com/uutils/coreutils/pull/8225

๐Ÿ“ฆ timeout

  • catch TERM signal by @Luv-Ray in https://github.com/uutils/coreutils/pull/8197

๐Ÿ“ฆ touch

  • fix f flag by @VenetiaFurtado in https://github.com/uutils/coreutils/pull/8274
  • Bump `parse_datetime` & adapt `touch` tests by @cakebaker in https://github.com/uutils/coreutils/pull/8424

๐Ÿ“ฆ tr

  • some small improvements by @cakebaker in https://github.com/uutils/coreutils/pull/8126
  • handle broken pipe gracefully by @yuankunzhang in https://github.com/uutils/coreutils/pull/8298
  • restore default action of sigpipe by @yuankunzhang in https://github.com/uutils/coreutils/pull/8312
  • Fix regression causing read error with sockets by @JohnoKing in https://github.com/uutils/coreutils/pull/8083
  • fix high memory use, possible heap exhaustion by @julian-klode in https://github.com/uutils/coreutils/pull/8435
  • Improve tr performances (Closes: #8439) by @sylvestre in https://github.com/uutils/coreutils/pull/8442
  • refactor and introduce simd to get important perf win by @sylvestre in https://github.com/uutils/coreutils/pull/8471

๐Ÿ“ฆ uname

  • output OS last by @cakebaker in https://github.com/uutils/coreutils/pull/8094

๐Ÿ“ฆ unexpand

  • add -f short alias for --first-only by @GTimothy in https://github.com/uutils/coreutils/pull/8229

๐Ÿ“ฆ uptime

  • use "0 users" instead of "0 user" by @cakebaker in https://github.com/uutils/coreutils/pull/8069
  • move imports into test function by @cakebaker in https://github.com/uutils/coreutils/pull/8052
  • improve readability of `uptime_since` by @cakebaker in https://github.com/uutils/coreutils/pull/8164

๐Ÿ“ฆ users

  • fix unused imports in tests on FreeBSD by @cakebaker in https://github.com/uutils/coreutils/pull/8488

๐Ÿ“ฆ who

  • honor locale settings by @yuankunzhang in https://github.com/uutils/coreutils/pull/8535
  • use `match` instead of `if`/`else` chain by @cakebaker in https://github.com/uutils/coreutils/pull/8541
  • rename var, cleanup spell-checker:ignore by @cakebaker in https://github.com/uutils/coreutils/pull/8411

๐Ÿ“ฆ uucore

  • num_parser: Update pow_with_context by @drinkcat in https://github.com/uutils/coreutils/pull/8028
  • locale: Use if let instead of match by @drinkcat in https://github.com/uutils/coreutils/pull/8050
  • use authors.workspace by @sylvestre in https://github.com/uutils/coreutils/pull/8057
  • fix clippy warnings - the following explicit lifetimes could be elided: 'a by @sylvestre in https://github.com/uutils/coreutils/pull/8269
  • uucore(quoting_style): Improve quoting style handling by @RenjiSann in https://github.com/uutils/coreutils/pull/8271
  • lib/mods/locale: fix locale loading by @kevinburke in https://github.com/uutils/coreutils/pull/8234
  • uucore/fs: call `to_string_lossy` only once in `dir_strip_dot_for_creation` by @cakebaker in https://github.com/uutils/coreutils/pull/8399
  • locale: Fix clippy warning by @drinkcat in https://github.com/uutils/coreutils/pull/8432
  • + 3 more

๐Ÿ“ฆ Localization & Internationalization

  • Improve the locale support by @sylvestre in https://github.com/uutils/coreutils/pull/7981
  • convert the md files to fluent by @sylvestre in https://github.com/uutils/coreutils/pull/8054
  • Disable Unicode directional isolate characters (U+2068, U+2069) by @sylvestre in https://github.com/uutils/coreutils/pull/8066
  • document a bit how it works by @sylvestre in https://github.com/uutils/coreutils/pull/8102
  • i18n: Locale-aware quoting by @RenjiSann in https://github.com/uutils/coreutils/pull/8179
  • i18n: further work, expr support by @RenjiSann in https://github.com/uutils/coreutils/pull/8292
  • replace `\n` with a new line in ftl files by @cakebaker in https://github.com/uutils/coreutils/pull/8349
  • Setup localization for utility symlinks by @julian-klode in https://github.com/uutils/coreutils/pull/8364
  • + 103 more

๐Ÿงช Test Improvements

  • Fix macros, rewrite tests to use idiomatic macros by @RenjiSann in https://github.com/uutils/coreutils/pull/8293
  • add tests with emoji for various commands by @sylvestre in https://github.com/uutils/coreutils/pull/8545
  • add more emoji tests by @sylvestre in https://github.com/uutils/coreutils/pull/8551
  • fix execution on WSL2, Ubuntu 24.04 by @martinkunkel2 in https://github.com/uutils/coreutils/pull/8235
  • On MacOS, ignore tests that use /dev/fd/0 by @drinkcat in https://github.com/uutils/coreutils/pull/8454
  • tests/cp/preserve-gid: Partial fix by @drinkcat in https://github.com/uutils/coreutils/pull/8380

๐Ÿ“ฆ Code Quality & Cleanup

  • cleanup workspace crates by @nyurik in https://github.com/uutils/coreutils/pull/8058
  • Enable common pre-commit.ci fixes by @nyurik in https://github.com/uutils/coreutils/pull/8059
  • Prepare for clippy pedantic rules by @gabelluardo in https://github.com/uutils/coreutils/pull/8201
  • Enable some pedantic rules by @gabelluardo in https://github.com/uutils/coreutils/pull/8203
  • a lot of documentation cleanups by @nyurik in https://github.com/uutils/coreutils/pull/8301
  • remove unused dependencies by @nyurik in https://github.com/uutils/coreutils/pull/8056
  • cleanup `inefficient_to_string` lint by @nyurik in https://github.com/uutils/coreutils/pull/8303
  • cleanup `map_unwrap_or` lint by @nyurik in https://github.com/uutils/coreutils/pull/8302
  • + 11 more

๐Ÿ“ฆ CI & Build

  • publish.sh: also publish uutests by @sylvestre in https://github.com/uutils/coreutils/pull/7984
  • Reenable windows-latest/x86_64-pc-windows-gnu (and do not update gcc) by @drinkcat in https://github.com/uutils/coreutils/pull/7985
  • publish.sh: be more prescriptive on the grep by @sylvestre in https://github.com/uutils/coreutils/pull/7983
  • reduce timeout of freebsd jobs by @cakebaker in https://github.com/uutils/coreutils/pull/7994
  • .pre-commit-config.yaml: Do not fail cspell if all files are ignored by @drinkcat in https://github.com/uutils/coreutils/pull/8026
  • clippy pre-commit/CI improvements by @drinkcat in https://github.com/uutils/coreutils/pull/8030
  • GNU CI: also build selinux with --release-build by @sylvestre in https://github.com/uutils/coreutils/pull/8055
  • GNUMakefile: fix compilation on Macs by @kevinburke in https://github.com/uutils/coreutils/pull/7964
  • + 20 more

๐Ÿ“ Documentation

  • extensions: Explain how printf/seq handle precision by @drinkcat in https://github.com/uutils/coreutils/pull/7641
  • add `-U`/`--no-utf8` as extension of `expand`/`unexpand` by @cakebaker in https://github.com/uutils/coreutils/pull/8236
  • Improvements of the docs by @sylvestre in https://github.com/uutils/coreutils/pull/8543

๐Ÿ“ฆ Platform Support

  • flake.nix: Add cspell by @RenjiSann in https://github.com/uutils/coreutils/pull/7987
  • silence musl warnings by @Ecordonnier in https://github.com/uutils/coreutils/pull/8018
  • Feat/add wezterm to terms by @eldyl in https://github.com/uutils/coreutils/pull/8047
  • add `--version` argument to print main binary version by @MarcusGrass in https://github.com/uutils/coreutils/pull/8127
  • remove PROJECT_NAME_FOR_VERSION_STRING by @Ecordonnier in https://github.com/uutils/coreutils/pull/8360

๐Ÿ“ฆ Dependency Updates

  • Bump `onig` from `6.4.0` to `6.5.1` by @cakebaker in https://github.com/uutils/coreutils/pull/7976
  • Cargo.lock: Bump toml_edit to latest version by @drinkcat in https://github.com/uutils/coreutils/pull/7988
  • Bump `type-map` by @cakebaker in https://github.com/uutils/coreutils/pull/7993
  • Cargo.toml: remove unused `coz` dependency by @cakebaker in https://github.com/uutils/coreutils/pull/8021
  • deny.toml: remove obsolete skips related to rustix by @alerque in https://github.com/uutils/coreutils/pull/8019
  • Cargo.toml: remove `procfs` dependency & adapt `cp` test by @cakebaker in https://github.com/uutils/coreutils/pull/8027
  • Bump `windows-sys` & adapt to API change by @cakebaker in https://github.com/uutils/coreutils/pull/8160
  • Bump selinux crates by @cakebaker in https://github.com/uutils/coreutils/pull/8226
  • + 89 more

โœจ New Contributors

  • @oech3 made their first contribution in https://github.com/uutils/coreutils/pull/8013
  • @alerque made their first contribution in https://github.com/uutils/coreutils/pull/8019
  • @willshuttleworth made their first contribution in https://github.com/uutils/coreutils/pull/8016
  • @Charlie-Zheng made their first contribution in https://github.com/uutils/coreutils/pull/8011
  • @eldyl made their first contribution in https://github.com/uutils/coreutils/pull/8047
  • @vikram-kangotra made their first contribution in https://github.com/uutils/coreutils/pull/7989
  • @albus-droid made their first contribution in https://github.com/uutils/coreutils/pull/8064
  • @tgrez made their first contribution in https://github.com/uutils/coreutils/pull/8158
  • + 20 more
0.1.0
github-actions[bot]github-actions[bot]ยท1y agoยทMay 24, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.1.0 Release:**

  • We are excited to announce the release of Rust Coreutils 0.1.0 โ€” our first 0.1 milestone!
  • This release brings major performance gains, SELinux support, and expanded GNU compatibility.
  • ---

๐Ÿ“ฆ Highlights:

  • SELinux Support
  • New SELinux integration in `cp`, `ls`, `mkdir`, `mknod`, `mkfifo`, `install`, and `stat`.
  • Plus, SELinux-aware CI testing is now live!
  • Performance Improvements
  • Notable speedups in `cat`, `ls`, `wc`, `tail`, `seq`, and more โ€” many now match or exceed GNU performance.
  • Ubuntu Plans to Ship uutils
  • Ubuntu is beginning to integrate Rust Coreutils into its base system!
  • โžค [Oxidizing Ubuntu](https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995)
  • + 3 more

๐Ÿงช GNU Test Suite Compatibility:

  • | Result | 0.0.30 | 0.1.0 | Change 0.0.30 to 0.1.0 | % Total 0.0.30 | % Total 0.1.0 | % Change 0.0.30 to 0.1.0 |
  • |---------------|--------|--------|------------------------|----------------|---------------|--------------------------|
  • | Pass | 507 | 522 | +15 | 82.17% | 84.46% | +2.29% |
  • | Skip | 41 | 31 | -10 | 6.65% | 5.02% | -1.63% |
  • | Fail | 69 | 65 | -4 | 11.18% | 10.52% | -0.66% |
  • | Total | 617 | 618 | +1 (new test) | | | |
  • ---
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.svg?raw=true)
  • + 1 more

๐Ÿ“ฆ Call to Action:

  • ๐Ÿš€ Sponsor us on GitHub to help us grow faster: [github.com/sponsors/uutils](https://github.com/sponsors/uutils)
  • ๐Ÿ”— Download the latest release & learn more: [https://uutils.github.io](https://uutils.github.io)

๐Ÿ“ฆ basenc

  • base32/base64/basenc: add -D flag by @TerakomariGandesblood in https://github.com/uutils/coreutils/pull/7479

๐Ÿ“ฆ cat

  • cat: Improve performance of formatting. by @karlmcdowall in https://github.com/uutils/coreutils/pull/7519
  • cat: bugfix when running with -T option by @karlmcdowall in https://github.com/uutils/coreutils/pull/7636
  • cat: Formatting performance improvement by @karlmcdowall in https://github.com/uutils/coreutils/pull/7642
  • cat: Performance improvement when printing line numbers by @karlmcdowall in https://github.com/uutils/coreutils/pull/7645

๐Ÿ“ฆ chmod

  • chmod: Correct chmod -R on dangling symlink and tests by @CSRessel in https://github.com/uutils/coreutils/pull/7618

๐Ÿ“ฆ chroot

  • Fix chroot trying to change into non-existent directory by @jplatte in https://github.com/uutils/coreutils/pull/7803

๐Ÿ“ฆ cksum

  • cksum: take out regex pattern matching by @GTimothy in https://github.com/uutils/coreutils/pull/7580

๐Ÿ“ฆ cp

  • cp: Use FICLONE ioctl constant from linux-raw-sys by @dezgeg in https://github.com/uutils/coreutils/pull/7439
  • cp: fix update prompting by @hz2 in https://github.com/uutils/coreutils/pull/7668
  • cp -P hardlink-to-symlink hardlink-to-same-symlink should no-op by @dan-hipschman in https://github.com/uutils/coreutils/pull/7753
  • cp: refuse to copy symlink over itself by @dan-hipschman in https://github.com/uutils/coreutils/pull/7729
  • cp: use `authors.workspace` in `Cargo.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/7882
  • cp: improve the selinux support by @sylvestre in https://github.com/uutils/coreutils/pull/7878
  • cp: context Disable a check in tests/cp/no-ctx.sh by @sylvestre in https://github.com/uutils/coreutils/pull/7938
  • cp: copy dir if source path ends with dot by @cakebaker in https://github.com/uutils/coreutils/pull/7874

๐Ÿ“ฆ csplit

  • csplit: removed unnecesary implementation of From<io::Error> by @lukasx999 in https://github.com/uutils/coreutils/pull/7778
  • csplit: don't add a newline if the file doesn't end with one by @Qelxiros in https://github.com/uutils/coreutils/pull/7901

๐Ÿ“ฆ date

  • date: allow negative date offsets by @lewisboon in https://github.com/uutils/coreutils/pull/7548
  • date: add tests for relative weekdays by @dan-hipschman in https://github.com/uutils/coreutils/pull/7843
  • date: move file header to top & merge some imports by @cakebaker in https://github.com/uutils/coreutils/pull/7857
  • refactor(tests): use absolute difference of dates to check if they are within a window by @lavafroth in https://github.com/uutils/coreutils/pull/7755

๐Ÿ“ฆ dd

  • feat: optimize `dd` parsing, bugfix by @nyurik in https://github.com/uutils/coreutils/pull/7704

๐Ÿ“ฆ df

  • refactor: Add thiserror to df by @kiran-4444 in https://github.com/uutils/coreutils/pull/7545
  • df: migrate OptionsError to thiserror by @lewisboon in https://github.com/uutils/coreutils/pull/7673
  • fix: df: filter filesystem types after mount point resolution by @SergeiPatiakin in https://github.com/uutils/coreutils/pull/7452

๐Ÿ“ฆ du

  • du: don't panic on block-size 0 by @BenWiederhake in https://github.com/uutils/coreutils/pull/7742
  • du: fix "function never used" warning in test by @cakebaker in https://github.com/uutils/coreutils/pull/7943

๐Ÿ“ฆ echo

  • echo: fixed double hyphen as argument by @cerdelen in https://github.com/uutils/coreutils/pull/7581
  • Remove clap for echo by @cerdelen in https://github.com/uutils/coreutils/pull/7603

๐Ÿ“ฆ env

  • env: ignore flags after the command or -- argument by @dan-hipschman in https://github.com/uutils/coreutils/pull/7781
  • docs: env doesn't handle the empty string as a variable name by @Qelxiros in https://github.com/uutils/coreutils/pull/7956

๐Ÿ“ฆ expr

  • expr: Refactor AST evaluation to avoid stack overflow by @LouisDISPA in https://github.com/uutils/coreutils/pull/7388
  • expr: Escape anchor characters within pattern by @frendsick in https://github.com/uutils/coreutils/pull/7842
  • expr: Fix regex anchor matching behavior with `REGEX_OPTION_SINGLELINE` by @frendsick in https://github.com/uutils/coreutils/pull/7846
  • expr: Fix parsing negated character classes "[^a]" by @frendsick in https://github.com/uutils/coreutils/pull/7884
  • expr: Fix parsing regex anchors '^' and '$' by @frendsick in https://github.com/uutils/coreutils/pull/7953

๐Ÿ“ฆ false

  • true,false: remove unnecessary newline from version string by @cakebaker in https://github.com/uutils/coreutils/pull/7446

๐Ÿ“ฆ fmt

  • chore: minor fmt match cleanup by @nyurik in https://github.com/uutils/coreutils/pull/7722
  • Run cargo fmt on missed files by @BenWiederhake in https://github.com/uutils/coreutils/pull/7949
  • ci: run `cargo fmt --check` in `fuzz` folder by @cakebaker in https://github.com/uutils/coreutils/pull/7958

๐Ÿ“ฆ head

  • head: rework handling of non-seekable files by @karlmcdowall in https://github.com/uutils/coreutils/pull/7438
  • head: fix overflow errors by @Qelxiros in https://github.com/uutils/coreutils/pull/7721

๐Ÿ“ฆ hostid

  • hostid: use `gethostid` from Rust `libc` by @cakebaker in https://github.com/uutils/coreutils/pull/7571

๐Ÿ“ฆ hostname

  • Bump `hostname` & remove `windows-core` from skip list by @cakebaker in https://github.com/uutils/coreutils/pull/7713

๐Ÿ“ฆ id

  • bug: fix id printing of egid by @nyurik in https://github.com/uutils/coreutils/pull/7696
  • id: Handle NULL pointer gracefully within `cstr2cow` macro by @frendsick in https://github.com/uutils/coreutils/pull/7810
  • id: adapt error message to match the one from GNU `id` by @cakebaker in https://github.com/uutils/coreutils/pull/7836
  • id: The `--real` flag should only affect `-u`, `-g`, and `-G` by @frendsick in https://github.com/uutils/coreutils/pull/7796
  • id: remove unnecessary `to_string` calls by @cakebaker in https://github.com/uutils/coreutils/pull/7914

๐Ÿ“ฆ install

  • install: friendly message install file to directory by @zhw2101024 in https://github.com/uutils/coreutils/pull/7794
  • install: fixes issue #7795 by @zcg00 in https://github.com/uutils/coreutils/pull/7838
  • Install implement the --no-target-directory option by @zhw2101024 in https://github.com/uutils/coreutils/pull/7867
  • install: remove todos by @cakebaker in https://github.com/uutils/coreutils/pull/7872
  • ci: install `libselinux1-dev` for coverage job by @cakebaker in https://github.com/uutils/coreutils/pull/7959
  • selinux: start the support of install by @sylvestre in https://github.com/uutils/coreutils/pull/7908

๐Ÿ“ฆ ls

  • ls: More performance optimizations by @drinkcat in https://github.com/uutils/coreutils/pull/7813
  • ls: add -T support and fix --classify output by @emar-kar in https://github.com/uutils/coreutils/pull/7616
  • ls: add selinux support by @sylvestre in https://github.com/uutils/coreutils/pull/7768
  • ls: Print optimizations by @drinkcat in https://github.com/uutils/coreutils/pull/7801
  • ls: update chrono crate version and switch to `new_lenient` use by @emar-kar in https://github.com/uutils/coreutils/pull/7858
  • ls: remove duplicate code by @cakebaker in https://github.com/uutils/coreutils/pull/7932
  • test_ls: Improve test_ls_perm_io_errors by @drinkcat in https://github.com/uutils/coreutils/pull/7811

๐Ÿ“ฆ mkdir

  • mkdir: add the selinux support by @sylvestre in https://github.com/uutils/coreutils/pull/7635

๐Ÿ“ฆ mkfifo

  • mkfifo: implement selinux support by @sylvestre in https://github.com/uutils/coreutils/pull/7831

๐Ÿ“ฆ mknod

  • mknod: remove windows-related code & flags by @cakebaker in https://github.com/uutils/coreutils/pull/7821
  • mknod: implement selinux support by @sylvestre in https://github.com/uutils/coreutils/pull/7818
  • mknod: rename function `_mknod` to `mknod` by @cakebaker in https://github.com/uutils/coreutils/pull/7824
  • mknod: refactor `uumain` by @cakebaker in https://github.com/uutils/coreutils/pull/7825
  • mknod: remove duplicate test by @cakebaker in https://github.com/uutils/coreutils/pull/7828

๐Ÿ“ฆ mktemp

  • mktemp: Prevent race condition when setting permissions for tempdir by @MidnightRocket in https://github.com/uutils/coreutils/pull/7617

๐Ÿ“ฆ more

  • more: keep only screen lines in mem by @aaron-ang in https://github.com/uutils/coreutils/pull/7680
  • more: constant memory initialization overhead by @aaron-ang in https://github.com/uutils/coreutils/pull/7765

๐Ÿ“ฆ mv

  • Implement `Default` for `Options` of `mv` and `cp` by @jmjoy in https://github.com/uutils/coreutils/pull/7506
  • mv: fix moving FIFO to a different filesystem by @jfinkels in https://github.com/uutils/coreutils/pull/7241
  • mv: use `bool` instead of `Result` as return type by @cakebaker in https://github.com/uutils/coreutils/pull/7962
  • mv: factor rename_with_fallback function into helpers by @jfinkels in https://github.com/uutils/coreutils/pull/7774

๐Ÿ“ฆ numfmt

  • numfmt: add --zero-terminated option by @dan-hipschman in https://github.com/uutils/coreutils/pull/7686

๐Ÿ“ฆ od

  • od: fix for issue #7666 by @karlmcdowall in https://github.com/uutils/coreutils/pull/7776

๐Ÿ“ฆ pr

  • pr: migrate from quick-error to thiserror by @Qelxiros in https://github.com/uutils/coreutils/pull/7919

๐Ÿ“ฆ printf

  • printf: fix octal escape parsing by @RenjiSann in https://github.com/uutils/coreutils/pull/7431
  • printf: trim leading whitespace when parsing numeric values by @dlrobertson in https://github.com/uutils/coreutils/pull/7512
  • printf: Consistently handle negative widths/precision by @sargas in https://github.com/uutils/coreutils/pull/7620
  • printf: make negative values wrap around with unsigned/hex format by @eduardorittner in https://github.com/uutils/coreutils/pull/7656
  • printf: Error handling with unicode parsing by @sargas in https://github.com/uutils/coreutils/pull/7681
  • fuzzing: add a summary and enable printf by @sylvestre in https://github.com/uutils/coreutils/pull/7747
  • printf: improve support of printing multi-byte values of characters by @jtracey in https://github.com/uutils/coreutils/pull/7208
  • printf: Add indexing to format strings by @sargas in https://github.com/uutils/coreutils/pull/7837
  • + 3 more

๐Ÿ“ฆ ptx

  • ptx: fixes by @usamoi in https://github.com/uutils/coreutils/pull/7521
  • ptx: use char count instead of byte index to handle utf-8 characters by @aaron-ang in https://github.com/uutils/coreutils/pull/7897

๐Ÿ“ฆ rm

  • rm: skip prompt when stdin is not interactive; Fix #7326 by @bitspill in https://github.com/uutils/coreutils/pull/7492

๐Ÿ“ฆ seq

  • seq: fix default float precision (`%f`); fix 0 scientific printing by @drinkcat in https://github.com/uutils/coreutils/pull/7384
  • seq: Buffer writes to stdout by @drinkcat in https://github.com/uutils/coreutils/pull/7485
  • seq: Directly write separator string, instead of using format by @drinkcat in https://github.com/uutils/coreutils/pull/7562
  • seq: Do not allow -w and -f to be specified at the same time by @drinkcat in https://github.com/uutils/coreutils/pull/7646
  • seq: Trim whitespaces, then try to remove + by @drinkcat in https://github.com/uutils/coreutils/pull/7650
  • test_seq: Add a few more tests for corner cases by @drinkcat in https://github.com/uutils/coreutils/pull/7527

๐Ÿ“ฆ shred

  • shred: remove unwanted padding in verbose messages by @BenWiederhake in https://github.com/uutils/coreutils/pull/7799
  • shred: correctly print zero-byte pass in verbose mode by @BenWiederhake in https://github.com/uutils/coreutils/pull/7800
  • shred: fix random passes* by @Qelxiros in https://github.com/uutils/coreutils/pull/7830
  • shred: remove obsolete test by @cakebaker in https://github.com/uutils/coreutils/pull/7833
  • shred: document simplified (better?) number of random passes by @BenWiederhake in https://github.com/uutils/coreutils/pull/7847
  • shred: add 4K data alignment by @alexs-sh in https://github.com/uutils/coreutils/pull/7915
  • shred: minor improvements and tests by @alexs-sh in https://github.com/uutils/coreutils/pull/7925

๐Ÿ“ฆ shuf

  • Make `shuf` OsStr-compliant and bring newline handling in line with GNU by @blyxxyz in https://github.com/uutils/coreutils/pull/7463

๐Ÿ“ฆ sleep

  • sleep: remove unused `fundu` from `Cargo.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/7758
  • util/build-gnu.sh: Accept hex float as sleep parameter by @drinkcat in https://github.com/uutils/coreutils/pull/7761

๐Ÿ“ฆ sort

  • sort: immediately compare whole lines if they parse as numbers by @MoSal in https://github.com/uutils/coreutils/pull/7567

๐Ÿ“ฆ split

  • split: fix a racing condition that causes issue #7869 by @yuankunzhang in https://github.com/uutils/coreutils/pull/7877
  • split: use delegation to avoid code duplication in test by @cakebaker in https://github.com/uutils/coreutils/pull/7924

๐Ÿ“ฆ stat

  • stat: Print what kind of "weird" mode it is, if it's "weird" by @drinkcat in https://github.com/uutils/coreutils/pull/7587
  • stat: add support for selinux by @sylvestre in https://github.com/uutils/coreutils/pull/7752
  • test_stat: Disable test_stdin_pipe_fifo1/2 on Mac OS X by @drinkcat in https://github.com/uutils/coreutils/pull/7611

๐Ÿ“ฆ sum

  • sum: Rework some error handling by @karlmcdowall in https://github.com/uutils/coreutils/pull/7605

๐Ÿ“ฆ sync

  • sync: move call to unsafe fn to unsafe block by @cakebaker in https://github.com/uutils/coreutils/pull/7942

๐Ÿ“ฆ tail

  • tail: Performance improvements by @karlmcdowall in https://github.com/uutils/coreutils/pull/7643
  • tail: Ignore a few tests on selinux by @sylvestre in https://github.com/uutils/coreutils/pull/7756
  • tail: fix issue with -v flag and stdin by @karlmcdowall in https://github.com/uutils/coreutils/pull/7792
  • tail hex parsing, remove fundu dependency by @Qelxiros in https://github.com/uutils/coreutils/pull/7760
  • Tail macos stdin ran from script fix by @hz2 in https://github.com/uutils/coreutils/pull/7844

๐Ÿ“ฆ tee

  • add tests/misc/tee.sh to the list of intermittent issues by @sylvestre in https://github.com/uutils/coreutils/pull/7820

๐Ÿงช test

  • CI: add a new job to test with Selinux by @sylvestre in https://github.com/uutils/coreutils/pull/7440
  • cp: create failing test for #7455 by @Carreau in https://github.com/uutils/coreutils/pull/7457
  • selinux: run the GNU test too by @sylvestre in https://github.com/uutils/coreutils/pull/7448
  • Add test to ensure arch output is not empty by @valerioedu in https://github.com/uutils/coreutils/pull/7523
  • ci: Enable cspell on test on dotfiles too by @drinkcat in https://github.com/uutils/coreutils/pull/7582
  • Test workspace CI on macos by @drinkcat in https://github.com/uutils/coreutils/pull/7576
  • env: Removed parse_errors to follow other commands standard with "thiserror" + added errors test case by @ValentinBoudevin in https://github.com/uutils/coreutils/pull/7584
  • Bump `bigdecimal` & fix failing test by @cakebaker in https://github.com/uutils/coreutils/pull/7630
  • + 7 more

๐Ÿ“ฆ timeout

  • timeout: Use common parser to parse time duration by @drinkcat in https://github.com/uutils/coreutils/pull/7648
  • add tests against '0 in sleep/timeout durations by @Qelxiros in https://github.com/uutils/coreutils/pull/7777
  • timeout: add hex parsing test by @Qelxiros in https://github.com/uutils/coreutils/pull/7940

๐Ÿ“ฆ touch

  • Fix touch -t with 2 digit years when YY > 68 by @Carreau in https://github.com/uutils/coreutils/pull/7378

๐Ÿ“ฆ tsort

  • tsort: remove duplicate sorting step by @anastygnome in https://github.com/uutils/coreutils/pull/7965

๐Ÿ“ฆ uptime

  • fix uptime on windows by @Bluemangoo in https://github.com/uutils/coreutils/pull/7430
  • uptime: fix "unused import" warning in test by @cakebaker in https://github.com/uutils/coreutils/pull/7629
  • uptime: fix "unused import" warnings with `musl` by @cakebaker in https://github.com/uutils/coreutils/pull/7866
  • uptime: fix typo (formated -> formatted) by @cakebaker in https://github.com/uutils/coreutils/pull/7887
  • uptime: some small refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/7891
  • uptime: fix typo (Gnu -> GNU) by @fran-tor in https://github.com/uutils/coreutils/pull/7896
  • uptime: refactor `uumain` by @cakebaker in https://github.com/uutils/coreutils/pull/7892

๐Ÿ“ฆ uucore

  • Move ExtendedBigDecimal to uucore/format, make use of it in formatting functions by @drinkcat in https://github.com/uutils/coreutils/pull/7458
  • uucore: format: num_format: add `fmt` function tests, and workaround 0e10 printing. by @drinkcat in https://github.com/uutils/coreutils/pull/7514
  • uucore: format: num_parser: Use ExtendedBigDecimal by @drinkcat in https://github.com/uutils/coreutils/pull/7556
  • uucore: format: Collection of small parser fixes by @drinkcat in https://github.com/uutils/coreutils/pull/7623
  • seq: Move to uucore/format common number parsing code by @drinkcat in https://github.com/uutils/coreutils/pull/7624
  • uucore: Move extendedbigdecimal and parsers to 2 separate features by @drinkcat in https://github.com/uutils/coreutils/pull/7647
  • uucore: Minor fix to optional dependences by @RenjiSann in https://github.com/uutils/coreutils/pull/7654
  • uucore: format: Fix hexadecimal default format print by @drinkcat in https://github.com/uutils/coreutils/pull/7631
  • + 12 more

๐Ÿ“ฆ wc

  • wc: Perf gains with the bytecount crate. by @karlmcdowall in https://github.com/uutils/coreutils/pull/7495
  • wc: Speed optimization by @drinkcat in https://github.com/uutils/coreutils/pull/7934

๐Ÿ“ฆ whoami

  • whoami: remove unused libc dependency by @siddharthteli12 in https://github.com/uutils/coreutils/pull/7786

๐Ÿ“ฆ yes

  • yes: Remove usage of vmsplice by @karlmcdowall in https://github.com/uutils/coreutils/pull/7770

๐Ÿ“ฆ Selinux

  • selinux: get closer to the GNU error msgs by @sylvestre in https://github.com/uutils/coreutils/pull/7898
  • selinux: rename `check_selinux_enabled()` by @cakebaker in https://github.com/uutils/coreutils/pull/7771
  • set_selinux_security_context should return an Error, not String by @sylvestre in https://github.com/uutils/coreutils/pull/7845
  • Cargo.toml: remove exact version requirements for `selinux` by @cakebaker in https://github.com/uutils/coreutils/pull/7883

๐Ÿ“ฆ Code quality

  • all: add `(uutils coreutils)` to version string by @cakebaker in https://github.com/uutils/coreutils/pull/7441
  • Cargo.toml: use `authors.workspace = true` by @cakebaker in https://github.com/uutils/coreutils/pull/7723
  • utmpx.rs: use correct constant names for musl libc by @Ecordonnier in https://github.com/uutils/coreutils/pull/7459
  • fsext.rs: use type inference fsid_t / __fsid_t by @Ecordonnier in https://github.com/uutils/coreutils/pull/7469
  • .pre-commit-config.yaml: Also run cspell by @drinkcat in https://github.com/uutils/coreutils/pull/7577
  • Move our tests infra into a dedicated crate by @sylvestre in https://github.com/uutils/coreutils/pull/7598
  • Flush `BufWriter`s, clean up error reporting by @blyxxyz in https://github.com/uutils/coreutils/pull/7622
  • Consolidate crate config in workspace by @nyurik in https://github.com/uutils/coreutils/pull/7710
  • + 29 more

๐Ÿ“ฆ CI

  • bump to Rust edition 2024 & min = 1.85 by @sylvestre in https://github.com/uutils/coreutils/pull/7423
  • CI: improve the intermittent ignore by @sylvestre in https://github.com/uutils/coreutils/pull/7411
  • Python: add ruff check and fix the code by @sylvestre in https://github.com/uutils/coreutils/pull/7486
  • python: fix formatting in `compare_test_results.py` by @cakebaker in https://github.com/uutils/coreutils/pull/7493
  • flake: drop flake-utils, refactor by @bloxx12 in https://github.com/uutils/coreutils/pull/7368
  • GNU CI: fix the intermittement management by @sylvestre in https://github.com/uutils/coreutils/pull/7517
  • remaining-gnu-error.py: Adjust to the new URL by @sylvestre in https://github.com/uutils/coreutils/pull/7634
  • github/action: on fork, run the CI for all the branches (currently: only main) by @sylvestre in https://github.com/uutils/coreutils/pull/7604
  • + 22 more

๐Ÿ“ Documentation

  • CONTRIBUTING: fix broken link to Apple's file_cmds by @ohno418 in https://github.com/uutils/coreutils/pull/7460
  • fixed link to repo on uutests docs by @hz2 in https://github.com/uutils/coreutils/pull/7848
  • README.md: Refer to macOS when talking about the OS, not Mac (hardware) by @C0rn3j in https://github.com/uutils/coreutils/pull/7462
  • uutests: add a doc by @sylvestre in https://github.com/uutils/coreutils/pull/7607
  • uudoc: Fix for edition 2024 by @drinkcat in https://github.com/uutils/coreutils/pull/7573
  • ci: Enable uudoc feature on x86-64 native builder by @drinkcat in https://github.com/uutils/coreutils/pull/7574
  • Document the release process by @sylvestre in https://github.com/uutils/coreutils/pull/7419
  • add fedora and RHEL installation docs by @benyaminl in https://github.com/uutils/coreutils/pull/7453
  • + 8 more

๐Ÿ“ฆ Dependency Updates

  • Bump `iana-time-zone` & add `windows-core` to skip list by @cakebaker in https://github.com/uutils/coreutils/pull/7628
  • deny.toml: remove `zerocopy` from skip list by @cakebaker in https://github.com/uutils/coreutils/pull/7773
  • Bump `libc` & remove unnecessary `unsafe` blocks by @cakebaker in https://github.com/uutils/coreutils/pull/7434
  • Bump `tempfile` & fix deprecation warning by @cakebaker in https://github.com/uutils/coreutils/pull/7922
  • Bump `markdownlint` action & fix warnings by @cakebaker in https://github.com/uutils/coreutils/pull/7939
  • Bump `nix` & `ctrlc`, adapt code to API changes in `nix` by @cakebaker in https://github.com/uutils/coreutils/pull/7971
  • Bump `fluent` and `fluent-bundle` by @cakebaker in https://github.com/uutils/coreutils/pull/7980
  • chore(deps): update rust crate terminal_size to v0.4.2 by @renovate in https://github.com/uutils/coreutils/pull/7425
  • + 60 more

โœจ New Contributors

  • @LouisDISPA made their first contribution in https://github.com/uutils/coreutils/pull/7388
  • @Carreau made their first contribution in https://github.com/uutils/coreutils/pull/7378
  • @ohno418 made their first contribution in https://github.com/uutils/coreutils/pull/7460
  • @benyaminl made their first contribution in https://github.com/uutils/coreutils/pull/7453
  • @C0rn3j made their first contribution in https://github.com/uutils/coreutils/pull/7462
  • @TerakomariGandesblood made their first contribution in https://github.com/uutils/coreutils/pull/7479
  • @bloxx12 made their first contribution in https://github.com/uutils/coreutils/pull/7368
  • @jmjoy made their first contribution in https://github.com/uutils/coreutils/pull/7506
  • + 34 more
0.0.30
github-actions[bot]github-actions[bot]ยท1y agoยทMarch 8, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.0.30 Release:**

  • We are excited to announce the release of Rust Coreutils 0.0.30!
  • ---

๐Ÿ“ฆ Highlights:

  • Improved Compatibility:
  • This release focused on compatibility with the upstream GNU Coreutils 9.6 release. This is why the number of passing tests didn't change much - our effort was directed at adapting to the new upstream version rather than fixing existing test failures.
  • Passing GNU tests increased to 507 (+1 compared to 0.0.29).
  • Contributions: This release was made possible by the dedication of 22 contributors, including 8 newcomers.
  • We also announced at FOSDEM the extension of this project to cover other key Linux tools through our uutils initiative. This will extend the Rust rewrite effort to additional common Unix tools. See the presentation on [YouTube](https://www.youtube.com/watch?v=cXf31nFPo0U) ([slides](https://sylvestre.ledru.info/coreutils-fosdem-2025/)) or read the [LWN article](https://lwn.net/Articles/1007907/) for more details about our vision.
  • ---

๐Ÿงช GNU Test Suite Compatibility:

  • Here's how version 0.0.30 compares to the previous release:
  • | Result | 0.0.29 | 0.0.30 | Change 0.0.29 to 0.0.30 | % Total 0.0.29 | % Total 0.0.30 | % Change 0.0.29 to 0.0.30 |
  • |---------------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 506 | 507 | +1 | 82.38% | 82.17% | -0.21% |
  • | Skip | 41 | 41 | 0 | 6.68% | 6.65% | -0.03% |
  • | Fail | 67 | 69 | +2 | 10.92% | 11.18% | +0.26% |
  • | Total | 614 | 617 | +3 (new tests) | | | |
  • ---
  • + 2 more

๐Ÿ“ฆ Call to Action:

  • Support our work by sponsoring us on GitHub! Your contributions directly help maintain our infrastructure and enable faster development. [Sponsor us here](https://github.com/sponsors/uutils).
  • For more details and to download the latest release, visit our website: [https://uutils.github.io](https://uutils.github.io).

๐Ÿ“ฆ cat

  • error when output is input and appending by @jfinkels in https://github.com/uutils/coreutils/pull/7260

๐Ÿ“ฆ chgrp

  • add option --from by @sylvestre in https://github.com/uutils/coreutils/pull/7129
  • gnu/tests/chgrp/from.sh is now fixed by @sylvestre in https://github.com/uutils/coreutils/pull/7205

๐Ÿ“ฆ cksum

  • Fix #6375 and un-ignore now passing tests by @RenjiSann in https://github.com/uutils/coreutils/pull/7261
  • Update error and flags handling to improver GNU's match by @RenjiSann in https://github.com/uutils/coreutils/pull/7192
  • add CRC32B algorithm added in GNU 9.6 by @RenjiSann in https://github.com/uutils/coreutils/pull/7169
  • replace `is_some_and` with `is_none_or` by @cakebaker in https://github.com/uutils/coreutils/pull/7403

๐Ÿ“ฆ cp

  • disabled verbose output if file has been skipped by @BigPapa314 in https://github.com/uutils/coreutils/pull/7347
  • fix verbose output order after prompt by @aimerlief in https://github.com/uutils/coreutils/pull/7287

๐Ÿ“ฆ csplit

  • don't panic on missing suppressed file by @jfinkels in https://github.com/uutils/coreutils/pull/7292

๐Ÿ“ฆ echo

  • use uucore::format::parse_escape_only() by @jfinkels in https://github.com/uutils/coreutils/pull/7316

๐Ÿ“ฆ expr

  • Add tests by @RenjiSann in https://github.com/uutils/coreutils/pull/7356
  • Evaluate parenthesis content before checking for closing parenthesis by @RenjiSann in https://github.com/uutils/coreutils/pull/7332
  • Fix assorted test errors in tests/expr/expr.pl by @sargas in https://github.com/uutils/coreutils/pull/6134
  • Get rid of clap for performance reasons by @RenjiSann in https://github.com/uutils/coreutils/pull/7352

๐Ÿ“ฆ install

  • Document install-C test failure by @sylvestre in https://github.com/uutils/coreutils/pull/7223

๐Ÿ“ฆ head

  • ensure stdin input stream is correct on exit by @karlmcdowall in https://github.com/uutils/coreutils/pull/7253
  • Fix bug printing large non-seekable files by @karlmcdowall in https://github.com/uutils/coreutils/pull/7294
  • fix bug reading back through files by @karlmcdowall in https://github.com/uutils/coreutils/pull/7248
  • improve error mgmt. by @sylvestre in https://github.com/uutils/coreutils/pull/7408
  • Remove a head test from the list of failure by @sylvestre in https://github.com/uutils/coreutils/pull/7414

๐Ÿ“ฆ kill

  • don't allow lowercase signal names with '-' by @cakebaker in https://github.com/uutils/coreutils/pull/7206
  • fix the fail to use only least significant bits to identify signal with -l by @Felle33 in https://github.com/uutils/coreutils/pull/7225
  • list signal `0` with `-l` and `-t` by @cakebaker in https://github.com/uutils/coreutils/pull/7193
  • test "-l <number>" & adapt error messages by @cakebaker in https://github.com/uutils/coreutils/pull/7213

๐Ÿ“ฆ ls

  • display %Z alphabetic time zone abbreviation by @jfinkels in https://github.com/uutils/coreutils/pull/7154
  • Refactoring ls and date by @Felle33 in https://github.com/uutils/coreutils/pull/7194
  • gnu patches: adapt `tests_ls_no_cap.patch` to GNU `coreutils 9.6` by @cakebaker in https://github.com/uutils/coreutils/pull/7163

๐Ÿ“ฆ mv

  • show prompt for `-u --interactive` by @cakebaker in https://github.com/uutils/coreutils/pull/7178
  • Make mv command fallback to copy only if the src and dst are on different device by @hamflx in https://github.com/uutils/coreutils/pull/6040

๐Ÿ“ฆ numfmt

  • extract test from other test & expand it by @cakebaker in https://github.com/uutils/coreutils/pull/7155
  • fix Unit::SI uses lowercase `k` suffix for kilos by @alexsnaps in https://github.com/uutils/coreutils/pull/7322
  • fix from iec-i without suffix are bytes by @alexsnaps in https://github.com/uutils/coreutils/pull/7323

๐Ÿ“ฆ od

  • remove custom implementations of PartialEq and Eq by @alexs-sh in https://github.com/uutils/coreutils/pull/7211

๐Ÿ“ฆ printf

  • (partially) fix hex format: exponent is decimal, correctly print negative numbers by @drinkcat in https://github.com/uutils/coreutils/pull/7365
  • Show warning message in case of excess arguments by @RenjiSann in https://github.com/uutils/coreutils/pull/7239
  • error on missing hexadecial escape value by @jfinkels in https://github.com/uutils/coreutils/pull/7259
  • negative asterisk param changes alignment by @RenjiSann in https://github.com/uutils/coreutils/pull/7246
  • Re-enable integer overflow test case for printf by @jfinkels in https://github.com/uutils/coreutils/pull/7168

๐Ÿ“ฆ rm

  • add two passing tests for -i option by @jfinkels in https://github.com/uutils/coreutils/pull/7306
  • correct prompt for removing inaccessible dir by @jfinkels in https://github.com/uutils/coreutils/pull/7325
  • simplify remove_dir() helper function by @jfinkels in https://github.com/uutils/coreutils/pull/7308
  • use recursive directory traversal with --recursive by @jfinkels in https://github.com/uutils/coreutils/pull/7304

๐Ÿ“ฆ seq

  • remove timeout from seq test cases by @jfinkels in https://github.com/uutils/coreutils/pull/7171

๐Ÿ“ฆ sort

  • errors on overflowing -k argument but shouldn't by @ic3man5 in https://github.com/uutils/coreutils/pull/7188
  • needs support for human-readable block size suffixes R and Q by @ic3man5 in https://github.com/uutils/coreutils/pull/7198
  • options -C and -c should be mutually exclusive but aren't by @ic3man5 in https://github.com/uutils/coreutils/pull/7191
  • support percent arguments to -S option by @jfinkels in https://github.com/uutils/coreutils/pull/7181

๐Ÿ“ฆ split

  • avoid extremely long format width in test by @jfinkels in https://github.com/uutils/coreutils/pull/7301

๐Ÿ“ฆ tee

  • fix -p behavior upon broken pipe stdout by @RenjiSann in https://github.com/uutils/coreutils/pull/7273
  • fix usage of deprecated function in tests by @cakebaker in https://github.com/uutils/coreutils/pull/7341

๐Ÿงช test

  • add < and > operators for string comparison by @jfinkels in https://github.com/uutils/coreutils/pull/7315
  • remove `sleep` from tests by @cakebaker in https://github.com/uutils/coreutils/pull/7327

๐Ÿ“ฆ timeout

  • add support for `-f` and `-p` short options by @cakebaker in https://github.com/uutils/coreutils/pull/7200

๐Ÿ“ฆ touch

  • support obsolete POSIX timestamp argument by @jfinkels in https://github.com/uutils/coreutils/pull/7274

๐Ÿ“ฆ tr

  • Fix GNU behavior deviation by @RenjiSann in https://github.com/uutils/coreutils/pull/7320

๐Ÿ“ฆ uptime

  • refactor, move some codes to uucore by @Bluemangoo in https://github.com/uutils/coreutils/pull/7289
  • remove duplicate test by @cakebaker in https://github.com/uutils/coreutils/pull/7265

๐Ÿ“ฆ yes

  • fix use of deprecated function in test by @cakebaker in https://github.com/uutils/coreutils/pull/7348

๐Ÿ“ฆ uucore

  • Add missing dependencies by @sylvestre in https://github.com/uutils/coreutils/pull/7157
  • Fix proc_info compilation by @dezgeg in https://github.com/uutils/coreutils/pull/7385
  • Sync proc_info methods from procps by @dezgeg in https://github.com/uutils/coreutils/pull/7351
  • remove `lazy_static` and use `LazyLock` instead by @cakebaker in https://github.com/uutils/coreutils/pull/7404
  • replace `PanicInfo` with `PanicHookInfo` by @cakebaker in https://github.com/uutils/coreutils/pull/7395
  • uucore/docs.rs: generate the doc for all features by @sylvestre in https://github.com/uutils/coreutils/pull/7220

๐Ÿ“ Documentation

  • Fix usage strings for #5692 by @rwdj in https://github.com/uutils/coreutils/pull/7303
  • why-error.md: document more errors by @sylvestre in https://github.com/uutils/coreutils/pull/7224

๐Ÿ“ฆ Build & CI

  • add words to `spell-checker:ignore` in two files by @cakebaker in https://github.com/uutils/coreutils/pull/7300
  • build: restore uutils in GNU test files by @jfinkels in https://github.com/uutils/coreutils/pull/7170
  • try upstream 9.6 by @sylvestre in https://github.com/uutils/coreutils/pull/7149
  • .github: CICD: add workspace test to build matrix by @drinkcat in https://github.com/uutils/coreutils/pull/7386
  • GNUmakefile: fix install error "argument list too long" by @blmaier in https://github.com/uutils/coreutils/pull/7321
  • GNUmakefile: support skipping manpages and completions by @blmaier in https://github.com/uutils/coreutils/pull/7331
  • gnu patches: move to use quilt by @sylvestre in https://github.com/uutils/coreutils/pull/7127
  • Decrease more sleep by @sylvestre in https://github.com/uutils/coreutils/pull/7244
  • + 18 more

๐Ÿ“ฆ fuzzing

  • fuzz: update dependencies by @cakebaker in https://github.com/uutils/coreutils/pull/7245
  • fuzz: use new `<`/`>` operators in `fuzz_test.rs` by @cakebaker in https://github.com/uutils/coreutils/pull/7330
  • Improve fuzzer logging by @RenjiSann in https://github.com/uutils/coreutils/pull/7281

๐Ÿ“ฆ Code quality

  • clippy: fix warnings from `unnecessary_map_or` lint by @cakebaker in https://github.com/uutils/coreutils/pull/7398
  • clippy: fix/disable warnings introduced with Rust `1.85` by @cakebaker in https://github.com/uutils/coreutils/pull/7329
  • Cargo.toml: fix incorrect lint name by @cakebaker in https://github.com/uutils/coreutils/pull/7267
  • Remove `once_cell` dependency and use `LazyLock` by @cakebaker in https://github.com/uutils/coreutils/pull/7405
  • Remove `rand_pcg` by @cakebaker in https://github.com/uutils/coreutils/pull/7233
  • Style fixes from cargo +nightly clippy by @jfinkels in https://github.com/uutils/coreutils/pull/7339
  • Move other programs to thiserror by @sylvestre in https://github.com/uutils/coreutils/pull/7207
  • Move some programs to thiserror by @sylvestre in https://github.com/uutils/coreutils/pull/7175
  • + 3 more

๐Ÿ“ฆ Dependency Updates

  • Bump MSRV to 1.82.0 by @drinkcat in https://github.com/uutils/coreutils/pull/7394
  • Bump `fts-sys` from `0.2.13` to `0.2.14` by @cakebaker in https://github.com/uutils/coreutils/pull/7279
  • Bump `nom` and adapt `tr` to API changes by @cakebaker in https://github.com/uutils/coreutils/pull/7227
  • Bump `rand` & `rand_core` to `0.9.0`, adapt code to API changes by @cakebaker in https://github.com/uutils/coreutils/pull/7242
  • Bump `tempfile` & add two crates to the skip list in `deny.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/7238
  • fix(deps): update rust crate similar to v2.7.0 by @renovate in https://github.com/uutils/coreutils/pull/7164
  • chore(deps): update rust crate parse_datetime to 0.7.0 by @renovate in https://github.com/uutils/coreutils/pull/7172
  • chore(deps): update rust crate clap to v4.5.27 by @renovate in https://github.com/uutils/coreutils/pull/7189
  • + 43 more

โœจ New Contributors

  • @ic3man5 made their first contribution in https://github.com/uutils/coreutils/pull/7188
  • @rwdj made their first contribution in https://github.com/uutils/coreutils/pull/7303
  • @alexsnaps made their first contribution in https://github.com/uutils/coreutils/pull/7323
  • @blmaier made their first contribution in https://github.com/uutils/coreutils/pull/7321
  • @Bluemangoo made their first contribution in https://github.com/uutils/coreutils/pull/7289
  • @BigPapa314 made their first contribution in https://github.com/uutils/coreutils/pull/7347
  • @drinkcat made their first contribution in https://github.com/uutils/coreutils/pull/7365
  • @zcg00 made their first contribution in https://github.com/uutils/coreutils/pull/7266
  • + 1 more
0.0.29
sylvestresylvestreยท1y agoยทJanuary 18, 2025
GitHub

๐Ÿ“ฆ ๐Ÿ“ฆ **Rust Coreutils 0.0.29 Release:**

  • We are excited to announce the release of Rust Coreutils 0.0.29!
  • ---

๐Ÿ“ฆ Highlights:

  • Improved Compatibility:
  • Passing GNU tests increased to 506 (+30 compared to 0.0.28).
  • Failing tests reduced to 67 (-27 compared to 0.0.28).
  • Contributions: This release was made possible by the dedication of 32 contributors, including 18 newcomers.
  • Compared with 0.0.28, several commands now achieve 100% compatibility with GNU tests, including `df`, `dircolors`, `chmod`, `chroot`, `comm`, `seq`, `split`, `uniq`, and more.
  • Performance Boost: Optimizations in tools like `du`, `echo`, and `seq`.
  • ---

๐Ÿงช GNU Test Suite Compatibility:

  • Hereโ€™s how version 0.0.29 compares to the previous release:
  • | Result | 0.0.28 | 0.0.29 | Change 0.0.28 to 0.0.29 | % Total 0.0.28 | % Total 0.0.29 | % Change 0.0.28 to 0.0.29 |
  • |---------------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 476 | 506 | +30 | 77.65% | 82.38% | +4.73% |
  • | Skip | 43 | 41 | -2 | 7.01% | 6.68% | -0.33% |
  • | Fail | 94 | 67 | -27 | 15.34% | 10.92% | -4.42% |
  • | Error | 0 | 0 | 0 | 0.00% | 0.00% | 0.00% |
  • ---
  • + 2 more

๐Ÿ“ฆ Call to Action:

  • Support our work by sponsoring us on GitHub! Your contributions directly help maintain our infrastructure and enable faster development. [Sponsor us here](https://github.com/sponsors/uutils).
  • For more details and to download the latest release, visit our website: [https://uutils.github.io](https://uutils.github.io).

๐Ÿ“ฆ basenc

  • basenc: ignore Interrupted errors by @andrewliebenow in https://github.com/uutils/coreutils/pull/6778
  • basenc: ignore case with "--base16 --decode" by @cakebaker in https://github.com/uutils/coreutils/pull/6963
  • build-gnu.sh: adapt `basenc` message to clap changes by @cakebaker in https://github.com/uutils/coreutils/pull/6966

๐Ÿ“ฆ base32/base64

  • handle two corner cases by @sylvestre in https://github.com/uutils/coreutils/pull/6906

๐Ÿ“ฆ checksum

  • prepare further behavior fix with a rework by @RenjiSann in https://github.com/uutils/coreutils/pull/6822
  • Further rework by @RenjiSann in https://github.com/uutils/coreutils/pull/6868
  • cksum: even more fixes by @RenjiSann in https://github.com/uutils/coreutils/pull/6929
  • fuzzing: add a new fuzzer for cksum by @sylvestre in https://github.com/uutils/coreutils/pull/6585
  • fix error message when the flags length and an algorithm different from blake2b are present by @Felle33 in https://github.com/uutils/coreutils/pull/7071
  • the --tag is meaningless with --check by @Felle33 in https://github.com/uutils/coreutils/pull/7079
  • remove some unnecessary type info by @cakebaker in https://github.com/uutils/coreutils/pull/7080

๐Ÿ“ฆ chmod

  • Remove duplicate declarations + start to plug it to chmod too by @sylvestre in https://github.com/uutils/coreutils/pull/7017
  • add uucore's `perms` feature to `Cargo.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/7037
  • add support for the deref and links options by @sylvestre in https://github.com/uutils/coreutils/pull/7025
  • remove test tests/chmod/symlinks from the list by @sylvestre in https://github.com/uutils/coreutils/pull/7125

๐Ÿ“ฆ chroot

  • fix parsing of --userspec argument by @jfinkels in https://github.com/uutils/coreutils/pull/7043
  • remove `-G` short option by @cakebaker in https://github.com/uutils/coreutils/pull/7051
  • fix many issues with chroot by @jfinkels in https://github.com/uutils/coreutils/pull/7057
  • handle the error when invalid user by @sylvestre in https://github.com/uutils/coreutils/pull/7015
  • make group option self overwriting by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/7123
  • tests/chroot/chroot-credentials has been fixed by @sylvestre in https://github.com/uutils/coreutils/pull/7124

๐Ÿ“ฆ comm

  • generate an error if the input is a directory by @sylvestre in https://github.com/uutils/coreutils/pull/6853
  • adapt GNU error messages by @cakebaker in https://github.com/uutils/coreutils/pull/6998
  • don't use files for test by @sylvestre in https://github.com/uutils/coreutils/pull/7140
  • implement the ordering check by @sylvestre in https://github.com/uutils/coreutils/pull/7144

๐Ÿ“ฆ cp

  • remove some `sleep()` calls in tests by @cakebaker in https://github.com/uutils/coreutils/pull/6890
  • use the function from uucore by @sylvestre in https://github.com/uutils/coreutils/pull/7003
  • when copying a read only file, make sure that the xattrs can be set properly by @sylvestre in https://github.com/uutils/coreutils/pull/7009
  • copy attributes after making subdir by @rm-dr in https://github.com/uutils/coreutils/pull/6884
  • make --backup and --no-clobber are mutually exclusive by @sylvestre in https://github.com/uutils/coreutils/pull/7082
  • implement copying from streams by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/7061

๐Ÿ“ฆ csplit

  • fix bug when --suppress-matched flag is active and positive/negative offset is present by @Felle33 in https://github.com/uutils/coreutils/pull/7088
  • support reading from pipe by @fuad1502 in https://github.com/uutils/coreutils/pull/6951
  • simplify test by @cakebaker in https://github.com/uutils/coreutils/pull/7106
  • add support for `-q` by @cakebaker in https://github.com/uutils/coreutils/pull/7000
  • allow offset without sign in pattern by @cakebaker in https://github.com/uutils/coreutils/pull/7006

๐Ÿ“ฆ cut

  • Fix cut when lines don't end with specified delim by @andreistan26 in https://github.com/uutils/coreutils/pull/5844
  • adjust to our messages as they are better by @sylvestre in https://github.com/uutils/coreutils/pull/6921
  • some test refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/6970
  • fix overriding of `-d=` by @cakebaker in https://github.com/uutils/coreutils/pull/6984
  • don't merge adjacent ranges by @cakebaker in https://github.com/uutils/coreutils/pull/6990
  • fix handling of newline as delimiter by @cakebaker in https://github.com/uutils/coreutils/pull/6996

๐Ÿ“ฆ date

  • display %Z alphabetic time zone abbreviation by @jfinkels in https://github.com/uutils/coreutils/pull/7134

๐Ÿ“ฆ dd

  • error if iflag=directory and input is stdin by @jfinkels in https://github.com/uutils/coreutils/pull/7122

๐Ÿ“ฆ df

  • fix display of special characters by @jfinkels in https://github.com/uutils/coreutils/pull/7151
  • error on over-mounted device by @jfinkels in https://github.com/uutils/coreutils/pull/7116
  • df test now passes by @sylvestre in https://github.com/uutils/coreutils/pull/7130

๐Ÿ“ฆ dircolors

  • fix empty COLORTERM matching with ?* pattern by @sylvestre in https://github.com/uutils/coreutils/pull/7089
  • move `use` declaration to top by @cakebaker in https://github.com/uutils/coreutils/pull/7143
  • dircolors is fixed by @sylvestre in https://github.com/uutils/coreutils/pull/7141

๐Ÿ“ฆ du

  • Reuse metadata from DirEntry where possible by @jesseschalken in https://github.com/uutils/coreutils/pull/6839
  • fix the display with --inodes by @sylvestre in https://github.com/uutils/coreutils/pull/6878
  • deduplicate the input by @sylvestre in https://github.com/uutils/coreutils/pull/6885
  • Reuse existing metadata instead of calling path.is_dir() again by @jesseschalken in https://github.com/uutils/coreutils/pull/6840

๐Ÿ“ฆ echo

  • remove code made obsolete by MSRV 1.79 by @cakebaker in https://github.com/uutils/coreutils/pull/6989
  • handle double hyphens by @cakebaker in https://github.com/uutils/coreutils/pull/6997
  • add support for `POSIXLY_CORRECT` by @cakebaker in https://github.com/uutils/coreutils/pull/7059

๐Ÿ“ฆ env

  • add missing `cfg` attributes to tests by @cakebaker in https://github.com/uutils/coreutils/pull/6896
  • better handling of the errors by @sylvestre in https://github.com/uutils/coreutils/pull/7090
  • fix only long options are allowed to contain '=' by @jovielarue in https://github.com/uutils/coreutils/pull/7008

๐Ÿ“ฆ fmt

  • generate an error if the input is a directory by @sylvestre in https://github.com/uutils/coreutils/pull/6854

๐Ÿ“ฆ head

  • fix subtraction underflow with --bytes=-N by @jfinkels in https://github.com/uutils/coreutils/pull/7036
  • make head fail when writing to /dev/full by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/7068

๐Ÿ“ฆ install

  • create destination file with safer modes before copy by @nerdroychan in https://github.com/uutils/coreutils/pull/6595
  • Revert "create destination file with safer modes before copy" by @sylvestre in https://github.com/uutils/coreutils/pull/6922
  • implement copying from streams by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/6965

๐Ÿ“ฆ kill

  • add `-n` hidden option for compatibility with bash by @samueltardieu in https://github.com/uutils/coreutils/pull/7069
  • make `-s` conflict with `-l` and `-t` by @samueltardieu in https://github.com/uutils/coreutils/pull/7070

๐Ÿ“ฆ ls

  • when a file has capabilities (setcap), change the color by @sylvestre in https://github.com/uutils/coreutils/pull/6987
  • finish the plug of mtime by @sylvestre in https://github.com/uutils/coreutils/pull/7016
  • add better support for non-UTF-8 bytes by @jtracey in https://github.com/uutils/coreutils/pull/7020

๐Ÿ“ฆ mkfifo

  • better handle the mode + umask by @sylvestre in https://github.com/uutils/coreutils/pull/6971
  • add missing "mode" feature for uucore dep by @jfinkels in https://github.com/uutils/coreutils/pull/7075

๐Ÿ“ฆ more

  • reduce memory usage a bit by @tertsdiepraam in https://github.com/uutils/coreutils/pull/6399

๐Ÿ“ฆ mv

  • fix the output of an error message by @sylvestre in https://github.com/uutils/coreutils/pull/6861
  • remove `sleep` in tests by @cakebaker in https://github.com/uutils/coreutils/pull/6880
  • show "same file" error for `mv d/f d` by @cakebaker in https://github.com/uutils/coreutils/pull/5788
  • Revert "show 'same file' error for `mv d/f d`" by @sylvestre in https://github.com/uutils/coreutils/pull/6905
  • fix invalid numbered backup path by @hamflx in https://github.com/uutils/coreutils/pull/6119
  • don't panic if apply_xattrs fails by @alexs-sh in https://github.com/uutils/coreutils/pull/6936
  • improve move-to-self error handling by @sgvictorino in https://github.com/uutils/coreutils/pull/6995

๐Ÿ“ฆ numfmt

  • use `succeeds()`/`fails()` instead of `run()` in tests by @cakebaker in https://github.com/uutils/coreutils/pull/7135
  • adapt GNU `numfmt` error message by @cakebaker in https://github.com/uutils/coreutils/pull/7086

๐Ÿ“ฆ printf

  • remove allow(dead_code) directive by @jfinkels in https://github.com/uutils/coreutils/pull/7110

๐Ÿ“ฆ rm

  • fix r4_gnu_test by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6621
  • remove outdated comment by @cakebaker in https://github.com/uutils/coreutils/pull/7022
  • remove open call from uu-rm by @elde-n in https://github.com/uutils/coreutils/pull/7010

๐Ÿ“ฆ seq

  • add overflow checks when parsing exponents by @steinwand6 in https://github.com/uutils/coreutils/pull/6858
  • handle scientific notation with uppercase 'E' by @artP2 in https://github.com/uutils/coreutils/pull/6928
  • reduce memory allocation during prefix search by @alexs-sh in https://github.com/uutils/coreutils/pull/6949
  • handle 0e... scientific notation without padding by @aimerlief in https://github.com/uutils/coreutils/pull/6934
  • use `stdout_only()` to remove `no_stderr()` by @cakebaker in https://github.com/uutils/coreutils/pull/6937
  • improve error handling for invalid -f values by @jfinkels in https://github.com/uutils/coreutils/pull/7032
  • re-enable GNU test file precision.sh by @jfinkels in https://github.com/uutils/coreutils/pull/7095
  • add floating point support by @alexs-sh in https://github.com/uutils/coreutils/pull/6959
  • + 2 more

๐Ÿ“ฆ sort

  • Rework merge batching logic by @karlmcdowall in https://github.com/uutils/coreutils/pull/6957

๐Ÿ“ฆ split

  • fix bug with large arguments to -C by @jfinkels in https://github.com/uutils/coreutils/pull/7128

๐Ÿ“ฆ stat

  • Improve "stat" compatibility by @sylvestre in https://github.com/uutils/coreutils/pull/6933
  • fix precision when rendering mtime (%Y) by @jfinkels in https://github.com/uutils/coreutils/pull/7115

๐Ÿ“ฆ tail

  • fix issue #6543 (--pid when reading from stdin) by @just-an-engineer in https://github.com/uutils/coreutils/pull/6582

๐Ÿ“ฆ tr

  • Add ambiguous octal escape warning by @OshinoShinobu-Chan in https://github.com/uutils/coreutils/pull/6886
  • generate an error if the input is a directory by @sylvestre in https://github.com/uutils/coreutils/pull/6855
  • generate an error for real if the input is a directory by @sylvestre in https://github.com/uutils/coreutils/pull/6907

๐Ÿ“ฆ tsort

  • split edge data on any whitespace chars by @jfinkels in https://github.com/uutils/coreutils/pull/7078
  • print nodes and cycles as they are visited by @jfinkels in https://github.com/uutils/coreutils/pull/7093

๐Ÿ“ฆ uniq

  • fix multibyte input by @sylvestre in https://github.com/uutils/coreutils/pull/7046

๐Ÿ“ฆ wc

  • fix escaping by @jtracey in https://github.com/uutils/coreutils/pull/6993

๐Ÿ“ฆ uucore

  • Make EscapedChar and friends pub by @LegNeato in https://github.com/uutils/coreutils/pull/6903
  • Make `Spec` public by @LegNeato in https://github.com/uutils/coreutils/pull/6946
  • uucore/buf_copy: bug fixes for compatibility with uutils core utilities by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/6983
  • uucore: add common splice-write functionality by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/6964
  • uucore: correctly truncate response if getgroups shrinks by @santtu in https://github.com/uutils/coreutils/pull/6978
  • uucore: add alacritty to the list of terminals that support colors by @sylvestre in https://github.com/uutils/coreutils/pull/6923
  • uucore/buf-copy: delete redundant functions by @DaringCuteSeal in https://github.com/uutils/coreutils/pull/7060
  • quoting_style: Add support for non-UTF-8 bytes by @jtracey in https://github.com/uutils/coreutils/pull/6882
  • + 3 more

๐Ÿ“ฆ Build & CI

  • GNUmakefile: remove `sleep` from `UNIX_PROGS` to avoid warning by @cakebaker in https://github.com/uutils/coreutils/pull/6960
  • publish: by default, put it as draft by @sylvestre in https://github.com/uutils/coreutils/pull/6860
  • Bump MSRV to `1.77` by @cakebaker in https://github.com/uutils/coreutils/pull/6870
  • Improve gnu build script by @sylvestre in https://github.com/uutils/coreutils/pull/7136
  • GnuComment: zizmor: ignore[dangerous-triggers] by @dcampbell24 in https://github.com/uutils/coreutils/pull/6974
  • Android CICD: use posix style test by @jtracey in https://github.com/uutils/coreutils/pull/6982
  • GNU: try to remove the fail-2eperm.sh workaround by @sylvestre in https://github.com/uutils/coreutils/pull/7013
  • ci: install `libselinux1-dev` by @cakebaker in https://github.com/uutils/coreutils/pull/7132
  • + 10 more

๐Ÿ“ฆ Code quality

  • Fix new clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/6898
  • Use `div_ceil()` from `std` by @cakebaker in https://github.com/uutils/coreutils/pull/6877
  • uudoc,chcon: fix `needless_lifetimes` warnings by @cakebaker in https://github.com/uutils/coreutils/pull/6899
  • uucore/perms: use ORs instead of `match` (fix todo) by @cakebaker in https://github.com/uutils/coreutils/pull/6891
  • clippy: fix clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/6910
  • Fix clippy warnings by @RenjiSann in https://github.com/uutils/coreutils/pull/6932
  • Improve the GNU compat doc by @sylvestre in https://github.com/uutils/coreutils/pull/7012
  • clippy: fix errors introduced with Rust `1.84` by @cakebaker in https://github.com/uutils/coreutils/pull/7111

๐Ÿ“ Documentation

  • doc: remove fixed tests from `why-error.md` by @cakebaker in https://github.com/uutils/coreutils/pull/7101
  • doc: improve why-error doc by @sylvestre in https://github.com/uutils/coreutils/pull/7091
  • document two more failures by @sylvestre in https://github.com/uutils/coreutils/pull/7041
  • Fix: broken doc links by @jovielarue in https://github.com/uutils/coreutils/pull/7024

๐Ÿ“ฆ Dependencies

  • Bump `crossterm` from `0.27.0` to `0.28.1` by @cakebaker in https://github.com/uutils/coreutils/pull/6874
  • Bump `thiserror` from `1.0.69` to `2.0.3` by @cakebaker in https://github.com/uutils/coreutils/pull/6888
  • Bump `cpp` and `cpp_build` from `0.5.9` to `0.5.10` by @cakebaker in https://github.com/uutils/coreutils/pull/6887
  • fuzz: bump `bigdecimal` from `0.4.3` to `0.4.7` by @cakebaker in https://github.com/uutils/coreutils/pull/7148
  • Bump `chrono-tz` to `0.10.0` by @cakebaker in https://github.com/uutils/coreutils/pull/7146
  • Bump `itertools` from `0.13.0` to `0.14.0` by @cakebaker in https://github.com/uutils/coreutils/pull/7045
  • Bump `tempfile` from `3.14.0` to `3.15.0` by @cakebaker in https://github.com/uutils/coreutils/pull/7062
  • Bump `unicode-width`, adapt test and fixtures by @cakebaker in https://github.com/uutils/coreutils/pull/6904
  • + 65 more

โœจ New Contributors

  • @Banyc made their first contribution in https://github.com/uutils/coreutils/pull/6869
  • @jesseschalken made their first contribution in https://github.com/uutils/coreutils/pull/6839
  • @steinwand6 made their first contribution in https://github.com/uutils/coreutils/pull/6858
  • @LegNeato made their first contribution in https://github.com/uutils/coreutils/pull/6903
  • @hamflx made their first contribution in https://github.com/uutils/coreutils/pull/6119
  • @andreistan26 made their first contribution in https://github.com/uutils/coreutils/pull/5844
  • @nerdroychan made their first contribution in https://github.com/uutils/coreutils/pull/6595
  • @artP2 made their first contribution in https://github.com/uutils/coreutils/pull/6928
  • + 11 more
0.0.28
github-actions[bot]github-actions[bot]ยท1y agoยทNovember 16, 2024
GitHub

๐Ÿ“ฆ Highlights:

  • Improved Compatibility:
  • Passing GNU tests increased to 476 (+21 compared to 0.0.27).
  • Failing tests reduced to 94 (-19 compared to 0.0.27).
  • Contributions: This release was made possible by the hard work of 37 contributors, including 16 newcomers.
  • Enhanced Performance: Updates and optimizations in utilities like `cksum`, `mkdir`, and `tr`.

๐Ÿงช GNU Test Suite Compatibility:

  • Hereโ€™s how version 0.0.28 compares to the previous release:
  • | Result | 0.0.27 | 0.0.28 | Change 0.0.27 to 0.0.28 | % Total 0.0.27 | % Total 0.0.28 | % Change 0.0.27 to 0.0.28 |
  • |---------------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 455 | 476 | +21 | 74.35% | 77.65% | +3.30% |
  • | Skip | 44 | 43 | -1 | 7.19% | 7.01% | -0.18% |
  • | Fail | 113 | 94 | -19 | 18.46% | 15.34% | -3.12% |
  • | Error | 0 | 0 | 0 | 0.00% | 0.00% | 0.00% |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)

๐Ÿ“ฆ Call to Action:

  • Support our work by sponsoring us on GitHub! Your contributions help maintain our infrastructure and enable faster iterations. [Sponsor us here](https://github.com/sponsors/uutils).
  • For more details and to download the latest release, visit our website: [https://uutils.github.io](https://uutils.github.io).

๐Ÿ“ฆ `basenc`

  • Perform faster, streaming encoding by @andrewliebenow in [#6719](https://github.com/uutils/coreutils/pull/6719)

๐Ÿ“ฆ `cat`

  • Fix issue #6248 by @OshinoShinobu-Chan in [#6763](https://github.com/uutils/coreutils/pull/6763)
  • Use `write_end_of_line()` to avoid duplicate code by @cakebaker in [#6764](https://github.com/uutils/coreutils/pull/6764)
  • Fix issue #5186 by adding explicit flush by @gim913 in [#5256](https://github.com/uutils/coreutils/pull/5256)

๐Ÿ“ฆ `cksum` / `hashsum`

  • Add support for `--check` with base64 and other improvements by @sylvestre in [#6452](https://github.com/uutils/coreutils/pull/6452)
  • Accept non-UTF-8 filenames by @BenWiederhake in [#6575](https://github.com/uutils/coreutils/pull/6575)
  • Support commented lines in checksum files by @RenjiSann in [#6782](https://github.com/uutils/coreutils/pull/6782)
  • Fix error handling by @Luv-Ray in [#6801](https://github.com/uutils/coreutils/pull/6801)
  • Implement `-z` / `--zero` by @RenjiSann in [#6815](https://github.com/uutils/coreutils/pull/6815)
  • Read the next file when the first is missing or invalid by @sylvestre in [#6524](https://github.com/uutils/coreutils/pull/6524)
  • Support non-UTF-8 input in checksum files by @RenjiSann in [#6793](https://github.com/uutils/coreutils/pull/6793)

๐Ÿ“ฆ `cp`

  • Fix preserved hardlinks not being reported in `--verbose` mode by @djedi23 in [#6496](https://github.com/uutils/coreutils/pull/6496)
  • Improve GNU test case compatibility for `part-symlink` by @matrixhead in [#6588](https://github.com/uutils/coreutils/pull/6588)
  • Treat an empty file name as a non-existing file by @samueltardieu in [#6683](https://github.com/uutils/coreutils/pull/6683)
  • Show mode if the target does not have `S_IWUSR` by @andrewliebenow in [#6700](https://github.com/uutils/coreutils/pull/6700)
  • Fix possible OOM and partial writes with large files by @neyo8826 in [#6694](https://github.com/uutils/coreutils/pull/6694)
  • Fix symlink-overwrite error priority by @Luv-Ray in [#6586](https://github.com/uutils/coreutils/pull/6586)
  • Normalize path when checking for duplicate source by @matrixhead in [#6825](https://github.com/uutils/coreutils/pull/6825)
  • Add argument count validation for `cp` by @LoricAndre in [#6690](https://github.com/uutils/coreutils/pull/6690)

๐Ÿ“ฆ `date`

  • Fix timezone error when setting UTC time by @CausingBrick in [#6503](https://github.com/uutils/coreutils/pull/6503)
  • Add test for `date` by @Its-Just-Nans in [#6526](https://github.com/uutils/coreutils/pull/6526)
  • Add tests for issue #6392 by @RenjiSann in [#6471](https://github.com/uutils/coreutils/pull/6471)

๐Ÿ“ฆ `dd`

  • Fix issue #5905 (different error message from GNU) by @just-an-engineer in [#6622](https://github.com/uutils/coreutils/pull/6622)

๐Ÿ“ฆ `dircolors`

  • Optimize integer and string operations required by clippy nightly by @BenWiederhake in [#6636](https://github.com/uutils/coreutils/pull/6636)

๐Ÿ“ฆ `echo`

  • Handle multibyte escape sequences by @andrewliebenow in [#6803](https://github.com/uutils/coreutils/pull/6803)
  • Remove double negation by @cakebaker in [#6810](https://github.com/uutils/coreutils/pull/6810)

๐Ÿ“ฆ `hashsum`

  • When checksum file is untagged, detect the size by @sylvestre in [#6499](https://github.com/uutils/coreutils/pull/6499)
  • On Windows, check in binary mode by default and allow `--binary` / `--text` by @Pistonight in [#6808](https://github.com/uutils/coreutils/pull/6808)
  • Return error when only `--strict` or `--quiet` is given by @howjmay in [#6584](https://github.com/uutils/coreutils/pull/6584)

๐Ÿ“ฆ `hostname`

  • Use `dns-lookup` crate to get network address(es) of the host by @lcheylus in [#6550](https://github.com/uutils/coreutils/pull/6550)

๐Ÿ“ฆ `join`

  • Add support for multibyte separators by @jtracey in [#6736](https://github.com/uutils/coreutils/pull/6736)
  • Avoid extra allocations when using `-i` by @jtracey in [#6774](https://github.com/uutils/coreutils/pull/6774)

๐Ÿ“ฆ `ls`

  • Adjust code for `--dired` after GNU v9.5 changes by @sylvestre in [#6144](https://github.com/uutils/coreutils/pull/6144)
  • Fix GNU test case `color-norm` by @matrixhead in [#6481](https://github.com/uutils/coreutils/pull/6481)
  • Fix error in subdirectory output by @CausingBrick in [#6521](https://github.com/uutils/coreutils/pull/6521)
  • Fix `dired` option (`-D`) not outputting datetime and parent directory byte offsets by @pyoky in [#6538](https://github.com/uutils/coreutils/pull/6538)
  • Use tab when `-CF` is passed (closes #5396) by @sylvestre in [#6528](https://github.com/uutils/coreutils/pull/6528)
  • Fix GNU test case `color-clear-to-eol` by @matrixhead in [#6507](https://github.com/uutils/coreutils/pull/6507)
  • Refactor `parse_width` function by @matrixhead in [#6510](https://github.com/uutils/coreutils/pull/6510)
  • Add test for `ls` by @Its-Just-Nans in [#6527](https://github.com/uutils/coreutils/pull/6527)
  • + 3 more

๐Ÿ“ฆ `ln`

  • Allow final destination directory when using `-nf` by @jansheikkinen in [#5975](https://github.com/uutils/coreutils/pull/5975)

๐Ÿ“ฆ `mkdir`

  • Add `acl` permissions inheritance for subdirectories by @AnirbanHalder654322 in [#6676](https://github.com/uutils/coreutils/pull/6676)
  • Prevent mode change of existing directories by @samueltardieu in [#6682](https://github.com/uutils/coreutils/pull/6682)
  • Require arguments for `mkdir` and `rmdir` by @sgvictorino in [#6790](https://github.com/uutils/coreutils/pull/6790)
  • Emit error when path is empty by @andrewliebenow in [#6802](https://github.com/uutils/coreutils/pull/6802)
  • Allow `--parent` to be provided more than once by @DaringCuteSeal in [#6831](https://github.com/uutils/coreutils/pull/6831)

๐Ÿ“ฆ `mv`

  • Fix GNU test case `to-symlink` by @matrixhead in [#6578](https://github.com/uutils/coreutils/pull/6578)
  • Clean up inter-partition copying test code by @matrixhead in [#6583](https://github.com/uutils/coreutils/pull/6583)
  • Adjust error message to pass `tests/mv/mv-exchange.sh` by @sylvestre in [#6641](https://github.com/uutils/coreutils/pull/6641)
  • Fix GNU test case `mv-n` compatibility by @matrixhead in [#6599](https://github.com/uutils/coreutils/pull/6599)
  • Fix GNU test case `dup-src` compatibility by @matrixhead in [#6837](https://github.com/uutils/coreutils/pull/6837)

๐Ÿ“ฆ `od`

  • Allow trailing characters in address radix by @andrewliebenow in [#6674](https://github.com/uutils/coreutils/pull/6674)
  • Prevent panic on empty address radix by @andrewliebenow in [#6675](https://github.com/uutils/coreutils/pull/6675)

๐Ÿ“ฆ `paste`

  • Permit the delimiter list to be empty by @andrewliebenow in [#6714](https://github.com/uutils/coreutils/pull/6714)

๐Ÿ“ฆ `printf`

  • Check precision before writing to stdout (fix #1879) by @Kev1n8 in [#6511](https://github.com/uutils/coreutils/pull/6511)
  • Remove unused argument name from help by @andrewliebenow in [#6807](https://github.com/uutils/coreutils/pull/6807)
  • Fix extra padding by @Kev1n8 in [#6548](https://github.com/uutils/coreutils/pull/6548)
  • Delete unused file by @BenWiederhake in [#6758](https://github.com/uutils/coreutils/pull/6758)

๐Ÿ“ฆ `runcon`

  • Adjust error message for `runcon` and `stdbuf` to pass `tests/misc/invalid-opt.pl` by @sylvestre in [#6657](https://github.com/uutils/coreutils/pull/6657)
  • Improve help message for `runcon` by @cakebaker in [#6680](https://github.com/uutils/coreutils/pull/6680)

๐Ÿ“ฆ `sort`

  • Improve error management with `--batch-size` by @sylvestre in [#6535](https://github.com/uutils/coreutils/pull/6535)

๐Ÿ“ฆ `sync`

  • Replace `crash!` with `USimpleError` by @Kev1n8 in [#6547](https://github.com/uutils/coreutils/pull/6547)

๐Ÿงช `test`

  • Ensure `-o` argument triggers an error by @sylvestre in [#6642](https://github.com/uutils/coreutils/pull/6642)
  • Avoid eliding named lifetimes in tests by @samueltardieu in [#6678](https://github.com/uutils/coreutils/pull/6678)
  • Fix "unused imports" warning on Redox by @cakebaker in [#5930](https://github.com/uutils/coreutils/pull/5930)

๐Ÿ“ฆ `touch`

  • Change message when touching a directory by @Its-Just-Nans in [#6506](https://github.com/uutils/coreutils/pull/6506)
  • Expose `touch` for Nushell by @ysthakur in [#5946](https://github.com/uutils/coreutils/pull/5946)

๐Ÿ“ฆ `uptime`

  • Add support for OpenBSD using `utmp` by @lcheylus in [#6514](https://github.com/uutils/coreutils/pull/6514)
  • Relax error message due to differing `errno` values on macOS by @BenWiederhake in [#6571](https://github.com/uutils/coreutils/pull/6571)

๐Ÿ“ฆ `users`

  • Support OpenBSD using `utmp` by @jadijadi in [#6406](https://github.com/uutils/coreutils/pull/6406)
  • Fix lint error `needless_borrows_for_generic_args` on OpenBSD by @lcheylus in [#6509](https://github.com/uutils/coreutils/pull/6509)
  • Use `Option` instead of `Vec` for file argument by @cakebaker in [#6761](https://github.com/uutils/coreutils/pull/6761)
  • Fix lint error `manual_unwrap_or_default` on OpenBSD by @lcheylus in [#6772](https://github.com/uutils/coreutils/pull/6772)

๐Ÿ“ฆ `tr`

  • Properly determine trailing backslash by @BenWiederhake in [#6731](https://github.com/uutils/coreutils/pull/6731)
  • Enable ignored test on Unix by @cakebaker in [#6737](https://github.com/uutils/coreutils/pull/6737)
  • Raise error if `set2` is too big on complemented class by @RenjiSann in [#6564](https://github.com/uutils/coreutils/pull/6564)
  • Accept non-UTF-8 arguments for sets by @RenjiSann in [#6563](https://github.com/uutils/coreutils/pull/6563)
  • Fix unescaped trailing backslash warning by @andrewliebenow in [#6713](https://github.com/uutils/coreutils/pull/6713)
  • Correctly handle multibyte octal sequences by @andrewliebenow in [#6779](https://github.com/uutils/coreutils/pull/6779)
  • Correctly detect matched `[:upper:]` by @cvonelm in [#6513](https://github.com/uutils/coreutils/pull/6513)
  • Enable ignored tests that have already been fixed by @BenWiederhake in [#6756](https://github.com/uutils/coreutils/pull/6756)

๐Ÿ“ฆ `tsort`

  • Propose refactoring for `tsort` by @anastygnome in [#5968](https://github.com/uutils/coreutils/pull/5968)
  • Adjust error message in `tsort.pl` by @sylvestre in [#6785](https://github.com/uutils/coreutils/pull/6785)

๐Ÿ“ฆ uucore

  • uucore: Split `tty` from `proc_info` by @Krysztal112233 in https://github.com/uutils/coreutils/pull/6593
  • uucore: Fix return value of `ProcessInfomation::tty` by @Krysztal112233 in https://github.com/uutils/coreutils/pull/6597
  • uucore: Add `getsid` for `process.rs` by @Krysztal112233 in https://github.com/uutils/coreutils/pull/6600
  • fsext: remove crash! by @Kev1n8 in https://github.com/uutils/coreutils/pull/6549
  • uucore+timeout: accept signals of any casing by @BenWiederhake in https://github.com/uutils/coreutils/pull/6382
  • uucore: Move `pgrep/process.rs` to `uucore` by @Krysztal112233 in https://github.com/uutils/coreutils/pull/6483
  • uucore/proc_info: ignore spelling of some words by @cakebaker in https://github.com/uutils/coreutils/pull/6561
  • uucore: fix "unused import" warning on Redox by @cakebaker in https://github.com/uutils/coreutils/pull/6695
  • + 3 more

๐Ÿ“ฆ Misc

  • bin/coreutils: add `--list` to help output by @cakebaker in https://github.com/uutils/coreutils/pull/6692
  • prepare version 0.0.28 by @sylvestre in https://github.com/uutils/coreutils/pull/6844
  • Use `workspace = true` for some dependencies by @cakebaker in https://github.com/uutils/coreutils/pull/6601
  • sort: enable clippy::suspicious_open_options on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/6851
  • Fix clippy errors by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/6505
  • Fix nightly clippy by @BenWiederhake in https://github.com/uutils/coreutils/pull/6581
  • fuzz: run GNU Core Utilities with LC_ALL=C by @andrewliebenow in https://github.com/uutils/coreutils/pull/6795
  • Disable failed tests on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/6545
  • + 17 more

๐Ÿ“ฆ CI

  • ci: remove temporary code coverage jobs by @cakebaker in https://github.com/uutils/coreutils/pull/6856
  • ci: remove unused var from "Code Coverage" job by @cakebaker in https://github.com/uutils/coreutils/pull/6605
  • Fix Android CI by @jtracey in https://github.com/uutils/coreutils/pull/6580
  • Add windows arm64 to the CI by @sylvestre in https://github.com/uutils/coreutils/pull/6624
  • ci: disable broken code coverage on windows by @BenWiederhake in https://github.com/uutils/coreutils/pull/6687
  • Android CI: enable emulator metrics by @jtracey in https://github.com/uutils/coreutils/pull/6752
  • ci: use ubuntu v24 for GNU tests workflow by @cakebaker in https://github.com/uutils/coreutils/pull/6765
  • GNU tests: install attr by @sylvestre in https://github.com/uutils/coreutils/pull/6784
  • + 2 more

๐Ÿ“ Documentation

  • coreutils: Add a default readme for the packages by @lu-zero in https://github.com/uutils/coreutils/pull/6512
  • CONTRIBUTE.md: Update broken link and formatting of link by @vikiminki in https://github.com/uutils/coreutils/pull/6776
  • add docs - fix #5066 by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/6523
  • doc: add and change documentation of uucore by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/6551
  • document uucore::Args #5068 by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/6515
  • documents functions - #5069 by @Its-Just-Nans in https://github.com/uutils/coreutils/pull/6516
  • documentation: fix crate name in README by @andrewliebenow in https://github.com/uutils/coreutils/pull/6800

๐Ÿ“ฆ Dependencies

  • chore(deps): update rust crate num-bigint to v0.4.6 by @renovate in https://github.com/uutils/coreutils/pull/6501
  • chore(deps): update vmactions/freebsd-vm action to v1.0.8 by @renovate in https://github.com/uutils/coreutils/pull/6525
  • chore(deps): update rust crate serde to v1.0.204 by @renovate in https://github.com/uutils/coreutils/pull/6544
  • chore(deps): update rust crate thiserror to v1.0.62 by @renovate in https://github.com/uutils/coreutils/pull/6562
  • chore(deps): update reactivecircus/android-emulator-runner action to v2.32.0 by @renovate in https://github.com/uutils/coreutils/pull/6553
  • chore(deps): update rust crate blake3 to v1.5.2 by @renovate in https://github.com/uutils/coreutils/pull/6565
  • chore(deps): update rust crate blake3 to v1.5.3 by @renovate in https://github.com/uutils/coreutils/pull/6567
  • chore(deps): update rust crate redox_syscall to v0.5.3 by @renovate in https://github.com/uutils/coreutils/pull/6568
  • + 75 more

โœจ New Contributors

  • @Its-Just-Nans made their first contribution in https://github.com/uutils/coreutils/pull/6502
  • @CausingBrick made their first contribution in https://github.com/uutils/coreutils/pull/6503
  • @lu-zero made their first contribution in https://github.com/uutils/coreutils/pull/6512
  • @Kev1n8 made their first contribution in https://github.com/uutils/coreutils/pull/6511
  • @andrewliebenow made their first contribution in https://github.com/uutils/coreutils/pull/6674
  • @just-an-engineer made their first contribution in https://github.com/uutils/coreutils/pull/6622
  • @LoricAndre made their first contribution in https://github.com/uutils/coreutils/pull/6690
  • @jansheikkinen made their first contribution in https://github.com/uutils/coreutils/pull/5975
  • + 9 more
0.0.27
sylvestresylvestreยท1y agoยทJune 23, 2024
GitHub

๐Ÿงช GNU Test Suite Compatibility

  • Hereโ€™s how version 0.0.27 fares in comparison to the previous release:
  • | Result | 0.0.26 | 0.0.27 | Change 0.0.26 to 0.0.27 | % Total 0.0.26 | % Total 0.0.27 | % Change 0.0.26 to 0.0.27 |
  • |---------------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 447 | 455 | +8 | 73.04% | 74.35% | +1.31% |
  • | Skip | 44 | 44 | 0 | 7.19% | 7.19% | 0.00% |
  • | Fail | 121 | 113 | -8 | 19.77% | 18.46% | -1.31% |
  • | Error | 0 | 0 | 0 | 0.00% | 0.00% | 0.00% |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 1 more

๐Ÿ“ฆ cksum

  • Improve the GNU compat by @sylvestre in https://github.com/uutils/coreutils/pull/6256

๐Ÿ“ฆ cksum/hashsum

  • refactor the common code. by @sylvestre in https://github.com/uutils/coreutils/pull/6431
  • enable `sum` feature for `checksum` feature by @cakebaker in https://github.com/uutils/coreutils/pull/6450
  • Implement check (Closes: #5705) by @sylvestre in https://github.com/uutils/coreutils/pull/6390
  • Improve the blake2 --tag export by @sylvestre in https://github.com/uutils/coreutils/pull/6412

๐Ÿ“ฆ cp

  • Added overwrite detection for existing symlinks by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6380
  • Changed ``/sys/kernel/address_bits`` to ``/sys/kernel/profiling`` in test_cp by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6294
  • use `#[ignore]` to disable tests by @cakebaker in https://github.com/uutils/coreutils/pull/6395
  • remove `target_os = "macos-12"` by @cakebaker in https://github.com/uutils/coreutils/pull/6405
  • link-deref gnu test fix by @matrixhead in https://github.com/uutils/coreutils/pull/6378
  • parent-perm-race gnu fix by @matrixhead in https://github.com/uutils/coreutils/pull/6403
  • gnu test case preserve-mode fix by @matrixhead in https://github.com/uutils/coreutils/pull/6432
  • `cp-parents` test case by @matrixhead in https://github.com/uutils/coreutils/pull/6446
  • + 1 more

๐Ÿ“ฆ df

  • fix size column padding by @Qelxiros in https://github.com/uutils/coreutils/pull/6433
  • fix incorrect test & add another test by @cakebaker in https://github.com/uutils/coreutils/pull/6437

๐Ÿ“ฆ env

  • adds --ignore-signal by @Walid-Kh in https://github.com/uutils/coreutils/pull/6377

๐Ÿ“ฆ fmt

  • accept repeated arguments by @BenWiederhake in https://github.com/uutils/coreutils/pull/6355
  • value of minlength should not be negative by @ahmadabd in https://github.com/uutils/coreutils/pull/6359
  • fix error priority, make goal-errors more helpful by @BenWiederhake in https://github.com/uutils/coreutils/pull/6362
  • use `get_matches_from()` instead of `try_get_matches_from()` in tests by @cakebaker in https://github.com/uutils/coreutils/pull/6374

๐Ÿ“ฆ id

  • Handle repeated flags, recognize conflict between pretty-print and passwd file-entry by @BenWiederhake in https://github.com/uutils/coreutils/pull/6288

๐Ÿ“ฆ kill

  • adding support for handling SIGEXIT by @dcarrier in https://github.com/uutils/coreutils/pull/6269

๐Ÿ“ฆ ls

  • fix quoting alignment, add tests for default quoting style in TTY and quoting alignment by @RenjiSann in https://github.com/uutils/coreutils/pull/6402
  • Fix ls: panicking on dangling symlink with ``--color=auto -l`` by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6346

๐Ÿ“ฆ od

  • use `u64::MAX` instead of `max_value()` by @cakebaker in https://github.com/uutils/coreutils/pull/6477
  • use TestScenario, avoid spamming /tmp on failure by @BenWiederhake in https://github.com/uutils/coreutils/pull/6287

๐Ÿ“ฆ pinky

  • use UTC if offset can't be determined by @cakebaker in https://github.com/uutils/coreutils/pull/6414

๐Ÿ“ฆ seq

  • fix typo in benchmarking documentation file by @TO19 in https://github.com/uutils/coreutils/pull/6454

๐Ÿ“ฆ shuf

  • use usize::MAX instead of std::usize::MAX by @lcheylus in https://github.com/uutils/coreutils/pull/6482

๐Ÿ“ฆ sort

  • disable clippy::suspicious_open_options on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/6292

๐Ÿ“ฆ tail

  • use `#[ignore]` to disable tests by @cakebaker in https://github.com/uutils/coreutils/pull/6388

๐Ÿ“ฆ tr

  • calculate complement set early by @jalil-salame in https://github.com/uutils/coreutils/pull/6340
  • Refuse to translate if set2 contains more than one unique characters and set1 contains a character class by @cvonelm in https://github.com/uutils/coreutils/pull/6472
  • A [:lower:]/[:upper:] in set2 must be matched in set1 by @cvonelm in https://github.com/uutils/coreutils/pull/6445
  • disallow classes besides [:upper:]/[:lower:] in set2 when translating by @cvonelm in https://github.com/uutils/coreutils/pull/6424
  • Refuse to translate if set1 is longer than set2 and set2 ends in a character class by @cvonelm in https://github.com/uutils/coreutils/pull/6470

๐Ÿ“ฆ uptime

  • add `-s`/`--since` of `uptime` to extensions by @cakebaker in https://github.com/uutils/coreutils/pull/6391
  • Support files in uptime by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6400

๐Ÿ“ฆ utmpx

  • use UTC if offset can't be resolved by @cakebaker in https://github.com/uutils/coreutils/pull/6413

๐Ÿ“ฆ Misc

  • clippy: fix warnings introduced with Rust 1.78 by @cakebaker in https://github.com/uutils/coreutils/pull/6330
  • Disable clippy::assigning_clones on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/6356
  • clippy: fix warnings introduced by Rust 1.79 by @cakebaker in https://github.com/uutils/coreutils/pull/6468
  • tests: fix some clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/6430
  • Disabling compare_xattrs cp and mv related tests on OpenBSD by @jadijadi in https://github.com/uutils/coreutils/pull/6368
  • src/uucore/src/lib/features/fsext.rs: Add magic for bcachefs by @phedders in https://github.com/uutils/coreutils/pull/6438
  • tests: remove all `#[cfg(not(target_pointer_width = "128"))]` by @cakebaker in https://github.com/uutils/coreutils/pull/6418
  • Cargo.toml: enable uucore's `mode` feature by @cakebaker in https://github.com/uutils/coreutils/pull/6421
  • + 5 more

๐Ÿ“ฆ CI

  • macos-latest is now arm64 by @thesayyn in https://github.com/uutils/coreutils/pull/6425
  • stdbuf: rename `dragonflybsd` to `dragonfly` by @cakebaker in https://github.com/uutils/coreutils/pull/6384
  • deny.toml: remove hashbrown, update comment by @cakebaker in https://github.com/uutils/coreutils/pull/6373
  • show-utils.sh: fix jq query to get coreutils deps by @lcheylus in https://github.com/uutils/coreutils/pull/6485
  • deny.toml: allow BSL-1.0 as license by @cakebaker in https://github.com/uutils/coreutils/pull/6427

๐Ÿ“ Documentation

  • docs: describe extensions of id by @cakebaker in https://github.com/uutils/coreutils/pull/6289

๐Ÿงช Testing

  • tests: fix multi-call test precondition by @BenWiederhake in https://github.com/uutils/coreutils/pull/6279
  • Disabling xattrs tests on OpenBSD by @jadijadi in https://github.com/uutils/coreutils/pull/6349
  • util: added umask manipulation by @matrixhead in https://github.com/uutils/coreutils/pull/6404
  • show-utils.sh: fix jq query to get coreutils deps by @lcheylus in https://github.com/uutils/coreutils/pull/6300

๐Ÿ“ฆ Dependencies

  • Bump `itertools` and fix use of deprecated function by @cakebaker in https://github.com/uutils/coreutils/pull/6455
  • Bump `fts-sys` and `selinux-sys` by @cakebaker in https://github.com/uutils/coreutils/pull/6339
  • Bump bigdecimal from 0.4.0 to 0.4.2 by @cakebaker in https://github.com/uutils/coreutils/pull/6285
  • `ls`: upgrade uutils-term-grid to 0.5 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5485
  • Downgrade `libc` to `0.2.153` by @cakebaker in https://github.com/uutils/coreutils/pull/6408
  • fix(deps): update rust crate data-encoding to 2.6 by @renovate in https://github.com/uutils/coreutils/pull/6283
  • fix(deps): update rust crate data-encoding-macro to 0.1.15 by @renovate in https://github.com/uutils/coreutils/pull/6282
  • fix(deps): update rust crate cpp to 0.5.9 by @renovate in https://github.com/uutils/coreutils/pull/6325
  • + 58 more

โœจ New Contributors

  • @dcarrier made their first contribution in https://github.com/uutils/coreutils/pull/6269
  • @jalil-salame made their first contribution in https://github.com/uutils/coreutils/pull/6340
  • @ahmadabd made their first contribution in https://github.com/uutils/coreutils/pull/6359
  • @Walid-Kh made their first contribution in https://github.com/uutils/coreutils/pull/6377
  • @cvonelm made their first contribution in https://github.com/uutils/coreutils/pull/6424
  • @thesayyn made their first contribution in https://github.com/uutils/coreutils/pull/6425
  • @Qelxiros made their first contribution in https://github.com/uutils/coreutils/pull/6433
  • @phedders made their first contribution in https://github.com/uutils/coreutils/pull/6438
  • + 2 more
0.0.26
github-actions[bot]github-actions[bot]ยท2y agoยทApril 26, 2024
GitHub

โœจ New in this Release:

  • Beginning of the AIX Support
  • Updated GNU Reference: We've updated our testsuite to GNU Coreutils 9.5.
  • Improved Compatibility: Thanks to the community's efforts, we've addressed several compatibility issues, pushing our pass rate even higher.
  • Automated Builds: Binaries for the latest release are once again automatically generated.
  • This release saw contributions from 20 developers, including 12 newcomers.
  • For more details and to download the latest release, visit our website at [https://uutils.github.io](https://uutils.github.io).

๐Ÿงช GNU Test Suite Compatibility

  • Hereโ€™s how version 0.0.26 fares in comparison to the previous release:
  • | Result | 0.0.25 | 0.0.26 | Change 0.0.25 to 0.0.26 | % Total 0.0.25 | % Total 0.0.26 | % Change 0.0.25 to 0.0.26 |
  • |---------------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 437 | 447 | +10 | 72.35% | 73.04% | +0.69% |
  • | Skip | 50 | 44 | -6 | 8.28% | 7.19% | -1.09% |
  • | Fail | 117 | 121 | +4 | 19.37% | 19.77% | +0.40% |
  • | Error | 0 | 0 | 0 | 0.00% | 0.00% | 0.00% |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 2 more

๐Ÿ“ฆ cksum

  • Adding -b as the short form of --base64 by @jadijadi in https://github.com/uutils/coreutils/pull/6187
  • Fix code formatting by @cakebaker in https://github.com/uutils/coreutils/pull/6192

๐Ÿ“ฆ comm

  • Handle duplicated flags and output-delimiter correctly by @BenWiederhake in https://github.com/uutils/coreutils/pull/6112

๐Ÿ“ฆ cp

  • remove unnecessary calls of `touch()` in tests by @cakebaker in https://github.com/uutils/coreutils/pull/6263
  • gnu "same-file" test case compatibility by @matrixhead in https://github.com/uutils/coreutils/pull/6190
  • handle update prompt with and without interactive mode enabled by @BenWiederhake in https://github.com/uutils/coreutils/pull/6207
  • Swap `cp`โ€™s short `-r` and alias `-R` recursive options by @LucasLarson in https://github.com/uutils/coreutils/pull/6231
  • Fix the debug results in `cp --debug` by @AnirbanHalder654322 in https://github.com/uutils/coreutils/pull/6220

๐Ÿ“ฆ csplit

  • Handle repeated args, fix remainder after error by @BenWiederhake in https://github.com/uutils/coreutils/pull/6114

๐Ÿ“ฆ cut

  • Two new tests; -d conflict & no arg by @jadijadi in https://github.com/uutils/coreutils/pull/6191

๐Ÿ“ฆ date

  • Fix `date -f dates.txt is failing` by @mvo5 in https://github.com/uutils/coreutils/pull/6148
  • Support `-f -` to read from stdin by @mvo5 in https://github.com/uutils/coreutils/pull/6160
  • Remove unimplemented example by @LucasLarson in https://github.com/uutils/coreutils/pull/6135

๐Ÿ“ฆ dd

  • Handle SIGUSR1 directly. not just every 1sec by @cre4ture in https://github.com/uutils/coreutils/pull/6025
  • Fix flaky test_null_stats by @BenWiederhake in https://github.com/uutils/coreutils/pull/6204

๐Ÿ“ฆ dirname

  • Accept repeated flag by @BenWiederhake in https://github.com/uutils/coreutils/pull/6151

๐Ÿ“ฆ dircolors

  • Accept repeated flags by @BenWiederhake in https://github.com/uutils/coreutils/pull/6150

๐Ÿ“ฆ du

  • Give `-h` output the same precision as GNU coreutils by @mvo5 in https://github.com/uutils/coreutils/pull/6226

๐Ÿ“ฆ env

  • argv0 overwrite possibility (unix only) - fixes new gnu test version by @cre4ture in https://github.com/uutils/coreutils/pull/6154
  • Remove dependency on GNU env in tests by @cakebaker in https://github.com/uutils/coreutils/pull/6259
  • Add missing space to help output by @cakebaker in https://github.com/uutils/coreutils/pull/6260

๐Ÿ“ฆ hashsum

  • Implement the ignore-missing option by @sylvestre in https://github.com/uutils/coreutils/pull/6230
  • Improve the error management to match GNU by @sylvestre in https://github.com/uutils/coreutils/pull/6252

๐Ÿ“ฆ head

  • Two new tests. Improves function coverage from 38 to 75 by @jadijadi in https://github.com/uutils/coreutils/pull/6195

๐Ÿ“ฆ kill

  • Support multiple signals for --list by @m-haisham in https://github.com/uutils/coreutils/pull/6210
  • Don't show `EXIT` with `--list` by @cakebaker in https://github.com/uutils/coreutils/pull/6222
  • Return 1 and gnu style stderr in case of no pid by @jadijadi in https://github.com/uutils/coreutils/pull/6225
  • Print --table as vertical by @m-haisham in https://github.com/uutils/coreutils/pull/6216
  • Accept all cases for signal names by @m-haisham in https://github.com/uutils/coreutils/pull/6229
  • Print signals vertically when using --list flag by @m-haisham in https://github.com/uutils/coreutils/pull/6201

๐Ÿ“ฆ ls

  • Compute the correct exit code by @BenWiederhake in https://github.com/uutils/coreutils/pull/6173

๐Ÿ“ฆ mktemp

  • Adjust the error message to match 9.5 by @sylvestre in https://github.com/uutils/coreutils/pull/6146

๐Ÿ“ฆ more

  • Use dev tty instead of mio to avoid panics by @apatrushev in https://github.com/uutils/coreutils/pull/6262

๐Ÿ“ฆ mv

  • Fix bug on Redox OS introduced by xattr handling by @dahc in https://github.com/uutils/coreutils/pull/6215

๐Ÿ“ฆ od

  • Remove `print_width_block` field of `OutputInfo` by @cakebaker in https://github.com/uutils/coreutils/pull/6239

๐Ÿ“ฆ seq

  • Removed zero-padding of string when parsing with parse_exponent_no_decimal by @maxer137 in https://github.com/uutils/coreutils/pull/6185
  • Add the unit test even if they are failing for now by @sylvestre in https://github.com/uutils/coreutils/pull/6236

๐Ÿ“ฆ tail

  • Allow multiple usage of --pid to match upstream (regression of โ€ฆ by @sylvestre in https://github.com/uutils/coreutils/pull/6147

๐Ÿ“ฆ tee

  • Correctly handle read-only files, avoid unnecessary wrapping by @BenWiederhake in https://github.com/uutils/coreutils/pull/6157

๐Ÿ“ฆ tr

  • Fix "space" class, test "blank" class for order by @BenWiederhake in https://github.com/uutils/coreutils/pull/6141

๐Ÿ“ฆ uniq

  • Print version and help on stdout again by @tertsdiepraam in https://github.com/uutils/coreutils/pull/6123

๐Ÿ“ฆ wc

  • Count ASCII control characters as word characters by @BenWiederhake in https://github.com/uutils/coreutils/pull/6199

๐Ÿ“ฆ Misc

  • Initial AIX support by @ecnelises in https://github.com/uutils/coreutils/pull/6209
  • Fix warning when executing Clippy by @bin-ly in https://github.com/uutils/coreutils/pull/6246
  • tests: fix deprecation warning `timestamp_subsec_nanos()` by @mvo5 in https://github.com/uutils/coreutils/pull/6149
  • tests: test multi-call logic by @BenWiederhake in https://github.com/uutils/coreutils/pull/6198
  • all: Undo custom exit codes by @BenWiederhake in https://github.com/uutils/coreutils/pull/6162
  • Cargo.toml: remove unnecessary caret by @cakebaker in https://github.com/uutils/coreutils/pull/6128
  • Fixing the build issue on NetBSD by @jadijadi in https://github.com/uutils/coreutils/pull/6268
  • Try to release 0.0.26 to see if the artifacts are generated by @sylvestre in https://github.com/uutils/coreutils/pull/6131
  • + 5 more

๐Ÿ“ Documentation

  • Doc: Explain that it is allowed to look at OpenBSD or Apple sources by @sylvestre in https://github.com/uutils/coreutils/pull/6140
  • Readme: fix links to docs by @cakebaker in https://github.com/uutils/coreutils/pull/6189

๐Ÿ“ฆ CI

  • upgrade to GNU coreutils 9.5 as ref by @sylvestre in https://github.com/uutils/coreutils/pull/6139
  • don't upgrade packages - msys2-runtime upgrade fails in CI by @cre4ture in https://github.com/uutils/coreutils/pull/6153
  • fix macos ci instability on clippy with retry by @cre4ture in https://github.com/uutils/coreutils/pull/6156
  • CI: change publish step condition by @tertsdiepraam in https://github.com/uutils/coreutils/pull/6181
  • CI fix: use features arg for stable and nightly build by @cre4ture in https://github.com/uutils/coreutils/pull/6224
  • feat(github): add CICD job build_programs_individually by @gierens in https://github.com/uutils/coreutils/pull/6212
  • show-utils.sh: fix jq query by @tertsdiepraam in https://github.com/uutils/coreutils/pull/6120
  • ci: use `-pcoreutils` when running clippy by @cakebaker in https://github.com/uutils/coreutils/pull/6247
  • + 2 more

๐Ÿ“ฆ Dependencies

  • chore(deps): update rust crate rayon to 1.10 by @renovate in https://github.com/uutils/coreutils/pull/6118
  • chore(deps): drop conv dev-dependency by @paolobarbolini in https://github.com/uutils/coreutils/pull/6161
  • chore(deps): update rust crate chrono to 0.4.37 by @renovate in https://github.com/uutils/coreutils/pull/6136
  • chore(deps): update rust crate winapi-util to 0.1.7 by @renovate in https://github.com/uutils/coreutils/pull/6264
  • chore(deps): update rust crate zip to 1.1.1 by @renovate in https://github.com/uutils/coreutils/pull/6257
  • chore(deps): update rust crate zip to v1 by @renovate in https://github.com/uutils/coreutils/pull/6255
  • chore(deps): update rust crate chrono to 0.4.38 by @renovate in https://github.com/uutils/coreutils/pull/6238
  • chore(deps): update vmactions/freebsd-vm action to v1.0.7 by @renovate in https://github.com/uutils/coreutils/pull/6196
  • + 6 more

โœจ New Contributors

  • @LucasLarson made their first contribution in https://github.com/uutils/coreutils/pull/6135
  • @mvo5 made their first contribution in https://github.com/uutils/coreutils/pull/6149
  • @paolobarbolini made their first contribution in https://github.com/uutils/coreutils/pull/6161
  • @jadijadi made their first contribution in https://github.com/uutils/coreutils/pull/6187
  • @m-haisham made their first contribution in https://github.com/uutils/coreutils/pull/6201
  • @maxer137 made their first contribution in https://github.com/uutils/coreutils/pull/6185
  • @ecnelises made their first contribution in https://github.com/uutils/coreutils/pull/6209
  • @dahc made their first contribution in https://github.com/uutils/coreutils/pull/6215
  • + 5 more
0.0.25
sylvestresylvestreยท2y agoยทMarch 23, 2024
GitHub

๐Ÿงช GNU test suite compatibility

  • Here's how version 0.0.25 compares to the previous release - running GNU/Coreutils 9.4:
  • | Result | 0.0.24 | 0.0.25 | Change 0.0.24 to 0.0.25 | % Total 0.0.24 | % Total 0.0.25 | % Change 0.0.24 to 0.0.25 |
  • |--------|--------|--------|-------------------------|----------------|----------------|--------------------------|
  • | Pass | 422 | 437 | +15 | 69.87% | 72.35% | +2.48% |
  • | Skip | 50 | 50 | 0 | 8.28% | 8.28% | 0.00% |
  • | Fail | 132 | 117 | -15 | 21.85% | 19.37% | -2.48% |
  • | Error | 0 | 0 | 0 | 0.00% | 0.00% | 0.00% |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 1 more

๐Ÿ“ฆ base32/base64/basenc

  • implement and test proper flag parsing by @BenWiederhake in https://github.com/uutils/coreutils/pull/6007

๐Ÿ“ฆ basename

  • Fix handling of repeated flags/arguments by @BenWiederhake in https://github.com/uutils/coreutils/pull/6018

๐Ÿ“ฆ cat

  • Handle all flags correctly by @BenWiederhake in https://github.com/uutils/coreutils/pull/6034

๐Ÿ“ฆ chcon

  • Handle repeated flags and overrides between --no-XXX and --XXX by @BenWiederhake in https://github.com/uutils/coreutils/pull/6039

๐Ÿ“ฆ chmod

  • Fix chmod -c --reference reporting when no change is made by @mtimaN in https://github.com/uutils/coreutils/pull/6016
  • Fix handling of preserve root flag and error messages by @BenWiederhake in https://github.com/uutils/coreutils/pull/6042

๐Ÿ“ฆ cksum

  • permit repeated flags, handle overrides correctly, implement base64 output by @BenWiederhake in https://github.com/uutils/coreutils/pull/6041
  • enable encoding feature by @cakebaker in https://github.com/uutils/coreutils/pull/6095

๐Ÿ“ฆ cp

  • remove lint exceptions by @kralo in https://github.com/uutils/coreutils/pull/5891
  • improve the support of --attributes-only by @sylvestre in https://github.com/uutils/coreutils/pull/6051
  • Split the copy_file function a bit by @sylvestre in https://github.com/uutils/coreutils/pull/6056
  • fix flaky test test_cp_arg_interactive_update, document adjacent bug by @BenWiederhake in https://github.com/uutils/coreutils/pull/6020

๐Ÿ“ฆ csplit

  • use `printf` functionality from `uucore` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5958
  • adjust the error message to match GNU's by @sylvestre in https://github.com/uutils/coreutils/pull/6090
  • remove `crate_name` attribute by @cakebaker in https://github.com/uutils/coreutils/pull/6091

๐Ÿ“ฆ cut

  • set exit code to 1 if directory is specified by @cakebaker in https://github.com/uutils/coreutils/pull/5886
  • refactor delimiters OsString handling by @zhitkoff in https://github.com/uutils/coreutils/pull/6072
  • allow non utf8 characters for delimiters by @zhitkoff in https://github.com/uutils/coreutils/pull/6037
  • show error for multiple mode args (`-b`, `-c`, `-f`) by @wolimst in https://github.com/uutils/coreutils/pull/5962

๐Ÿ“ฆ dd

  • parse big numbers and return u64::MAX by @jfinkels in https://github.com/uutils/coreutils/pull/5901
  • fail on missing number in count, fix #5904 by @sudhackar in https://github.com/uutils/coreutils/pull/5920
  • misc gnu test by @matrixhead in https://github.com/uutils/coreutils/pull/6084
  • fix flaky test_final_stats_unspec by @BenWiederhake in https://github.com/uutils/coreutils/pull/6001
  • treat arg as bytes if it contains a 'B' by @matrixhead in https://github.com/uutils/coreutils/pull/6050
  • fix gnu test `not-rewound.sh` by @cre4ture in https://github.com/uutils/coreutils/pull/6088

๐Ÿ“ฆ df

  • switch from u64 to u128 to handle fs with large inodes nr by @cre4ture in https://github.com/uutils/coreutils/pull/6071

๐Ÿ“ฆ du

  • adapt error message to match GNU's by @cakebaker in https://github.com/uutils/coreutils/pull/5916
  • adjust one of the GNU error message as ours is better by @sylvestre in https://github.com/uutils/coreutils/pull/6085

๐Ÿ“ฆ echo

  • do not infer long args by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5911

๐Ÿ“ฆ env

  • support string args by "-S", "-vS" or "--split-strings" by @cre4ture in https://github.com/uutils/coreutils/pull/5801
  • Fix/findings for env string args by @cre4ture in https://github.com/uutils/coreutils/pull/6105

๐Ÿ“ฆ expand

  • Continue work when one of given files doesn't exist by @D9nni in https://github.com/uutils/coreutils/pull/5873
  • make tab explicit in test by @cakebaker in https://github.com/uutils/coreutils/pull/5875
  • do not ignore invalid UTF-8 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5987

๐Ÿ“ฆ factor

  • remove clippy exceptions by reformatting "unreadable literals" by @kralo in https://github.com/uutils/coreutils/pull/5890
  • rename input parameter by @kralo in https://github.com/uutils/coreutils/pull/5892
  • enable a debug_assert! statement by @cakebaker in https://github.com/uutils/coreutils/pull/5995

๐Ÿ“ฆ fmt

  • Make sure the goal is always positive when given a positive width by @sargas in https://github.com/uutils/coreutils/pull/6094
  • fail if goal is bigger than default width by @cakebaker in https://github.com/uutils/coreutils/pull/6096

๐Ÿ“ฆ hashsum

  • also escape/unescape files with checks by @sylvestre in https://github.com/uutils/coreutils/pull/5868

๐Ÿ“ฆ install

  • invalid link at destination by @cre4ture in https://github.com/uutils/coreutils/pull/5851

๐Ÿ“ฆ ln

  • fix help text by @cakebaker in https://github.com/uutils/coreutils/pull/5977

๐Ÿ“ฆ ls

  • fix "unused variable" warning on Redox by @cakebaker in https://github.com/uutils/coreutils/pull/5931
  • test_ls_allocation_size fails on filesystem `f2fs` (android) by @cre4ture in https://github.com/uutils/coreutils/pull/6076
  • rename `chrono::Duration` to `chrono::TimeDelta` by @cakebaker in https://github.com/uutils/coreutils/pull/5970

๐Ÿ“ฆ more

  • Disable raw mode before exiting if a panic occurs by @Ideflop in https://github.com/uutils/coreutils/pull/5914
  • Implement argument pattern by @Ideflop in https://github.com/uutils/coreutils/pull/5966
  • handle errors with multiple files by @Ludmuterol in https://github.com/uutils/coreutils/pull/4997
  • fix two incorrect tests by @cakebaker in https://github.com/uutils/coreutils/pull/6104

๐Ÿ“ฆ numfmt

  • remove clap workaround by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5986

๐Ÿ“ฆ od

  • disable failing test_od::test_f16() for android CI by @cre4ture in https://github.com/uutils/coreutils/pull/5984
  • re-enable f16 test with newer AVD system image by @cre4ture in https://github.com/uutils/coreutils/pull/6099

๐Ÿ“ฆ printf

  • pad unsigned numbers properly by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5955
  • Make operate on bytes instead of strings by @RenjiSann in https://github.com/uutils/coreutils/pull/6028
  • '%0c' and '%0s' should fail by @RenjiSann in https://github.com/uutils/coreutils/pull/6032

๐Ÿ“ฆ pr

  • use chrono instead of time in tests #5972 by @biplab5464 in https://github.com/uutils/coreutils/pull/5973
  • Check the correct timestamp in test_with_pr_core_utils_tests by @BenWiederhake in https://github.com/uutils/coreutils/pull/6010
  • relax some error messages by @sylvestre in https://github.com/uutils/coreutils/pull/6087

๐Ÿ“ฆ seq

  • fix about text not found by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5949

๐Ÿ“ฆ shuf

  • Treat empty file as zero elements instead of one empty string by @BenWiederhake in https://github.com/uutils/coreutils/pull/5979
  • Refuse repeating zero lines by @BenWiederhake in https://github.com/uutils/coreutils/pull/6011
  • include all echo args, not just the last by @BenWiederhake in https://github.com/uutils/coreutils/pull/5978
  • Fix OOM crash for huge number ranges by @BenWiederhake in https://github.com/uutils/coreutils/pull/5980
  • add missing word to BENCHMARKING.md by @cakebaker in https://github.com/uutils/coreutils/pull/5996
  • Fix off-by-one errors in range handling by @BenWiederhake in https://github.com/uutils/coreutils/pull/6014
  • treat -e as a flag, not as a multi-value arg by @BenWiederhake in https://github.com/uutils/coreutils/pull/5989
  • Do not read input when -n0 is given by @BenWiederhake in https://github.com/uutils/coreutils/pull/5990

๐Ÿ“ฆ sort

  • fix incorrectly placed "}" in test by @cakebaker in https://github.com/uutils/coreutils/pull/6064

๐Ÿ“ฆ split

  • fix android memory kill in split by @cre4ture in https://github.com/uutils/coreutils/pull/5940
  • fix error message shown if file doesn't exist by @cakebaker in https://github.com/uutils/coreutils/pull/5909

๐Ÿ“ฆ stat

  • Refactor to remove #[allow(clippy::cognitive_complexity)] #5881 by @biplab5464 in https://github.com/uutils/coreutils/pull/5924
  • should fail without arguments #5928 by @biplab5464 in https://github.com/uutils/coreutils/pull/5935
  • use chrono instead of time in fsext by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5934
  • add 0xDE flag to support zfs file system by @hanbings in https://github.com/uutils/coreutils/pull/6101

๐Ÿ“ฆ tsort

  • drastically reduce memory copies by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5969

๐Ÿ“ฆ tty

  • fix for Ctrl-D when stdin is a terminal by @zhitkoff in https://github.com/uutils/coreutils/pull/6059

๐Ÿ“ฆ truncate

  • correctly handle file (non-)creation by @BenWiederhake in https://github.com/uutils/coreutils/pull/6108

๐Ÿ“ฆ uname

  • Refactor into public fns for Nushell by @dmatos2012 in https://github.com/uutils/coreutils/pull/5921

๐Ÿ“ฆ uniq

  • pass remaining GNU tests by @zhitkoff in https://github.com/uutils/coreutils/pull/5994
  • Fix flaky test gnu_tests by @BenWiederhake in https://github.com/uutils/coreutils/pull/6017
  • use `concat!` in tests for better readability by @cakebaker in https://github.com/uutils/coreutils/pull/6022

๐Ÿ“ฆ CI

  • Android disable mirror selection by @kralo in https://github.com/uutils/coreutils/pull/5894
  • Android delete AVD lockfile when running from cached image by @kralo in https://github.com/uutils/coreutils/pull/5917
  • Add Android x86_64 by @cakebaker in https://github.com/uutils/coreutils/pull/5843
  • github action: run on native m1 - and execute the tests by @sylvestre in https://github.com/uutils/coreutils/pull/5923
  • CI Android: set environmental variable for BACKTRACE to right value by @cre4ture in https://github.com/uutils/coreutils/pull/5965
  • run CICD workflow on tag creation by @malt3 in https://github.com/uutils/coreutils/pull/5971
  • `ci:android` stabilize and improve android github actions by @cre4ture in https://github.com/uutils/coreutils/pull/5939
  • use latest version of `cspell` by @cakebaker in https://github.com/uutils/coreutils/pull/5947
  • + 7 more

๐Ÿ“ Documentation

  • Adjust the link to the doc by @sylvestre in https://github.com/uutils/coreutils/pull/6093
  • docs: add paragraph about yocto recipe by @Ecordonnier in https://github.com/uutils/coreutils/pull/5918/pull/5919
  • doc: fixed benchmark table by @SamuelLarkin in https://github.com/uutils/coreutils/pull/5936

๐Ÿ”’ Security

  • fuzzing: use LC_ALL instead of LC_COLLATE by @cakebaker in https://github.com/uutils/coreutils/pull/5889
  • fuzzing: set LC_ALL=C when running GNU printf by @cakebaker in https://github.com/uutils/coreutils/pull/5983
  • parser: if closing square bracket not found, stop looking for it again by @cj-zoltan-kiss in https://github.com/uutils/coreutils/pull/6036

๐Ÿ“ฆ Various improvements

  • Clippy suggestions by @kralo in https://github.com/uutils/coreutils/pull/5895
  • uucore: fix "X is never used" warnings on Redox by @cakebaker in https://github.com/uutils/coreutils/pull/5932
  • lint: fix lints of new Rust version by @Krysztal112233 in https://github.com/uutils/coreutils/pull/6102
  • cargo: rename `config` to `config.toml` by @cakebaker in https://github.com/uutils/coreutils/pull/5954
  • added shebang to run python scripts by @thesayfulla in https://github.com/uutils/coreutils/pull/6098
  • clippy: fix warnings introduced by Rust 1.76 by @cakebaker in https://github.com/uutils/coreutils/pull/5959
  • Fix clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/6052
  • tests: Harden two tests, prevent 4 flaky tests (cat, numfmt, sort, split, tee) by @BenWiederhake in https://github.com/uutils/coreutils/pull/6000
  • + 7 more

๐Ÿ“ฆ dependency updates

  • Bump wild from 2.2.0 to 2.2.1 by @cakebaker in https://github.com/uutils/coreutils/pull/5899
  • chore(deps): update rust crate chrono to ^0.4.33 by @renovate in https://github.com/uutils/coreutils/pull/5880
  • chore(deps): update vmactions/freebsd-vm action to v1.0.6 by @renovate in https://github.com/uutils/coreutils/pull/5887
  • chore(deps): update rust crate itertools to 0.12.1 by @renovate in https://github.com/uutils/coreutils/pull/5913
  • chore(deps): update mozilla-actions/sccache-action action to v0.0.4 by @renovate in https://github.com/uutils/coreutils
  • chore(deps): update codecov/codecov-action action to v4 by @renovate in https://github.com/uutils/coreutils/pull/5926
  • chore(deps): update rust crate libc to 0.2.153 by @renovate in https://github.com/uutils/coreutils/pull/5927
  • chore(deps): update rust crate exacl to 0.12.0 by @renovate in https://github.com/uutils/coreutils/pull/5937
  • + 18 more

โœจ New Contributors

  • @kralo made their first contribution in https://github.com/uutils/coreutils/pull/5890
  • @harshRn made their first contribution in https://github.com/uutils/coreutils/pull/5897
  • @Ecordonnier made their first contribution in https://github.com/uutils/coreutils/pull/5918
  • @SamuelLarkin made their first contribution in https://github.com/uutils/coreutils/pull/5936
  • @BaherSalama made their first contribution in https://github.com/uutils/coreutils/pull/5945
  • @wolimst made their first contribution in https://github.com/uutils/coreutils/pull/5962
  • @BenWiederhake made their first contribution in https://github.com/uutils/coreutils/pull/5979
  • @rex4539 made their first contribution in https://github.com/uutils/coreutils/pull/6027
  • + 7 more
0.0.24
sylvestresylvestreยท2y agoยทJanuary 25, 2024
GitHub

๐Ÿงช GNU test suite compatibility

  • Here's how version 0.0.24 compares to the previous release - running GNU/Coreutils 9.4:
  • | Result | 0.0.23 | 0.0.24 | Change 0.0.23 to 0.0.24 | % Total 0.0.23 | % Total 0.0.24 | % Change |
  • |--------|--------|--------|-------------------------|----------------|----------------|----------|
  • | Pass | 393 | 422 | +29 | 65.07% | 69.87% | +4.80% |
  • | Skip | 49 | 50 | +1 | 8.11% | 8.28% | +0.17% |
  • | Fail | 160 | 132 | -28 | 26.49% | 21.85% | -4.64% |
  • | Error | 2 | 0 | -2 | 0.33% | 0.00% | -0.33% |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 1 more

๐Ÿ“ฆ cat

  • Address cognitive complexity by @jetlime in https://github.com/uutils/coreutils/pull/5726

๐Ÿ“ฆ cksum

  • Stops when one of given files doesn't exist #5809 by @biplab5464 in https://github.com/uutils/coreutils/pull/5820
  • Made return an error if the algorithm blake2b is used on a directory. by @Ato2207 in https://github.com/uutils/coreutils/pull/5804
  • Add --raw argument by @D9nni in https://github.com/uutils/coreutils/pull/5803
  • Made return an error if used on a directory. by @Ato2207 in https://github.com/uutils/coreutils/pull/5822
  • Add --length argument for the blake2b algorithm by @DitherWither in https://github.com/uutils/coreutils/pull/5749

๐Ÿ“ฆ cp

  • Improve error msg if -r is not specified by @cakebaker in https://github.com/uutils/coreutils/pull/5555
  • Debug with --update=none should show 'skipped' by @sylvestre in https://github.com/uutils/coreutils/pull/5701
  • --remove-destination: don't fail if destination is hardlink to source by @cakebaker in https://github.com/uutils/coreutils/pull/5431
  • cp/mv/ln: add support for the "will not overwrite just-created" by @sylvestre in https://github.com/uutils/coreutils/pull/5699
  • --link: don't fail if destination is hardlink to source by @cakebaker in https://github.com/uutils/coreutils/pull/5484
  • Fix backup of destination symlink by @cakebaker in https://github.com/uutils/coreutils/pull/5731
  • Update a GNU test error check - tests/fail-perm.sh by @sylvestre in https://github.com/uutils/coreutils/pull/5784
  • cp/mv: manage with trailing slash in target by @sylvestre in https://github.com/uutils/coreutils/pull/5780
  • + 8 more

๐Ÿ“ฆ dd

  • Buffer partial blocks in the output writer by @jfinkels in https://github.com/uutils/coreutils/pull/4545
  • Skip two tests without "printf" feature by @cakebaker in https://github.com/uutils/coreutils/pull/5607
  • /chroot: improve the skip message (not root) by @sylvestre in https://github.com/uutils/coreutils/pull/5734

๐Ÿ“ฆ df

  • Fix rounding issue in test by @cakebaker in https://github.com/uutils/coreutils/pull/5532

๐Ÿ“ฆ dircolors

  • Move the static long string into structures. by @sylvestre in https://github.com/uutils/coreutils/pull/5611

๐Ÿ“ฆ du

  • Start printing output immediately by @ceteece in https://github.com/uutils/coreutils/pull/5552
  • Disable test on Android by @cakebaker in https://github.com/uutils/coreutils/pull/5615
  • Cleanup by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5623
  • Fix issue with dereference in test by @cakebaker in https://github.com/uutils/coreutils/pull/5625
  • Test behavior with POSIXLY_CORRECT set by @cakebaker in https://github.com/uutils/coreutils/pull/5530
  • Call unused _du_basics() in test_du_basics() by @cakebaker in https://github.com/uutils/coreutils/pull/5503
  • Implement files0-from by @sylvestre in https://github.com/uutils/coreutils/pull/5721
  • Simplify file creation in tests by @cakebaker in https://github.com/uutils/coreutils/pull/5727
  • + 2 more

๐Ÿ“ฆ echo

  • Make `-e` and `-E` override each other by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5635

๐Ÿ“ฆ expand

  • Fix duplicate flags by @allaboutevemirolive in https://github.com/uutils/coreutils/pull/5684

๐Ÿ“ฆ expr

  • Check prefix operation by @Luv-Ray in https://github.com/uutils/coreutils/pull/5566
  • Different stderr with `"56" "substr"` by @pawelngei in https://github.com/uutils/coreutils/pull/5559
  • Adapt error messages, revert most of #5559 by @cakebaker in https://github.com/uutils/coreutils/pull/5578
  • Refactor AST and parsing by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5586
  • Fix issue 5576 (regex matching bug) by @cobaweel in https://github.com/uutils/coreutils/pull/5577
  • Optimizing for integer values by @Arp-1 in https://github.com/uutils/coreutils/pull/5614
  • Coerce to string before comparing values by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5673

๐Ÿ“ฆ fmt

  • A collection of small refactors by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5592
  • Rename `pfxind_end` -> `prefix_indent_end` by @cakebaker in https://github.com/uutils/coreutils/pull/5593
  • Remove crash! macro by @Arp-1 in https://github.com/uutils/coreutils/pull/5589

๐Ÿ“ฆ hashsum

  • Remove usage of crash! macro by @GDYendell in https://github.com/uutils/coreutils/pull/5581
  • When the filename contains some special chars, escape them by @sylvestre in https://github.com/uutils/coreutils/pull/5865

๐Ÿ“ฆ head

  • -c allocate memory as needed by @sylvestre in https://github.com/uutils/coreutils/pull/5704
  • head_backwards for non-seekable files like /proc/* or fifos (named pipes) by @cre4ture in https://github.com/uutils/coreutils/pull/5732
  • Disable some tests on Android by @cakebaker in https://github.com/uutils/coreutils/pull/5813
  • Fix clippy warnings in tests by @cakebaker in https://github.com/uutils/coreutils/pull/5838

๐Ÿ“ฆ hostname

  • tests/hostname: disable failing test_hostname::test_hostname_ip on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/5639

๐Ÿ“ฆ install

  • Fix strip program stdout and destination hyphen handling #5718 by @cre4ture in https://github.com/uutils/coreutils/pull/5848
  • Support when a hyphen is passed by @sylvestre in https://github.com/uutils/coreutils/pull/5697
  • With -t, check if we aren't passed a file by @sylvestre in https://github.com/uutils/coreutils/pull/5686
  • Manages permissions when run as root by @sylvestre in https://github.com/uutils/coreutils/pull/5735
  • Remove / from end of path if it exists so as not to mess with .exists() by @mtimaN in https://github.com/uutils/coreutils/pull/5730
  • Remove a debug artifact by @sylvestre in https://github.com/uutils/coreutils/pull/5719

๐Ÿ“ฆ join

  • Remove crash! macro by @cswn in https://github.com/uutils/coreutils/pull/5540

๐Ÿ“ฆ ls

  • Remove "#[allow(unused_variables)]" by @cakebaker in https://github.com/uutils/coreutils/pull/5617
  • Ignore value of `POSIXLY_CORRECT` by @cakebaker in https://github.com/uutils/coreutils/pull/5609
  • Implement --hyperlink by @cakebaker in https://github.com/uutils/coreutils/pull/5622
  • Improve the access to metadata of the files by @sylvestre in https://github.com/uutils/coreutils/pull/5660
  • Set correct block size when -k is provided by @cakebaker in https://github.com/uutils/coreutils/pull/5700
  • Fix padding of size column when using `-l` by @cakebaker in https://github.com/uutils/coreutils/pull/5604
  • Match the gnu behavior for colors by @sylvestre in https://github.com/uutils/coreutils/pull/5603
  • Set default quoting style to literal when not TTY by @RenjiSann in https://github.com/uutils/coreutils/pull/5553
  • + 15 more

๐Ÿ“ฆ mknod

  • Remove `parsemode.rs` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5651
  • `mknod`: remove `parsemode.rs` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5651

๐Ÿ“ฆ mv

  • Preserve the xattr by @sylvestre in https://github.com/uutils/coreutils/pull/5835
  • Allow destination with slash when using --update by @cakebaker in https://github.com/uutils/coreutils/pull/5695
  • Fix issue with -T and destination ending with "/" by @cakebaker in https://github.com/uutils/coreutils/pull/5554
  • Rename two tests by @cakebaker in https://github.com/uutils/coreutils/pull/5645
  • Simplify condition by @cakebaker in https://github.com/uutils/coreutils/pull/5764
  • Fix subdir detection by @cakebaker in https://github.com/uutils/coreutils/pull/5483
  • Dir2dir: adjust GNU tests - our error message is better by @sylvestre in https://github.com/uutils/coreutils/pull/5685

๐Ÿ“ฆ nl

  • Don't exit if input is directory by @cakebaker in https://github.com/uutils/coreutils/pull/5806

๐Ÿ“ฆ pathchk

  • Simplify and rename test by @cakebaker in https://github.com/uutils/coreutils/pull/5818

๐Ÿ“ฆ printf

  • Rewrite (with a lot of `seq` changes) by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5128
  • Fix hex alternate zero by @spineki in https://github.com/uutils/coreutils/pull/5811
  • Use 0 instead of 0o as octal prefix by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5808
  • Compatibility by @samueltardieu in https://github.com/uutils/coreutils/pull/5783
  • Output of double-quote should not be escaped by @samueltardieu in https://github.com/uutils/coreutils/pull/5828
  • %c prints the first byte of its argument by @samueltardieu in https://github.com/uutils/coreutils/pull/5827
  • No infinite loop by @sudhackar in https://github.com/uutils/coreutils/pull/5830
  • Fixing incorrect exit code when passing invalid value to %x by @pawelngei in https://github.com/uutils/coreutils/pull/5543

๐Ÿ“ฆ rm

  • Improve the code a tiny bit by @sylvestre in https://github.com/uutils/coreutils/pull/5755

๐Ÿ“ฆ runcon

  • Remove trailing '.' by @sylvestre in https://github.com/uutils/coreutils/pull/5702

๐Ÿ“ฆ seq

  • Adjust some error messages. GNU's are better by @sylvestre in https://github.com/uutils/coreutils/pull/5798
  • Fix output by @samueltardieu in https://github.com/uutils/coreutils/pull/5789
  • Workaround https://github.com/uutils/coreutils/issues/5766 by @sylvestre in https://github.com/uutils/coreutils/pull/5770
  • Handle the error when stdout is full by @sylvestre in https://github.com/uutils/coreutils/pull/5765

๐Ÿ“ฆ shred

  • Improve some output to match GNU's by @sylvestre in https://github.com/uutils/coreutils/pull/5712
  • Implemented "--remove" arg by @Statheres in https://github.com/uutils/coreutils/pull/5790

๐Ÿ“ฆ sort

  • Allow `-f` to be pass multiple time by @just1602 in https://github.com/uutils/coreutils/pull/5681
  • `test/sort`: run cargo fmt by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5689

๐Ÿ“ฆ split

  • Pass GNU test l-chunk by @zhitkoff in https://github.com/uutils/coreutils/pull/5567
  • Pass GNU tests/b-chunk.sh by @zhitkoff in https://github.com/uutils/coreutils/pull/5475
  • Passing GNU test r-chunk.sh by @zhitkoff in https://github.com/uutils/coreutils/pull/5580
  • Remove crash macro by @cswn in https://github.com/uutils/coreutils/pull/5533

๐Ÿ“ฆ stdbuf

  • Remove crash macro by @cswn in https://github.com/uutils/coreutils/pull/5549
  • libstdbuf: remove crash macro by @cswn in https://github.com/uutils/coreutils/pull/5565

๐Ÿ“ฆ tail

  • Transform FAIL into ERROR for tests/tail/inotify-rotate-resources.sh by @sylvestre in https://github.com/uutils/coreutils/pull/5771

๐Ÿ“ฆ tee

  • Test: fix a warning on not(linux) by @sylvestre in https://github.com/uutils/coreutils/pull/5723

๐Ÿงช test

  • tests/test: Ensure the test fixture files have the expected gid by @n1000 in https://github.com/uutils/coreutils/pull/5455
  • Use clearer expression for CI testing by @samueltardieu in https://github.com/uutils/coreutils/pull/5769

๐Ÿ“ฆ tr

  • Operate on bytes instead of chars by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5640
  • uucore: remove useless conversion for features/fs on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/5676

๐Ÿ“ฆ tsort

  • Returns error when input is dir - same as GNU tsort by @SaHHiiLL in https://github.com/uutils/coreutils/pull/5860

๐Ÿ“ฆ unexpand

  • Remove crash! macro by @allaboutevemirolive in https://github.com/uutils/coreutils/pull/5588
  • Should allow multiple files #5852 and show error message if a directory is specified #5845 by @biplab5464 in https://github.com/uutils/coreutils/pull/5864

๐Ÿ“ฆ wc

  • Pass GNU test wc-files0-from.pl by @zhitkoff in https://github.com/uutils/coreutils/pull/5582
  • Fix arguments not overriding by @Yykz in https://github.com/uutils/coreutils/pull/5671
  • Disable part of test on Android by @cakebaker in https://github.com/uutils/coreutils/pull/5717
  • Pass GNU test wc-proc and Windows optimization by @zhitkoff in https://github.com/uutils/coreutils/pull/5612

๐Ÿ“‹ Other OS & arch changes

  • tests: disable tests for tools unsupported on OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/5863
  • uucore: add support for sparc64 by @ffontaine in https://github.com/uutils/coreutils/pull/5799
  • Fix build on Redox, and add `stat` to Redox feature by @ids1024 in https://github.com/uutils/coreutils/pull/5502
  • Add support in uucore for OpenBSD by @lcheylus in https://github.com/uutils/coreutils/pull/5599
  • Fix util shell scripts to be compatible with BSD by @lcheylus in https://github.com/uutils/coreutils/pull/5774
  • Support unix feature on OpenBSD (utmpx not supported) by @lcheylus in https://github.com/uutils/coreutils/pull/5620

๐Ÿ“ฆ CI

  • ci: set -no-window in Android workflow by @cakebaker in https://github.com/uutils/coreutils/pull/5814
  • CI: test `uucore` with `coreutils` in codecov to run it with the proper features by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5825
  • ignore-intermittent.txt: adjust the renamed test name by @sylvestre in https://github.com/uutils/coreutils/pull/5654
  • publishing: check if the current version is already there or not by @sylvestre in https://github.com/uutils/coreutils/pull/5535
  • Improve the GNU ci analysis: display the root test changes too by @sylvestre in https://github.com/uutils/coreutils/pull/5728
  • ci: add aarch64-unknown-linux-musl release artifact by @malt3 in https://github.com/uutils/coreutils/pull/5694
  • ci: fix warnings from "cargo tree" by @cakebaker in https://github.com/uutils/coreutils/pull/5670
  • ci: rename test summary names for busybox & toybox by @cakebaker in https://github.com/uutils/coreutils/pull/5652
  • + 9 more

๐Ÿ“ Documentation

  • docs: fix URL for FreeBSD port by @lcheylus in https://github.com/uutils/coreutils/pull/5763
  • doc: Fix a broken link by @YDX-2147483647 in https://github.com/uutils/coreutils/pull/5547
  • docs: add winget installer by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5648
  • docs: remove scoop badge, adapt links to repos by @cakebaker in https://github.com/uutils/coreutils/pull/5650
  • uuhelp_parser: add links to homepage and repo by @michel-slm in https://github.com/uutils/coreutils/pull/5796
  • src: Fixing typos in signatures for the argument parser by @dvalere in https://github.com/uutils/coreutils/pull/5696
  • Fix typo in signals.rs by @eltociear in https://github.com/uutils/coreutils/pull/5781
  • Fix docs issues. by @Ato2207 in https://github.com/uutils/coreutils/pull/5747
  • + 2 more

๐Ÿ”’ Security

  • fuzzing: print the diff in case of issue by @sylvestre in https://github.com/uutils/coreutils/pull/5866
  • fuzz printf by @sylvestre in https://github.com/uutils/coreutils/pull/5556
  • fuzzing: add a variable to state if we know it fails or not by @sylvestre in https://github.com/uutils/coreutils/pull/5563
  • fuzz: Simplify the compare_result function by @sylvestre in https://github.com/uutils/coreutils/pull/5662
  • fuzzing: quick timeout because seq is freezing by @sylvestre in https://github.com/uutils/coreutils/pull/5636
  • Fuzz the echo command by @sylvestre in https://github.com/uutils/coreutils/pull/5600
  • fuzz seq by @sylvestre in https://github.com/uutils/coreutils/pull/5621
  • expr fuzz: add missing ops. found thanks to oss fuzz coverage by @sylvestre in https://github.com/uutils/coreutils/pull/5557
  • + 7 more

๐Ÿ“ฆ Various improvements

  • 0.0.23 => 0.0.24 by @sylvestre in https://github.com/uutils/coreutils/pull/5752
  • uuhelp_parser: include missing LICENSE by @daissi in https://github.com/uutils/coreutils/pull/5594
  • clippy: fix warnings introduced by Rust 1.75 by @cakebaker in https://github.com/uutils/coreutils/pull/5742
  • uucore: fix style in tests by @samueltardieu in https://github.com/uutils/coreutils/pull/5786
  • uucore: fix clippy warning from if_not_else lint by @cakebaker in https://github.com/uutils/coreutils/pull/5842
  • Handle better some errors by @sylvestre in https://github.com/uutils/coreutils/pull/5791
  • Cargo.toml: fix typo by @cakebaker in https://github.com/uutils/coreutils/pull/5564
  • META bug: moved to project mgmt by @tdelmas in https://github.com/uutils/coreutils/pull/5776
  • + 6 more

๐Ÿ“ฆ dependency updates

  • chore(deps): update rust crate itertools to 0.12.0 by @renovate in https://github.com/uutils/coreutils/pull/5534
  • fix(deps): update rust crate data-encoding to 2.5 by @renovate in https://github.com/uutils/coreutils/pull/5569
  • fix(deps): update rust crate data-encoding-macro to 0.1.14 by @renovate in https://github.com/uutils/coreutils/pull/5568
  • chore(deps): update rust crate chrono to ^0.4.32 by @renovate in https://github.com/uutils/coreutils/pull/5870
  • chore(deps): update actions/cache action to v4 by @renovate in https://github.com/uutils/coreutils/pull/5856
  • chore(deps): update rust crate smallvec to 1.13 by @renovate in https://github.com/uutils/coreutils/pull/5862
  • chore(deps): update davidanson/markdownlint-cli2-action action to v15 by @renovate in https://github.com/uutils/coreutils/pull/5859
  • chore(deps): update rust crate xattr to 1.3.1 by @renovate in https://github.com/uutils/coreutils/pull/5841
  • + 23 more

โœจ New Contributors

  • @cswn made their first contribution in https://github.com/uutils/coreutils/pull/5533
  • @YDX-2147483647 made their first contribution in https://github.com/uutils/coreutils/pull/5539
  • @pawelngei made their first contribution in https://github.com/uutils/coreutils/pull/5543
  • @zoze0 made their first contribution in https://github.com/uutils/coreutils/pull/5574
  • @cobaweel made their first contribution in https://github.com/uutils/coreutils/pull/5577
  • @GDYendell made their first contribution in https://github.com/uutils/coreutils/pull/5581
  • @lcheylus made their first contribution in https://github.com/uutils/coreutils/pull/5599
  • @RenjiSann made their first contribution in https://github.com/uutils/coreutils/pull/5553
  • + 20 more
0.0.23
github-actions[bot]github-actions[bot]ยท2y agoยทNovember 14, 2023
GitHub

๐Ÿงช GNU test suite compatibility

  • Here's how version 0.0.23 compares to the previous release - running GNU/Coreutils 9.4:
  • | result | 0.0.22 | 0.0.23 | Change 0.0.22 to 0.0.23 | % Total 0.0.23 (Change) |
  • |--------|-------:|-------:|------------------------:|--------------------------:|
  • | pass | 383 | 393 | +10 | 65.07% (+1.66%) |
  • | skip | 48 | 49 | +1 | 8.11% (+0.17%) |
  • | fail | 171 | 160 | -11 | 26.49% (-1.82%) |
  • | error | 2 | 2 | 0 | 0.33% (0.00%) |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 1 more

๐Ÿ“ฆ global

  • Implement SI prefixes R and Q by @zhitkoff in https://github.com/uutils/coreutils/pull/5357
  • This applies to the commands: dd, df, du, head, ls, od, shref, split, tail and truncate

๐Ÿ“ฆ cat

  • cat: use error code 62 for ELOOP on FreeBSD by @cakebaker in https://github.com/uutils/coreutils/pull/5477
  • cat: return the same error message as GNU with loop symlink by @sylvestre in https://github.com/uutils/coreutils/pull/5466

๐Ÿ“ฆ cp

  • cp: make test_closes_file_descriptors Linux-only by @cakebaker in https://github.com/uutils/coreutils/pull/5508
  • cp: fix cp -rT dir dir2 leads to different result than with GNU cp by @tommady in https://github.com/uutils/coreutils/pull/5467
  • cp: restrict two test functions to linux/mac/win by @cakebaker in https://github.com/uutils/coreutils/pull/5471
  • cp: remove `crash!` call by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5486
  • cp --remove-destination: don't fail if destination is symlink to source by @cakebaker in https://github.com/uutils/coreutils/pull/5430
  • cp: add test for --attributes-only by @cakebaker in https://github.com/uutils/coreutils/pull/5458
  • cp: fix cp -a --no-preserve=mode doesn't keep fully the mode by @tommady in https://github.com/uutils/coreutils/pull/5353
  • cp,tail: fix warnings in tests on Android by @cakebaker in https://github.com/uutils/coreutils/pull/5496

๐Ÿ“ฆ dd

  • dd: Do not use the OS provided dd utility on FIFOs by @n1000 in https://github.com/uutils/coreutils/pull/5453

๐Ÿ“ฆ df

  • freebsd: fix the 'df' command by @kostikbel in https://github.com/uutils/coreutils/pull/5462
  • df: Replace the error message by the one generated by clap by @sylvestre in https://github.com/uutils/coreutils/pull/5452

๐Ÿ“ฆ du

  • du: make -l/--count-links work by @cakebaker in https://github.com/uutils/coreutils/pull/5493
  • du: remove crash! macro by @alexhausen in https://github.com/uutils/coreutils/pull/5501
  • du: add --no-dereference by @cakebaker in https://github.com/uutils/coreutils/pull/5491
  • du: ignore test under Android & FreeBSD by @cakebaker in https://github.com/uutils/coreutils/pull/5497
  • du: use blocks to remove some cfgs by @cakebaker in https://github.com/uutils/coreutils/pull/5504
  • du: add -H (alias for --dereference-args) by @cakebaker in https://github.com/uutils/coreutils/pull/5506

๐Ÿ“ฆ expand

  • expand: remove crash! macro by @ceteece in https://github.com/uutils/coreutils/pull/5510

๐Ÿ“ฆ expr

  • expr: return 0 for `"" \| ""` by @Luv-Ray in https://github.com/uutils/coreutils/pull/5416

๐Ÿ“ฆ join

  • join: remove a clippy::cognitive_complexity by moving some content in functions by @sylvestre in https://github.com/uutils/coreutils/pull/5367

๐Ÿ“ฆ ls

  • ls --dired -R: fix the positions by @sylvestre in https://github.com/uutils/coreutils/pull/5341
  • ls --dired: document the whole thing by @sylvestre in https://github.com/uutils/coreutils/pull/5432
  • ls: update of the GNU test error output by @sylvestre in https://github.com/uutils/coreutils/pull/5438
  • ls: return exit code 2 for invalid time-style by @cakebaker in https://github.com/uutils/coreutils/pull/5447
  • ls: use try_get_matches_from instead of get_matches_from by @cakebaker in https://github.com/uutils/coreutils/pull/5446

๐Ÿ“ฆ mktemp

  • mktemp: add func to expose functionality (for use in nushell) by @tskinn in https://github.com/uutils/coreutils/pull/5479

๐Ÿ“ฆ mv

  • mv: make UpdateMode public by @dmatos2012 in https://github.com/uutils/coreutils/pull/5428
  • mv: Fix stderr output mv file into dir and dir into file where both are files by @mickvangelderen in https://github.com/uutils/coreutils/pull/5464
  • mv: rename canonized_* -> canonicalized_* by @cakebaker in https://github.com/uutils/coreutils/pull/5454
  • mv: moving directory itself should fail by @dmatos2012 in https://github.com/uutils/coreutils/pull/5429

๐Ÿ“ฆ pathchk

  • pathchk: check empty path by default by @Luv-Ray in https://github.com/uutils/coreutils/pull/5423

๐Ÿ“ฆ pr

  • pr: skip a test for now for way too long log by @sylvestre in https://github.com/uutils/coreutils/pull/5440

๐Ÿ“ฆ printf

  • printf: support %q by @Luv-Ray in https://github.com/uutils/coreutils/pull/5514

๐Ÿ“ฆ rm

  • rm: In some cases, remove_dir is doing a better job than remove_dir_all by @sylvestre in https://github.com/uutils/coreutils/pull/5403
  • rm: refactor `prompt_file`, issue #5345 by @terade in https://github.com/uutils/coreutils/pull/5356
  • rm: adjust fail-2eperm.sh - gnu test by @sylvestre in https://github.com/uutils/coreutils/pull/5435

๐Ÿ“ฆ runcon

  • runcon: generate the same error as GNUs by @sylvestre in https://github.com/uutils/coreutils/pull/5439

๐Ÿ“ฆ split

  • split: suffix auto length by @zhitkoff in https://github.com/uutils/coreutils/pull/5433
  • split : `--filter` and stdin updates by @zhitkoff in https://github.com/uutils/coreutils/pull/5418
  • split: suffix length refactor by @zhitkoff in https://github.com/uutils/coreutils/pull/5449

๐Ÿงช test

  • test: use mtime for -ot and fix direction of comparison by @n1000 in https://github.com/uutils/coreutils/pull/5441
  • Add darwin arm64 builds by @dzbarsky in https://github.com/uutils/coreutils/pull/5523
  • Add support in uucore for illumos and solaris by @bbarker in https://github.com/uutils/coreutils/pull/5489
  • ci: remove outdated comment by @cakebaker in https://github.com/uutils/coreutils/pull/5525
  • deny.toml: remove two entries from skip list by @cakebaker in https://github.com/uutils/coreutils/pull/5478

๐Ÿ“ Documentation

  • doc: add a missing "a" by @cakebaker in https://github.com/uutils/coreutils/pull/5413
  • Expand CONTRIBUTING.md (WIP) by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5488
  • CONTRIBUTING.md: spell-checker:ignore "rustdoc's" by @cakebaker in https://github.com/uutils/coreutils/pull/5512
  • doc: mention "-v/--verbose" as extension of du by @cakebaker in https://github.com/uutils/coreutils/pull/5436
  • uucore: remove incorrect comment by @cakebaker in https://github.com/uutils/coreutils/pull/5422
  • Remove "last synced with" comments by @cakebaker in https://github.com/uutils/coreutils/pull/5469

๐Ÿ”’ Security

  • fuzzing: Refactor the error management by @sylvestre in https://github.com/uutils/coreutils/pull/5517
  • fuzz: Move a duplicate function into fuzz_common by @sylvestre in https://github.com/uutils/coreutils/pull/5524
  • github action: split the run of the fuzzers by @tommady in https://github.com/uutils/coreutils/pull/5444
  • fuzz: use parse_size_u64 by @Luv-Ray in https://github.com/uutils/coreutils/pull/5470
  • fuzz: set LC_COLLATE=C for expr by @cakebaker in https://github.com/uutils/coreutils/pull/5419

๐Ÿ“ฆ Various improvements

  • Prepare version 0.0.23 by @sylvestre in https://github.com/uutils/coreutils/pull/5529
  • Fix clippy::implicit_clone by @Statheres in https://github.com/uutils/coreutils/pull/5494

๐Ÿ“ฆ Dependencies

  • Bump const-random from 0.1.15 to 0.1.16 by @cakebaker in https://github.com/uutils/coreutils/pull/5445
  • fix(deps): update rust crate dns-lookup to 2.0.4 by @renovate in https://github.com/uutils/coreutils/pull/5412
  • chore(deps): update rust crate regex to 1.10.2 by @renovate in https://github.com/uutils/coreutils/pull/5415
  • Bump rustix crates by @cakebaker in https://github.com/uutils/coreutils/pull/5425
  • chore(deps): update rust crate bytecount to 0.6.5 by @renovate in https://github.com/uutils/coreutils/pull/5442
  • chore(deps): update rust crate bytecount to 0.6.7 by @renovate in https://github.com/uutils/coreutils/pull/5450
  • chore(deps): update rust crate tempfile to 3.8.1 by @renovate in https://github.com/uutils/coreutils/pull/5461
  • chore(deps): update actions/github-script action to v7 by @renovate in https://github.com/uutils/coreutils/pull/5528
  • + 4 more

โœจ New Contributors

  • @terade made their first contribution in https://github.com/uutils/coreutils/pull/5356
  • @n1000 made their first contribution in https://github.com/uutils/coreutils/pull/5441
  • @mickvangelderen made their first contribution in https://github.com/uutils/coreutils/pull/5464
  • @kostikbel made their first contribution in https://github.com/uutils/coreutils/pull/5462
  • @bbarker made their first contribution in https://github.com/uutils/coreutils/pull/5489
  • @tskinn made their first contribution in https://github.com/uutils/coreutils/pull/5479
  • @alexhausen made their first contribution in https://github.com/uutils/coreutils/pull/5501
  • @ceteece made their first contribution in https://github.com/uutils/coreutils/pull/5510
  • + 2 more
0.0.22
github-actions[bot]github-actions[bot]ยท2y agoยทOctober 15, 2023
GitHub

๐Ÿงช GNU test suite compatibility

  • Here's how version 0.0.22 compares to the previous release - running GNU/Coreutils 9.4:
  • | result | 0.0.21 | 0.0.22 | change |
  • |--------|-------:|-------:|------:|
  • | pass | 372 | 383 | +11 |
  • | skip | 49 | 48 | -1 |
  • | fail | 181 | 171 | -10 |
  • | error | 2 | 2 | 0 |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)
  • + 1 more

๐Ÿ“‹ What's Changed

  • Bump MSRV to 1.70 by @cakebaker in https://github.com/uutils/coreutils/pull/5239

๐Ÿ“ฆ chown

  • chown: move uid & gid detections into their own functions by @sylvestre in https://github.com/uutils/coreutils/pull/5359

๐Ÿ“ฆ cp

  • cp: Error out if cp only contains source by @dmatos2012 in https://github.com/uutils/coreutils/pull/5253
  • cp: fix the result of inodes are not the same when preserve links is flagged by @tommady in https://github.com/uutils/coreutils/pull/5064
  • cp: fix cp -dR --no-preserve=links d c should have different inodes by @tommady in https://github.com/uutils/coreutils/pull/5320
  • cp: fail when trying to copy to read only file on mac by @PGIII in https://github.com/uutils/coreutils/pull/5261
  • cp: show no "skipped" msg with -vi/-vin by @cakebaker in https://github.com/uutils/coreutils/pull/5348

๐Ÿ“ฆ cut

  • cut-huge-range.sh: make cut fails on usize::MAX by @sylvestre in https://github.com/uutils/coreutils/pull/4988

๐Ÿ“ฆ dd

  • dd: fix GNU test 'dd/skip-seek-past-dev' by @bbara in https://github.com/uutils/coreutils/pull/4527

๐Ÿ“ฆ df

  • df: Fix overflow error on WSL. Default to 0 when the values are non-sense. by @howard0su in https://github.com/uutils/coreutils/pull/5381

๐Ÿ“ฆ echo

  • echo's doc doesn't show correctly by @sylvestre in https://github.com/uutils/coreutils/pull/5260
  • echo: fix wrapping behavior of octal sequences by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5218
  • echo: don't output "\n" if "\c" is encountered by @cakebaker in https://github.com/uutils/coreutils/pull/5350

๐Ÿ“ฆ expr

  • expr: short-circuit evaluation for `|` by @Luv-Ray in https://github.com/uutils/coreutils/pull/5365
  • expr: add some empty lines by @cakebaker in https://github.com/uutils/coreutils/pull/5376
  • expr: short-circuit evaluation for `&` by @Luv-Ray in https://github.com/uutils/coreutils/pull/5402
  • expr: test some invalid syntaxes by @cakebaker in https://github.com/uutils/coreutils/pull/5405
  • expr: interpret numbers != 0 as true for | and & by @cakebaker in https://github.com/uutils/coreutils/pull/5324

๐Ÿ“ฆ fmt

  • fmt: use clap's value parser for goal & width by @cakebaker in https://github.com/uutils/coreutils/pull/5333

๐Ÿ“ฆ head

  • head: remove a clippy::cognitive_complexity by moving some content in a function by @sylvestre in https://github.com/uutils/coreutils/pull/5366
  • head: add some empty lines by @cakebaker in https://github.com/uutils/coreutils/pull/5373

๐Ÿ“ฆ ls

  • ls.rs: changed variable name dfn to display_file_content responding to #5282 by @rojin254 in https://github.com/uutils/coreutils/pull/5283
  • Support ls --dired by @sylvestre in https://github.com/uutils/coreutils/pull/5280
  • ls -R1: add a test to replicate GNU's recursive.sh by @sylvestre in https://github.com/uutils/coreutils/pull/5342
  • ls --dired - some minor cleanup by @sylvestre in https://github.com/uutils/coreutils/pull/5299
  • ls: fix test which fails if /tmp uses tmpfs by @cakebaker in https://github.com/uutils/coreutils/pull/5301
  • ls --dired: replace the previous "total: xx" padding method by @sylvestre in https://github.com/uutils/coreutils/pull/5305
  • ls: move to `uutils-term-grid` by @miles170 in https://github.com/uutils/coreutils/pull/5391
  • ls: use OnceCell from std instead of once_cell by @cakebaker in https://github.com/uutils/coreutils/pull/5268
  • + 3 more

๐Ÿ“ฆ mkdir

  • mkdir: make `mkdir` public and document it by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5329

๐Ÿ“ฆ mv

  • mv: expose main functionality for nushell by @PThorpe92 in https://github.com/uutils/coreutils/pull/5335
  • ls: fix panic when file removed too quickly by @sanpii in https://github.com/uutils/coreutils/pull/5372
  • mv: show no "skipped" msg with -vi/-vin by @cakebaker in https://github.com/uutils/coreutils/pull/5347
  • mv: fix typo in test function name by @cakebaker in https://github.com/uutils/coreutils/pull/5351

๐Ÿ“ฆ nl

  • nl: make line number and --join-blank-lines work over multiple files by @cakebaker in https://github.com/uutils/coreutils/pull/5285
  • nl: fix output order if stdin and files are mixed by @cakebaker in https://github.com/uutils/coreutils/pull/5306
  • nl: implement -d/--section-delimiter by @cakebaker in https://github.com/uutils/coreutils/pull/5158
  • nl: defer showing "line number overflow" error by @cakebaker in https://github.com/uutils/coreutils/pull/5340

๐Ÿ“ฆ relpath

  • relpath: remove by @boxdot in https://github.com/uutils/coreutils/pull/5355
  • relpath: show error if no argument provided by @cakebaker in https://github.com/uutils/coreutils/pull/5302

๐Ÿ“ฆ rm

  • rm: make the utility public by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5304

๐Ÿ“ฆ seq

  • seq: parse "infinity" and "-infinity" by @shinhs0506 in https://github.com/uutils/coreutils/pull/5124

๐Ÿ“ฆ split

  • split: implement remaining -n variants and pass GNU tests/split/fail.sh by @zhitkoff in https://github.com/uutils/coreutils/pull/5252
  • split: catch broken pipe error for round robin strategy by @granquet in https://github.com/uutils/coreutils/pull/5338

๐Ÿ“ฆ touch

  • touch: make main public by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5318

๐Ÿ“ฆ tr

  • tr: work with Windows newline (CRLF) by @muhajirdev in https://github.com/uutils/coreutils/pull/5344
  • tr: rename to_u*_str to map_buffer in set1 and set2 by @cakebaker in https://github.com/uutils/coreutils/pull/5325
  • tr: make the utility public by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5322
  • tr: support character class [:blank:] by @takanki in https://github.com/uutils/coreutils/pull/5317
  • tr: Add test for character class [:blank:] by @cakebaker in https://github.com/uutils/coreutils/pull/5328

๐Ÿ“ฆ wc

  • wc: add --count-mbs option by @mbuf in https://github.com/uutils/coreutils/pull/5336

๐Ÿ“ฆ whoami

  • whoami: add support for -g/-m options by @muhajirdev in https://github.com/uutils/coreutils/pull/5352
  • whoami: make main public by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5321

๐Ÿ“ฆ yes

  • yes: make main public by @KAAtheWiseGit in https://github.com/uutils/coreutils/pull/5349

๐Ÿ“ฆ Build system & CI

  • ci: code-quality workflow doesn't fail on clippy errors by @miles170 in https://github.com/uutils/coreutils/pull/5399
  • build-gnu.sh: fix for /usr/bin/timeout on MacOS by @zhitkoff in https://github.com/uutils/coreutils/pull/5194
  • build-gnu.sh: fix formatting issues by @cakebaker in https://github.com/uutils/coreutils/pull/5248
  • run-gnu-test.sh: show if we can't find the file by @sylvestre in https://github.com/uutils/coreutils/pull/5318
  • run-gnu-test.sh: accept "run-root" as first param by @cakebaker in https://github.com/uutils/coreutils/pull/5323
  • ci: remove committing from CheckScripts.yml by @cakebaker in https://github.com/uutils/coreutils/pull/5291
  • ci: replace deprecated "command" with "fix" by @cakebaker in https://github.com/uutils/coreutils/pull/5271
  • Binary sizes: handle when 0 (relpath removal) by @sylvestre in https://github.com/uutils/coreutils/pull/5369
  • + 3 more

๐Ÿ“ Documentation

  • DEVELOPMENT.md: improve doc on how to run some tests by @sylvestre in https://github.com/uutils/coreutils/pull/5393
  • update of the release doc by @sylvestre in https://github.com/uutils/coreutils/pull/5410
  • Introducing DEVELOPMENT.md by @zhitkoff in https://github.com/uutils/coreutils/pull/5209
  • doc: recommend the rust-gdb helper by @sylvestre in https://github.com/uutils/coreutils/pull/5404
  • Document how to run the pure Rust tests by @sylvestre in https://github.com/uutils/coreutils/pull/5279

๐Ÿ”’ Security

  • fuzz: move the common duplicated code into a function by @sylvestre in https://github.com/uutils/coreutils/pull/5332
  • fuzzing: remove some duplicated code + clippy fixes by @sylvestre in https://github.com/uutils/coreutils/pull/5337
  • Fuzz the expr command by @sylvestre in https://github.com/uutils/coreutils/pull/4642
  • fuzz: store the corpus by @tommady in https://github.com/uutils/coreutils/pull/5363
  • github action: move the fuzzing action into it own file/task by @sylvestre in https://github.com/uutils/coreutils/pull/5380

๐Ÿ“ฆ Various improvements

  • uucore: turn version_cmp into a feature by @cakebaker in https://github.com/uutils/coreutils/pull/5254
  • clippy: suppress cognitive_complexity lint in some tests by @cakebaker in https://github.com/uutils/coreutils/pull/5401
  • uucore: remove commented out import by @cakebaker in https://github.com/uutils/coreutils/pull/5384
  • uucore: remove commented out enum FChar by @cakebaker in https://github.com/uutils/coreutils/pull/5385
  • Make clippy::cognitive_complexity as an error by @sylvestre in https://github.com/uutils/coreutils/pull/5379
  • clippy: suppress cognitive_complexity lint for two functions by @cakebaker in https://github.com/uutils/coreutils/pull/5374
  • truncate clippy fix. by @devnexen in https://github.com/uutils/coreutils/pull/5259
  • uu clippy fix proposal. by @devnexen in https://github.com/uutils/coreutils/pull/5264
  • + 4 more

๐Ÿ“ฆ Dependencies

  • Bump blake3 & add constant_time_eq to skip list in deny.toml by @cakebaker in https://github.com/uutils/coreutils/pull/5249
  • chore(deps): update rust crate clap_complete to 4.4 by @renovate in https://github.com/uutils/coreutils/pull/5201
  • chore(deps): update actions/checkout action to v4 by @renovate in https://github.com/uutils/coreutils/pull/5241
  • chore(deps): update rust crate clap to 4.4 by @renovate in https://github.com/uutils/coreutils/pull/5200
  • chore(deps): update rust crate half to 2.3 by @renovate in https://github.com/uutils/coreutils/pull/5005
  • chore(deps): update rust crate regex to 1.10.1 by @renovate in https://github.com/uutils/coreutils/pull/5387
  • chore(deps): update rust crate memmap2 to 0.9 by @renovate in https://github.com/uutils/coreutils/pull/5352
  • chore(deps): update rust crate byteorder to 1.5.0 by @renovate in https://github.com/uutils/coreutils/pull/5361
  • + 35 more

โœจ New Contributors

  • @rojin254 made their first contribution in https://github.com/uutils/coreutils/pull/5283
  • @0323pin made their first contribution in https://github.com/uutils/coreutils/pull/5289
  • @KAAtheWiseGit made their first contribution in https://github.com/uutils/coreutils/pull/5304
  • @Leviticoh made their first contribution in https://github.com/uutils/coreutils/pull/4228
  • @u8sand made their first contribution in https://github.com/uutils/coreutils/pull/5313
  • @PGIII made their first contribution in https://github.com/uutils/coreutils/pull/5261
  • @boxdot made their first contribution in https://github.com/uutils/coreutils/pull/5355
  • @PThorpe92 made their first contribution in https://github.com/uutils/coreutils/pull/5335
  • + 4 more
0.0.21
github-actions[bot]github-actions[bot]ยท2y agoยทSeptember 3, 2023
GitHub

๐Ÿงช GNU test suite compatibility

  • Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.20 | 0.0.21 | change |
  • |--------|-------:|-------:|------:|
  • | pass | 373 | 372 | -1 |
  • | skip | 49 | 49 | 0 |
  • | fail | 178 | 181 | +3 |
  • | error | 2 | 2 | 0 |
  • | xpass | 0 | 0 | 0 |
  • + 1 more

๐Ÿ“ฆ cat

  • cat: remove --t by @cakebaker in https://github.com/uutils/coreutils/pull/5089

๐Ÿ“ฆ chown

  • chown: remove some duplication in tests by @cakebaker in https://github.com/uutils/coreutils/pull/5168

๐Ÿ“ฆ cp

  • `cp`: re-export `uucore::{BackupMode, UpdateMode}` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5211
  • `cp`: finish progress bar to make it always show up by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5235
  • `cp`: make more types public and add more documentation (for nushell) by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5152

๐Ÿ“ฆ csplit

  • csplit: remove explicit "into_iter()" by @cakebaker in https://github.com/uutils/coreutils/pull/5109

๐Ÿ“ฆ date

  • date: fix panic when input will cause overflow by @tommady in https://github.com/uutils/coreutils/pull/5160

๐Ÿ“ฆ dd

  • parse_size,dd: turn instance fns to associated fns by @cakebaker in https://github.com/uutils/coreutils/pull/5207

๐Ÿ“ฆ factor

  • `factor`: short circuit on write error, but not on parse error by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5225
  • factor: simplify loop in test by @cakebaker in https://github.com/uutils/coreutils/pull/5192

๐Ÿ“ฆ fmt

  • fmt: fix panic on width argument by @bluelief in https://github.com/uutils/coreutils/pull/5159
  • fmt: implement Default for FmtOptions by @cakebaker in https://github.com/uutils/coreutils/pull/4747

๐Ÿ“ฆ hashsum

  • `hashsum`: change debug to display format with --tag by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5219

๐Ÿ“ฆ mktemp

  • Require = for --tmpdir in mktemp by @tmccombs in https://github.com/uutils/coreutils/pull/4342

๐Ÿ“ฆ mknod

  • mknod: remove unnecessary "not" in test by @cakebaker in https://github.com/uutils/coreutils/pull/5233

๐Ÿ“ฆ mv

  • mv: remove unnecessary OR in condition by @cakebaker in https://github.com/uutils/coreutils/pull/5143

๐Ÿ“ฆ nl

  • nl: allow negative values for --line-increment and --starting-line-number by @cakebaker in https://github.com/uutils/coreutils/pull/5078
  • nl: fix calculation of line number lengths by @cakebaker in https://github.com/uutils/coreutils/pull/5091
  • nl: fix zero padding of negative line numbers by @cakebaker in https://github.com/uutils/coreutils/pull/5098
  • nl: show error if --join-blank-lines is zero by @cakebaker in https://github.com/uutils/coreutils/pull/5103
  • nl: shorten variants of NumberingStyle enum by @cakebaker in https://github.com/uutils/coreutils/pull/5100
  • nl: fix output of numbering styles by @cakebaker in https://github.com/uutils/coreutils/pull/5131
  • nl: re-add handling for -p/--no-renumber by @cakebaker in https://github.com/uutils/coreutils/pull/5155
  • nl: implement TryFrom<&str> for NumberingStyle by @cakebaker in https://github.com/uutils/coreutils/pull/5156
  • + 1 more

๐Ÿ“ฆ rm

  • rm: refactor prompt_file() by @cakebaker in https://github.com/uutils/coreutils/pull/5147
  • Add benchmarking for `rm` by @Benjscho in https://github.com/uutils/coreutils/pull/5187

๐Ÿ“ฆ seq

  • seq: display -0 by @shinhs0506 in https://github.com/uutils/coreutils/pull/5136
  • seq: remove unused param from write_value_float() by @cakebaker in https://github.com/uutils/coreutils/pull/5137

๐Ÿ“ฆ sum

  • Use `rotate_right` rather than an explicit expansion in `sum` by @resistor in https://github.com/uutils/coreutils/pull/5115
  • *

๐Ÿ“ฆ split

  • split: loop over chars and remove char_from_digit function by @shinhs0506 in https://github.com/uutils/coreutils/pull/5153
  • split: better handle numeric and hex suffixes, short and long, with and without values by @zhitkoff in https://github.com/uutils/coreutils/pull/5198

๐Ÿ“ฆ stat

  • stat: Output error when - and -f are used together. by @Skryptonyte in https://github.com/uutils/coreutils/pull/5144

๐Ÿ“ฆ stty

  • stty: Implement printing assignment of control chars by @dezgeg in https://github.com/uutils/coreutils/pull/5060

๐Ÿงช test

  • Fuzz the test command by @sylvestre in https://github.com/uutils/coreutils/pull/4641

๐Ÿ“ฆ touch

  • `touch`: move from `time` to `chrono` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4600

๐Ÿ“ฆ tsort

  • tsort: use Iterator.all by @simon04 in https://github.com/uutils/coreutils/pull/5116

๐Ÿ“ website & documentation

  • docs: fix broken Arch package link by @theoludwig in https://github.com/uutils/coreutils/pull/5084
  • website: fix `path_prefix` in oranda by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5175
  • docs: add missing "not" by @cakebaker in https://github.com/uutils/coreutils/pull/5178
  • Docs platform support page by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5172
  • docs: github repo link related to uutils/coreutils by @theoludwig in https://github.com/uutils/coreutils/pull/5085
  • website: fix changelog config by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5215
  • docs: add conda installer by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5185
  • README: update links to docs by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5190
  • + 2 more

๐Ÿ“ฆ Build system & CI

  • uucore: make deps of "sum" feature optional by @cakebaker in https://github.com/uutils/coreutils/pull/5227
  • uucore: make "dunce" optional by @cakebaker in https://github.com/uutils/coreutils/pull/5229
  • uucore: turn backup_control into a feature by @cakebaker in https://github.com/uutils/coreutils/pull/5231
  • uucore: turn ranges into a feature by @cakebaker in https://github.com/uutils/coreutils/pull/5238
  • uucore: turn update_control into a feature by @cakebaker in https://github.com/uutils/coreutils/pull/5232
  • upgrade to GNU/coreutils 9.4 by @sylvestre in https://github.com/uutils/coreutils/pull/5221
  • make: split the manpage / completions generation into their target by @sylvestre in https://github.com/uutils/coreutils/pull/5092
  • make: uninstall man pages by @miles170 in https://github.com/uutils/coreutils/pull/5101
  • + 9 more

๐Ÿ“ฆ Various improvements

  • uucore: remove unnecessary heap allocation by @thechampagne in https://github.com/uutils/coreutils/pull/5228
  • Fix clippy warnings with Rust 1.72.0 by @cakebaker in https://github.com/uutils/coreutils/pull/5204
  • Fix some of the recent clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/5182
  • uucore: don't show error for ambiguous value by @cakebaker in https://github.com/uutils/coreutils/pull/5127
  • uucore: provide capacity for vectors by @shinhs0506 in https://github.com/uutils/coreutils/pull/5086
  • use is_empty() in mv & rmdir by @shinhs0506 in https://github.com/uutils/coreutils/pull/5117
  • Extract uucore::line_ending::LineEnding by @simon04 in https://github.com/uutils/coreutils/pull/5120
  • uucore,comm: fix warnings from bool_to_int_with_if by @cakebaker in https://github.com/uutils/coreutils/pull/5206

๐Ÿ“ฆ Dependencies

  • chore(deps): update rust crate chrono to ^0.4.28 by @renovate in https://github.com/uutils/coreutils/pull/5226
  • chore(deps): update rust crate regex to 1.9.5 by @renovate in https://github.com/uutils/coreutils/pull/5234
  • Bump windows-targets from 0.48.0 to 0.48.2 by @cakebaker in https://github.com/uutils/coreutils/pull/5161
  • Downgrade windows-targets from 0.48.2 to 0.48.0 by @cakebaker in https://github.com/uutils/coreutils/pull/5167
  • Bump js-sys from 0.3.60 to 0.3.64 by @cakebaker in https://github.com/uutils/coreutils/pull/5154
  • chore(deps): update rust crate rstest to 0.18.2 by @renovate in https://github.com/uutils/coreutils/pull/5157
  • Bump cpp to remove aho-corasick from skip list in deny.toml by @cakebaker in https://github.com/uutils/coreutils/pull/5165
  • chore(deps): update rust crate signal-hook to 0.3.17 by @renovate in https://github.com/uutils/coreutils/pull/5097
  • + 22 more

๐Ÿ“ฆ code header

  • Add license headers on all files by @sylvestre in https://github.com/uutils/coreutils/pull/5183
  • Remove the author copyright notices by @sylvestre in https://github.com/uutils/coreutils/pull/5184
  • Remove the author copyright notices by @cakebaker in https://github.com/uutils/coreutils/pull/5197
  • All: normalize license notice in all `*.rs` files by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5199
  • Remove the author copyright notices by @cakebaker in https://github.com/uutils/coreutils/pull/5205

โœจ New Contributors

  • @theoludwig made their first contribution in https://github.com/uutils/coreutils/pull/5085
  • @starccy made their first contribution in https://github.com/uutils/coreutils/pull/5077
  • @simon04 made their first contribution in https://github.com/uutils/coreutils/pull/5116
  • @nouritsu made their first contribution in https://github.com/uutils/coreutils/pull/5129
  • @bluelief made their first contribution in https://github.com/uutils/coreutils/pull/5159
  • @tommady made their first contribution in https://github.com/uutils/coreutils/pull/5160
  • @Benjscho made their first contribution in https://github.com/uutils/coreutils/pull/5187
  • @zhitkoff made their first contribution in https://github.com/uutils/coreutils/pull/5198
  • + 2 more
0.0.20
github-actions[bot]github-actions[bot]ยท2y agoยทJuly 14, 2023
GitHub

๐Ÿงช GNU test suite compatibility

  • Many utils have gotten minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.19 | 0.0.20 | change |
  • |--------|-------:|-------:|-------:|
  • | pass | 365 | 373 | +8 |
  • | skip | 49 | 49 | 0 |
  • | fail | 186 | 178 | -8 |
  • | error | 2 | 2 | 0 |
  • | xpass | 0 | 0 | 0 |
  • + 1 more

๐Ÿ“‹ What's Changed

  • Create a FUNDING.yml file by @sylvestre in https://github.com/uutils/coreutils/pull/4969

๐Ÿ“ฆ cp

  • cp: use mkdir_all() instead of mkdir() in test by @cakebaker in https://github.com/uutils/coreutils/pull/5029
  • cp: allow multiple usages of -R - Closes: #5027 by @sylvestre in https://github.com/uutils/coreutils/pull/5028
  • cp,du: fix warnings in tests on Windows by @cakebaker in https://github.com/uutils/coreutils/pull/5014
  • cp: fix "unused variable" warning on Windows by @cakebaker in https://github.com/uutils/coreutils/pull/5016

๐Ÿ“ฆ date

  • date: use custom value parser by @cakebaker in https://github.com/uutils/coreutils/pull/4977
  • Remove time dependency from date by @wanderinglethe in https://github.com/uutils/coreutils/pull/4952
  • date: switch to parse_datetime by @cakebaker in https://github.com/uutils/coreutils/pull/4968

๐Ÿ“ฆ dd

  • dd: fix typos by @crapStone in https://github.com/uutils/coreutils/pull/5022
  • dd: use an alarm thread instead of elapsed() calls by @Freaky in https://github.com/uutils/coreutils/pull/4447

๐Ÿ“ฆ df

  • df: disable failing tests on Windows by @cakebaker in https://github.com/uutils/coreutils/pull/5017
  • Find MountInfo properly when symlink is used by @kropacf in https://github.com/uutils/coreutils/pull/4929

๐Ÿ“ฆ du

  • docs: add "du" to extensions by @cakebaker in https://github.com/uutils/coreutils/pull/5050
  • du: directories have apparent size of 0 by @shinhs0506 in https://github.com/uutils/coreutils/pull/4991

๐Ÿ“ฆ hashsum

  • hashsum: use file_stem() instead of file_name() by @indygreg in https://github.com/uutils/coreutils/pull/5020

๐Ÿ“ฆ install

  • install: remove time crate by @miles170 in https://github.com/uutils/coreutils/pull/4948

๐Ÿ“ฆ ls

  • ls: Implement new sort option --sort=width by @Skryptonyte in https://github.com/uutils/coreutils/pull/4954
  • docs: add "ls --long" to extensions by @cakebaker in https://github.com/uutils/coreutils/pull/5024
  • ls: force fetching metadata when called with -L -Z by @granquet in https://github.com/uutils/coreutils/pull/4960
  • ls: Limit value of --width to maximum value if overflowing by @Skryptonyte in https://github.com/uutils/coreutils/pull/5074
  • ls: --l should output the same as --literal by @yt2b in https://github.com/uutils/coreutils/pull/5055
  • ls: fix version cmp by @shinhs0506 in https://github.com/uutils/coreutils/pull/5038

๐Ÿ“ฆ mkdir

  • mkdir: remove TEST_DIR<x> consts in tests by @cakebaker in https://github.com/uutils/coreutils/pull/4957

๐Ÿ“ฆ more

  • More implement arguments plain and from line by @Ideflop in https://github.com/uutils/coreutils/pull/4950

๐Ÿ“ฆ mv

  • mv: fix into-self-2.sh test by @Skryptonyte in https://github.com/uutils/coreutils/pull/4966
  • mv: Fix for tests/mv/symlink-onto-hardlink-to-self.sh by @Skryptonyte in https://github.com/uutils/coreutils/pull/4976
  • mv: add the check with --b=simple and when the source is a backup by @sylvestre in https://github.com/uutils/coreutils/pull/4999

๐Ÿ“ฆ nl

  • nl: change value name to match help text by @cakebaker in https://github.com/uutils/coreutils/pull/5062
  • nl: add "after help" by @cakebaker in https://github.com/uutils/coreutils/pull/5070
  • nl: use value parser for "--number-format" by @cakebaker in https://github.com/uutils/coreutils/pull/5063
  • nl: show error if --number-width is zero by @cakebaker in https://github.com/uutils/coreutils/pull/5065
  • nl: add test for "--number-separator" by @cakebaker in https://github.com/uutils/coreutils/pull/5073
  • nl: fix typo in nl.md by @cakebaker in https://github.com/uutils/coreutils/pull/4994
  • nl: implement Default for Settings by @cakebaker in https://github.com/uutils/coreutils/pull/4995
  • nl: make -p/--no-renumber a flag by @cakebaker in https://github.com/uutils/coreutils/pull/5036

๐Ÿ“ฆ numfmt

  • numfmt: add --invalid option by @sbentmar in https://github.com/uutils/coreutils/pull/4249
  • numfmt: remove duplicate info from help output by @cakebaker in https://github.com/uutils/coreutils/pull/5034

๐Ÿ“ฆ od

  • od: fix parsing of hex input ending with `E` by @TheDcoder in https://github.com/uutils/coreutils/pull/4983

๐Ÿ“ฆ pr

  • `pr` use chrono instead of time by @x-dune in https://github.com/uutils/coreutils/pull/4942

๐Ÿ“ฆ seq

  • seq: rename "--widths" to "--equal-width" by @cakebaker in https://github.com/uutils/coreutils/pull/5012
  • seq: remove two chars in seq.md by @cakebaker in https://github.com/uutils/coreutils/pull/5000
  • fix: seq panic on no arguments #4749 by @NikolaiSch in https://github.com/uutils/coreutils/pull/4750
  • docs: add seq to extensions; add some backticks by @cakebaker in https://github.com/uutils/coreutils/pull/5007

๐Ÿ“ฆ shred

  • fixed shred -u for windows by @Statheres in https://github.com/uutils/coreutils/pull/4986
  • leading zeros are ignored in version compare by @shinhs0506 in https://github.com/uutils/coreutils/pull/5013
  • sort: migrate from ouroboros to self_cell by @cakebaker in https://github.com/uutils/coreutils/pull/4972

๐Ÿ“ฆ split

  • split: reject some invalid values by @sylvestre in https://github.com/uutils/coreutils/pull/5032

๐Ÿ“ฆ stty

  • stty: Finish '--save' support by @dezgeg in https://github.com/uutils/coreutils/pull/5054
  • stty: Support setting baud rate by @dezgeg in https://github.com/uutils/coreutils/pull/5053

๐Ÿ“ฆ sync

  • sync: fix error msg by @shinhs0506 in https://github.com/uutils/coreutils/pull/4984

๐Ÿ“ฆ tail

  • `tail`: Refactor `paths::Input::from` and `Settings::inputs` by @Joining7943 in https://github.com/uutils/coreutils/pull/4756

๐Ÿ“ฆ tsort

  • tsort: Switch to BTreeMap and BTreeSet by @cazou in https://github.com/uutils/coreutils/pull/4931

๐Ÿ“ฆ touch

  • touch: accept "modify" & "mtime" for --time arg by @cakebaker in https://github.com/uutils/coreutils/pull/5058
  • touch: rename CURRENT to TIMESTAMP by @cakebaker in https://github.com/uutils/coreutils/pull/4989
  • touch: use parse_datetime instead of humantime_to_duration by @cakebaker in https://github.com/uutils/coreutils/pull/5030

๐Ÿ“ฆ yes

  • yes: add --version option by @yt2b in https://github.com/uutils/coreutils/pull/4990

๐Ÿ“ฆ Code quality

  • Reformat toml and add it to the CI by @sylvestre in https://github.com/uutils/coreutils/pull/4958
  • clippy: fix warnings introduced by Rust 1.71.0 by @cakebaker in https://github.com/uutils/coreutils/pull/5079

๐Ÿ“ Documentation

  • Initial oranda setup by @tertsdiepraam in https://github.com/uutils/coreutils/pull/5044
  • cspell: ignore oranda.json by @cakebaker in https://github.com/uutils/coreutils/pull/5056

๐Ÿ“ฆ CI

  • fix: fixpr.yml unrecognized named-value: 'steps' by @piotrkwiecinski in https://github.com/uutils/coreutils/pull/5057
  • deny.toml: add comments by @cakebaker in https://github.com/uutils/coreutils/pull/4959
  • deny.toml: add hashbrown to skip list by @cakebaker in https://github.com/uutils/coreutils/pull/4985
  • deny.toml: remove MPL license from allow list by @cakebaker in https://github.com/uutils/coreutils/pull/5076

๐Ÿ“ฆ misc

  • Make tests/help/help-version-getopt.sh pass by @sylvestre in https://github.com/uutils/coreutils/pull/4987
  • util/build-gnu.sh: Improve error message when missing GNU Coreutils repository by @sargas in https://github.com/uutils/coreutils/pull/5019
  • try to fix ignore intermittent by @sylvestre in https://github.com/uutils/coreutils/pull/4992
  • Remove the auto capitalization of error message by @sylvestre in https://github.com/uutils/coreutils/pull/5004
  • Update the version to 0.0.20 by @sylvestre in https://github.com/uutils/coreutils/pull/5082

๐Ÿ“ฆ Dependencies

  • Remove users crate by @cakebaker in https://github.com/uutils/coreutils/pull/4943
  • chore(deps): update rust crate once_cell to 1.18.0 by @renovate in https://github.com/uutils/coreutils/pull/4944
  • chore(deps): update rust crate regex to 1.8.4 by @renovate in https://github.com/uutils/coreutils/pull/4951
  • fix(deps): update rust crate libc to 0.2.146 by @renovate in https://github.com/uutils/coreutils/pull/4945
  • chore(deps): update rust crate tempfile to 3.6.0 by @renovate in https://github.com/uutils/coreutils/pull/4955
  • fix(deps): update rust crate memmap2 to 0.7 by @renovate in https://github.com/uutils/coreutils/pull/4961
  • chore(deps): update rust crate blake3 to 1.4.0 by @renovate in https://github.com/uutils/coreutils/pull/4962
  • Bump getrandom from 0.2.8 to 0.2.9 by @cakebaker in https://github.com/uutils/coreutils/pull/4947
  • + 27 more

โœจ New Contributors

  • @x-dune made their first contribution in https://github.com/uutils/coreutils/pull/4942
  • @cazou made their first contribution in https://github.com/uutils/coreutils/pull/4931
  • @Skryptonyte made their first contribution in https://github.com/uutils/coreutils/pull/4954
  • @wanderinglethe made their first contribution in https://github.com/uutils/coreutils/pull/4952
  • @kropacf made their first contribution in https://github.com/uutils/coreutils/pull/4929
  • @Statheres made their first contribution in https://github.com/uutils/coreutils/pull/4986
  • @Freaky made their first contribution in https://github.com/uutils/coreutils/pull/4447
  • @yt2b made their first contribution in https://github.com/uutils/coreutils/pull/4990
  • + 6 more
0.0.19
github-actions[bot]github-actions[bot]ยท2y agoยทJune 4, 2023
GitHub

๐Ÿงช GNU test suite compatibility

  • Many utils have gotten minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.18 | 0.0.19 | change |
  • |--------|-------:|-------:|-------:|
  • | pass | 340 | 365 | +25 |
  • | skip | 50 | 49 | -1 |
  • | fail | 210 | 186 | -24 |
  • | error | 2 | 2 | 0 |
  • ![GNU testsuite evolution](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true)

๐Ÿ“ฆ global

  • GNU/coreutils: update reference to 9.3 by @cakebaker in https://github.com/uutils/coreutils/pull/4754
  • New release by @sylvestre in https://github.com/uutils/coreutils/pull/4926
  • be more consistent in the help. use follow for deference options by @sylvestre in https://github.com/uutils/coreutils/pull/4739
  • Remove some unnecessary "extern crate" statements by @cakebaker in https://github.com/uutils/coreutils/pull/4721
  • tests: remove all "extern crate" statements by @cakebaker in https://github.com/uutils/coreutils/pull/4722
  • coreutils: fixed panic when multi-call binary has funny name by @BartMassey in https://github.com/uutils/coreutils/pull/4366

๐Ÿ“ฆ b2sum

  • B2sum: add -l/--length option by @spineki in https://github.com/uutils/coreutils/pull/4729

๐Ÿ“ฆ basenc

  • basenc: add help texts for options by @cakebaker in https://github.com/uutils/coreutils/pull/4850

๐Ÿ“ฆ chgrp

  • fix help message in chgrp by @m11o in https://github.com/uutils/coreutils/pull/4824

๐Ÿ“ฆ chown

  • fix #4767: `chown -v 0 nf` isn't showing a message by @djedi23 in https://github.com/uutils/coreutils/pull/4768
  • fix #4615: chown isnt showing a message by @djedi23 in https://github.com/uutils/coreutils/pull/4758

๐Ÿ“ฆ cksum

  • cksum: remove "-a="s from markdown file by @cakebaker in https://github.com/uutils/coreutils/pull/4814
  • cksum: split test function into two by @cakebaker in https://github.com/uutils/coreutils/pull/4854
  • cksum: fix output of --algorithm by @cakebaker in https://github.com/uutils/coreutils/pull/4856
  • cksum: implement --untagged by @cakebaker in https://github.com/uutils/coreutils/pull/4860

๐Ÿ“ฆ cp

  • cp: add support POSIXLY_CORRECT=1 when dealing with dangling links by @sylvestre in https://github.com/uutils/coreutils/pull/4812
  • cp: fix cp -f f loop when loop is a symlink loop by @sylvestre in https://github.com/uutils/coreutils/pull/4820
  • cp: fix "after help" output by @cakebaker in https://github.com/uutils/coreutils/pull/4828
  • cp: preserve permission on -p --parents by @shinhs0506 in https://github.com/uutils/coreutils/pull/4853
  • cp: preserve permissions on -r -p --parents by @shinhs0506 in https://github.com/uutils/coreutils/pull/4859
  • cp: Accept --preserve=link by @sylvestre in https://github.com/uutils/coreutils/pull/4910
  • cp: -i prompts in the right place and other improv by @sylvestre in https://github.com/uutils/coreutils/pull/4925
  • cp: replace assert!(false) with panic!() by @cakebaker in https://github.com/uutils/coreutils/pull/4930
  • + 2 more

๐Ÿ“ฆ date

  • date -d supports - 1 year ago, 2 second, etc by @sylvestre in https://github.com/uutils/coreutils/pull/4790
  • Improve the date md page by @sylvestre in https://github.com/uutils/coreutils/pull/4789
  • date: fix error message when opening file by @leon3s in https://github.com/uutils/coreutils/pull/4544
  • date: bring back the test by @sylvestre in https://github.com/uutils/coreutils/pull/4889
  • date: Catch format string that is not supported by chrono by @jaggededgedjustice in https://github.com/uutils/coreutils/pull/4244

๐Ÿ“ฆ dd

  • dd: fix some clippy warnings 'variable does not need to be mutable' by @sylvestre in https://github.com/uutils/coreutils/pull/4842
  • dd: fix "unused imports" warning in tests by @cakebaker in https://github.com/uutils/coreutils/pull/4843
  • dd: support the [io]flag=nocache option by @jfinkels in https://github.com/uutils/coreutils/pull/4432

๐Ÿ“ฆ dircolors

  • dircolors: trigger an error when used on / by @sylvestre in https://github.com/uutils/coreutils/pull/4672

๐Ÿ“ฆ du

  • du: add support of --dereference-args & minor changes by @sylvestre in https://github.com/uutils/coreutils/pull/4723
  • du: fix clippy warning in test by @cakebaker in https://github.com/uutils/coreutils/pull/4765

๐Ÿ“ฆ factor

  • factor: fix unused import in test by @cakebaker in https://github.com/uutils/coreutils/pull/4711
  • factor: remove unnecessary "extern crate" in test by @cakebaker in https://github.com/uutils/coreutils/pull/4712
  • Add flush after calculating factor by @vikiminki in https://github.com/uutils/coreutils/pull/4776
  • factor: add -h/--exponents option by @Ideflop in https://github.com/uutils/coreutils/pull/4710

๐Ÿ“ฆ fmt

  • fmt: cleanup tests by @cakebaker in https://github.com/uutils/coreutils/pull/4753

๐Ÿ“ฆ hashsum

  • fix: Correctly detect format when using md5sum with check flag by @kamilogorek in https://github.com/uutils/coreutils/pull/4645

๐Ÿ“ฆ head

  • `head`: use `OsStringExt::from_vec` instead of `std::from_utf8_unchecked` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4923

๐Ÿ“ฆ ls

  • Improve the readibility of ls code by @sylvestre in https://github.com/uutils/coreutils/pull/4733
  • Use `expected_result` in test_ls to avoid spurious failures by @sunfishcode in https://github.com/uutils/coreutils/pull/4784
  • ls: device number for BSDs and solarishOS by @SteveLauC in https://github.com/uutils/coreutils/pull/4841
  • ls: when facing an invalid utf-8, don't panic by @sylvestre in https://github.com/uutils/coreutils/pull/4861
  • [tests/ls] Support user names containing dots by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/4798

๐Ÿ“ฆ mkdir

  • mkdir: set correct permissions on dirs created by -p by @shinhs0506 in https://github.com/uutils/coreutils/pull/4876
  • Mkdir: explicit umask and sequential tests by @shinhs0506 in https://github.com/uutils/coreutils/pull/4896

๐Ÿ“ฆ mktemp

  • mktemp: fix PrefixContainsDirSeparator verification by @ZauJulio in https://github.com/uutils/coreutils/pull/4379
  • mktemp -t foo.XXXX should create in TMPDIR by @sylvestre in https://github.com/uutils/coreutils/pull/4832
  • mktemp: two small test refactorings by @cakebaker in https://github.com/uutils/coreutils/pull/4877
  • mktemp: prioritize TMPDIR over -p when using -t by @cakebaker in https://github.com/uutils/coreutils/pull/4878

๐Ÿ“ฆ more

  • more: support PageDown/PageUp keys by @cakebaker in https://github.com/uutils/coreutils/pull/4873
  • more: add arguments print over and clean print by @Ideflop in https://github.com/uutils/coreutils/pull/4872
  • more: remove empty "else"-branches in tests by @cakebaker in https://github.com/uutils/coreutils/pull/4880
  • fix(#4886) more: panics if file is not readable by @Ludmuterol in https://github.com/uutils/coreutils/pull/4888
  • more: implement argument -s / --squeeze by @Ideflop in https://github.com/uutils/coreutils/pull/4903
  • more: implement arguments -n/--lines and --number by @Ideflop in https://github.com/uutils/coreutils/pull/4914

๐Ÿ“ฆ mv

  • mv: adapt -n behavior to GNU mv 9.3 by @cakebaker in https://github.com/uutils/coreutils/pull/4782
  • mv: show no error if overwriting is declined in interactive mode by @cakebaker in https://github.com/uutils/coreutils/pull/4773
  • mv: add 'renamed " in the beginning of the message when verbose flag is set by @shinhs0506 in https://github.com/uutils/coreutils/pull/4787
  • mv: check if --target is a directory by @shinhs0506 in https://github.com/uutils/coreutils/pull/4794
  • mv: validate --target arg by @cakebaker in https://github.com/uutils/coreutils/pull/4802
  • mv, cp: add support for --update=none,all,older by @shinhs0506 in https://github.com/uutils/coreutils/pull/4796
  • fix tests/mv/i-5.sh by @shinhs0506 in https://github.com/uutils/coreutils/pull/4823
  • mv: if more than one of -i, -f, -n is specified, only the final one takes effect by @cakebaker in https://github.com/uutils/coreutils/pull/4826
  • + 3 more

๐Ÿ“ฆ nice

  • Avoid spurious failures in the presence of non-zero default nice by @sunfishcode in https://github.com/uutils/coreutils/pull/4783

๐Ÿ“ฆ paste

  • paste: handle list ending with unescaped backslash by @cakebaker in https://github.com/uutils/coreutils/pull/3661

๐Ÿ“ฆ pwd

  • pwd: Allow -P flag precedence over POSIXLY_CORRECT by @tracym in https://github.com/uutils/coreutils/pull/4937

๐Ÿ“ฆ rm

  • gnu: adjust tests/rm/inaccessible.sh error message by @sylvestre in https://github.com/uutils/coreutils/pull/4809
  • rm: support non-UTF-8 paths by @jeddenlea in https://github.com/uutils/coreutils/pull/4871
  • fix rm/interactive-always.sh by @shinhs0506 in https://github.com/uutils/coreutils/pull/4890

๐Ÿ“ฆ shred

  • shred: add support for octal and hex size by @shinhs0506 in https://github.com/uutils/coreutils/pull/4918

๐Ÿ“ฆ tail

  • tail/args: Fix parsing when -F is used together with --retry or --follow by @Joining7943 in https://github.com/uutils/coreutils/pull/4734
  • 'tail': Change static global variables to const by @Joining7943 in https://github.com/uutils/coreutils/pull/4777

๐Ÿ“ฆ touch

  • To provide dates like "yesterday, tomorrow, etc", Use the humantime_to_duration crate by @sylvestre in https://github.com/uutils/coreutils/pull/4778
  • touch: add support for --ref and --date together by @Xalfer in https://github.com/uutils/coreutils/pull/4717
  • touch: remove unnecessary "extern crate"s by @cakebaker in https://github.com/uutils/coreutils/pull/4718
  • touch: improve support for dangling link by @sylvestre in https://github.com/uutils/coreutils/pull/4769

๐Ÿ“ฆ uniq

  • uniq: non-UTF-8 file names and fewer copies by @jeddenlea in https://github.com/uutils/coreutils/pull/4911

๐Ÿ“ฆ wc

  • wc: use concat! to improve readability of tests by @cakebaker in https://github.com/uutils/coreutils/pull/4707
  • test,wc: use vars directly in format! strings by @cakebaker in https://github.com/uutils/coreutils/pull/4760
  • wc: streaming --files0-from and other improvements by @jeddenlea in https://github.com/uutils/coreutils/pull/4696

๐Ÿ“ฆ whoami

  • tests/whoami: add windows test for issue #4614 by @garydev10 in https://github.com/uutils/coreutils/pull/4901

๐Ÿ“ฆ yes

  • yes: support non-UTF-8 args by @jeddenlea in https://github.com/uutils/coreutils/pull/4862

๐Ÿ“ฆ uucore

  • uucore: remove commented out imports by @cakebaker in https://github.com/uutils/coreutils/pull/4720
  • Fix a warning in upstream code on Rust nightly. by @sunfishcode in https://github.com/uutils/coreutils/pull/4781

๐Ÿ“ฆ Code quality

  • Fix incorrect comment & remove irrelevant comment by @cakebaker in https://github.com/uutils/coreutils/pull/4738
  • fix some clippy warnings in tests by @sylvestre in https://github.com/uutils/coreutils/pull/4759
  • Reduce cognitive complexity: just move some of the contents in functions by @sylvestre in https://github.com/uutils/coreutils/pull/4743
  • Lower the clippy cognitive complexity & fix lines_filter_map_ok by @sylvestre in https://github.com/uutils/coreutils/pull/4834
  • Fix some semicolon_if_nothing_returned by @sylvestre in https://github.com/uutils/coreutils/pull/4839

๐Ÿ“ฆ CI/CD improvements

  • `ci`: Run tests with nextest by @Joining7943 in https://github.com/uutils/coreutils/pull/4740
  • Use the full path for the ignore list by @sylvestre in https://github.com/uutils/coreutils/pull/4728
  • CICD: fix full path for the ignore list by @cakebaker in https://github.com/uutils/coreutils/pull/4730
  • CI: compute individual binary sizes by @miles170 in https://github.com/uutils/coreutils/pull/4694
  • ci: Fix usages of rust-cache to produce more cache hits by @Joining7943 in https://github.com/uutils/coreutils/pull/4742
  • ci/android: speed up build and test by @Joining7943 in https://github.com/uutils/coreutils/pull/4745
  • build-gnu.sh: always update PATH in Makefile by @cakebaker in https://github.com/uutils/coreutils/pull/4791
  • android: use cargo test instead of nextest by @sylvestre in https://github.com/uutils/coreutils/pull/4801
  • + 6 more

๐Ÿ“ Doc improvements

  • docs: add extension (short options with args) by @cakebaker in https://github.com/uutils/coreutils/pull/4851
  • doc: show a warning when no tldr example by @sylvestre in https://github.com/uutils/coreutils/pull/4847
  • uudoc: fix clippy warnings by @cakebaker in https://github.com/uutils/coreutils/pull/4761
  • docs: document fmt in GNU extensions by @cakebaker in https://github.com/uutils/coreutils/pull/4748
  • pinky: move help strings to markdown file by @m11o in https://github.com/uutils/coreutils/pull/4701
  • true: move help strings to markdown file by @piotrkwiecinski in https://github.com/uutils/coreutils/pull/4703
  • unexpand: move help strings to markdown file by @piotrkwiecinski in https://github.com/uutils/coreutils/pull/4704
  • printf: move help strings to markdown file by @m11o in https://github.com/uutils/coreutils/pull/4705
  • + 15 more

โœจ New Contributors

  • @m11o made their first contribution in https://github.com/uutils/coreutils/pull/4701
  • @Xalfer made their first contribution in https://github.com/uutils/coreutils/pull/4717
  • @spineki made their first contribution in https://github.com/uutils/coreutils/pull/4729
  • @Ideflop made their first contribution in https://github.com/uutils/coreutils/pull/4710
  • @publicmatt made their first contribution in https://github.com/uutils/coreutils/pull/4460
  • @vikiminki made their first contribution in https://github.com/uutils/coreutils/pull/4776
  • @sunfishcode made their first contribution in https://github.com/uutils/coreutils/pull/4781
  • @shinhs0506 made their first contribution in https://github.com/uutils/coreutils/pull/4787
  • + 8 more

๐Ÿ“ฆ Dependencies

  • remove utf8 dependency. by @publicmatt in https://github.com/uutils/coreutils/pull/4460
  • Bump fundu to 0.5.1 and fix tests by @cakebaker in https://github.com/uutils/coreutils/pull/4813
  • Remove unused "num_cpus" dependency by @cakebaker in https://github.com/uutils/coreutils/pull/4898
  • Bump crates to phase out windows-sys 0.42.0 by @cakebaker in https://github.com/uutils/coreutils/pull/4908
  • Bump windows-targets to 0.42.2 and add it with its dependencies to deny.toml by @cakebaker in https://github.com/uutils/coreutils/pull/4915
  • update to platform-info 2.0.1 by @sylvestre in https://github.com/uutils/coreutils/pull/4897
  • Bump crossbeam(-channel, -epoch, -utils) crates by @cakebaker in https://github.com/uutils/coreutils/pull/4894
  • Bump rustix crates by @cakebaker in https://github.com/uutils/coreutils/pull/4899
  • + 41 more
0.0.18
github-actions[bot]github-actions[bot]ยท3y agoยทApril 2, 2023
GitHub

๐Ÿ“‹ General changes

  • GNU/coreutils: update reference to 9.2 by @cakebaker in https://github.com/uutils/coreutils/pull/4601
  • MSRV 1.64 & Workspace inheritance for dependencies by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4344
  • Fuzzing deployed for some programs and functions
  • For most of the programs, the help and description are using dedicated markdown files.
  • Adjust -i behavior for ln, cp & mv by @sylvestre in https://github.com/uutils/coreutils/pull/4630
  • Refactor signal handling in yes, tee, and timeout by @anastygnome in https://github.com/uutils/coreutils/pull/4588
  • Migrate from `atty` to `is-terminal` by @souzaguilhermea in https://github.com/uutils/coreutils/pull/4382

๐Ÿงช GNU test suite compatibility

  • Many utils have gotten minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • The numbers changes in every category because of the GNU/Coreutils upgraded to 9.2
  • | result | 0.0.17 | 0.0.18 | change |
  • |--------|-------:|-------:|-------:|
  • | pass | 338 | 340 | +2 |
  • | skip | 48 | 50 | +2 |
  • | fail | 204 | 210 | +6 |
  • | error | 3 | 2 | +-1 |

๐Ÿ“ฆ cksum

  • Implement -a by @howjmay in https://github.com/uutils/coreutils/pull/4356

๐Ÿ“ฆ chmod

  • change permissions for files present even when there is a missing file by @dmatos2012 in https://github.com/uutils/coreutils/pull/4359
  • suppress verbose output when not verbose by @dmatos2012 in https://github.com/uutils/coreutils/pull/4402
  • allow verbose and quiet flags to be used more than once by @dmatos2012 in https://github.com/uutils/coreutils/pull/4410
  • Fix GNU test 'chmod/usage' by @bbara in https://github.com/uutils/coreutils/pull/4442

๐Ÿ“ฆ chroot

  • Fix unused import on Android by @miles170 in https://github.com/uutils/coreutils/pull/4571

๐Ÿ“ฆ comm

  • Implement --total by @cakebaker in https://github.com/uutils/coreutils/pull/4300
  • Enable "no_arguments" & "one_argument" tests by @cakebaker in https://github.com/uutils/coreutils/pull/4330
  • Use delimiter on "total" line by @cakebaker in https://github.com/uutils/coreutils/pull/4314
  • Implement --zero-terminated by @cakebaker in https://github.com/uutils/coreutils/pull/4449
  • Allow multiple occurrence of --zero-terminated by @cakebaker in https://github.com/uutils/coreutils/pull/4452

๐Ÿ“ฆ cp

  • Modify archive flag to copy dir contents rather than dir by @dmatos2012 in https://github.com/uutils/coreutils/pull/3954
  • Use PathBuf instead of String for paths by @tmccombs in https://github.com/uutils/coreutils/pull/4348
  • Stop saying --sparse is not implemented for cp by @tmccombs in https://github.com/uutils/coreutils/pull/4349

๐Ÿ“ฆ cut

  • Refactor by @TechHara in https://github.com/uutils/coreutils/pull/4255

๐Ÿ“ฆ date

  • Show error when reading dirs for -f arg by @shanmukhateja in https://github.com/uutils/coreutils/pull/4572
  • Added default value for `date --i`. by @kidrigger in https://github.com/uutils/coreutils/pull/4522
  • fix: match date -I error messages with GNU date by @shanmukhateja in https://github.com/uutils/coreutils/pull/4499
  • Added tests for date ISO8601 formats. by @kidrigger in https://github.com/uutils/coreutils/pull/4520
  • Make sure 'invalid date' message also returns exit code 1 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4526
  • Fix invalid argument error for RFC 3339 by @shanmukhateja in https://github.com/uutils/coreutils/pull/4535
  • A better handler for `./coreutils date -f aze` by @AbhinavMir in https://github.com/uutils/coreutils/pull/4482

๐Ÿ“ฆ dd

  • Move dd_out() function up to module level by @jfinkels in https://github.com/uutils/coreutils/pull/4428
  • Allow skipping and seeking in FIFOs by @jfinkels in https://github.com/uutils/coreutils/pull/4164
  • Fix precision for display of total time spent by @jfinkels in https://github.com/uutils/coreutils/pull/4498
  • Fix unused imports on FreeBSD by @miles170 in https://github.com/uutils/coreutils/pull/4512
  • Open stdin from file descriptor when possible by @jfinkels in https://github.com/uutils/coreutils/pull/4189

๐Ÿ“ฆ du

  • threshold error message fix by @haciek in https://github.com/uutils/coreutils/pull/4637
  • Update the GNU error message to our for tests/du/threshold.sh by @sylvestre in https://github.com/uutils/coreutils/pull/4656
  • Run test_du_time with TZ=UTC. by @eggpi in https://github.com/uutils/coreutils/pull/4446
  • Fix unnecessary boolean operation by @papparapa in https://github.com/uutils/coreutils/pull/4548

๐Ÿ“ฆ env

  • start about text with uppercase char by @cakebaker in https://github.com/uutils/coreutils/pull/4324
  • docs: document env -f/--file in GNU extensions by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4331

๐Ÿ“ฆ expand

  • Improve plus specifier handling by @sbentmar in https://github.com/uutils/coreutils/pull/4260

๐Ÿ“ฆ factor

  • Remove `paste` dev dependency by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4631

๐Ÿ“ฆ hashsum

  • Add `--zero` option (#4612) by @0xMRTT in https://github.com/uutils/coreutils/pull/4632

๐Ÿ“ฆ install

  • Fix bad target directory permissions by @kylemanna in https://github.com/uutils/coreutils/pull/4364
  • Add missing directory chown by @kylemanna in https://github.com/uutils/coreutils/pull/4365

๐Ÿ“ฆ ln

  • Fix format of help text by @cakebaker in https://github.com/uutils/coreutils/pull/4327

๐Ÿ“ฆ ls

  • Cannot find function `expected_result` in this scope by @piotrkwiecinski in https://github.com/uutils/coreutils/pull/4580
  • Handling case sensitive ls output by @jparag in https://github.com/uutils/coreutils/pull/4524

๐Ÿ“ฆ mktemp

  • uncomment fixed test case by @jfinkels in https://github.com/uutils/coreutils/pull/4297

๐Ÿ“ฆ mv

  • Update of fs_extra - address the new warnings by @sylvestre in https://github.com/uutils/coreutils/pull/4320

๐Ÿ“ฆ nice

  • Support legacy argument syntax for nice by @eds-collabora in https://github.com/uutils/coreutils/pull/4271

๐Ÿ“ฆ nproc

  • Replace num_cpus crate with thread::available_parallelism by @souzaguilhermea in https://github.com/uutils/coreutils/pull/4352

๐Ÿ“ฆ od

  • Remove "width = width" from format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4263
  • Fix some minor details suggested by clippy::pedantic by @cakebaker in https://github.com/uutils/coreutils/pull/4492

๐Ÿ“ฆ ptx

  • Fix warning from unnecessary_join lint by @cakebaker in https://github.com/uutils/coreutils/pull/4313

๐Ÿ“ฆ pwd

  • Small refactor of some match expressions by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4508

๐Ÿ“ฆ rm

  • Remove remove_dir_all dependency by @howjmay in https://github.com/uutils/coreutils/pull/4340

๐Ÿ“ฆ shred

  • Refactor to clean up code and reduce syscalls by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4493
  • Enable `test_shred_force` on FreeBSD by @miles170 in https://github.com/uutils/coreutils/pull/4523
  • Fix `permissions_set_readonly_false` clippy error by @miles170 in https://github.com/uutils/coreutils/pull/4488

๐Ÿ“ฆ sleep

  • Fix parsing of multiple inputs panics on overflow, some whitespace issues ... by @Joining7943 in https://github.com/uutils/coreutils/pull/4439
  • Replace uucore::parse_time::from_str with fundu by @Joining7943 in https://github.com/uutils/coreutils/pull/4448

๐Ÿ“ฆ stdbuf

  • Get profile from the end of the path by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4638

๐Ÿ“ฆ stty

  • Basic support for --file/-F by @VorpalBlade in https://github.com/uutils/coreutils/pull/4401

๐Ÿ“ฆ tail

  • Fix GNU test 'misc/tail' by @bbara in https://github.com/uutils/coreutils/pull/4347
  • Fix argument parsing of sleep interval by @Joining7943 in https://github.com/uutils/coreutils/pull/4239
  • `tests/tail`: Disable `test_follow_with_pid` on freebsd by @Joining7943 in https://github.com/uutils/coreutils/pull/4307
  • `tail`: Cargo.toml: Remove unneeded features of uucore and the nix dependency by @Joining7943 in https://github.com/uutils/coreutils/pull/4376

๐Ÿ“ฆ touch

  • Add underscores to long number in test by @cakebaker in https://github.com/uutils/coreutils/pull/4577

๐Ÿ“ฆ timeout

  • Add a test to verify that it fails as expected by @sylvestre in https://github.com/uutils/coreutils/pull/4419
  • Fix subprocess is never terminated by @miles170 in https://github.com/uutils/coreutils/pull/4315

๐Ÿ“ฆ tr

  • Remove the extra newline in stderr by @howjmay in https://github.com/uutils/coreutils/pull/4339

๐Ÿ“ฆ uname

  • Use the same version of platform-info as arch by @sylvestre in https://github.com/uutils/coreutils/pull/4290

๐Ÿ“ฆ uniq

  • Remove suppression of use_self lint by @cakebaker in https://github.com/uutils/coreutils/pull/4354
  • Remove `strum` dependency by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4629

๐Ÿ“ฆ uptime

  • correctly calculate boot-time by @zanbaldwin in https://github.com/uutils/coreutils/pull/4440

๐Ÿ“ฆ utmpx

  • arch/os-independent timeval handling by @bbara in https://github.com/uutils/coreutils/pull/4405

๐Ÿ“ฆ wc

  • Implement --total by @cakebaker in https://github.com/uutils/coreutils/pull/4695

๐Ÿ“ฆ uucore

  • util: fix publish order of uucore_procs and uucore by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4287
  • `uucore`: Fix #4298: Fails to build on s390x (and riscv64) by @Joining7943 in https://github.com/uutils/coreutils/pull/4299
  • parser: fix index out of bounds error by @papparapa in https://github.com/uutils/coreutils/pull/4484
  • uucore: fix help section doesn't render 3+ level headers by @piotrkwiecinski in https://github.com/uutils/coreutils/pull/4569
  • Fix panic in multi-byte characters by @howjmay in https://github.com/uutils/coreutils/pull/4388
  • uucore_procs: extract "about" and "usage" info from new help structure by @cakebaker in https://github.com/uutils/coreutils/pull/4385
  • uucore: indent multiline usage info by @cakebaker in https://github.com/uutils/coreutils/pull/4393
  • replace VERSION string with clap::crate_version by @akhilerm in https://github.com/uutils/coreutils/pull/4462

๐Ÿ“ฆ CI

  • CICD maintainence by @rivy in https://github.com/uutils/coreutils/pull/4292
  • Use sccache to cache build results by @sylvestre in https://github.com/uutils/coreutils/pull/4486
  • use sccache action 0.0.3 - automatically uses the most recent version of sccache by @sylvestre in https://github.com/uutils/coreutils/pull/4582
  • Extend the stale bot to 3 years by @sylvestre in https://github.com/uutils/coreutils/pull/4312
  • End the current execution if there is a new changeset in the PR by @sylvestre in https://github.com/uutils/coreutils/pull/4386
  • GNU: Ignore some intermittent by @sylvestre in https://github.com/uutils/coreutils/pull/4296
  • `cicd`: Fix #4322 toolchain overrides must begin with + by @Joining7943 in https://github.com/uutils/coreutils/pull/4323
  • Linting and formatting checks for FreeBSD by @miles170 in https://github.com/uutils/coreutils/pull/4668
  • + 10 more

๐Ÿงช Test

  • test: add a test matching what busybox is doing by @sylvestre in https://github.com/uutils/coreutils/pull/4265
  • Remove `keep_env` from the test framework by @miles170 in https://github.com/uutils/coreutils/pull/4594
  • Implement enhancements of `CmdResult` #4259 by @Joining7943 in https://github.com/uutils/coreutils/pull/4261
  • Small Refactor/Fixes of `UCommand` and add method to run a `UCommand` in a shell platform independently by @Joining7943 in https://github.com/uutils/coreutils/pull/4293
  • Fix tr.pl and stat-printf.pl don't show up in gnu-full-result by @miles170 in https://github.com/uutils/coreutils/pull/4503
  • Fix path resolution of test executable by @Joining7943 in https://github.com/uutils/coreutils/pull/4256
  • Don't trim output in `CmdResult::stdout_matches` and `stdout_does_not_match` by @Joining7943 in https://github.com/uutils/coreutils/pull/4304
  • Replace panic in favor of ParseError by @leon3s in https://github.com/uutils/coreutils/pull/4558
  • + 3 more

๐Ÿ“ฆ Code quality

  • clippy: fix warnings introduced with Rust 1.67.0 by @cakebaker in https://github.com/uutils/coreutils/pull/4303
  • clippy: fix unnecessary return warnings by @ctsk in https://github.com/uutils/coreutils/pull/4308
  • Fixes from nightly version of clippy by @jfinkels in https://github.com/uutils/coreutils/pull/4363
  • fix unnecessary boolean not operations by @daviddwk in https://github.com/uutils/coreutils/pull/4578
  • remove dependabot configuration. we are using renovatebot by @sylvestre in https://github.com/uutils/coreutils/pull/4599
  • Fix some simple clippy warnings by @sylvestre in https://github.com/uutils/coreutils/pull/4532
  • build.rs: ignore a clippy warning: match_same_arms by @sylvestre in https://github.com/uutils/coreutils/pull/4536
  • fix: clippy long literal lacking separators by @leon3s in https://github.com/uutils/coreutils/pull/4546
  • + 1 more

๐Ÿ“ Documentation

  • docs: fix invalid test status in gnu-full-result by @miles170 in https://github.com/uutils/coreutils/pull/4317
  • Start about texts with uppercase char by @cakebaker in https://github.com/uutils/coreutils/pull/4326
  • fix typo by @howjmay in https://github.com/uutils/coreutils/pull/4328
  • Document how to build in release mode by @sylvestre in https://github.com/uutils/coreutils/pull/4467
  • Freebsd pkg has been remamed to rust-coreutils by @sylvestre in https://github.com/uutils/coreutils/pull/4420
  • refresh the installation doc with new distros by @sylvestre in https://github.com/uutils/coreutils/pull/4374
  • Add OpenMandriva Lx to the documentation by @tpgxyz in https://github.com/uutils/coreutils/pull/4431
  • gentoo has renamed the package by @sylvestre in https://github.com/uutils/coreutils/pull/4418
  • + 9 more

๐Ÿ“ฆ Dependency update

  • build(deps): bump gcd from 2.1.0 to 2.2.0 by @dependabot in https://github.com/uutils/coreutils/pull/4180
  • build(deps): bump blake3 from 1.3.1 to 1.3.2 by @dependabot in https://github.com/uutils/coreutils/pull/4171
  • chore(deps): update rust crate hex-literal to 0.4.0 by @renovate in https://github.com/uutils/coreutils/pull/4699
  • fix(deps): update rust crate data-encoding to 2.3 by @renovate in https://github.com/uutils/coreutils/pull/4689
  • chore(deps): update rust crate rstest to 0.17.0 by @renovate in https://github.com/uutils/coreutils/pull/4677
  • fix(deps): update rust crate windows-sys to 0.45.0 by @renovate in https://github.com/uutils/coreutils/pull/4691
  • build(deps): bump regex from 1.7.0 to 1.7.1 by @dependabot in https://github.com/uutils/coreutils/pull/4311
  • chore(deps): update rust crate crossterm to >=0.26.1 by @renovate in https://github.com/uutils/coreutils/pull/4660
  • + 48 more

โœจ New Contributors

  • @howjmay made their first contribution in https://github.com/uutils/coreutils/pull/4328
  • @tmccombs made their first contribution in https://github.com/uutils/coreutils/pull/4349
  • @souzaguilhermea made their first contribution in https://github.com/uutils/coreutils/pull/4352
  • @papparapa made their first contribution in https://github.com/uutils/coreutils/pull/4372
  • @kylemanna made their first contribution in https://github.com/uutils/coreutils/pull/4364
  • @pkubaj made their first contribution in https://github.com/uutils/coreutils/pull/4397
  • @jhowww made their first contribution in https://github.com/uutils/coreutils/pull/4403
  • @chenchiii made their first contribution in https://github.com/uutils/coreutils/pull/4411
  • + 27 more
0.0.17
tertsdiepraamtertsdiepraamยท3y agoยทJanuary 21, 2023
GitHub

๐Ÿ“ฆ Highlights

  • The minimum supported Rust version is now 1.60.
  • Clap has been updated to version 4, bringing some changes in the formatting of help strings.
  • `cp` has been gotten many small improvements that improve compatibility.
  • `dd` has been simplified and has better compatibility.
  • `env` now reraises signals from the child process.
  • `ls -l` now shows more information on Windows.
  • `uname` is now available for all supported platforms, instead of Unix-like platforms only.
  • `cp` and `mv` can display a progress bar. This is an extension over GNU coreutils and inspired by [`advcpmv`](https://github.com/jarun/advcpmv).
  • + 1 more

๐Ÿงช GNU test suite compatibility

  • Many utils have gotten minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.16 | 0.0.17 | change |
  • |--------|-------:|-------:|-------:|
  • | pass | 322 | 338 | +16 |
  • | skip | 49 | 48 | -1 |
  • | fail | 217 | 204 | -13 |
  • | error | 5 | 3 | -2 |

๐Ÿ“‹ Changes

  • The PR's listed below are a selection of all the contributions in this release.

๐Ÿ“ฆ General

  • Bump MSRV to 1.60 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3994
  • Clap 4 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3991
  • Migrate from `winapi` to `windows-sys` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/4065
  • Run the toybox testsuite by @sylvestre in https://github.com/uutils/coreutils/pull/4222
  • Use normal use declarations to import macros by @miles170 in https://github.com/uutils/coreutils/pull/4151
  • Add installation page to docs with package managers by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4048
  • Test utilities
  • Add `UChild`, an abstraction for `std::process::Child` by @Joining7943 in https://github.com/uutils/coreutils/pull/4136
  • + 7 more

๐Ÿ“ฆ `chown`

  • Fails when `XXXX.` or `XXXX:` is provided (when XXXX is numeric value) by @sylvestre in https://github.com/uutils/coreutils/pull/4081

๐Ÿ“ฆ `cp`

  • Move `copy_directory()` to its own module by @jfinkels in https://github.com/uutils/coreutils/pull/3901
  • Correctly copy ancestor dirs in `--parents` mode by @jfinkels in https://github.com/uutils/coreutils/pull/4071
  • `cp -i --update source existing` should not do anything and exit 0 by @sylvestre in https://github.com/uutils/coreutils/pull/4078
  • Implement `--copy-contents` option for fifos by @jfinkels in https://github.com/uutils/coreutils/pull/3978
  • Remove interactive mode message on 'no' by @sssemil in https://github.com/uutils/coreutils/pull/4069
  • Use sparse copy on `--sparse=always` by @jfinkels in https://github.com/uutils/coreutils/pull/4030
  • Add progress bar by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3903 and improved by @djedi23 in https://github.com/uutils/coreutils/pull/4179 and @ctsk in https://github.com/uutils/coreutils/pull/4221
  • Restrict copy through dangling symlink with `-f` by @jfinkels in https://github.com/uutils/coreutils/pull/4074
  • + 9 more

๐Ÿ“ฆ `csplit`

  • Rename var to simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4266

๐Ÿ“ฆ `cut`

  • Add whitespace option for separating fields by @TechHara in https://github.com/uutils/coreutils/pull/4232

๐Ÿ“ฆ `date`

  • Catch panic from invalid format string by @jaggededgedjustice in https://github.com/uutils/coreutils/pull/4240

๐Ÿ“ฆ `dd`

  • Allow B as a suffix for count, seek, and skip by @jfinkels in https://github.com/uutils/coreutils/pull/4137
  • Create Dest enum and simpler Output struct by @jfinkels in https://github.com/uutils/coreutils/pull/4134
  • Don't allocate buffer if count=0 by @jfinkels in https://github.com/uutils/coreutils/pull/4130
  • Correctly set file size when conv=sparse by @jfinkels in https://github.com/uutils/coreutils/pull/4191
  • Fix rendering of SI and IEC byte counts by @jfinkels in https://github.com/uutils/coreutils/pull/3653
  • Fix progress line if 1 byte written by @jfinkels in https://github.com/uutils/coreutils/pull/4194

๐Ÿ“ฆ `env`

  • Reraise signal from child process by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4011

๐Ÿ“ฆ `expr`

  • Multiple fixes and tests added by @rivy in https://github.com/uutils/coreutils/pull/4248

๐Ÿ“ฆ `factor`

  • Trim the input to fix some busybox results by @sylvestre in https://github.com/uutils/coreutils/pull/4215

๐Ÿ“ฆ `hashsum`

  • Warn on file not found rather than fail by @dmatos2012 in https://github.com/uutils/coreutils/pull/4064
  • Enable testing `--no-names` by @tertsdiepraam and @huijeong-kim in https://github.com/uutils/coreutils/pull/4088

๐Ÿ“ฆ `install`

  • No longer fails when target directory does not exist by @bruecke in https://github.com/uutils/coreutils/pull/3950

๐Ÿ“ฆ `ls`

  • Show more info in long format on Windows by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4014
  • Use `libc::{major, minor}` to calculate device number by @SteveLauC in https://github.com/uutils/coreutils/pull/4120

๐Ÿ“ฆ `mktemp`

  • Allow default missing value by @dmatos2012 in https://github.com/uutils/coreutils/pull/4091

๐Ÿ“ฆ `mv`

  • `mv -i --update source existing` should not do anything and exit 0 by @sylvestre in https://github.com/uutils/coreutils/pull/4078
  • Add progress bar by @ctsk in https://github.com/uutils/coreutils/pull/4220

๐Ÿ“ฆ `numfmt`

  • Handle negative zero values by @cakebaker in https://github.com/uutils/coreutils/pull/4076
  • Allow hyphen values for `--field` option by @cakebaker in https://github.com/uutils/coreutils/pull/4090
  • Round values if precision is 0 by @cakebaker in https://github.com/uutils/coreutils/pull/4089
  • Allow `-` in field list by @cakebaker in https://github.com/uutils/coreutils/pull/4094
  • Allow ` ` as field separator by @cakebaker in https://github.com/uutils/coreutils/pull/4096
  • Add test for `--field -` (all fields) by @cakebaker in https://github.com/uutils/coreutils/pull/4093

๐Ÿ“ฆ `pr`

  • Simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4264
  • Add missing `\` before line breaks by @cakebaker in https://github.com/uutils/coreutils/pull/4273

๐Ÿ“ฆ `printenv`

  • Weird env variable names should trigger an error. by @sylvestre in https://github.com/uutils/coreutils/pull/4113

๐Ÿ“ฆ `pwd`

  • Support the env variable `POSIXLY_CORRECT` by @sylvestre in https://github.com/uutils/coreutils/pull/4085

๐Ÿ“ฆ `rm`

  • GNU test `rm3` now passes by @palaster in https://github.com/uutils/coreutils/pull/4013

๐Ÿ“ฆ `seq`

  • Simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4264

๐Ÿ“ฆ `sleep`

  • Fix argument parsing and errors by @rivy in https://github.com/uutils/coreutils/pull/4268

๐Ÿ“ฆ `sort`

  • Allow a sort mode to appear multiple times by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4132

๐Ÿ“ฆ `split`

  • Implement round-robin arg to `--number` by @jfinkels in https://github.com/uutils/coreutils/pull/3281
  • Match GNU semantics for missing EOF by @andrewbaptist in https://github.com/uutils/coreutils/pull/4009
  • Fix "backticks are unbalanced" warnings by @cakebaker in https://github.com/uutils/coreutils/pull/4181

๐Ÿ“ฆ `stat`

  • Show more info in long format on Windows by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4014
  • Refactor by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4150

๐Ÿ“ฆ `sum`

  • Fix output of about string by @cakebaker in https://github.com/uutils/coreutils/pull/4274
  • Fix output when using BSD sum algo (-r) by @cakebaker in https://github.com/uutils/coreutils/pull/4278

๐Ÿ“ฆ `tail`

  • Refactor handling of warnings and early exits by @Joining7943 in https://github.com/uutils/coreutils/pull/4135

๐Ÿ“ฆ `touch`

  • Add support for some relative times by @jfinkels in https://github.com/uutils/coreutils/pull/4193

๐Ÿ“ฆ `uname`

  • build: `uname` is WinOS-compatible; move to 'Tier1' feature by @rivy in https://github.com/uutils/coreutils/pull/4245
  • change/uname ~ update and revise by @rivy in https://github.com/uutils/coreutils/pull/4279

โœจ New Contributors

  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.16...0.0.17
0.0.16
tertsdiepraamtertsdiepraamยท3y agoยทOctober 12, 2022
GitHub

๐Ÿ“ฆ Highlights

  • The minimum supported Rust version is now 1.59.
  • Many utils now return exit code `1` on usage errors instead of `2` to match GNU.
  • `tail` has had another significant refactor with slight improvements.
  • `chroot` returns better exit codes and supports commands with flags.
  • `cp` supports the `-H` flag and handles more cases correctly.
  • `test` supports `-N`, `-ef`, `-nt` & `-ot` and supports 128 bit integers.
  • `dd`'s argument parsing has been overhauled and is more compatible with GNU.
  • There have been refactors, fixes and performance improvements in many utils, see below for details.

๐Ÿงช GNU test suite compatibility

  • Many utils have seen minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.15 | 0.0.16 | change |
  • |--------|-------:|-------:|-------:|
  • | pass | 293 | 322 | +29 |
  • | skip | 73 | 49 | -24 |
  • | fail | 222 | 217 | -5 |
  • | error | 5 | 5 | 0 |

๐Ÿ“‹ Changes

  • The PR's listed below are a selection of all the contributions in this release.

๐Ÿ“ฆ General

  • Change remaining usage codes of `2` to `1` for GNU compat by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3922
  • Create new adaptive svg logo by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3892

๐Ÿ“ฆ `cat`

  • Remove deprecated `unix_socket` dependency by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3854

๐Ÿ“ฆ `chcon`

  • Fix GNU `tests/misc/chcon-fail.sh` test by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3857

๐Ÿ“ฆ `chroot`

  • Improve support of `--skip-chdir` by @sylvestre in https://github.com/uutils/coreutils/pull/4004
  • Set exit codes to `125`, `126` or `127` for errors from `chroot` itself by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3908
  • Set trailing var arg by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3907
  • Various improvements to chroot by @sylvestre in https://github.com/uutils/coreutils/pull/3960

๐Ÿ“ฆ `cp`

  • Fix `cp-i` GNU test by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3949
  • Add `-H` option by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3971
  • Assume `--reflink=always` on no value by @sssemil in https://github.com/uutils/coreutils/pull/3992
  • Correct error message on copying dir to itself by @jfinkels in https://github.com/uutils/coreutils/pull/3981
  • Allow removing symbolic link loop destination by @jfinkels in https://github.com/uutils/coreutils/pull/3972
  • Preserve permissions when copying directory and don't terminate early on inaccessible file by @jfinkels in https://github.com/uutils/coreutils/pull/3973

๐Ÿ“ฆ `dd`

  • Handle stdout redirected to seekable file by @jfinkels in https://github.com/uutils/coreutils/pull/3880
  • Parse operands manually via positional args by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3938

๐Ÿ“ฆ `df`

  • Remove trailing spaces in rightmost column by @jfinkels in https://github.com/uutils/coreutils/pull/3882

๐Ÿ“ฆ `factor`

  • Enable `union` feature for `smallvec` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3928

๐Ÿ“ฆ `ls`

  • Exit code 2 when `IOError` happened for argument by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3921
  • Add support for `+FORMAT` in timestyle by @dmatos2012 in https://github.com/uutils/coreutils/pull/3988
  • Align `--ignore` behavior with that of GNU ls by @ackerleytng in https://github.com/uutils/coreutils/pull/3803

๐Ÿ“ฆ `mktemp`

  • Respect `TMPDIR` environment variable by @jfinkels in https://github.com/uutils/coreutils/pull/3552
  • Match GNU error message on too many args by @jfinkels in https://github.com/uutils/coreutils/pull/3951
  • Add message for directory not found by @jfinkels in https://github.com/uutils/coreutils/pull/3940

๐Ÿ“ฆ `pr`

  • Migrate from `chrono` to `time` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3918
  • Use clap to handle help & version by @cakebaker in https://github.com/uutils/coreutils/pull/3904

๐Ÿ“ฆ `rm`

  • Added write-protected check for files by @stefins in https://github.com/uutils/coreutils/pull/3853
  • Added descend messages for interactive mode Fixes #3817 by @palaster in https://github.com/uutils/coreutils/pull/3931

๐Ÿ“ฆ `split`

  • Add support for starting suffix numbers by @andrewbaptist in https://github.com/uutils/coreutils/pull/3976

๐Ÿ“ฆ `sync`

  • Various compatibility improvement by @sylvestre in https://github.com/uutils/coreutils/pull/4003

๐Ÿ“ฆ `tail`

  • Fix stdin redirect (#3842) by @jhscheer in https://github.com/uutils/coreutils/pull/3845
  • Fix tail panicking when seeking backwards by @kilpkonn in https://github.com/uutils/coreutils/pull/3873
  • Refactor tail by @Joining7943 in https://github.com/uutils/coreutils/pull/3905
  • Fix random errors for piped input on macos by @Joining7943 in https://github.com/uutils/coreutils/pull/3953

๐Ÿงช `test`

  • Add a bunch of operations by @sylvestre in https://github.com/uutils/coreutils/pull/4002

โœจ New Contributors

  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.15...0.0.16
0.0.15
tertsdiepraamtertsdiepraamยท3y agoยทAugust 20, 2022
GitHub

๐Ÿ“ฆ Highlights

  • `stty` is now partially implemented (https://github.com/uutils/coreutils/pull/3672). We now finally have implementations for all the coreutils!
  • `tail` now implements `--follow` and has seen many more improvements thanks to the giant refactor by @jhscheer.
  • `wc` and `sum` have gotten performance improvements by @resistor.
  • There have been refactors, fixes and performance improvements in many utils.

๐Ÿงช GNU test suite compatibility

  • Many utils have seen minor changes to improve GNU compatibility. This marks the first release where we pass more tests than we fail. See https://github.com/uutils/coreutils-tracking/ for more details
  • | result | 0.0.14 | 0.0.15 | change |
  • |--------|-------:|------:|-------:|
  • | pass | 242 | 293 | +51 |
  • | skip | 73 | 73 | 0 |
  • | fail | 270 | 222 | -48 |
  • | error | 8 | 5 | -3 |

๐Ÿ“‹ Changes

  • The PR's listed below are a selection of all the contributions in this release.

๐Ÿ“ฆ `basename`

  • Simple format arguments by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3736

๐Ÿ“ฆ `basenc`

  • Fix error code on wrong usage by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3743

๐Ÿ“ฆ `comm`

  • Use `NUL` if delimiter is empty by @cakebaker in https://github.com/uutils/coreutils/pull/3701

๐Ÿ“ฆ `cp`

  • Correctly copy attributes of a dangling symbolic link by @jfinkels in https://github.com/uutils/coreutils/pull/3692
  • Implement `--sparse` flag by @pimzero in https://github.com/uutils/coreutils/pull/3766
  • Make `--b=simple` protective of source by @philgebhardt in https://github.com/uutils/coreutils/pull/3647
  • Truncate destination when `--reflink` is set by @pimzero in https://github.com/uutils/coreutils/pull/3759
  • Fix `test_copy_through_dangling_symlink_no_dereference_permissions` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3789

๐Ÿ“ฆ `cut`

  • Fix argument parsing for the delimiter by @jhscheer in https://github.com/uutils/coreutils/pull/3607

๐Ÿ“ฆ `dd`

  • Error message of invalid args is matched with GNU by @Fuchczyk in https://github.com/uutils/coreutils/pull/3831
  • Fix output issues by @patricksjackson in https://github.com/uutils/coreutils/pull/3610
  • Only print concise byte counts if count is sufficiently large by @jfinkels in https://github.com/uutils/coreutils/pull/3617
  • Reuse buffer for the most common cases by @patricksjackson in https://github.com/uutils/coreutils/pull/3600
  • Fix broken pipe in `test_bytes_oseek_bytes_trunc_oflag` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3797

๐Ÿ“ฆ `df`

  • Better error message when executed in a chroot without `/proc` by @lendandgit in https://github.com/uutils/coreutils/pull/3602
  • Fix output if input path is device name by @cakebaker in https://github.com/uutils/coreutils/pull/3682
  • Fix rounding behavior in humanreadable mode by @cakebaker in https://github.com/uutils/coreutils/pull/3554
  • Read block size from env vars by @cakebaker in https://github.com/uutils/coreutils/pull/3504
  • Show "total" label in correct column by @jfinkels in https://github.com/uutils/coreutils/pull/3579
  • Trim size header in tests by @cakebaker in https://github.com/uutils/coreutils/pull/3582
  • Implement the `--sync` flag for df by @anastygnome in https://github.com/uutils/coreutils/pull/3592

๐Ÿ“ฆ `dircolors`

  • Add support for stdin by @jhscheer in https://github.com/uutils/coreutils/pull/3591
  • Escape `'` and `:` by @cakebaker in https://github.com/uutils/coreutils/pull/3639
  • Implement `--print-ls-colors` by @cakebaker in https://github.com/uutils/coreutils/pull/3566
  • Make `-b` & `-c` args overridable by @cakebaker in https://github.com/uutils/coreutils/pull/3569
  • Update error message by @cakebaker in https://github.com/uutils/coreutils/pull/3596

๐Ÿ“ฆ `dirname`

  • Add missing `"\n\"` to usage message by @cakebaker in https://github.com/uutils/coreutils/pull/3570

๐Ÿ“ฆ `du`

  • Remove unnecessary spaces from help by @cakebaker in https://github.com/uutils/coreutils/pull/3622
  • Add `parse_glob` module and update `du` to use `parse_glob` by @ackerleytng in https://github.com/uutils/coreutils/pull/3754

๐Ÿ“ฆ `expand`

  • Add support for `--tabs` shortcuts by @cakebaker in https://github.com/uutils/coreutils/pull/3612
  • Allow multiple `tabs` args by @cakebaker in https://github.com/uutils/coreutils/pull/3585
  • Show error if `--tabs` arg has invalid chars by @cakebaker in https://github.com/uutils/coreutils/pull/3583
  • Allow specifier only with last value by @cakebaker in https://github.com/uutils/coreutils/pull/3595
  • Handle too large tab size by @cakebaker in https://github.com/uutils/coreutils/pull/3594
  • Remove empty line from error message by @cakebaker in https://github.com/uutils/coreutils/pull/3577
  • Simplify signature of `expand_shortcuts()` by @cakebaker in https://github.com/uutils/coreutils/pull/3644

๐Ÿ“ฆ `hashsum`

  • Isolate non-"GNU Coreutils" options by @str4d in https://github.com/uutils/coreutils/pull/3593
  • Fix the `-c` usage by @sylvestre in https://github.com/uutils/coreutils/pull/3816

๐Ÿ“ฆ `install`

  • Verbose messages shows ginstall as command by @sylvestre in https://github.com/uutils/coreutils/pull/3651
  • Fix install `-C` test by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3663
  • Make `install -V` show the filename by @ElijahSink in https://github.com/uutils/coreutils/pull/3657

๐Ÿ“ฆ `ln`

  • Improve error messages compatibility by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3730
  • Implement `-L` `-P` to make tests/ln/hard-to-sym.sh work by @sylvestre in https://github.com/uutils/coreutils/pull/3563
  • Symlink --force, src and dst are same file by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3724

๐Ÿ“ฆ `ls`, `dir` & `vdir`

  • Add already listed message by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3707
  • Fix double quoting when color is enabled by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3590
  • Implement `--zero` by @pimzero in https://github.com/uutils/coreutils/pull/3746
  • Remove trailing space when using the comma format (`-m`) by @anastygnome in https://github.com/uutils/coreutils/pull/3615
  • Silently ignore `-T` option by @Stonks3141 in https://github.com/uutils/coreutils/pull/3718
  • Forbid octal numbers for width parameter by @Ganneff in https://github.com/uutils/coreutils/pull/3613

๐Ÿ“ฆ `mktemp`

  • Change directory permission after creation by @353fc443 in https://github.com/uutils/coreutils/pull/3471
  • Combine `--tmpdir` and subdirectory info by @jfinkels in https://github.com/uutils/coreutils/pull/3568
  • Error on empty `--suffix` in some situations by @jfinkels in https://github.com/uutils/coreutils/pull/3599
  • Exit with status `1` on usage errors by @jfinkels in https://github.com/uutils/coreutils/pull/3578
  • Include suffix in error message by @jfinkels in https://github.com/uutils/coreutils/pull/3551
  • Only replace last contiguous block of Xs by @jfinkels in https://github.com/uutils/coreutils/pull/3586
  • Respect `POSIXLY_CORRECT` env var when parsing args by @weijunji in https://github.com/uutils/coreutils/pull/3604
  • Simplify file path parameter logic by @jfinkels in https://github.com/uutils/coreutils/pull/3573

๐Ÿ“ฆ `mv`

  • Fix error when moving directory to itself by @Fuchczyk in https://github.com/uutils/coreutils/pull/3809

๐Ÿ“ฆ `numfmt`

  • Implement `--format` by @cakebaker in https://github.com/uutils/coreutils/pull/3751
  • Implement `--to-unit` & `--from-unit` by @cakebaker in https://github.com/uutils/coreutils/pull/3705
  • Preserve trailing zeros by @cakebaker in https://github.com/uutils/coreutils/pull/3764
  • Don't round floats if `--from` is `none` by @cakebaker in https://github.com/uutils/coreutils/pull/3742
  • Reject suffix if unit is `none` by @cakebaker in https://github.com/uutils/coreutils/pull/3716
  • Remove duplicate default hints from help by @cakebaker in https://github.com/uutils/coreutils/pull/3696
  • Show `invalid suffix` error for `i` suffix by @cakebaker in https://github.com/uutils/coreutils/pull/3732
  • Show error if `--padding` is zero by @cakebaker in https://github.com/uutils/coreutils/pull/3686
  • + 1 more

๐Ÿ“ฆ `paste`

  • Implement `-z` flag by @cakebaker in https://github.com/uutils/coreutils/pull/3659

๐Ÿ“ฆ `readlink`

  • Improve GNU compatibility by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3826
  • Symlink loop handling by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3717

๐Ÿ“ฆ `realpath`

  • Relative options by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3710
  • Improve symlink handling by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3703
  • Add `--no-symlinks` alias by @cakebaker in https://github.com/uutils/coreutils/pull/3681

๐Ÿ“ฆ `rm`

  • Fix help text mistakenly being used as the long option by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3670

๐Ÿ“ฆ `shuf`

  • Add missing spaces to about text by @cakebaker in https://github.com/uutils/coreutils/pull/3677
  • Improve performance by @Garfield96 in https://github.com/uutils/coreutils/pull/3642

๐Ÿ“ฆ `sort`

  • Wait when SIGINT was raised for the program to finish properly by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3801

๐Ÿ“ฆ `sum`

  • Speed up sum by using reasonable read buffer sizes. by @resistor in https://github.com/uutils/coreutils/pull/3741

๐Ÿ“ฆ `split`

  • Don't overwrite files by @andrewbaptist in https://github.com/uutils/coreutils/pull/3719
  • Set names for arg values by @cakebaker in https://github.com/uutils/coreutils/pull/3541
  • Don't skip chucking when the chunk size is a divisor of the buffer size by @resistor in https://github.com/uutils/coreutils/pull/3800

๐Ÿ“ฆ `stty`

  • Initial implementation by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3672

๐Ÿ“ฆ `tail`

  • Implement `--follow` and much more by @jhscheer in https://github.com/uutils/coreutils/pull/2695
  • Rework platform module by @anastygnome in https://github.com/uutils/coreutils/pull/3706
  • Fix race condition by @jhscheer in https://github.com/uutils/coreutils/pull/3798
  • Reduce CPU load for polling by @jhscheer in https://github.com/uutils/coreutils/pull/3618
  • Reuse opened file `--follow=descriptor` by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3830

๐Ÿ“ฆ `tee`

  • Implement `-p` by @eds-collabora in https://github.com/uutils/coreutils/pull/3656

๐Ÿ“ฆ `touch`

  • Fix trailing slashes handling by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3788

๐Ÿ“ฆ `true` & `false`

  • Use `clap::ArgAction` for `--help` and `--version` by @jarkonik in https://github.com/uutils/coreutils/pull/3784

๐Ÿ“ฆ `tty`

  • Move from `libc` to `nix` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3838

๐Ÿ“ฆ `unexpand`

  • Handle too large `tabs` arguments by @cakebaker in https://github.com/uutils/coreutils/pull/3655
  • Implement `tabs` shortcuts by @cakebaker in https://github.com/uutils/coreutils/pull/3646
  • Set value name of arg by @cakebaker in https://github.com/uutils/coreutils/pull/3605

๐Ÿ“ฆ `uniq`

  • Set default missing value for `group` and `all-repeated` args by @cakebaker in https://github.com/uutils/coreutils/pull/3667

๐Ÿ“ฆ `wc`

  • Specialize scanning loop on settings. by @resistor in https://github.com/uutils/coreutils/pull/3708
  • Implement a fast path for character counting in wc. by @resistor in https://github.com/uutils/coreutils/pull/3735
  • Implement wc fast paths that skip Unicode decoding. by @resistor in https://github.com/uutils/coreutils/pull/3740
  • Fix wc gnu test suite compatibility by @anastygnome in https://github.com/uutils/coreutils/pull/3688

๐Ÿ“ฆ `uucore`

  • Create `help_section` macro by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3180
  • Refactor, document and test `ranges` module by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3844
  • Remove `show_error_custom_description` macros `show_usage_error` by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3837
  • Add backport for `Path::is_symlink()` by @jfinkels in https://github.com/uutils/coreutils/pull/3697
  • Fix invalid enum variant in docstring by @cakebaker in https://github.com/uutils/coreutils/pull/3643
  • Simplify invalid encoding handling by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3832
  • canonicalize: Loop looking in windows by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3714

๐Ÿ“ฆ General

  • Netbsd / OpenBSD build fix by @devnexen in https://github.com/uutils/coreutils/pull/3807
  • Add more consistency in the `--help` output and declarations by @sylvestre in https://github.com/uutils/coreutils/pull/3774
  • dependencies: make `winapi` dependency only for Windows by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/3846
  • tests: fix Freebsd test failures by @jhscheer in https://github.com/uutils/coreutils/pull/3777
  • tests: ignore failing tests for FreeBSD by @jhscheer in https://github.com/uutils/coreutils/pull/3806
  • Replace lazy_static with once_cell by @Sciencentistguy in https://github.com/uutils/coreutils/pull/3704
  • README: add badge for MSRV by @jhscheer in https://github.com/uutils/coreutils/pull/3799
  • Remove use of `mem::uninitialized` by @5225225 in https://github.com/uutils/coreutils/pull/3808
  • + 1 more

โœจ New Contributors

  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.14...0.0.15
0.0.14
tertsdiepraamtertsdiepraamยท4y agoยทMay 22, 2022
GitHub

๐Ÿ“ฆ Highlights

  • Minimum supported Rust version is now 1.56 and we use the 2021 edition.
  • Android support has been fixed and is now checked in the CI thanks to @jtracey.
  • `df` has seen major improvements due to incredible work by @cakebaker.
  • Path completions on modern shells (like `zsh` and `fish`) now work properly.
  • The `dir` and `vdir` utilities where added as aliases for `ls` and `ls -l`, respectively.
  • Many utils have seen minor changes to improve GNU compatibility. See https://github.com/uutils/coreutils-tracking/ for more details

๐Ÿ“‹ Changes

  • The PR's listed below change the user-facing behaviour of the utils. It is a selection of all the contributions in this release.

๐Ÿ“ฆ General

  • MSRV 1.56 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3350
  • Rust Edition 2021 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3368
  • Fix Android support by @jtracey in https://github.com/uutils/coreutils/pull/3396
  • docs: Show supported platforms for each util by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3374, https://github.com/uutils/coreutils/pull/3385
  • docs: Don't download the tldr archive automatically by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3415
  • docs: Require a feature to build by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3444
  • Clap value hints by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3524

๐Ÿ“ฆ `chown`

  • Allow setting arbitrary numeric user ID by @jfinkels in https://github.com/uutils/coreutils/pull/3438

๐Ÿ“ฆ `cp`

  • Do not dereference symlink even when dangling - fix issue #3364 by @anastygnome in https://github.com/uutils/coreutils/pull/3459

๐Ÿ“ฆ `date`

  • Set names for arg values by @cakebaker in https://github.com/uutils/coreutils/pull/3545

๐Ÿ“ฆ `df`

  • Show error if same type is included & excluded by @cakebaker in https://github.com/uutils/coreutils/pull/3369
  • Show error when file argument does not exist by @jfinkels in https://github.com/uutils/coreutils/pull/3376
  • Fix too low values in `I*` columns by @cakebaker in https://github.com/uutils/coreutils/pull/3365
  • Fix calculation of `IUse%` by @cakebaker in https://github.com/uutils/coreutils/pull/3387
  • Fix incorrect whitespace between columns by @cakebaker in https://github.com/uutils/coreutils/pull/3386
  • `-h -H` shouldn't cause an error #3366 by @gmnsii in https://github.com/uutils/coreutils/pull/3414
  • Fix broken "test_df_output_overridden" test by @cakebaker in https://github.com/uutils/coreutils/pull/3428
  • Fix `File` column width for unicode filenames by @cakebaker in https://github.com/uutils/coreutils/pull/3429
  • + 13 more

๐Ÿ“ฆ `du`

  • Return non zero error code when dealing with permissions errors by @sylvestre in https://github.com/uutils/coreutils/pull/3382
  • Add support for `--exclude` and `--exclude-from` by @sylvestre in https://github.com/uutils/coreutils/pull/3381

๐Ÿ“ฆ `env`

  • Add program signal messages by @ndd7xv in https://github.com/uutils/coreutils/pull/3290

๐Ÿ“ฆ `hashsum`

  • Add `--no-names` option from official b3sum tool by @pothos in https://github.com/uutils/coreutils/pull/3361

๐Ÿ“ฆ `install`

  • Support of `-d dir/.` to match GNU's by @sylvestre in https://github.com/uutils/coreutils/pull/3353
  • When install `--strip-program=foor` fails, remove the target file by @sylvestre in https://github.com/uutils/coreutils/pull/3419
  • Verbose - list all created directories by @sylvestre in https://github.com/uutils/coreutils/pull/3420

๐Ÿ“ฆ `kill`

  • Accept process group with negative id by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3501

๐Ÿ“ฆ `ls`, `dir` & `vdir`

  • Implement `--group-directories-first` by @thomasqueirozb in https://github.com/uutils/coreutils/pull/3550
  • Add `dir` and `vdir` utils by @gmnsii in https://github.com/uutils/coreutils/pull/3405

๐Ÿ“ฆ `mkdir`

  • Fix a clippy warning on clippy::ptr-arg by @sylvestre in https://github.com/uutils/coreutils/pull/3393
  • Fixed not respecting set umask by @pyoky in https://github.com/uutils/coreutils/pull/3150

๐Ÿ“ฆ `mktemp`

  • Respect path given in template argument by @jfinkels in https://github.com/uutils/coreutils/pull/3465
  • Error on path separator in template prefix by @jfinkels in https://github.com/uutils/coreutils/pull/3512
  • Fix error msg when suffix has path sep. by @jfinkels in https://github.com/uutils/coreutils/pull/3543
  • Correct error message on absolute path by @jfinkels in https://github.com/uutils/coreutils/pull/3521

๐Ÿ“ฆ `mv`

  • Add OverwriteMode match in specific case by @sudosmile in https://github.com/uutils/coreutils/pull/3383
  • Move the tests in a separate function by @sylvestre in https://github.com/uutils/coreutils/pull/3390
  • Trigger an error when doing `mv dir1 dir2 dir2` by @sylvestre in https://github.com/uutils/coreutils/pull/3392
  • Allow a single source with `--target-directory` by @ilkecan in https://github.com/uutils/coreutils/pull/3529

๐Ÿ“ฆ `printf`

  • Default left-justify integer conversion to 1 width by @hbina in https://github.com/uutils/coreutils/pull/3061

๐Ÿ“ฆ `ptx`

  • Implement `breakfile` option by @mike-kfed in https://github.com/uutils/coreutils/pull/3455

๐Ÿ“ฆ `rm`

  • Rename `none` by `--interactive=never` to fix ../gnu/tests/rm/i-never.sh by @sylvestre in https://github.com/uutils/coreutils/pull/3356

๐Ÿ“ฆ `seq`

  • Use usage error where appropriate by @jfinkels in https://github.com/uutils/coreutils/pull/3539

๐Ÿ“ฆ `stat`

  • Add support to read a filename redirected to stdin by @crazystylus in https://github.com/uutils/coreutils/pull/3280
  • Improve handling of stdin/fifo (fix #3485) by @jhscheer in https://github.com/uutils/coreutils/pull/3498

๐Ÿ“ฆ `tty`

  • Should not return 2 when `--help` is used by @sylvestre in https://github.com/uutils/coreutils/pull/3367

๐Ÿ“ฆ `uname`

  • Hide processor and hwplatform options by @LevitatingBusinessMan in https://github.com/uutils/coreutils/pull/3537

๐Ÿ“ฆ `uniq`

  • Fix almost all GNU tests by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3417

โœจ New Contributors

  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.13...0.0.14
0.0.13
tertsdiepraamtertsdiepraamยท4y agoยทApril 2, 2022
GitHub

๐Ÿ“‹ Changes

  • Mininum supported Rust version is now 1.54.
  • Many improvements and fixes in many utils. In particular, `cp`, `dd`, `df`, `split` and `tr` have gotten very large improvements and are much more compatible with GNU.
  • [Online user documentation](https://uutils.github.io/coreutils-docs/user/) featuring installation instructions, descriptions, flags, options and examples.
  • We now use `clap` 3, which gives the `--help` output a new look and enables abbreviations of long arguments. For example:

๐Ÿ“‹ Changes

  • The PR's listed below change the user-facing behaviour of the utils. It is just a small selection of all the contributions in this release.
  • General
  • Clap 3 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/2863
  • Infer unambiguous long arguments in clap by @tertsdiepraam in https://github.com/uutils/coreutils/pull/2936
  • User documentation by @tertsdiepraam in https://github.com/uutils/coreutils/pull/2897, https://github.com/uutils/coreutils/pull/3152, https://github.com/uutils/coreutils/pull/3134
  • Include license text in all published crates by @davide125 in https://github.com/uutils/coreutils/pull/3131
  • `uucore`
  • Allow backup suffix with hyphen value by @tertsdiepraam in https://github.com/uutils/coreutils/pull/2997
  • + 153 more

โœจ New Contributors

  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.12...0.0.13
0.0.12
github-actions[bot]github-actions[bot]ยท4y agoยทJanuary 19, 2022
GitHub

๐Ÿ“‹ Changes

  • These are selected user-facing changes since 0.0.8.
  • The minimum supported Rust version is now 1.54.
  • The version numbers of the utils, the `coreutils` binary, `uucore` and `uucore_procs` are now synced. Hence the jump from 0.0.9 to 0.012.
  • All utils now use `UResult` due to incredible work by @jfinkels, who contributed over 50 PRs for this to happen, with additional contributions by @thomasqueirozb, @Smicry and @E3uka. This change is mostly invisible to users, but does lead to more consistent error messages now and in the future.

๐Ÿ“ฆ `cp`

  • Fix pre-write permission change by @kimono-koans in https://github.com/uutils/coreutils/pull/2769
  • Handle edge cases when dest is a symlink by @miDeb in https://github.com/uutils/coreutils/pull/2610

๐Ÿ“ฆ `env`

  • Don't panic when name is empty by @thomasqueirozb in https://github.com/uutils/coreutils/pull/2731

๐Ÿ“ฆ `join`

  • Add `-z` option by @jtracey in https://github.com/uutils/coreutils/pull/2880
  • Operate on bytes instead of Strings by @jtracey in https://github.com/uutils/coreutils/pull/2851

๐Ÿ“ฆ `ls`

  • Add possible value for `--color=` by @equal-l2 in https://github.com/uutils/coreutils/pull/2738
  • Reduce binary size by removing regex crate by @kimono-koans in https://github.com/uutils/coreutils/pull/2781
  • Fix newline when only dirs in base directory by @kimono-koans in https://github.com/uutils/coreutils/pull/2853
  • Fix padding for dangling links in non-Long formats by @kimono-koans in https://github.com/uutils/coreutils/pull/2856
  • Fix device display by @kimono-koans in https://github.com/uutils/coreutils/pull/2855

๐Ÿ“ฆ `more`

  • Add next-line and prev-line command by @E3uka in https://github.com/uutils/coreutils/pull/2771

๐Ÿ“ฆ `mv`

  • Fix bug: Should be able to stat files, but not able to mv if source and target are the same by @kimono-koans in https://github.com/uutils/coreutils/pull/2763

๐Ÿ“ฆ `numfmt`

  • Implement `--suffix` option by @sbentmar in https://github.com/uutils/coreutils/pull/2841

๐Ÿ“ฆ `rm`

  • Allow `-r` flag to be specified multiple times by @kevinburke in https://github.com/uutils/coreutils/pull/2732
  • Silently accepts ---presume-input-tty by @hbina in https://github.com/uutils/coreutils/pull/2532

๐Ÿ“ฆ `seq`

  • Use `BigDecimal` to represent floats by @jfinkels in https://github.com/uutils/coreutils/pull/2698
  • Correct fixed-width spacing for inf sequences by @jfinkels in https://github.com/uutils/coreutils/pull/2740

๐Ÿ“ฆ `split`

  • Add `--verbose` option by @jfinkels in https://github.com/uutils/coreutils/pull/2872
  • Correct filename creation algorithm by @jfinkels in https://github.com/uutils/coreutils/pull/2859

๐Ÿ“ฆ `tail`

  • Improve error handling when file not found by @jfinkels in https://github.com/uutils/coreutils/pull/2886
  • Implement `-<number>` flag by @Smicry in https://github.com/uutils/coreutils/pull/2747

โœจ New Contributors

  • @kevinburke made their first contribution in https://github.com/uutils/coreutils/pull/2732
  • @palfrey made their first contribution in https://github.com/uutils/coreutils/pull/2734
  • @ybc37 made their first contribution in https://github.com/uutils/coreutils/pull/2766
  • @E3uka made their first contribution in https://github.com/uutils/coreutils/pull/2771
  • @refi64 made their first contribution in https://github.com/uutils/coreutils/pull/2778
  • @sbentmar made their first contribution in https://github.com/uutils/coreutils/pull/2841
  • @moko256 made their first contribution in https://github.com/uutils/coreutils/pull/2858
  • Full Changelog: https://github.com/uutils/coreutils/compare/0.0.8...0.0.12