Випуск Rust Coreutils 0.4: Поліпшення та нові можливості

Випуск Rust Coreutils 0.4: Поліпшення та нові можливості

Проект Rust Coreutils, який має на меті надати повну, сучасну реалізацію GNU Core Utilities — основних командних інструментів, що присутні на кожній системі Linux та Unix-подібних системах, оголосив про випуск версії 0.4.

Реальні досягнення в Linux-дистрибутивах

Зазначається, що зростаюча зрілість проекту вже привела до реального впровадження в деяких дистрибутивах Linux, таких як Ubuntu 25.10 “Questing Quokka” та AerynOS. Обидва дистрибутиви тепер використовують Rust Coreutils для вибірки системних утиліт.

Поліпшення та функціонал в новій версії

Версія 0.4 наближає проект до досягнення повної сумісності з GNU Coreutils. За словами розробників, останні результати тестів виявили 544 успішних тестів, що є збільшенням з 532 у попередньому випуску 0.3. Це підвищує загальну сумісність до 85.8%, а кількість помилок зменшилася з 68 до 56.

Серед помітних поліпшень — покращена обробка часових зон у утиліті date, яка стала більш схожою на версію GNU. Також було внесено загальні виправлення надійності в інструменти, такі як cat, comm та readlink.

Оптимізації та нові функції утиліт

Кілька утиліт також отримали внутрішню оптимізацію, спрямовану на покращення продуктивності та стабільності. Команда factor тепер використовує crate num_prime для значно швидшої факторизації u64 та u128. Утиліта tsort була переписана для використання алгоритму поглибленого пошуку, що виправляє можливі переповнення стеку в глибоко вкладених графах залежностей.

Також інструмент cksum пройшов значну модернізацію, отримавши покриття бенчмарків і підтримку алгоритмів SHA-2 та SHA-3. Він також інтегрує функціональність hashsum, яку тепер застаріли, щоб усунути розбіжності в інтерфейсі з реалізацією GNU.

Інші утиліти також отримали цілеспрямовані виправлення: mkdir тепер безпечно обробляє глибоко вкладені каталоги без переповнень стеку, printf краще управляє великими форматами, а dd коректно обробляє часткові записи блоків під час використання O_DIRECT.

Ширша крос-платформена сумісність

Крім того, Rust Coreutils 0.4.0 вводить ширшу крос-платформену сумісність, включаючи нову підтримку OpenBSD для stdbuf і uptime, а також покращення зборки та тестування на FreeBSD.

Для отримання повного списку змін і технічних деталей, відвідайте чangelog.