次の新機能をご覧ください。
4.15 の新機能
PyMongo v 4.15リリースには、次の新機能が含まれています。
Queryable Encryption のプレフィックス、サフィックス、サブストリング クエリの実験的なサポートを追加します。これらの機能には
pymongocrypt1.16 以降が必要です。QE の詳細については、使用中の暗号化 を参照してください。注意
試験用機能
Queryable Encryption のプレフィックス、サフィックス、サブストリングのクエリは不安定であり、一般提供(GA)されるまでセキュリティは保証されません。実験的なワークロードでのみ使用してください。
bson.codec_options.TypeRegistryクラスを使用して、 BSONDecimal128値をPythondecimal.Decimal値にエンコードとデコードのサポートを追加します。次の例は、bson.decimal128.DecimalEncoderクラスを使用して、Decimal128値をdecimal.Decimal値にエンコードする方法を示しています。opts = CodecOptions(type_registry=TypeRegistry([DecimalEncoder()])) bson.encode({"d": decimal.Decimal('1.0')}, codec_options=opts) Windows ARM64 ウィザードのサポートを追加します。
4.14 の新機能
PyMongo v 4.14リリースには、次の新機能が含まれています。
フリー スレッディング機能を含む、 Python 3.14 の予備サポートを追加します。ドライバーはPython 3.14 の次の機能をまだサポートしていません。
サブインタープリター(
concurrent.interpreters)暗号化を使用したフリースレッド
mod_wsgi
Python 3.13 によるフリー スレッディングの実験的なサポートを廃止します。
次のプロパティを
bson.codec_options.TypeRegistryクラスに追加します。.codecs:TypeRegistryオブジェクトのタイプ固有のコーデックへのアクセスを提供します.fallback_encoder:TypeRegistryオブジェクトのフォールバック エンコードへのアクセスを提供します
append_metadata()メソッドをMongoClientクラスとAsyncMongoClientクラスに追加します。このメソッドを使用して、クライアントのメタデータをオンデマンドでサーバーに送信できます。プライマリ読み取り参照を使用する場合のサーバー選択パフォーマンスが向上します。
4.13 の新機能
PyMongo v 4.13リリースには、次の新機能が含まれています。
PyMongo Async API は通常利用可能です。PyMongoドライバーまたはMotorライブラリからPyMongo Async APIに移行する方法については、 「PyMongo Async への移行」ガイドを参照してください。
w="majority"を使用している場合にWriteConcern()が評価できないバグを修正しました。
このリリースで解決された問題の完全なリストを確認するには、Jira リリースノート を参照してください。
4.12 の新機能
PyMongo v 4.12リリースには、次の新機能が含まれています。
AutoEncryptionOptsへのkey_expiration_ms引数を使用して、DEKキャッシュの有効期間を構成するためのサポートを追加します。CSFLE で
$lookupと MongoDB Server 8.1 以降で QE のサポートを追加します。gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_name()メソッドとgridfs.grid_file.GridFSBucket.rename_by_name()メソッドを追加します。これらのメソッドを使用すると、複数のリビジョニングされたファイルの名前をよりパフォーマンス的に変更できます。gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_name()メソッドとgridfs.grid_file.GridFSBucket.delete_by_name()メソッドを追加します。これらのメソッドを使用すると、複数のリビジョニングされたファイルをよりパフォーマンス的に削除できます。AsyncMongoClientオブジェクトは作成時にmongodb+srv://接続文字列の DNS 解決を実行しなくなりました。asyncioループのブロックを回避するために、 PyMongo はクライアントが最初に接続されるまで解決を延期するようになりました。pymongo.asynchronous.collection.AsyncCollection.distinct()メソッドとpymongo.collection.Collection.distinct()メソッドにインデックスヒントのサポートを追加します。PrimaryPreferred、Secondary、SecondaryPreferred、Nearestの読み込み設定(read preference)のhedgeパラメータを廃止します。PyMongo v5.0 ではhedgeのサポートが削除されます。PyMongo Async ドライバーから PyOpenSSL サポートを削除します。
3 未満の有効な SRV ホスト名を許可します。
4.11 の新機能
PyMongo v 4.11リリースには、次の新機能が含まれています。
Python v3.13+を実行中際にフリースレッド CPython のサポートを追加します。無料スレッドの詳細については、Pythonドキュメントを参照してください。
使用中の暗号化には
pymongocryptv1.12 以降が必要です。MongoClient.address()メソッドとAsyncMongoClient.address()メソッドは、接続されていないクライアントで呼び出されると正しくブロックされます。IndexModelクラスとSearchIndexModelクラスの__repr__サポートを追加します。次のメソッドに
sortパラメータを追加します。Collection.update_one()Collection.replace_one()operations.UpdateOne()operations.UpdateMany()
MongoClient.bulkWrite()メソッドとAsyncMongoClient.bulk_write()メソッドでは、orderedまたはverboseResultsオプションがTrueに設定されている場合に未確認の書込みで使用すると、エラーがスローされます。レガシーMongoDB拡張JSON日時表現の使用時に、
DatetimeMSが'{"$date": X}'ではなく'{"$date": "X"}'として誤ってエンコードされるバグを修正します。bson.json_util.loads()メソッドが無効な$date値を解析するときにValueErrorではなくIndexErrorを発生させるバグを修正します。
4.10 の新機能
PyMongo v 4.10リリースには、次の新機能が含まれています。
新しいバイナリBSONサブタイプ(9 )の一時的なサポートを追加します。これは メソッドと メソッドを使用して ベクトル
bson.binary.Binary.from_vector()bson.binary.Binary.as_vector()の効率的なストレージと取得に使用できます。BSONサブタイプ 9 のサポートはbeta段階であり、一般提供リリースより前に変更される可能性があります。アプリケーションでC拡張機能が使用されている場合、
driver.nameクライアントメタデータフィールドに"c"を追加します。AsyncMongoClientがデッドロックを発生させる可能性があるバグを修正します。
4.9 の新機能
PyMongo v 4.9リリースには、次の新機能が含まれています。
MongoDB Server 8.0およびPython 3.13のサポートを追加します。
Queryable Encryption範囲クエリのサポートを追加します。 この機能を使用するには、アプリをMongoDB Server 8.0以降に接続する必要があります。 Queryable Encryptionの詳細については、 MongoDB Serverマニュアルの「 Queryable Encryption 」を参照してください。
Motorの代わりに新しい実験的な非同期APIを追加します。 このAPIはbetaであり、一般利用可能なリリースより前に変更される可能性があります。
4.8 の新機能
PyMongo v 4.8リリースには、次の新機能が含まれています。
リリース プロセスに安全なソフトウェア開発ライフ サイクル(SSDC)のオートメーションを実装しました。 Githubリリースには、PyPI でリリースされたディストリビューション ファイルに対応するソフトウェア アイテムの請求書(MBOM)と署名ファイルが含まれます。
bson.binary.Binaryタイプのオブジェクトでは、バイナリ サブタイプがSENSITIVE_SUBTYPE(8)の場合、repr()メソッドは編集されます。変更ストリームで、 フィールドと フィールドの両方が再試行に追加でき、再試行が失敗するバグを修正しました。
startAtOperationTimeresumeTokenWindows では、インポート時間を改善するために、
os.nameのハンドシェイク メタデータをWindowsに変更しました。特にドライバーが多くの操作を同時に実行している場合の
MongoClient操作のパフォーマンスが向上しました。pyopensslモジュールのインポートがAttributeErrorとともに失敗する場合に、stdlibsslモジュールへのフォールバックを追加しました。
4.7 の新機能
PyMongo v 4.7リリースには、次の新機能が含まれています。
Hello.connection_id、CommandStartedEvent.server_connection_id、CommandSucceededEvent.server_connection_id、CommandFailedEvent.server_connection_id を追加しました。プロパティ。クライアント側フィールド レベル暗号化(CSFLE)用の KMS(KMS)プロバイダーの名前サフィックスのサポートを追加しました。 この機能には
pymongocryptv1.9+ とlibmongocryptv1.9+ が必要です。詳細については、AutoEncryptionOptsクラスのAPIドキュメントを参照してください。BSON ドキュメントを JSON にエンコードする際のパフォーマンスが向上しました。
ClientEncryption.encrypt()メソッドとClientEncryption.encrypt_expression()メソッドで、key_id引数をUUIDオブジェクトとして渡すことができるようになりました。Code値を含むRawBSONDocumentオブジェクトをインスタンス化しても、エラーが発生しなくなりました。Python 3.12のバグを修正しました Python インタープリタがシャットダウンして
MongoClientスレッドが起動するときに、エラー メッセージRuntimeError: can't create new thread at interpreter shutdownがstderrに書き込まれる可能性があります。Int64インスタンスが orjson によってエンコードされない場合があるバグを修正しました。次の例のようなコードが正しく実行されるようになりました。
import orjson from bson import json_util orjson.dumps({'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS)