Overview
このセクションでは、ドライバーを新しいバージョンにアップグレードするためにアプリケーションに加える必要がある変更を識別できます。
アップグレードする前に、次のアクションを実行してください。
Ensure the new driver version is compatible with the MongoDB Server versions your application connects to and the Rust versions your application runs on. To view compatibility information, see the Compatibility page.
アプリケーションが使用しているドライバーの現在のバージョンとアップグレードが予定されているバージョンとの間の重大な変更については、「 重大な変更 」セクションを参照してください。
バージョン管理
各Rustドライバーリリースには、MAJOR.MINOR.PATCH形式のバージョン番号があります。Rustドライバーはセマンティック バージョン管理(SemVer)を使用します。これは通常、次のことを意味します。
重大な変更と非推奨機能の削除は、メジャー バージョン リリースでのみ行われます。
機能フラグを使用して新しい機能を追加することができます。これはオプトイン構成の変更によって有効になる必要があります。これらの機能フラグは、メジャー リリースまたはマイナー リリースのいずれかで追加される可能性があります。
機能は、メジャー リリースまたはマイナー リリースで非推奨としてマークされる場合がありますが、少なくとも次のメジャー リリースまで機能は削除されません。
パッチ バージョン リリースには、重大じゃない修正とセキュリティ更新のみが含まれます。
重大な変更
重大な変更とは、特定のバージョンのドライバーの規則または動作の変更であり、アップグレードする前にこの問題に対処しないと、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したドライバーのバージョンによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。
バージョン3.9 重大な変更
Rustドライバー v3.9 リリースには、次の重大な変更が含まれています。
- MongoDB Server 4.2 のサポートを削除し、最小サポートバージョンを 4.4 に引き上げます。アップグレードする前に、お使いの MongoDB 配置が v4.4 以降で実行されていることを確認してください。
バージョン3.7 重大な変更
Rustドライバー v3.7 リリースには、次の重大な変更が含まれています。
- サポートされているRustコンパイラーの最小バージョン(MSRV)を 1.88 に更新します。アップグレードする前に、開発環境でRust 1.88 以降が使用されていることを確認してください。
バージョン 3.5非推奨
Rustドライバー v3.5 リリースには、次の非推奨が含まれています。
接続文字列のユーザー名とパスワード、および
AWS_SESSION_TOKENプロパティでのAWS認証の指定を廃止します。この機能は、ドライバーの次のメジャー バージョンでは削除されます。アプリケーションを更新して、代替のAWS認証方法を使用します。AWS認証の詳細については、 認証ガイドのMONGODB-AWSメカニズムセクションを参照してください。socketTimeoutMSオプションを廃止します。代わりにwTimeoutMSオプションを使用してください。使用可能な接続オプションの詳細については、 「接続オプション」ガイドを参照してください。
バージョン3.3 重大な変更
Rustドライバー v3.3 リリースには、次の重大な変更が含まれています。
MongoDB Serverバージョン 4.0 のサポートを削除し、サポートされる最小バージョンを 4.2 に引き上げます。アップグレードする前に、 MongoDB**配置**がバージョン 4.2 以降を実行中を確認してください。
BSON crateのバージョン 3.0 のサポートを導入します。ドライバーは下位互換性のためにデフォルトでバージョン 2.15 を使用しますが、 BSON 3.0 には下位互換性のないAPI の変更がいくつか含まれています。
エラー処理を集約する統合
bson::error::Errorタイプを導入します。BSONキーと正規表現に
&CStrとCStringタイプを追加します。serdeをデフォルトで無効になっている任意機能にします。直列化関数と逆直列化関数のプレフィックスは、serialize_toまたはdeserialize_fromになりました。
バージョン3.2 重大な変更
Rustドライバー v3.2 リリースには、次の重大な変更が含まれています。
- サポートされるRustの最小バージョンを 1.71.1 に増やします。開発環境でRustバージョン 1.71.1 以降を使用していることを確認してください。
バージョン3.1 重大な変更
Rustドライバー v3.1 リリースには、次の重大な変更が含まれています。
- MongoDB Serverバージョン 3.6 のサポートを削除し、サポートされる最小バージョンを 4.0 に引き上げます。アップグレードする前に、 MongoDB**配置**がバージョン 4.0 以降を実行中を確認してください。
バージョン3.0 重大な変更
Rustドライバー v3.0 リリースには、次の重大な変更が含まれています。
オプションを渡し、セッションを開始する方法を変更する Fluent APIを実装します。
オプション構造体パラメーターを渡すのではなく、オプションビルダのメソッドをメソッド呼び出しに直接連鎖させる
_with_sessionサフィックスを持つメソッドを使用する代わりに、session()メソッドをメソッド呼び出しに連鎖させる同期操作には
run()メソッドを使用します
async-std非同期ランタイムのサポートを廃止します。アプリケーションを更新して、Toポイント などの代替ランタイムを使用します。no-default-featuresフラグでコンパイルされた場合は、compat機能を使用する必要があります。rustlsとdns-resolutionの機能は任意になりました。bson-*ドライバー機能のサポートを廃止します。これらの機能を選択するには、代わりにbsonを直接依存関係としてアプリケーションに含めます。読み取り保証 (read concern) 定数と書込み保証 (write concern)定数のサポートを廃止します。代わりにヘルパーメソッドを使用して、
ReadConcernとWriteConcernの値を設定します。Collection<T>タイプにSend + Syncの制約を追加します。ReadPreferenceOptionsフィールドのタイプをOption<ReadPreferenceOptions>に変更します。CollectionOptions::human_readable_serializationオプションを削除します。CollectionOptions::human_readable_serializationオプションの代わりに、bson::HumanReadableラッパー型を使用してユーザー データを人間が判読できる形式に直列化します。AggregateOptions、FindOptions、FindOneOptions構造体のcomment_bsonフィールドの名前をcommentに変更します。