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
- [PYTHON-1252] - Python MongoDB 3.6 Support
- [PYTHON-1453] - Python MongoDB 4.0 Support
- [PYTHON-1468] - Support CPython 3.7
New Feature
- [PYTHON-1278] - Support OP_COMPRESSED
- [PYTHON-1329] - Support OP_MSG
- [PYTHON-1377] - Implement OP_MSG parsing and responses in MockupDB
- [PYTHON-1457] - Implement SASLPrep
- [PYTHON-1464] - SCRAM-SHA-256 Support
- [PYTHON-1508] - Implement Transactions spec
- [PYTHON-1545] - Retryable writes should consider more errors retryable
- [PYTHON-1548] - Test Windows builds on Appveyor
- [PYTHON-1564] - Option to extend driver name and version in handshake metadata
- [PYTHON-1565] - Add helpers and options for Change Streams Follow-on Work
- [PYTHON-1580] - Implement new count API
- [PYTHON-1620] - Test only the initial command in a transaction includes readConcern
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.