Release Notes - Python Driver - Version 4.3 - HTML format

Question

  • [PYTHON-3445] - Improve documentation for custom readPreference tags

Build Failure

  • [PYTHON-2531] - Test failure - TestConnectionsSurvivePrimaryStepDown timed out after 28 minutes
  • [PYTHON-3284] - Test Failure - test_examples.TestSnapshotQueryExamples.test_snapshot_query
  • [PYTHON-3405] - Test Failure - test_Rediscover_quickly_after_replSetStepDown
  • [PYTHON-3407] - macos release failing on Python 3.8 AttributeError: 'Distribution' object has no attribute 'convert_2to3_doctests'
  • [PYTHON-3409] - Test Failure - csot tests fail often in EVG
  • [PYTHON-3444] - MyPy Errors With Version 0.981
  • [PYTHON-3452] - Test Failure - test_Cancel_server_check on MMAPv1 4.0 replica set
  • [PYTHON-3453] - Test failure - Enterprise Auth Windows 64 Python 3.7
  • [PYTHON-3468] - Test failures in test_srv_polling.TestSrvPolling

Spec Change

  • [PYTHON-3312] - Convert SDAM integration spec tests to the unified test format
  • [PYTHON-3420] - Update ChangeStreamEvent type definition to include clusterTime

Bug

  • [PYTHON-2970] - SDAM should give priority to electionId over setVersion when updating topology
  • [PYTHON-3389] - Close ChangeStream after non-resumable non-timeout errors
  • [PYTHON-3433] - Failure: test.test_encryption.TestSpec.test_legacy_maxWireVersion_operation_fails_with_maxWireVersion___8
  • [PYTHON-3447] - Buildfest Feedback: PyPi project page shows obsolete "tls" extra

Epic

  • [PYTHON-1824] - Add ability to workaround Python's datetime range limitations

New Feature

Task

  • [PYTHON-2722] - Improve performance of find/aggregate_raw_batches
  • [PYTHON-3274] - Add commandStartedEvent assertions to clustered index spec tests
  • [PYTHON-3340] - Implement extended datetime range in Python
  • [PYTHON-3341] - Extended-range datetime C extensions.
  • [PYTHON-3342] - Document extended-range datetime.
  • [PYTHON-3343] - Add a codec option for deciding between normal and extended-range datetime.
  • [PYTHON-3346] - Add datetime_conversion to connection string
  • [PYTHON-3347] - Test against Python 3.11 prerelease
  • [PYTHON-3358] - Spec test "change stream resumes after StaleShardVersion" fails on server version > 6.0
  • [PYTHON-3365] - Check codec_options for DatetimeMS.as_datetime
  • [PYTHON-3366] - Upgrade to latest version of mypy
  • [PYTHON-3369] - ReadTheDocs failing: 502 Server Error: Bad Gateway for url: http://www.gevent.org/objects.inv
  • [PYTHON-3371] - Remove DatetimeConversionOpts.__repr__
  • [PYTHON-3375] - Add docs for DatetimeConversionOpts
  • [PYTHON-3376] - Update FAQ about OverflowError when decoding out of range datetimes
  • [PYTHON-3377] - datetime_ms documentation page is empty
  • [PYTHON-3378] - Improve Handling out of range datetimes docs section
  • [PYTHON-3379] - Rename DatetimeConversionOpts to DatetimeConversion
  • [PYTHON-3382] - Update key material for Azure and KMIP datakeys in RewrapManyDataKey
  • [PYTHON-3385] - Add prose test for RewrapManyDataKey
  • [PYTHON-3390] - Add test that encrypted client works after a fork
  • [PYTHON-3391] - Test Failure - test_change_stream_can_resume_after_timeouts
  • [PYTHON-3398] - Benchmark datetime decoding performance
  • [PYTHON-3402] - Test Failure - test.test_encryption.TestRewrapWithSeparateClientEncryption Windows
  • [PYTHON-3403] - Test Failure - test_many_threaded failing on Gevent and Eventlet
  • [PYTHON-3406] - Using MongoClient causes a deadlock in child after a fork()
  • [PYTHON-3411] - Stop testing MongoDB 6.0 on Amazon1 2018
  • [PYTHON-3412] - Update CSFLE test credentials for AWS, Azure, and GCP
  • [PYTHON-3413] - Ensure AWS EC2 Credential Test is Running Properly
  • [PYTHON-3423] - Make dnspython a required dependency
  • [PYTHON-3424] - PyMongo Universal Wheels Are Improperly Compiled
  • [PYTHON-3441] - Add missing pool_ready method in monitoring logger example
  • [PYTHON-3451] - MongoClient eventlet fails to connect with eventlet: AttributeError("'bytes' object has no attribute 'is_absolute'")
  • [PYTHON-3474] - Document changes to AWS Credential Handling
  • [PYTHON-3476] - Release 4.3

Improvement

  • [PYTHON-1889] - Single-source the version tuple/string
  • [PYTHON-2484] - Locks in PyMongo should be sanitized on fork
  • [PYTHON-3232] - Improved change stream event visibility for C2C Replication
  • [PYTHON-3355] - Test with consistent versions of crypt_shared and server
  • [PYTHON-3368] - Add test that reads are not retried in a transaction
  • [PYTHON-3393] - Add stress test for MongoClient fork safety
  • [PYTHON-3400] - SDAM should prioritize electionId over setVersion only on >=6.0 servers
  • [PYTHON-3455] - Link to community forum is dead

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.