docs/src/release-notes/0.2.0.md
Version: 0.2.0 Published: 2025-09-06T21:54:03Z
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.
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.
| 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 |
π 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
/ by @drinkcat in https://github.com/uutils/coreutils/pull/8372clap render help & version by @cakebaker in https://github.com/uutils/coreutils/pull/8199-d, last wins by @cakebaker in https://github.com/uutils/coreutils/pull/8507OsString by @drinkcat in https://github.com/uutils/coreutils/pull/8371du/ls: Unify file metadata time handling by @drinkcat in https://github.com/uutils/coreutils/pull/8396du/ls: Improve time-style handling based on GNU coreutils manual by @drinkcat in https://github.com/uutils/coreutils/pull/8415--version is the only argument by @cakebaker in https://github.com/uutils/coreutils/pull/8341expr.pl from why-error.md by @frendsick in https://github.com/uutils/coreutils/pull/8022BadEncoding variant of HeadError by @cakebaker in https://github.com/uutils/coreutils/pull/8484uumain by @cakebaker in https://github.com/uutils/coreutils/pull/8497bool as return type of need_copy by @cakebaker in https://github.com/uutils/coreutils/pull/8288unsafe extern "C" block by @cakebaker in https://github.com/uutils/coreutils/pull/8177next() instead of peekable().peek() in is_empty_dir() by @cakebaker in https://github.com/uutils/coreutils/pull/8413OsString for --number-separator by @cakebaker in https://github.com/uutils/coreutils/pull/8519--join-blank-lines by @cakebaker in https://github.com/uutils/coreutils/pull/8540flo16/flo32/flo64 to f16/f32/f64 in function names by @cakebaker in https://github.com/uutils/coreutils/pull/8369file_last_modified_time_format() by @cakebaker in https://github.com/uutils/coreutils/pull/8420--interactive arg aliases by @cakebaker in https://github.com/uutils/coreutils/pull/8419uumain by @cakebaker in https://github.com/uutils/coreutils/pull/8045is_dir_empty from O(n) to O(1) by @cakebaker in https://github.com/uutils/coreutils/pull/8384stat: Convert to use uucore functions by @drinkcat in https://github.com/uutils/coreutils/pull/8398cfg by @cakebaker in https://github.com/uutils/coreutils/pull/8262stty: remove quotes around strings in locale files by @willshuttleworth in https://github.com/uutils/coreutils/pull/8290stty: special settings by @willshuttleworth in https://github.com/uutils/coreutils/pull/8309linux_only module by @cakebaker in https://github.com/uutils/coreutils/pull/8225parse_datetime & adapt touch tests by @cakebaker in https://github.com/uutils/coreutils/pull/8424uptime_since by @cakebaker in https://github.com/uutils/coreutils/pull/8164match instead of if/else chain by @cakebaker in https://github.com/uutils/coreutils/pull/8541to_string_lossy only once in dir_strip_dot_for_creation by @cakebaker in https://github.com/uutils/coreutils/pull/8399format_float_shortest by @drinkcat in https://github.com/uutils/coreutils/pull/8444lines() by @cakebaker in https://github.com/uutils/coreutils/pull/8536\n with a new line in ftl files by @cakebaker in https://github.com/uutils/coreutils/pull/8349inefficient_to_string lint by @nyurik in https://github.com/uutils/coreutils/pull/8303map_unwrap_or lint by @nyurik in https://github.com/uutils/coreutils/pull/8302uninlined_format_args lint by @cakebaker in https://github.com/uutils/coreutils/pull/8279match_on_vec_items lint by @cakebaker in https://github.com/uutils/coreutils/pull/82771.89 by @cakebaker in https://github.com/uutils/coreutils/pull/8446ARTIFACTS_SUFFIX if "features" not set by @cakebaker in https://github.com/uutils/coreutils/pull/8113macos-latest instead of macos-13 by @cakebaker in https://github.com/uutils/coreutils/pull/8334-U/--no-utf8 as extension of expand/unexpand by @cakebaker in https://github.com/uutils/coreutils/pull/8236--version argument to print main binary version by @MarcusGrass in https://github.com/uutils/coreutils/pull/8127onig from 6.4.0 to 6.5.1 by @cakebaker in https://github.com/uutils/coreutils/pull/7976type-map by @cakebaker in https://github.com/uutils/coreutils/pull/7993coz dependency by @cakebaker in https://github.com/uutils/coreutils/pull/8021procfs dependency & adapt cp test by @cakebaker in https://github.com/uutils/coreutils/pull/8027windows-sys & adapt to API change by @cakebaker in https://github.com/uutils/coreutils/pull/8160phf and phf_codegen & fix compilation errors by @cakebaker in https://github.com/uutils/coreutils/pull/8233linux-raw-sys by @cakebaker in https://github.com/uutils/coreutils/pull/8289windows-sys version from skip list by @cakebaker in https://github.com/uutils/coreutils/pull/8438parse_datetime & adapt touch tests by @cakebaker in https://github.com/uutils/coreutils/pull/8424selinux by @cakebaker in https://github.com/uutils/coreutils/pull/8502phf & phf_codegen from 0.12.1 to 0.13.1 by @cakebaker in https://github.com/uutils/coreutils/pull/8516windows-sys from 0.60.1 to 0.61.0 by @cakebaker in https://github.com/uutils/coreutils/pull/8557Full Changelog: https://github.com/uutils/coreutils/compare/0.1.0...0.2.0