Release Notes - Python Driver - Version 3.7 - HTML format

Bug

  • [PYTHON-1471] - test_replica_set_client.TestReplicaSetClient.test_properties fails against a 3.7 replica set with auth
  • [PYTHON-1492] - Test Failure - test_cursor.TestCursor. test_max_await_time_ms
  • [PYTHON-1504] - isLegalUTF8 check in bson is not 100% correct
  • [PYTHON-1513] - PyMongo inefficiently reads large messages off the network
  • [PYTHON-1523] - PyMongo adds empty writeConcern to commands with Python 2
  • [PYTHON-1524] - Various Collection methods use Database options instead of Collection options
  • [PYTHON-1525] - Empty WriteConcern is truthy in Python 2
  • [PYTHON-1527] - Default WriteConcern does not override in get_database, get_collection, with_options
  • [PYTHON-1529] - parallel_scan with implicit session errors when auth is enabled
  • [PYTHON-1532] - Test Failure - test_client.TestClient.test_list_databases
  • [PYTHON-1534] - SRV support doesn't handle missing options DNS records.
  • [PYTHON-1543] - Some write operations raise WriteConcernError instead of WTimeoutError
  • [PYTHON-1549] - Test Failure - test_database.TestDatabase.test_errors
  • [PYTHON-1554] - Memory Leak when decoding datetimes with CodecOptions: tz_aware and tzinfo
  • [PYTHON-1556] - PyMongo uses invalid escape sequences on Python >= 3.6
  • [PYTHON-1574] - TLS tests fail against MongoDB 4.0+ with Python 2.6 on Windows
  • [PYTHON-1582] - Test Failure - TestChangeStream.test_aggregate_cursor_blocks and test_next_blocks
  • [PYTHON-1590] - Transaction tests fail with RuntimeError: can't start new thread
  • [PYTHON-1597] - Don't run Change Stream tests on MMAPv1
  • [PYTHON-1598] - Configure transaction write operations with default WriteConcern
  • [PYTHON-1599] - Fix unchecked return value in cmessagemodule

Epic

New Feature

Task

  • [PYTHON-1425] - Implement auth spec and tests
  • [PYTHON-1436] - Automate Atlas connectivity tests
  • [PYTHON-1456] - ssl.match_hostname is deprecated in Python 3.7
  • [PYTHON-1458] - GridFS MD5 digest must be optional
  • [PYTHON-1461] - Test Python 3.7 in Evergreen
  • [PYTHON-1463] - Implement read / write concern spec
  • [PYTHON-1465] - Aggregation, runCommand, and index management examples for Docs
  • [PYTHON-1483] - Prohibit using unacknowledged writes with explicit sessions
  • [PYTHON-1487] - Resync GridFS tests to add test for legacy GridFS, where no filename was set
  • [PYTHON-1494] - Test PyPy 3.5 in Evergreen
  • [PYTHON-1496] - Support Sphinx 1.7
  • [PYTHON-1501] - Deprecate maxScan query option
  • [PYTHON-1509] - Update authentication examples for SCRAM-SHA-256 and MongoDB 4.0
  • [PYTHON-1521] - Remove MD5 from ObjectId generation
  • [PYTHON-1526] - Update SCRAM-SHA-256 implementation and tests for spec change
  • [PYTHON-1537] - Remove test/high_availability
  • [PYTHON-1538] - common.ORDERED_TYPES should include dict on Python 3.7
  • [PYTHON-1551] - Deprecate MongoClient.close_cursor
  • [PYTHON-1553] - Test snappy compression support in Evergreen
  • [PYTHON-1557] - Release PyMongo 3.7
  • [PYTHON-1560] - Update transaction documentation links
  • [PYTHON-1570] - Add MongoDB 4.0 to the Evergreen matrix
  • [PYTHON-1571] - Skip group command / helper tests on MongoDB 4.1+
  • [PYTHON-1581] - Finish deprecation of Collection.count and Cursor.count
  • [PYTHON-1583] - Update ChangeStream tests for 4.1.1 "drop" notifications
  • [PYTHON-1584] - Skip tests using maxScan when the server is 4.1+
  • [PYTHON-1586] - Deprecate database_names and collection_names
  • [PYTHON-1591] - Deprecate Collection.parallel_scan
  • [PYTHON-1595] - Add API-level documentation for restriction of geo commands in count helpers

Improvement

  • [PYTHON-1273] - Cache SCRAM ClientKey and ServerKey
  • [PYTHON-1454] - Deprecate MONGODB-CR
  • [PYTHON-1502] - Deprecate snapshot option
  • [PYTHON-1506] - Add CodecOptions examples
  • [PYTHON-1515] - Add MongoDB 3.4 to the python benchmark suite
  • [PYTHON-1544] - Resync SDAM tests
  • [PYTHON-1546] - Spec tests should use the same format for bulk writes
  • [PYTHON-1555] - ConnectionFailure (SSL handshake failed) should raise AutoReconnect
  • [PYTHON-1558] - Use nameOnly for methods that only require collection names
  • [PYTHON-1562] - Provide Transactions example for Docs
  • [PYTHON-1563] - Avoid import deadlocks in test suite
  • [PYTHON-1572] - Don't import hash functions until needed
  • [PYTHON-1589] - Re-sync transaction spec tests for new UnknownTransactionCommitResult label tests
  • [PYTHON-1610] - Build and distribute CPython2.7-32bit wheel for pymongo 3.7.0+

Edit/Copy Release Notes

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