Overview
次の新機能をご覧ください。
4.6.2の新機能
4.6.2ドライバーリリースには、以下の修正が含まれています。
bsoncxx::v_noabi::types::bson_value::valueのget_<type>()アクセサーによって返される無条件のダングリング参照を修正します。API のドキュメント化された動作を満たすために、使用できないT const&参照戻り値の型がT値渡し戻り値の型に置き換えられます。v_noabiAPIでtypes::viewまたはtypes::valueインスタンスとしてアクセスされた場合(element::get_*()メソッドなど)、空のstringのようなBSON type値が誤ってnull stringに変換される問題が修正されました。これは、string、symbol、code、regex、dbpointer、およびcodewscopeBSON typesに影響しました。v1APIは影響を受けませんでした。これは、空のstringが常にデフォルトで初期化されたstring viewとして表現されるためです。v1APIの未定義の動作を修正しました。これは、nullの文字列のようなBSON types値をラップするv1::types::valueインスタンスをコピーまたは割り当てるときに発生していました。これは、string、symbol、code、dbpointer、およびcodewscopeのBSON typesに影響しました。空でない文字列のような値は影響を受けませんでした。
4.6.2ドライバーリリースには、以下の変更も含まれています。
- 必要な C ドライバーの最小バージョンを 2.5.8 に引き上げます。
このリリースの詳細については、 Githubの v4.6.2 リリースノート を参照してください。
4.6.1の新機能
このリリースの詳細については、 Githubの v4.6.1 リリースノート を参照してください。
4.6 の新機能
4.6ドライバー リリースには、次の新機能が含まれています。
使用中の暗号化string APIを追加します。これは実験的なテキストAPIを置き換えるもので、以下の変更が含まれています。
mongocxx::v1::string_optionsクラスとそのmongocxx::string_optionsエイリアスを追加します。mongocxx::v1::encrypt_optionsクラスとmongocxx::options::encryptクラスにstring_opts()メソッドを追加し、string_optsフィールドを設定します。text_optsフィールドとstring_optsフィールドの両方を設定した場合、ドライバーはstring_optsフィールドのみを使用します。k_string列挙子をmongocxx::v1::encrypt_options::encryption_algorithm列挙に追加します。k_prefix、k_suffix、およびk_substringの列挙子をmongocxx::v1::encrypt_options::encryption_query_type列挙に追加します。
スナップショットセッションで
atClusterTimeパラメータを公開します。
このリリースには、次の非推奨が含まれています。
使用中の暗号化テキストAPIを非推奨とし、前述のリストで説明されているstring APIを推奨します。以下のクラス、メソッド、および列挙型は、引き続き実験的なものとして文書化されており、将来のリリースで削除される可能性があります。
mongocxx::v1::text_optionsクラスとそのmongocxx::text_optionsおよびmongocxx::options::textエイリアス。mongocxx::v1::encrypt_optionsクラスおよびmongocxx::options::encryptクラスのtext_opts()メソッド。mongocxx::v1::encrypt_options::encryption_algorithm列挙のk_textPreview列挙子。mongocxx::v1::encrypt_options::encryption_query_type列挙型のk_prefixPreview、k_suffixPreview、k_substringPreview列挙子。
このリリースの詳細については、 Githubの v4.6.0 リリースノート を参照してください。
4.5.3の新機能
4.5.3ドライバーリリースには次の変更が含まれています。
このリリースの詳細については、 Githubの v4.5.3 リリースノート を参照してください。
4.5.2の新機能
4.5.2ドライバーリリースには次の変更が含まれています。
このリリースの詳細については、 Githubの v4.5.2 リリースノート を参照してください。
4.5.1 での新機能
4.5.1ドライバーリリースには次の変更が含まれています。
このリリースの詳細については、 Githubの v4.5.1 リリースノート を参照してください。
4.5 で追加された機能
4.5ドライバーリリースには、次の新機能が含まれています。
append_metadata()メソッドをmongocxx::v1::clientクラスとmongocxx::v1::poolクラスに追加します。このメソッドを使用して、クライアントまたはプールを初期化した後に、ハンドシェイク メタデータを追加します。これは、プロジェクトが C++ ドライバーをラップし、MongoDB Server に自分自身を識別する必要がある場合に便利です。
リリースには、次の削除が含まれています。
- 2025年 2015月にサポートが終了した Visual Studio のサポートを削除します。Windows で C++ ドライバーをビルドするには、Visual Studio 2017 バージョン 15.9 以降を使用します。
このリリースの詳細については、 Githubの v4.5.0 リリースノート を参照してください。
4.4 の新機能
4.4ドライバー リリースには、次の新機能が含まれています。
bsoncxxライブラリとmongocxxライブラリの安定ABI(v1)が本番環境で使用できるようになりました。両ライブラリのsoversionが1に設定されるようになりました。mongocxx::client_bulk_writeクラスを介してクライアントの一括書き込み操作をサポートします。コレクションレベルの一括書き込み (mongocxx::bulk_write)とは異なり、クライアントの一括書き込みは複数のコレクションにまたがる書き込みをサポートし、同じネットワークペイロード内で挿入、更新、削除するをグループ化できます。この機能には MongoDB Server 8.0 以降が必要です。delete、insert、replace、bulkWrite、findOneAnd*、count、distinctの操作にreadConcernオプションのサポートを追加します。Azure IMDS および Azure Functions/App Service Environment での
MONGODB-OIDC認証メカニズムのサポートを追加します。詳しくは、オープン ID Connect (OIDC) 認証を参照してください。
このリリースには、次の非推奨が含まれています。
- MongoDB Server 4.2 のサポートを廃止します。詳しくは、MongoDB ソフトウェアライフサイクルスケジュール を参照してください。
このリリースの詳細については、 Githubの v4.4.0 リリースノート を参照してください。
4.3.1の新機能
4.3.1ドライバーリリースでは、次のバグが修正されます。
- 4.2.0で導入されたリグレッションを修正しますオプションが明示的に
falseに設定されている場合、findOneAnd*操作でupsertが誤ってtrueに設定されます。
このリリースの詳細については、 Githubの v4.3.1 リリースノート を参照してください。
4.3 の新機能
4.3ドライバー リリースには、次の新機能が含まれています。
- 入力接続レート制限機能のサポートを追加します。
enableOverloadRetargetingおよびmaxAdaptiveRetriesオプションを使用すると、過負荷のサーバーに接続した場合の動作を改善できます。これらの機能は、MongoDB 9.0以降を実行している Atlas クラスターで使用できます。これらのオプションについてさらに学ぶには、 「接続オプションの指定」ガイドを参照してください。
このリリースには次のバグ修正が含まれています。
bsoncxx::vector::iteratorsで宣言されたクラス型の欠落しているサブスクリプト演算子を追加します。
このリリースには、次の非推奨が含まれています。
- 2025 年 10 月にサポートが終了した Visual Studio 2015 のサポートを廃止します。Visual Studio 2017 以降を使用します。
このリリースの詳細については、 Githubの v4.3 リリースノート を参照してください。
4.2 の新機能
4.2ドライバー リリースには、次の新機能が含まれています。
C++ドライバー Stable ABI を導入しています(v1.0)実験的な使用のためのものです。この変更の一環として、不安定な ABI に大きな重大な変更が加えられました。ドライバーの v4.2 にアップグレードする場合は、アプリケーションで Stable ABI を使用するように移行することをお勧めします。
bsonc機能 の代わりに mongocx エクスポート macx を使用して、
mongocxx::v_noabi::options::indexのstorage_engine() constを正しくエクスポートします。変更ストリームの反復処理を簡素化するために、変更ストリームヘルパー
mongocxx::v1::change_stream::next()とmongocxx::v1::change_stream::try_next()を追加します。mongocxx::v1::text_optionsを通じて使用中の暗号化テキスト インデックスの実験的なサポートを追加します。MongoDB Server 4.2 のサポートを廃止します。詳しくは、MongoDBソフトウェアライフサイクル スケジュール を参照してください。
macOS 11 および macOS 12 のサポートを廃止します(v4.1 では非推奨)。
MongoDB Cドライバー 2.0.0 以降との整合性のために、
<name>Config.cmakeと<name>ConfigVersion.cmakeパターンを使用するように CMaxパッケージ構成ファイルの名前を変更します。mongocxx::v_noabi::instance::current()を廃止します。次のコードに示すように、すべてのmongocxx操作で有効な非グローバルのinstance変数をインスタンス化することをお勧めします。int main() { mongocxx::instance instance; ...}代替の実装については、
mongo-cxx-driverGitHubリポジトリのDriver 4.2 の変更ログを参照してください。
このリリースには次のバグ修正が含まれています。
mongocxx::result::insert_manyの結果を非 ObjectId ID と比較するときに、ドライバーが誤って例外をスローする問題を修正します。
このリリースの詳細については、 Githubの v4.2 リリースノート を参照してください。
4.1 の新機能
v 4.1ドライバーのリリースには、次の新機能が含まれています。
mongocxx::v_noabi::options::indexに新しく追加されたstorage_engine()メソッドのstorage_options()メソッドを廃止しますBSON Binary Vector タイプのサポートを追加しました。
詳細については、次のリソースを参照してください。
v4.0 向けに最初に公開された
ENABLE_TESTS構成のデフォルトオプションに変更を追加します。詳細については、 アップグレード ページの重大な変更の説明を参照してください。
このリリースの詳細については、 Githubの v4.1 リリースノート を参照してください。
4.0 の新機能
v 4.0ドライバーのリリースには、次の新機能が含まれています。
mongocxx::options::change_streamインスタンスのstart_at_operation_timeフィールドに getter メソッドを追加します。
このリリースには次のバグが含まれています。
- C++ドライバーのAPIバージョンが
0.0.0に誤って設定されることがあります。CMaxプロジェクトが複数回構成されている場合、または初期構成時にBUILD_VERSIONが明示的に設定されている場合は、 C++ドライバーのAPIバージョンと同じ値に設定されている場合があります。CSpec は、find_package()を使用して既存のCドライバーのインストールが見つからない場合にのみ、C++ドライバーを使用してCドライバーを自動ダウンロードします。このバグは、今後のパッチ リリースで修正される予定です。
このリリースの詳細については、 Githubの v4.0 リリースノート を参照してください。
3.11の新機能
v 3.11ドライバーのリリースには、次の新機能が含まれています。
MongoDB Server v 8.0のサポートを追加します。
Queryable Encryption範囲クエリのサポートを追加します。 この機能を使用するには、アプリをMongoDB Server 8.0以降に接続する必要があります。 Queryable Encryptionの詳細については、 MongoDB Serverマニュアルの「 Queryable Encryption 」を参照してください。
mongocxx::v_noabi::bulk_writeのempty()メンバー関数を追加します。
このリリースには次のバグが含まれています。
- C++ドライバーのAPIバージョンが
0.0.0に誤って設定されることがあります。CMaxプロジェクトが複数回構成されている場合、または初期構成時にBUILD_VERSIONが明示的に設定されている場合は、 C++ドライバーのAPIバージョンと同じ値に設定されている場合があります。CSpec は、find_package()を使用して既存のCドライバーのインストールが見つからない場合にのみ、C++ドライバーを使用してCドライバーを自動ダウンロードします。このバグは、今後のパッチ リリースで修正される予定です。
このリリースの詳細については、 Githubの v3.11 リリースノート を参照してください。
3.10の新機能
The v 3.10.0 ドライバー リリースには、次の新機能が含まれています。
bsoncxxおよびmongocxxクラスタイプの非定義宣言を提供するフォワード ヘッダーを追加します。 ドライバーは、ライブラリ エンティティのユーザー定義によるフォワード宣言をサポートしていません。 ライブラリ エンティティの宣言または定義を取得するには、対応する ヘッダーを常に含めます。CSpec オプション
ENABLE_BSONCXX_USE_POLY_IMPLSを使用すると、ポリゴン ライブラリが要求されていない場合に、デフォルトでC++ 17ポリゴンのbsoncxx実装を選択できます。 このオプションはデフォルトでOFFです。CMax オプション
BSONCXX_POLY_USE_IMPLSを使用すると、外部ライブラリまたはC++標準ライブラリの代わりに、 C++ 17ポリゴンのbsoncxx実装を選択できます。 このオプションはデフォルトでOFFです。bsoncxx::v_noabiとmongocxx::v_noabiの名前空間は、インラインで宣言されなくなりました。 ルート名前空間宣言は引き続きサポートされ、以前の定義と同等であることが予想されます。 例、bsoncxx::documentは依然としてbsoncxx::v_noabi::documentと同等であり、mongocxx::clientは引き続きmongocxx::v_noabi::clientと同等です。デフォルトでは 、ライブラリのファイル名が MSV でコンパイルされると(CSpec の
MSVC変数によって検出)、ABI タグstringが埋め込まれます。 これらの文字列は次のようになります。bsoncxx-v_noabi-rhs-x64-v142-md.libこの動作を無効にするには、CSpec 構成の一部として
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFFを設定します。ABI タグ string は、次のように pkg-configメタデータファイル名に埋め込むこともできます。
libbsoncxx-v_noabi-rhs-x64-v142-md.pcこの動作を有効にするには、CMax 構成の一部として
ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ONとENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ONを設定します。
このリリースの詳細については、 Githubの v3.10 リリースノート を参照してください。
3.9の新機能
v 3.9ドライバーのリリースには、次の新機能が含まれています。
MongoDB C ドライバーの依存関係を指定しない場合、ドライバーは自動的にMongoDB Cドライバーの依存関係をダウンロードします。
ドライバーは、
allターゲットの一部としてテストをビルドしなくなりました。 テストを構築するには、CSpec 構成の一部としてBUILD_TESTING=ONを設定します。ドライバーは、システムによって提供されていない場合は、
ExternalProjectモジュールではなく、FetchContentモジュールを使用して MNMLSTC コア ポリゴン ライブラリをダウンロードして構築します。また、MNMLSTC Core ヘッダーのincludeディレクティブもパッチされません。CMax オプション
MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIXを追加します。 このオプションがTRUEに設定されている場合、CMAKE_INSTALL_PREFIXオプションはデフォルトでビルドディレクトリになります。 このオプションのデフォルト値はTRUEです。MongoDB 検索インデックスを管理するためのAPIを追加します。
VERSIONINFOリソースをbsoncxx.dllとmongocxx.dllに追加します。APMコールバックから例外をスローするドキュメントは、明示的に未定義の動作です。
CMax ビルド ステップ中に MNMLSTC コア ヘッダーを早期インストールしません。
インストールされたすべてのC++ドライバーパッケージ構成で、 MongoDB Cドライバー CMaxパッケージが
find_dependency()経由で見つかる必要があります。
このリリースの詳細については、 Githubの v3.9 リリースノート を参照してください。