Docs Menu

新機能

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

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

次のセクションでは、 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ドライバーの 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 を使用してください。

  • Visual Studio 2013 のサポートを廃止します

  • 使用中の暗号化機能をサポートするために、libmongocrypt 依存関係の必要なバージョンを 1.12.0 に引き上げます

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

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

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

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

  • 自動 ccache の検出と使用を排除しました

  • Mongo_USE_CCACHE を削除します

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

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

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

  • Adds serverMonitoringMode URI option

  • 最小ワイヤプロトコルバージョンを 6 から 7 に引き上げます

  • 使用中の暗号化をサポートするには、必要な libmongocrypt バージョンを v1.11.0 に引き上げます

  • *_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ドライバーの 1.27.0 リリースにはいくつかの変更が含まれています。

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

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

  • 使用中の暗号化をサポートするために、libmongocrypt の必要バージョンを 1.10.0 に引き上げます。 これは CMax オプション ENABLE_CLIENT_SIDE_ENCRYPTION に対応します。

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

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

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

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

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

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

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

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

  • デフォルトでは 、 はWindows上の Cyrus SASL を使用したプラグインのロードを無効にします。 再度有効にするには、CMax オプション CYRUS_PLUGIN_PATH_PREFIX を Cyrus SASL プラグインの絶対パス プレフィックスに設定します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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