[Перевод] Релиз Rust 1.0 Beta
Сегодня мы рады представить релиз Rust 1.0 Beta! Бета-релиз является очень важным звеном на пути к финальному релизу 1.0. В частности, в бета-релизе все библиотеки и элементы языка, которые мы собирались сделать стабильными в 1.0, отмечены как стабильные. Поэтому по бета-релизу можно весьма точно представить, что вас будет ожидать в Rust 1.0.Список основных изменений в новой версии можно найти в примечаниях к выпуску.
Бета-релиз также является поворотным пунктом в нашем подходе к стабильности (перевод). Во время альфа-цикла использование нестабильных API и элементов языка разрешалось, но вызывало предупреждения компилятора. Начиная с беты, однако, их использование станет ошибкой (в случае, если вы не используете nightly- или собстенные сборки).
Экосистема Rust продолжает уверенно расти. Репозиторий crates.io уже предоставляет больше 1700 пакетов и только что отметил миллионное скачивание. Многие из самых популярных пакетов собираются стабильным подмножеством Rust, а над остальными ведётся работа. Поэтому мы рекомендуем новым пользователям начать знакомство с Rust с бета-релиза, а не с nightly-сборок, и поэтому мы изменили скрипт rustup.sh так, что теперь он по умолчанию устанавливает бета-версию. При этом вы всегда можете переключиться на nighly-срборку, если какие-либо из зависимостей вашего проекта ещё не обновились.
Что планируется в бета-цикле? Финальный релиз Rust 1.0 запланирован на 15 мая — в точности шесть недель от данного момента. В это время мы собираемся приложить свои усилия к исправлению ошибок, улучшению документации и сообщений об ошибках и вообще к улучшению юзабилити. Мы не планируем изменений в функциональности стабилизированных элементов, но мы можем вносить небольшие изменения или добавления в API библиотек, если выявятся какие-то их недостатки или проблемы (но планка для таких изменений относительно высока).Хотя мы и не собираемся добавлять новые фичи (или API) в релизе 1.0, это не значит, что мы совсем прекратили работу над ними. Совсем наоборот! Согласно модели «поезда» (перевод), мы продолжим работу над новыми фичами в основной ветке параллельно с бетой. И конечно, мы выпустим релиз 1.1-beta одновременно с финальным релизом 1.0 — долго ждать не придётся.
Чтобы убедиться, что при добавлении новых фич мы не сломаем существующий код, ведётся работа над новой CI-инфраструктурой, которая позволит нам следить, какие из пакетов собираются nightly-сборками, и выявлять регрессии во всей экосистеме, а не только в нашей собственной кодовой базе. Эта инфраструктура всё ещё в разработке, но вы можете посмотреть пример отчёта здесь.
Достижение сообщества Как всегда, релиз 1.0-beta стал возможными только благодаря всему сообществу Rust. Большое спасибо всем, кто участвовал в обсуждениях RFC; в особенности мы благодарны 172 контрибьюторам этого релиза: список.Стабильная версия языка уже совсем на подходе, и те, кто раньше боялся постоянно ломающихся ночных сборок, но хотел пощупать Rust, уже могут пользоваться бета-версией — серьёзно ломающих обратную совместимость изменений больше не ожидается. Сообщество языка очень приветливо и всегда готово помочь новичкам — основные каналы общения это #rust на irc.mozilla.org, сабреддит /r/rust, Stackoverflow по тегу rust и форум users.rust-lang.org. На русском языке сообщество ещё только формируется — в наличии имеется список рассылки Rust по-русски, а также канал #rust-ru на irc.mozilla.org.