Aquesta és una versió anterior. La versió actual és la 0.12.0. coreutils 0.12.0 · Data de publicació:
Fitxers d’instal·lació 0.2.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
| ARM64 | ZIP → Portable | — | — | github.com | VirusTotal |
| 32 bits | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
📦 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
or contribute directly via our l10n repository
- Unicode & Non-UTF8 Path Support
All programs now handle non-UTF8 paths seamlessly while supporting full Unicode features.
Example: echo "🍔🍟🥤" | cut -d"🍟" -f1 works perfectly with emoji delimiters!
- Massive Performance Gains
Notable example: tr went from 9.81x slower than GNU to 1.58x faster — a 15x improvement!
Additional optimizations in sort, cat, and other utilities.
- Enhanced GNU Compatibility
538 passing tests (+16 from 0.1.0), with reduced failures from 65 to 52.
Continued improvements in edge case handling and behavior matching.
- Production Ready for Ubuntu
As part of Ubuntu's announcement of plans to integrate Rust Coreutils, this release focuses on stability and compatibility improvements to ensure Ubuntu users have the best possible experience.
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 │ │ │
──────┴─────┴─────┴─────────────────────┴─────────────┴─────────────┴───────────────────────
GNU testsuite evolution
Call to Action:
🌍 Help us translate - Contribute translations at Weblate
🚀 Sponsor us on GitHub to accelerate development: github.com/sponsors/uutils
🔗 Download the latest release: https://uutils.github.io
What's Changed
basenc
- allow non-UTF8 filenames by @cakebaker in #8558
basename
- Simply logic, do not trim path separators / by @drinkcat in #8372
- handle a corner case with /. - Closes #8373 by @sylvestre in #8374
- Handle non-unicode parameters by @drinkcat in #8375
cat
- Fix reporting "input file is output file" error when outputting to an input file by @frendsick in #8025
- add error handling in write_fast function by @yuankunzhang in #8091
- handle broken pipe gracefully by @tgrez in #8336
chmod
- fix recursive symlink handling for -H/-L/-P flags (Closes: #8422) by @sylvestre in #8450
- remove Windows function & unnecessary cfgs by @cakebaker in #8458
- make a test environment-agnostic by @sylvestre in #8525
chown
- fix --reference file syntax by @Anonymous-AAA in #8492
chroot
- remove unwrap calls by @jovielarue in #7890
cksum
- remove duplicate unit test by @cakebaker in #8151
- Fix file quoting on stderr by @RenjiSann in #8272
- two small refactorings by @cakebaker in #8527
cp
- migrate from quick-error to thiserror by @vikram-kangotra in #7989
- clean existing file when copy from stream by @Luv-Ray in #8149
- let clap render help & version by @cakebaker in #8199
- Fix --no-dereference --parents with symlink source by @julian-klode in #8331
- Try to change gid only if changing uid+gid fails by @drinkcat in #8385
- Properly preserves fifos and symlink attributes by @drinkcat in #8416
- fix directory permission preservation for sibling directories with -a (Closes: #8407) by @sylvestre in #8449
- fix recursive socket file copy by @Anonymous-AAA in #8478
csplit
- fix two issues with non ASCII digits by @cakebaker in #8020
date
- date/ls: Switch from chrono to jiff by @drinkcat in #7894
- update deprecated TZ by @sylvestre in #8405
- allow multiple -d, last wins by @cakebaker in #8507
- add hidden aliases --rfc-2822/822 for GNU compat by @schopin-pro in #8550
df
- Move to using OsString by @drinkcat in #8371
du
- create the string into the main thread to avoid some translations issue by @sylvestre in #8338
- du/ls: Merge date formatting code, and handle timestamps far in the future/past by just printing them by @drinkcat in #8390
- du/ls: Unify file metadata time handling by @drinkcat in #8396
- du/ls: Improve time-style handling based on GNU coreutils manual by @drinkcat in #8415
echo
- fixed double hyphen as argument by @cerdelen in #7581
- Remove clap for echo by @cerdelen in #7603
- print help if not posixly correct and only argument is --help by @RGBCube in #8310
- show version when --version is the only argument by @cakebaker in #8341
env
- use execvp instead of Command::status on Unix systems by @yuankunzhang in #8365
- invalid syntx with the french fluent file by @sylvestre in #8530
expr
- Handle more special cases for regex pattern by @frendsick in #7974
- Fix parsing range quantifiers in regex by @frendsick in #7997
- Fix handling of regex range quantifiers by @frendsick in #8010
- Remove expr.pl from why-error.md by @frendsick in #8022
- fix substr parsing by @tgrez in #8158
- fix builtin functions precedence by @tgrez in #8162
factor
- fix two "unused import" warnings in test by @cakebaker in #8526
fmt
- Fix the last two GNU tests for fmt by @sylvestre in #8264
fold
- process streams as bytes, not strings, to handle non-utf8 data by @phinjensen in #8241
hashsum
- don't exit early on io errors by @Qelxiros in #7918
head
- fix bug with non-terminated files. by @karlmcdowall in #7484
- fix meaning of ---presume-input-pipe by @bvinc in #8315
- remove BadEncoding variant of HeadError by @cakebaker in #8484
- refactor uumain by @cakebaker in #8497
install
- don't error when multiple arguments of the same type are given, instead override with last one (#8033) by @jenningsfan in #8053
- implement option -C by @sylvestre in #8265
- use bool as return type of need_copy by @cakebaker in #8288
- Fix --no-target-directory with existing file by @julian-klode in #8412
- install, mkdir: Handle dir/./ like dir/. by @julian-klode in #8366
ln
- fix #6350 by @RenjiSann in #7449
- rename error variant by @cakebaker in #8035
logname
- remove unsafe extern "C" block by @cakebaker in #8177
ls
- move recent time threshold comment by @deadmeu in #8214
- follow symlinks for xattrs, fix #8216 by @sudhackar in #8217
- fix the GNU test tests/ls/selinux.sh by @sylvestre in #8281
- improve the test when running selinux by @sylvestre in #8403
- -u/-c/--time control sorting when -l is not used by @drinkcat in #8417
mkdir
- Fix mkdir with non-unicode parameters by @drinkcat in #8367
- Replaced strict restorecon compatibility check with validation… by @sylvestre in #8340
- refactor(mkdir): Simplify mode argument parsing by @amirhosseinghanipour in #8406
mkfifo
- support symbolic mode by @yuankunzhang in #8440
mknod
- set cli specified file mode even when it's 0o666 by @TheJJ in #8343
mktemp
- allow empty string arguments for -p/--tmpdir options by @yuankunzhang in #8447
more
- tests: cleanup processes in test_valid_arg by @martinkunkel2 in #8430
mv
- moving dangling symlinks into directories by @albus-droid in #8064
- improve the hardlink support by @sylvestre in #8296
- add support for selinux and add minor refactor by @sylvestre in #8333
- use next() instead of peekable().peek() in is_empty_dir() by @cakebaker in #8413
- move a string in fluent by @sylvestre in #8434
- treat symlinks as files by @id3v1669 in #8528
nice
- remove useless translations by @sylvestre in #8295
nl
- use OsString for --number-separator by @cakebaker in #8519
- allow zero for --join-blank-lines by @cakebaker in #8540
- support files with non-utf8 content by @cakebaker in #8544
od
- fix handling of non-ascii chars by @tgrez in #8268
- fix typo in help by @cakebaker in #8344
- Fixes float formatting in scientific notation by @yonatan-linik in #8352
- Add support for -tfH and -tfB by @karanabe in #8354
- rename flo16/flo32/flo64 to f16/f32/f64 in function names by @cakebaker in #8369
- use underscores in filenames, adapt modules by @cakebaker in #8393
- Switch f16 print to width=15/16, precision=8 by @drinkcat in #8433
pr
- Add support for -D/--date-format parameter by @drinkcat in #8418
- reduce nesting to improve readability of file_last_modified_time_format() by @cakebaker in #8420
printf
- Fix formatting hexadecimals with padding by @frendsick in #8185
- accept non-UTF-8 input in FORMAT and ARGUMENT arguments by @drinkcat in #8329
pwd
- style(pwd): simplify physical_path implementation by @amirhosseinghanipour in #8409
realpath
- use consts for all options by @cakebaker in #8150
rm
- add support for the --interactive arg aliases by @cakebaker in #8419
- do "early return" earlier in uumain by @cakebaker in #8045
- rename two consts for better readability by @cakebaker in #8070
- consistent naming of test functions by @cakebaker in #8084
- fix too long filename corner case by @tgrez in #8299
- improve is_dir_empty from O(n) to O(1) by @cakebaker in #8384
- remove duplicate test by @cakebaker in #8494
- fix unused var warning on non-(unix & windows) by @cakebaker in #8495
shred
- implement and test feature --random-source by @BenWiederhake in #7948
sort