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

新機能

MongoDB Cドライバーは、libbsonlibmongoc の 2 つのライブラリで構成されています。 このページでは、ドライバー ライブラリの各バージョンで行われた変更と非推奨について説明します。

次の新機能をご覧ください。

次のセクションでは、 Cドライバーの 2.1.1 リリースの変更について説明します。

このバージョンは libmongoc バージョンと一致するように増加しますが、2.1.0 以降では変更はありません。

libmongoc の 2.1.1 リリースには次の変更が含まれています。

  • CSpec ターゲットの -fPIC フラグを伝播しなくなりました

  • mongoc_collection_create_indexes_with_opts() 関数に書込みコマンドの動作を適用します

  • シングルスレッド モニタリング コマンドで saslSupportedMechsフィールドを省略します

このリリースの詳細については、v2.1.1 リリースノートを参照してください。

警告

重大な変更

Cドライバー v2.1.0重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」で バージョン を参照してください。2.1.0

次のセクションでは、 Cドライバーの 2.1.0 リリースの変更について説明します。

libbson の 2.1.0 リリースには次の変更が含まれています。

  • Windows 以外の環境の場合、アンインストールスクリプトは、macOS ではサポートされていない ls --almost-all コマンドではなく、find "$dir" -maxdepth 1 コマンドを呼び出して、空でないディレクトリを検出するようになりました。

  • Windows環境の場合、アンインストールスクリプトが誤ったゼロ以外の %ERRORLABEL% 値で「成功」しなくなりました。

  • Debian 9 およびDebian 10 のサポートを廃止します。

  • CMax ポリシーの最大バージョンを 4.0 に設定します。以前は最大バージョンは設定されていませんでした。

libmongoc の 2.1.0 リリースには次の変更が含まれています。

  • Windows 以外の環境の場合、アンインストールスクリプトは、macOS ではサポートされていない ls --almost-all コマンドではなく、find "$dir" -maxdepth 1 コマンドを呼び出して、空でないディレクトリを検出するようになりました。

  • Windows環境の場合、アンインストールスクリプトが誤ったゼロ以外の %ERRORLABEL% 値で「成功」しなくなりました。

  • 新しい署名を持つクライアント証明書を検証するためのウィンドウ セキュア チャネルのサポートを追加します。

  • rand() の使用をスレッドセーフな代替手段に置き換えます。

  • Debian 9 およびDebian 10 のサポートを廃止します。

  • サポートされているMongoDB Server の最小バージョンを 4.0 から 4.2 に更新します。

  • CMax ポリシーの最大バージョンを 4.0 に設定します。以前は最大バージョンは設定されていませんでした。

  • 不要な長時間バッファを排除してメモリ使用量を削減します。

  • Windows API によって生成されるエラー メッセージを改善しました。

次のセクションでは、 Cドライバーの 2.0.2 リリースの変更について説明します。

このリリースには、bson_validate ファミリーの関数に対するいくつかの修正が含まれており、次のマイナーな動作の変更が含まれています。

  • BSON_VALIDATE_UTF8 設定を指定すると、ドライバーは無効な UTF-8 シーケンスを、以前のバージョンのように受け入れるのではなく、拒否します。

  • ドライバーは、非推奨の「スコープを持つコード」要素内のスコープドキュメントを固定されたルール セットで検証し、それを不構築のJavaScriptオブジェクトとして扱います。

  • ドライバーは検証中にドキュメントのネスト制限を強制します。

libmongoc の 2.0.2 リリースには次の変更が含まれています。

  • Windowsでの bson_strerror_r のメッセージを修正します。

  • Windowsセキュア チャネルによるメモリ リークを修正しました。

  • Windowsセキュア チャネルを使用して PKCS#8 RSA キーをロードする問題を修正しました。

このリリースの詳細については、v2.0.2 リリースノートを参照してください。

次のセクションでは、 Cドライバーの 2.0.1 リリースの変更について説明します。

libbson の 2.0.1 リリースには次の変更が含まれています。

  • macOS オペレーティング システムで CSpec 4 の構成エラーを修正しました

libmongoc の 2.0.1 リリースには次の変更が含まれています。

  • Cドライバーがセキュア トランスポートまたはセキュア チャネル ライブラリを使用するように構成されている場合に発生する、MONGODB-X509認証のユーザー名名処理の問題を修正します

  • 最初の書込み操作後に mongoc_bulkwrite_execute() 関数がクライアントエラーを生成した場合に、mongoc_bulkwritereturn_t.res に部分的な結果を入力するようになりました

このリリースの詳細については、v2.0.1 リリースノートを参照してください。

警告

重大な変更

Cドライバー v2.0.0重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」の 「バージョン2.0.0 」 を参照してください。

次のセクションでは、 Cドライバーの 2.0.0 リリースの変更について説明します。

重要

削除

2.0.0ドライバーのリリースにより、多くの非推奨のタイプとメソッドが削除されました。削除の完全なリストを表示するには、 v2.0 リリースノートの「 削除 」セクションを参照してください。

libbson の 2.0.0 リリースには次の変更が含まれています。

libmongoc の 2.0.0 リリースには次の変更が含まれています。

このリリースの詳細については、v2.0 リリースノートを参照してください。

次のセクションでは、 Cドライバーの 1.30.3 リリースの変更について説明します。

libbson の 1.30.3 リリースには次の変更が含まれています。

  • v2.0 の予想リリースにより、bson の新しい CSpec パッケージとインポートされたターゲットが追加され、CSpecプロジェクトを変更せずに両方のメジャー バージョンをサポートできるようになります。

    • 新しい名前で bson をインポートするには、bsonパッケージの find_package を呼び出します。新しいインポートされたターゲット名は、bson::staticbson::sharedbson::bson です。

libmongoc の 1.30.3 リリースには次の変更が含まれています。

  • v2.0 の予想リリースでは、bsonmongoc の新しい Cake パッケージとインポートされたターゲットが追加され、CSpecプロジェクトを変更せずに両方のメジャー バージョンをサポートできるようになります。

    • 新しい名前で mongoc をインポートするには、mongocパッケージの find_package を呼び出します。新しいインポートされたターゲット名は、mongoc::staticmongoc::sharedmongoc::mongoc です。

    • 新しい名前で bson をインポートするには、bsonパッケージの find_package を呼び出します。新しいインポートされたターゲット名は、bson::staticbson::sharedbson::bson です。

このリリースの詳細については、v1.30.3 リリースノートを参照してください。

次のセクションでは、 Cドライバーの 1.30.0 リリースの変更について説明します。

libbson の 1.30.0 リリースには次の変更が含まれています。

  • Debian 9 およびDebian 10 のサポートを廃止します

  • ネストされたドキュメントのBSONからJSONへの直列化を向上させます

  • bson_as_json_with_opts() 関数の切り捨てられた出力を更新し、有効な UTF-8 シーケンスを分裂なくなります

  • 生成されたJSONテキストを次の方法で更新します。

    • すべての空の配列とドキュメントを 1 つのスペースで直列化

    • 最大再帰制限によりドライバーが省略する配列を { ... } ではなく [ ... ] に直列化

    • 最大再帰制限をレガシーCodeWscope ドキュメントに適用

  • bson_append_array_builder_begin() 関数の呼び出しが失敗した後にリークされる出力パラメータを修正します

libmongoc の 1.30.0 リリースには次の変更が含まれています。

  • Debian 9 およびDebian 10 のサポートを廃止します

  • 構造化ログのサポートを追加しました。 この機能を構成するには、mongoc_client_set_structured_log_opts() 関数と mongoc_client_pool_set_structured_log_opts() 関数を使用します。

  • 使用中の暗号化データ暗号化キーのキャッシュライフタイム構成のサポートを追加します。 この機能を構成するには、mongoc_auto_encryption_opts_set_key_expiration() 関数と mongoc_client_encryption_opts_set_key_expiration() 関数を使用します。

    使用中の暗号化の詳細については、 MongoDB Serverマニュアルの「 使用中の暗号化 」を参照してください。

  • 更新操作と置換操作の sort オプションのサポートを追加します。

  • mongoc_bulkwrite_new() 関数と mongoc_bulkwrite_set_client() 関数を使用して、クライアントなしで mongoc_bulkwrite_t タイプを構築するためのサポートを追加します。

  • mongoc_server_description_new_copy() 関数のパフォーマンスを向上させます

  • SDAM 仕様:に必要な次の APMイベントの修正が含まれています。

    • server_openingイベントを提供した後、ドライバーは topology_closed を提供する前に、対応する server_closedイベントを提供する必要があります

    • topology_closedイベント を送信する前に、ドライバーは new_descriptionUnknown タイプの topology_changedイベントを配信します。

  • ドライバーがクライアントの一括書き込みの冗長な結果に挿入されたドキュメントID を報告するときにクラッシュする可能性を修正します

このリリースの詳細については、v1.30 リリースノートを参照してください。

警告

重大な変更

Cドライバー v1.29.0重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」の 「バージョン1.29.0 」 を参照してください。

Cドライバーの 1.29.0 リリースにはいくつかの変更が含まれています。

libbson の 1.29.0 リリースには次の変更が含まれています。

  • bson_string_t と関連する関数を非推奨にします

  • でのコンパイルは非推奨 BSON_MEMCHECK

  • bson_in_range_*() 関数と bson_cmp_*() 関数を廃止します

  • bson_atomic_*() 関数と bson_thrd-yield() 関数を廃止します

  • bson_as_json() 関数と bson_array_as_json() 関数を廃止します

libmongoc の 1.29.0 リリースには次の変更が含まれています。

  • mongoc_client_command を廃止します。 代わりに mongoc_client_command_simple を使用してください。

  • mongoc_database_command を廃止します。 代わりに mongoc_database_command_simple を使用してください。

  • mongoc_collection_command を廃止します。 代わりに mongoc_collection_command_simple を使用してください。

このリリースの詳細については、v1.29 リリースノートを参照してください。

警告

重大な変更

Cドライバー v1.28.0重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」の 「バージョン1.28.0 」 を参照してください。

Cドライバーの 1.28.0 リリースにはいくつかの変更が含まれています。

libbson の 1.28.0 リリースには次の変更が含まれています。

  • bson_validate_with_error_and_offset() 関数を追加します

  • 使用中の暗号化範囲クエリのサポートを追加しました

  • mongoc_collection_insert_one には挿入IDが含まれます

  • 新しい一括書込みAPIを追加します mongoc_bulkwrite_t

  • Adds serverMonitoringMode URI option

  • *_hint オプションを廃止します。 代わりに、*_server_id オプションを使用してください。

    • mongoc_bulk_operation_set_hint を廃止します。 代わりに、mongoc_bulk_operation_set_server_id を使用してください。

    • mongoc_bulk_operation_get_hint を廃止します。 代わりに、mongoc_bulk_operation_get_server_id を使用してください。

    • mongoc_cursor_set_hint を廃止します。 代わりに、mongoc_cursor_set_server_id を使用してください。

    • mongoc_cursor_get_hint を廃止します。 代わりに、mongoc_cursor_get_server_id を使用してください。

  • ENABLE_SSL=LIBRESSLmongoc_stream_tls_libressl_new を廃止します。

  • Windowsプラットフォームで ENABLE_SASL=CYRUSCYRUS_PLUGIN_PATH_PREFIX オプションを廃止します。

このリリースの詳細については、v1.28 リリースノートを参照してください。

Cドライバーの 1.27.6 リリースにはいくつかの変更が含まれています。

libbson の 1.27.6 リリースには次の変更が含まれています。

  • 特殊なBSON型の不正な拡張JSONの処理を修正しました

libmongoc の 1.27.6 リリースには次の変更が含まれています。

  • TSAN 警告を修正しました

  • C23 コンパイルを修正しました

  • トランザクション内のコマンド エラーに期待される動作のドキュメント

Cドライバーの 1.27.5 リリースにはいくつかの変更が含まれています。

libbson の 1.27.5 リリースには次の変更が含まれています。

  • における大規模な文字列の処理を修正しました bson_append_utf8

libmongoc の 1.27.5 リリースには次の変更が含まれています。

  • bool または _Bool がマイクロである環境で発生する可能性のあるビルド エラーを修正しました

Cドライバーの 1.27.4 リリースにはいくつかの変更が含まれています。

libbson の 1.27.4 リリースには次の変更が含まれています。

  • Visual Studio 2013 でのビルドの問題を修正しました

libmongoc の 1.27.4 リリースには次の変更が含まれています。

  • 不正なワイヤプロトコルメッセージの読み取りがクラッシュする可能性を修正します

  • Visual Studio 2013 でのビルドの問題を修正しました

Cドライバーの 1.27.3 リリースにはいくつかの変更が含まれています。

libbson の 1.27.3 リリースには次の変更が含まれています。

  • 新しいコード署名や依存関係の追跡など、開発プロセスに関する変更を導入します。 動作またはAPI の変更はありません。

libmongoc の 1.27.3 リリースには次の変更が含まれています。

  • バンドルされた zlib を 1.2.3 から 1.3.1 にアップグレードします

Cドライバーの 1.27.2 リリースにはいくつかの変更が含まれています。

libbson の 1.27.2 リリースには次の変更が含まれています。

  • タイムゾーン内のコロンの解析を修正しました

  • でサブドキュメントを初期化できない場合のエラーを修正しました bson_iter_visit_all

libmongoc の 1.27.2 リリースには次の変更が含まれています。

  • リモート サーバーへの残った接続を閉じます

  • SRV 検索よりも TCP 検索を優先するように環境変数 MONGO_EXPERIMENTAL_SRV_PREFER_TCP を確認します

Cドライバーの 1.27.1 リリースにはいくつかの変更が含まれています。

libbson の 1.27.1 リリースには次の変更が含まれています。

  • bson_string_newbson_string_append における大規模な文字列の処理を修正しました

このバージョンは libbson バージョンと一致するように増加しますが、1.27.0 以降では変更はありません。

警告

重大な変更

Cドライバー v1.27.0重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」の 「バージョン1.27.0 」 を参照してください。

Cドライバーの 1.27.0 リリースにはいくつかの変更が含まれています。

このバージョンは libbson バージョンと一致するように増加しますが、1.26.2 以降では変更はありません。

libmongoc の 1.27.0 リリースには次の変更が含まれています。

  • クライアントが空のパスワードで構成されている場合にクラッシュする可能性を修正しました

  • コマンド イベント mongoc_apm_command_failed_get_database_namemongoc_apm_command_succeeded_get_database_name にデータベース名を追加します

  • 使用中の暗号化のための廃止された KMIPプロトコルをサポート

  • クライアントごとのソケット タイムアウト設定を有効にします

警告

重大な変更

Cドライバー v1.26.2重大な変更が含まれています。詳細については、「 ドライバー バージョンのアップグレードガイド 」の 「バージョン1.26.2 」 を参照してください。

Cドライバーの 1.26.2 リリースにはいくつかの変更が含まれています。

libbson の 1.26.2 リリースには次の変更が含まれています。

  • の反復処理を修正しました bson_strfreev

libmongoc の 1.26.2 リリースには次の変更が含まれています。

  • データが不完全な破損したチャンクで mongoc_gridfs_file_readv を呼び出した場合にハングする可能性を修正しました

  • 4.2 より前のバージョンのMongoDBサーバーに接続する場合のレガシー消費カーソルプロトコルを使用するアサートを修正します

Cドライバーの 1.26.1 リリースにはいくつかの変更が含まれています。

libbson の 1.26.1 リリースには次の変更が含まれています。

  • 整合性のある割り当てを使用する bson_array_builder_t

libmongoc の 1.26.1 リリースには次の変更が含まれています。

  • 64 ビットで 32 ビットのコンパイルを修正しました time_t

Cドライバーの 1.26.0 リリースにはいくつかの変更が含まれています。

このバージョンは libmongoc バージョンと一致するように増加しますが、1.25.4 以降では変更はありません。

libmongoc の 1.26.0 リリースには次の変更が含まれています。

  • 名前付き KMS プロバイダーをサポート

  • シャーディングされたクラスターでの再試行を別の mongos にリダイレクトします

  • ビルドを容易にするためにソースに VERSION_CURRENTファイルを追加します

  • より多くのエラーが再試行可能であると考慮します

戻る

レプリカセットに対する操作

項目一覧