Release Notes - Python Driver - Version 3.8 - HTML format

Bug

  • [PYTHON-1392] - Evergreen coverage task is not working
  • [PYTHON-1491] - Test Failure - test_legacy_api.TestLegacy.test_kill_cursors_with_tuple
  • [PYTHON-1535] - Various file upload problems on Evergreen
  • [PYTHON-1600] - Test Failure - test_max_staleness.TestMaxStaleness.test_last_write_date
  • [PYTHON-1603] - datetime microseconds are rounded instead of truncated
  • [PYTHON-1609] - Calling Database.authenticate more than once with the same credentials results in OperationFailure
  • [PYTHON-1613] - Authentication fails when SCRAM-SHA-1 is used to authenticate users with only MONGODB-CR credentials
  • [PYTHON-1617] - ensure_index only caches a single index per database (the last created one)
  • [PYTHON-1625] - Perf tests are broken
  • [PYTHON-1635] - ObjectId encodes/decodes timestamp portion as a signed integer
  • [PYTHON-1642] - Documentation uses the deprecated count()
  • [PYTHON-1644] - Doctests fail with "not master"
  • [PYTHON-1655] - Equality comparisons on WriteConcern instances are incorrect
  • [PYTHON-1682] - Unicode errors from server are improperly encoded in exceptions
  • [PYTHON-1691] - Test failure test_transactions_transaction_options_transaction_options_inherited_from_client
  • [PYTHON-1704] - MongoClient.close does not stop its "pymongo_kill_cursors_thread"
  • [PYTHON-1709] - Database.current_op does not use CodecOptions when the server is >=3.2
  • [PYTHON-1725] - Test failure - test_threads.TestThreadsAuth.test_auto_auth_login
  • [PYTHON-1766] - test_collection.TestCollection.test_large_limit is slow
  • [PYTHON-1767] - Doctests fails on unexpected keyPattern/keyValue fields in writeErrors
  • [PYTHON-1775] - Doctests fail on unexpected TypeRegistry in repr
  • [PYTHON-1781] - PyMongo 3.7 does not raise an error when attempting sharded transactions on 4.2
  • [PYTHON-1782] - MongoClient fails ConfigurationError: Unknown option type_registry
  • [PYTHON-1786] - PyMongo sends "$comment" with distinct and count instead of "comment"
  • [PYTHON-1791] - Potential memory leaks and undefined behavior flagged by Coverity
  • [PYTHON-1792] - Test failure - test_try_next and test_try_next_runs_one_getmore
  • [PYTHON-1799] - bson encoding subtypes of known bson types is not thread safe
  • [PYTHON-1811] - Raise a deprecation warning for min/max queries that don't contain a hint
  • [PYTHON-1820] - Properly validate bson document size when creating a RawBSONDocument
  • [PYTHON-1821] - Iterating a RawBSONDocument does not preserve field order
  • [PYTHON-1826] - Test failure - tests.test_reset_and_request_check.TestResetAndRequestCheck.test_not_master_find_one

Epic

New Feature

  • [PYTHON-381] - BSON should support some type of object state callback
  • [PYTHON-1541] - Use python_requires to enforce required Python versions at install time
  • [PYTHON-1619] - Implement ObjectID spec
  • [PYTHON-1662] - Add method to request the next ChangeStream document without blocking forever
  • [PYTHON-1664] - Unable to serialize object in the insert_one query
  • [PYTHON-1695] - GridOut does not implement seekable() from io.IOBase
  • [PYTHON-1726] - Disable TLS renegotiation when possible
  • [PYTHON-1750] - Support codec callbacks for simple types
  • [PYTHON-1784] - Database.list_collection_names should accept a filter argument

Task

  • [PYTHON-1536] - Drop support for PyPy 3.2
  • [PYTHON-1604] - Stop testing Collection.reindex with mongos and MongoDB 4.1+
  • [PYTHON-1605] - Update mod_wsgi Evergreen tests for new directory layout.
  • [PYTHON-1606] - Update testing on Evergreen distros that MongoDB no longer supports
  • [PYTHON-1607] - Stop testing Database.eval and SystemJS with MongoDB 4.1+
  • [PYTHON-1623] - Causal Consistency Examples for the Manual
  • [PYTHON-1624] - Test Failure - test_collection.TestCollection.test_aggregate
  • [PYTHON-1633] - Test Python 3.7 on Windows
  • [PYTHON-1645] - Update driver to only test RHEL on zSeries
  • [PYTHON-1683] - Remove _partition and _rpartition from uri_parser module
  • [PYTHON-1696] - Stop encouraging the use of BSON.decode as a class method
  • [PYTHON-1719] - Fix test failures caused by removal of `getPrevError`
  • [PYTHON-1731] - Need hook for encoding unencodable objects
  • [PYTHON-1751] - Resync transaction spec tests for bulk write error reporting change
  • [PYTHON-1757] - Stop requiring enableTestCommands
  • [PYTHON-1768] - Document how to encode subtypes of custom types via callback mechanism
  • [PYTHON-1773] - Test against single node in Evergreen without enableTestCommands
  • [PYTHON-1780] - Test python27-devel on linux-64-amzn
  • [PYTHON-1783] - User defined TypeCodecs should not be able to augment internal fields like cursor.id
  • [PYTHON-1801] - Update Transactions count test for MongoDB >= 4.0.7
  • [PYTHON-1808] - Document uuidRepresentation
  • [PYTHON-1810] - Ensure TypeCodec functionality does not break GridFS
  • [PYTHON-1812] - Consolidate custom type tests into a single test class
  • [PYTHON-1819] - Add documentation & examples for custom type encoding/decoding functionality

Improvement

  • [PYTHON-1577] - Add option for applications to register a custom server selector
  • [PYTHON-1621] - Modify Change Stream Output Examples
  • [PYTHON-1656] - Document that explain() uses the explain command default verbosity
  • [PYTHON-1658] - Add test that reads ignore db/collection readConcern in transaction
  • [PYTHON-1663] - Connection pool should be LIFO
  • [PYTHON-1685] - Interface to connect to database from uri with default database name
  • [PYTHON-1706] - Fix issues found by coverity scan
  • [PYTHON-1721] - GridFS should use a cursor to read all chunks in a file
  • [PYTHON-1762] - Document that limit=0 (the default) is equivalent to setting no limit
  • [PYTHON-1769] - Re-define TypeCodecBase as an AbstractBaseClass
  • [PYTHON-1814] - Support TypeCodecs in Collection.distinct
  • [PYTHON-1818] - Support TypeCodecs in ChangeStreams

Edit/Copy Release Notes

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