0.0.25
版本发布时间: 2024-03-24 04:56:02
uutils/coreutils最新发布版本:0.0.27(2024-06-24 01:12:21)
📦 Rust Coreutils 0.0.25 Release:
We're thrilled to announce version 0.0.25. We added +15 GNU passing tests since our last update! More and more programs have a full compatibility with the GNU testsuite. The current list is: base64, basename, cat, chgrp, chmod, chown, dirname, expand, fold, groups, join, ln, mktemp, nice, nl, nproc, paste, pathchk, printenv, realpath, shuf, sleep, split, sync, unexpand, uniq, wc and yes.
This release saw contributions from 31 developers, including 14 newcomers.
Some of this work has been supported by the Sovereign Tech Fund.
If you want to help us, please consider sponsoring on GitHub. This helps us use better tools like GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
Visit our website at https://uutils.github.io.
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% |
For more details, visit https://github.com/uutils/coreutils-tracking/.
What's Changed
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 fromuucore
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
tochrono::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 - android disk space issue by @cre4ture in https://github.com/uutils/coreutils/pull/5943
- tests/common/util.rs: add
cfg(feature = "env")
by @cakebaker in https://github.com/uutils/coreutils/pull/6044 - deny.toml: add redox_syscall to skip list by @cakebaker in https://github.com/uutils/coreutils/pull/6066
- Android CI: workaround: run builds with retry by @cre4ture in https://github.com/uutils/coreutils/pull/5993
- deny.toml: remove deprecated keys, opt-in to v2 by @cakebaker in https://github.com/uutils/coreutils/pull/6065
- test utilities: easy way to simulate terminal context by @cre4ture in https://github.com/uutils/coreutils/pull/5869
- ci: use codecov token in CICD/GnuTests workflows by @cakebaker in https://github.com/uutils/coreutils/pull/5938
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
toconfig.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
- Fix/flaky
split
round robin limited fds by @cre4ture in https://github.com/uutils/coreutils/pull/6043 - Fix "item x imported redundantly" warnings by @cakebaker in https://github.com/uutils/coreutils/pull/5988
- cargo: fix feature = "cargo-clippy" deprecation by @rex4539 in https://github.com/uutils/coreutils/pull/6027
- Fix/flaky timeout kill subprocess by @cre4ture in https://github.com/uutils/coreutils/pull/6061
- Fix two "item x is imported redundantly" warnings by @cakebaker in https://github.com/uutils/coreutils/pull/6077
- pr/chgrp: fix warnings by @cakebaker in https://github.com/uutils/coreutils/pull/6054
- Un-Ignore two tests that fail for nonsense reasons by @BenWiederhake in https://github.com/uutils/coreutils/pull/5997
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
- chore(deps): update rust crate tempfile to 3.10.0 by @renovate in https://github.com/uutils/coreutils/pull/5948
- chore(deps): update rust crate unicode-segmentation to 1.11.0 by @renovate in https://github.com/uutils/coreutils/pull/5953
- chore(deps): update rust crate num-traits to 0.2.18 by @renovate in https://github.com/uutils/coreutils/pull/5956
- chore(deps): update rust crate chrono to ^0.4.34 by @renovate in https://github.com/uutils/coreutils/pull/5967
- chore(deps): update rust crate textwrap to 0.16.1 by @renovate in https://github.com/uutils/coreutils/pull/5985
- chore(deps): update rust crate tempfile to 3.10.1 by @renovate in https://github.com/uutils/coreutils/pull/6023
- chore(deps): update rust crate half to 2.4 by @renovate in https://github.com/uutils/coreutils/pull/6021
- chore(deps): update rust crate rayon to 1.9 by @renovate in https://github.com/uutils/coreutils/pull/6026
- chore(deps): update rust crate walkdir to 2.5 by @renovate in https://github.com/uutils/coreutils/pull/6038
- chore(deps): update softprops/action-gh-release action to v2 by @renovate in https://github.com/uutils/coreutils/pull/6049
- chore(deps): update rust crate blake3 to 1.5.1 by @renovate in https://github.com/uutils/coreutils/pull/6057
- chore(deps): update rust crate regex to 1.10.4 by @renovate in https://github.com/uutils/coreutils/pull/6107
- Bump smallvec from 1.13.0 to 1.13.1 by @cakebaker in https://github.com/uutils/coreutils/pull/5874
- Bump shlex from 1.1.0 to 1.3.0 by @cakebaker in https://github.com/uutils/coreutils/pull/5871
- Bump mio from 0.8.10 to 0.8.11 by @cakebaker in https://github.com/uutils/coreutils/pull/6045
- Bump chrono to 0.4.35 & replace usage of deprecated functions by @cakebaker in https://github.com/uutils/coreutils/pull/6047
- Bump nix from 0.27 to 0.28 & fix issues due to API changes by @cakebaker in https://github.com/uutils/coreutils/pull/6055
- Bump redox_syscall from 0.4 to 0.5 by @cakebaker in https://github.com/uutils/coreutils/pull/6068
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
- @ysthakur made their first contribution in https://github.com/uutils/coreutils/pull/5951
- @matrixhead made their first contribution in https://github.com/uutils/coreutils/pull/6050
- @cj-zoltan-kiss made their first contribution in https://github.com/uutils/coreutils/pull/6036
- @Krysztal112233 made their first contribution in https://github.com/uutils/coreutils/pull/6092
- @thesayfulla made their first contribution in https://github.com/uutils/coreutils/pull/6098
- @hanbings made their first contribution in https://github.com/uutils/coreutils/pull/6101
Full Changelog: https://github.com/uutils/coreutils/compare/0.0.24...0.0.25