Rust 1.0:現在のステータスと最終リリーススケジュール

錆のロゴ
Rust 1.0のアルファ版がリリースされてから5週間が経過しました! Rustの次の予備バージョンが発表される前に、言語の現在の状態と、安定バージョン1.0への道のりで私たちがまだ何をしようとしているのかについてお話したいと思います。

TL; DR:Rust 1.0は2015年5月15日リリース予定

発売予定


最初のアルファの存続期間中に行った進捗に基づいて、1.0までの新しいバージョンの正確なリリーススケジュールを作成しました。


このスケジュールは、特定の一連の開発サイクルを修正したという点で、 前のスケジュールとは異なります。 また、新しいスケジュールでは、2番目のアルファバージョンと1つのベータバージョンのみが提供されます。

次のリリースがbeta1ではなくalpha2と呼ばれる主な理由は、新しいパスとIOモジュールを承認したばかりであり、それらを安定させる前にコミュニティのフィードバックを得たいからです。

alpha2の新機能


この開発サイクルで計画されたほぼすべての機能を承認して実装することができました。

最も重要なことは、すべてのメインサブシステムのAPIの改訂が完了していることです 。パスとIOモジュールが改革されています。 これで、1.0に含めるすべてのモジュールが最終的な形になりました(ただし、alpha2サイクル中に小さな編集が可能です)。

その他の変更と改善:


執筆時点でのさらなる変更は承認されていませんが、alpha2に含まれる可能性があります。型の共分散と反分散 、送信特性の 変更、およびalpha1の整数型の改革後の標準ライブラリの変更

詳細は、来週のリリースノートで説明します。

なぜ別のアルファですか?


主な理由は、フィードバックを取得するために、数週間にわたって不安定とマークされた最近承認したAPI(IOやパスなど)を残すことです。 ベータ版では、通常、Rustの不安定な部分の使用を禁止します。

より詳細には、このリリースでは、 安定性システムに関連するアルファ版とベータ版の違いが強調されています 。 アルファリリースでは、不安定な機能の使用を有効にできますが、ベータリリース後は、ナイトリービルドを使用する場合にのみ可能になります。 ベータリリースは、コミュニティの大部分がナイトリービルドの使用から逃れることができるポイントになります。

上記のように、パスとIOを含むリリース1.0に必要なすべてのAPIを承認しました。 ただし、一部の変更はサイクルの最後でのみ受け入れられ、コミュニティは変更されたAPIを安定とマークする十分な経験がありません。 いくつかの例外を除いて、APIの変更は非常に保守的です。それらはすべて、既存の成功したライブラリの類似性で行われました。

alpha2が終了すると、安定したと宣言される前にAPIに変更を加えるための長いウィンドウが開きます。 ウィンドウは3月9日に閉じます。

ベータ版ではなくアルファ版がリリースされたためにスリップするリスクはありますか?


ほとんどない。 リリース1.0に必要な言語および標準ライブラリのすべての機能が承認されています。 つまり、 12週間ですべてを磨き、alpha2から安定版1.0にスムーズに移行することができます。

1.0のリリース前に他に何が起こりますか?


すべての機能1.0はすでに承認されています。 ラベル#[stable]割り当てることができるように、新しいAPIを粉砕し、パフォーマンスとドキュメントを改善し、バグを修正し、十分な信頼を得るだけです。

alpha2のリリースでは、古いパスとIOモジュールが非推奨になります(ただし、使用可能なままになります)。 新しいモジュールは3月9日までに安定するはずです。 新しいAPIを試して、潜在的な問題を特定してください。

3月9日の締め切り後、ラックのかなりの部分について、「安定したRust」のみ、つまり#[feature]マークされたRustパーツを1回も使用せずに作業できるようになります。 締め切り後、ベータバージョン1.0のリリース前に、私たちはcrates.ioのパッケージの作成者と直接協力して、コードを安定したRustに変換し、言語安定化のすべてのギャップを特定できるようにします。

ベータ版がリリースされる頃には、エコシステムの大部分がナイトリービルドから安定版リリースに移行することを願っています。 これを達成するには、コミュニティ全体が安定化に向かう​​必要があります。 このプロセスにまだ参加していない場合は、そこに行って、使用する主要な不安定なAPIをお知らせください。

Source: https://habr.com/ru/post/J250577/


All Articles