From e37ac41aa35cb8c2ee99148f82e3dfb098521fce Mon Sep 17 00:00:00 2001 From: Jib Date: Thu, 1 Feb 2024 13:50:40 -0500 Subject: [PATCH] PYTHON-4183: Unavoidable breaking change with BSON --- doc/changelog.rst | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/changelog.rst b/doc/changelog.rst index c5fd8758dd..ec4e3df370 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -11,8 +11,6 @@ PyMongo 4.7 brings a number of improvements including: :attr:`pymongo.monitoring.CommandSucceededEvent.server_connection_id`, and :attr:`pymongo.monitoring.CommandFailedEvent.server_connection_id` properties. - Fixed a bug where inflating a :class:`~bson.raw_bson.RawBSONDocument` containing a :class:`~bson.code.Code` would cause an error. -- Replaced usage of :class:`bson.son.SON` on all internal classes and commands to dict, - :attr:`options.pool_options.metadata` is now of type ``dict`` as opposed to :class:`bson.son.SON`. - Significantly improved the performance of encoding BSON documents to JSON. - Support for named KMS providers for client side field level encryption. Previously supported KMS providers were only: aws, azure, gcp, kmip, and local. @@ -29,6 +27,15 @@ PyMongo 4.7 brings a number of improvements including: .. _orjson: https://github.com/ijl/orjson +Unavoidable breaking changes +............................ + +- Replaced usage of :class:`bson.son.SON` on all internal classes and commands to dict, + :attr:`options.pool_options.metadata` is now of type ``dict`` as opposed to :class:`bson.son.SON`. + Here's an example of how this changes expected output:: + + >>> ... + Changes in Version 4.6.1 ------------------------