📦 Announcing Rust Coreutils version 0.0.21. This release showcases enhanced compatibility with the GNU test suite, particularly following our upgrade to GNU Coreutils 9.4. We've made technical improvements across various utilities, ensuring more robust and efficient operations. As always, we prioritize precision and performance in our updates. Dive into the detailed changelog for a comprehensive overview. 🛠️
We have a fancy new website powered by oranda
! Check it out here: https://uutils.github.io.
Supporting our development is as easy as sponsoring us on GitHub! Your contributions can help us afford a more robust Continuous Integration process through GitHub Actions. To sponsor, please visit https://github.com/sponsors/uutils.
GNU test suite compatibility
The observed changes in the test results for the Rust Coreutils version 0.0.21 are attributed to our upgrade to use GNU Coreutils 9.4 as a reference for comparison. This newer version of GNU Coreutils introduced differences that are reflected in our test outcomes. Additionally, we've actively contributed to the GNU Coreutils by reorganizing tests into a more optimal structure, significantly enhancing the results of the GNU test coverage. More details can be found in our test coverage documentation.
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 |
What's Changed
cat
- cat: remove --t by @cakebaker in #5089
chown
- chown: remove some duplication in tests by @cakebaker in #5168
cp
cp
: re-exportuucore::{BackupMode, UpdateMode}
by @tertsdiepraam in #5211cp
: finish progress bar to make it always show up by @tertsdiepraam in #5235cp
: make more types public and add more documentation (for nushell) by @tertsdiepraam in #5152
csplit
- csplit: remove explicit "into_iter()" by @cakebaker in #5109
date
dd
- parse_size,dd: turn instance fns to associated fns by @cakebaker in #5207
factor
factor
: short circuit on write error, but not on parse error by @tertsdiepraam in #5225- factor: simplify loop in test by @cakebaker in #5192
fmt
- fmt: fix panic on width argument by @bluelief in #5159
- fmt: implement Default for FmtOptions by @cakebaker in #4747
hashsum
hashsum
: change debug to display format with --tag by @tertsdiepraam in #5219
mktemp
mknod
- mknod: remove unnecessary "not" in test by @cakebaker in #5233
mv
- mv: remove unnecessary OR in condition by @cakebaker in #5143
nl
- nl: allow negative values for --line-increment and --starting-line-number by @cakebaker in #5078
- nl: fix calculation of line number lengths by @cakebaker in #5091
- nl: fix zero padding of negative line numbers by @cakebaker in #5098
- nl: show error if --join-blank-lines is zero by @cakebaker in #5103
- nl: shorten variants of NumberingStyle enum by @cakebaker in #5100
- nl: fix output of numbering styles by @cakebaker in #5131
- nl: re-add handling for -p/--no-renumber by @cakebaker in #5155
- nl: implement TryFrom<&str> for NumberingStyle by @cakebaker in #5156
- nl: handle line number overflow by @cakebaker in #5163
rm
- rm: refactor prompt_file() by @cakebaker in #5147
- Add benchmarking for
rm
by @Benjscho in #5187
seq
- seq: display -0 by @shinhs0506 in #5136
- seq: remove unused param from write_value_float() by @cakebaker in #5137
sum
split
- split: loop over chars and remove char_from_digit function by @shinhs0506 in #5153
- split: better handle numeric and hex suffixes, short and long, with and without values by @zhitkoff in #5198
stat
- stat: Output error when - and -f are used together. by @Skryptonyte in #5144
stty
test
- Fuzz the test command by @sylvestre in #4641
touch
touch
: move fromtime
tochrono
by @tertsdiepraam in #4600
tsort
website & documentation
- docs: fix broken Arch package link by @theoludwig in #5084
- website: fix
path_prefix
in oranda by @tertsdiepraam in #5175 - docs: add missing "not" by @cakebaker in #5178
- Docs platform support page by @tertsdiepraam in #5172
- docs: github repo link related to uutils/coreutils by @theoludwig in #5085
- website: fix changelog config by @tertsdiepraam in #5215
- docs: add conda installer by @tertsdiepraam in #5185
- README: update links to docs by @tertsdiepraam in #5190
- docs(bin,has): add docstrings for macros bin and has by @nouritsu in #5129
- Add the Perl Power Tools impl by @sylvestre in #5105
Build system & CI
- uucore: make deps of "sum" feature optional by @cakebaker in #5227
- uucore: make "dunce" optional by @cakebaker in #5229
- uucore: turn backup_control into a feature by @cakebaker in #5231
- uucore: turn ranges into a feature by @cakebaker in #5238
- uucore: turn update_control into a feature by @cakebaker in #5232
- upgrade to GNU/coreutils 9.4 by @sylvestre in #5221
- make: split the manpage / completions generation into their target by @sylvestre in #5092
- make: uninstall man pages by @miles170 in #5101
- Improve the coreutils manpage by @sylvestre in #5093
- uucore: use "workspace=true" for some dependencies by @cakebaker in #5110
- ci: add default_trait_access lint and fix its warnings by @cakebaker in #5081
- ci: Add a new workflow to check and format shell scripts in
util
dir by @starccy in #5077 - "style(util): fix/format scripts to meet the
shellcheck
/shfmt
rules" by @starccy in #5090 Cargo.toml
: addfeat_require_unix_hostid
tofeat_os_unix
by @tertsdiepraam in #5179- only set SELINUX_ENABLED=1 on Linux by @sylvestre in #5112
- build-gnu.sh: indent comment by @cakebaker in #5118
- 0.0.20 => 0.0.21 by @sylvestre in #5237
Various improvements
- uucore: remove unnecessary heap allocation by @thechampagne in #5228
- Fix clippy warnings with Rust 1.72.0 by @cakebaker in #5204
- Fix some of the recent clippy warnings by @sylvestre in #5182
- uucore: don't show error for ambiguous value by @cakebaker in #5127
- uucore: provide capacity for vectors by @shinhs0506 in #5086
- use is_empty() in mv & rmdir by @shinhs0506 in #5117
- Extract uucore::line_ending::LineEnding by @simon04 in #5120
- uucore,comm: fix warnings from bool_to_int_with_if by @cakebaker in #5206
Dependencies
- chore(deps): update rust crate chrono to ^0.4.28 by @renovate in #5226
- chore(deps): update rust crate regex to 1.9.5 by @renovate in #5234
- Bump windows-targets from 0.48.0 to 0.48.2 by @cakebaker in #5161
- Downgrade windows-targets from 0.48.2 to 0.48.0 by @cakebaker in #5167
- Bump js-sys from 0.3.60 to 0.3.64 by @cakebaker in #5154
- chore(deps): update rust crate rstest to 0.18.2 by @renovate in #5157
- Bump cpp to remove aho-corasick from skip list in deny.toml by @cakebaker in #5165
- chore(deps): update rust crate signal-hook to 0.3.17 by @renovate in #5097
- chore(deps): update rust crate signal-hook to 0.3.16 by @renovate in #5087
- chore(deps): update rust crate rlimit to 0.10.1 by @renovate in #5099
- chore(deps): update rust crate num-traits to 0.2.16 by @renovate in #5108
- chore(deps): update rust crate xattr to 1.0.1 by @renovate in #5121
- chore(deps): update rust crate regex to 1.9.3 by @renovate in #5132
- Bump fundu & fix two failing tests by @cakebaker in #5139
- Bump rustix crates by @cakebaker in #5141
- Bump aho-corasick crates by @cakebaker in #5140
- Bump futures from 0.3.25 to 0.3.28 by @cakebaker in #5145
- Bump cpp from 0.5.7 to 0.5.8 by @cakebaker in #5146
- chore(deps): update rust crate regex to 1.9.4 by @renovate in #5208
- chore(deps): update rust crate lscolors to 0.15.0 by @renovate in #5111
- Bump unicode-linebreak from 0.1.4 to 0.1.5 by @cakebaker in #5113
- chore(deps): update rust crate chrono to ^0.4.27 by @renovate in #5220
- chore(deps): update davidanson/markdownlint-cli2-action action to v12 by @renovate in #5223
- chore(deps): update rust crate tempfile to 3.8.0 by @renovate in #5169
- deny.toml: add bitflags to skip list by @cakebaker in #5134
- deny.toml: remove redox_syscall from skip list by @cakebaker in #5135
- chore(deps): update rust crate crossterm to >=0.27.0 by @renovate in #5133
- chore(deps): update rust crate num-bigint to 0.4.4 by @renovate in #5196
- Some updates of deps by @tertsdiepraam in #5148
- chore(deps): update is-terminal and tempfile in Cargo.toml by @tertsdiepraam in #5151
code header
- Add license headers on all files by @sylvestre in #5183
- Remove the author copyright notices by @sylvestre in #5184
- Remove the author copyright notices by @cakebaker in #5197
- All: normalize license notice in all
*.rs
files by @tertsdiepraam in #5199 - Remove the author copyright notices by @cakebaker in #5205
New Contributors
- @theoludwig made their first contribution in #5085
- @starccy made their first contribution in #5077
- @simon04 made their first contribution in #5116
- @nouritsu made their first contribution in #5129
- @bluelief made their first contribution in #5159
- @tommady made their first contribution in #5160
- @Benjscho made their first contribution in #5187
- @zhitkoff made their first contribution in #5198
- @thechampagne made their first contribution in #5228
Full Changelog: 0.0.20...0.0.21