Docs Menu
Docs Home
/ / /
C++ ドライバー

ドライバーのバージョンをアップグレードする

項目一覧

  • Overview
  • 重大な変更

このページでは、 C++ドライバーの新しいバージョンにアップグレードするときにアプリケーションに加える必要がある変更について説明します。

アップグレードする前に、次のアクションを実行してください。

  • 新しいC++ドライバーのバージョンが、アプリケーションが接続するMongoDB Serverのバージョンと、アプリケーションがコンパイルされるC++標準バージョンと互換性があることを確認します。 バージョンの互換性情報については、 C++ドライバーの互換性ページを参照してください。

  • アプリケーションが使用しているドライバー バージョンと計画されているアップグレード バージョン間の重大な変更については、 重大な変更セクションを参照してください。

Tip

ドライバーのバージョンをアップグレードするときにMongoDB Serverのバージョン間で互換性を確保するには、 Stable APIを使用します。

注意

C++ドライバーは セマンティック バージョン管理に従います。ドライバーは、どのリリースでもビルド システムまたはパッケージの互換性を中断する可能性があります。 パッチ リリースにより、誤ってAPI重大な変更が元に戻る可能性があります。

詳しくは、「 APIと ABI のバージョン管理 」を参照してください。

重大な変更とは、ドライバーの特定のバージョン以降の規則または動作の変更です。 このタイプの変更では、ドライバーをアップグレードする前に対処しないと、アプリケーションが正常に動作しなくなる可能性があります。

このセクションの重大な変更は、それを導入したドライバーのバージョンによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。

バージョン3.0からのアップグレード

C++ドライバーをバージョン3.0からバージョン3.10にアップグレードする場合は、バージョン3.1から3.10にリストされているすべての重大な変更に対処します。

  • MongoDB Server v 3.6のサポートを廃止します。

  • MongoDB Cドライバー v 1.28.0以降が必要です。

  • bsoncx ABI 内の次のプライベート ノード関数のエクスポートを削除します。

    • bsoncxx::v_noabi::types::bson_value::value::value(const uint8_t*, uint32_t, uint32_t, uint32_t)

    • bsoncxx::v_noabi::types::bson_value::view::_init(void*)

    • bsoncxx::v_noabi::types::bson_value::view::view(const uint8_t*, uint32_t, uint32_t, uint32_t)

    • bsoncxx::v_noabi::types::bson_value::view::view(void*)

  • mongocx ABI 内の次のプライベート ノード関数のエクスポートを削除します。

    • mongocxx::v_noabi::options::change_stream::as_bson()

    • mongocxx::v_noabi::options::aggregate::append(bsoncxx::v_noabi::builder::basic::document&)

    • mongocxx::v_noabi::options::index::storage_options()

  • MSVC でコンパイルされた場合は、エクスポートされたすべての関数シンボルを__cdeclで宣言します。 プロジェクトを構築するときに、代替のデフォルトの呼び出し規則を使用する場合、これは ABI の重大重大な変更です。

このドライバー バージョンでは、次の重大な変更が導入されています。

  • find_package(libbsoncxx)find_package(libmongocxx)のサポートを廃止します。 代わりにfind_package(bsoncxx)find_package(mongocxx)を使用してください。

  • レガシーCSpecパッケージ構成ファイルによって提供されるLIBBSONCXX_*およびLIBMONGOCXX_* CSpec 変数のサポートを廃止します。 代わりに、 mongo::bsoncxx_*mongo::mongocxx_* CSpec ターゲットを使用してください。

  • 実験的なC++標準ライブラリ( BSONCXX_POLY_USE_STD_EXPERIMENTAL )をポリゴン オプションとして削除します。

このドライバー バージョンでは、次の重大な変更が導入されています。

  • CSpecプロジェクト構築ツリーからエクスポートされたターゲットのサポートを削除します

  • macOS 10.14 、 macOS 10.15 、 Ubuntu 14.04のサポートを廃止します。

  • MongoDB Cドライバー v 1.25.0以降が必要

  • CSpec v 3.15以降が必要

ドライバー バージョン 以前の場合は、 で各リリースのリリースノートと関連する3.8Github JIRA チケットを参照してください。

戻る

新機能