Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.release notes
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"🍟" -f1works perfectly with emoji delimiters!Massive Performance Gains
Notable example:
trwent 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.
Contributions
This release includes 1183 commits from 46+ contributors, including 28 newcomers!
All this with a code coverage about 87%!
GNU Test Suite Compatibility:
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
basename
/by @drinkcat in basename: Simply logic, do not trim path separators/uutils/coreutils#8372cat
chmod
chown
chroot
cksum
cp
claprender help & version by @cakebaker in cp: letclaprender help & version uutils/coreutils#8199cp: Properly preserves fifos and symlink attributes uutils/coreutils#8416csplit
date
-d, last wins by @cakebaker in date: allow multiple-d, last wins uutils/coreutils#8507df
OsStringby @drinkcat in df: Move to usingOsStringuutils/coreutils#8371du
du/ls: Unify file metadata time handling by @drinkcat indu/ls: Unify file metadata time handling uutils/coreutils#8396du/ls: Improve time-style handling based on GNU coreutils manual by @drinkcat indu/ls: Improve time-style handling based on GNU coreutils manual uutils/coreutils#8415echo
--versionis the only argument by @cakebaker in echo: show version when--versionis the only argument uutils/coreutils#8341env
expr
expr.plfromwhy-error.mdby @frendsick in expr: Removeexpr.plfromwhy-error.mduutils/coreutils#8022factor
fmt
fold
hashsum
head
BadEncodingvariant ofHeadErrorby @cakebaker in head: removeBadEncodingvariant ofHeadErroruutils/coreutils#8484uumainby @cakebaker in head: refactoruumainuutils/coreutils#8497install
boolas return type ofneed_copyby @cakebaker in install: useboolas return type ofneed_copyuutils/coreutils#8288ln
logname
unsafe extern "C"block by @cakebaker in logname: removeunsafe extern "C"block uutils/coreutils#8177ls
mkdir
mkfifo
mknod
mktemp
more
mv
next()instead ofpeekable().peek()inis_empty_dir()by @cakebaker in mv: usenext()instead ofpeekable().peek()inis_empty_dir()uutils/coreutils#8413nice
nl
OsStringfor--number-separatorby @cakebaker in nl: useOsStringfor--number-separatoruutils/coreutils#8519--join-blank-linesby @cakebaker in nl: allow zero for--join-blank-linesuutils/coreutils#8540od
flo16/flo32/flo64tof16/f32/f64in function names by @cakebaker in od: renameflo16/flo32/flo64tof16/f32/f64in function names uutils/coreutils#8369pr
file_last_modified_time_format()by @cakebaker in pr: reduce nesting to improve readability offile_last_modified_time_format()uutils/coreutils#8420printf
pwd
realpath
rm
--interactivearg aliases by @cakebaker in rm: support the--interactivearg aliases uutils/coreutils#8419uumainby @cakebaker in rm: do "early return" earlier inuumainuutils/coreutils#8045is_dir_emptyfrom O(n) to O(1) by @cakebaker in rm: improveis_dir_emptyfrom O(n) to O(1) uutils/coreutils#8384shred
sort
stat
stat: Convert to useuucorefunctions by @drinkcat instat: Convert to useuucorefunctions uutils/coreutils#8398stdbuf
stty
cfgby @cakebaker in stty: remove redundantcfguutils/coreutils#8262stty: remove quotes around strings in locale files by @willshuttleworth instty: remove quotes around strings in locale files uutils/coreutils#8290stty: special settings by @willshuttleworth instty: special settings uutils/coreutils#8309sync
tail
tee
linux_onlymodule by @cakebaker in tee: move test tolinux_onlymodule uutils/coreutils#8225timeout
touch
parse_datetime& adapttouchtests by @cakebaker in Bumpparse_datetime& adapttouchtests uutils/coreutils#8424tr
uname
unexpand
uptime
uptime_sinceby @cakebaker in uptime: improve readability ofuptime_sinceuutils/coreutils#8164users
who
matchinstead ofif/elsechain by @cakebaker in who: usematchinstead ofif/elsechain uutils/coreutils#8541uucore
to_string_lossyonly once indir_strip_dot_for_creationby @cakebaker in uucore/fs: callto_string_lossyonly once indir_strip_dot_for_creationuutils/coreutils#8399format_float_shortestby @drinkcat in uucore: num_format: Optimizeformat_float_shortestuutils/coreutils#8444lines()by @cakebaker in uucore/clap_localization: use iterator fromlines()uutils/coreutils#8536Localization & Internationalization
\nwith a new line in ftl files by @cakebaker in l10n: replace\nwith a new line in ftl files uutils/coreutils#8349View the full release notes at https://github.com/uutils/coreutils/releases/tag/0.2.0.