Bug
- [PYTHON-1103] - bson.json_util does not properly serialize the UUID binary sub type
- [PYTHON-1114] - Fix MongoClient repr examples in high availability docs
- [PYTHON-1122] - test_bson.py: test_bad_encode fails on OS X Python 2.6
- [PYTHON-1123] - Cannot customize the codec_options value of MongoClient
- [PYTHON-1125] - An invalid ssl_certfile causes MongoClient to raise ssl.SSLError in Python2.7+
- [PYTHON-1128] - unicode decode error when creating index
- [PYTHON-1131] - Fix inconsistent handling of bson.code.Code with explicit empty scope
- [PYTHON-1141] - ServerHeartbeatFailedEvent not always fired
- [PYTHON-1150] - maxStalenessMS not added to $readPreference
- [PYTHON-1153] - Documentation should build and test under python 3.x
- [PYTHON-1154] - Doctests fail against latest MongoDB versions
- [PYTHON-1160] - Fix MongoClient.__repr__ when using Unix domain sockets
- [PYTHON-1166] - Check status when building docs with Sphinx >= 1.3
- [PYTHON-1171] - Memory leak in _cbson_element_to_dict
- [PYTHON-1177] - Race condition in PeriodicExecutor
- [PYTHON-1178] - Test failure - test_mongos_load_balancing.TestMongosLoadBalancing.test_local_threshold
- [PYTHON-1179] - Test failure - various pool tests with pypy(3)
- [PYTHON-1180] - Test failure - test_command_monitoring_spec.TestAllScenarios.test_find
- [PYTHON-1181] - Test failure - test_collection.TestCollection.test_parallel_scan_max_time_ms
- [PYTHON-1188] - Test failure - test_max_staleness.TestMaxStaleness.test_last_write_date
- [PYTHON-1189] - poll.poll is not threadsafe (and other problems)
Epic
- [PYTHON-1079] - Tickets that support 3.4 release
New Feature
- [PYTHON-1066] - Support maxTimeMS option in parallelScan helpers
- [PYTHON-1068] - Support BSON Decimal128
- [PYTHON-1101] - Support sending writeConcern for commands that write
- [PYTHON-1104] - Implement maxStalenessMS
- [PYTHON-1111] - New codec options for json_util.dumps and loads
- [PYTHON-1113] - Support collation per operation
- [PYTHON-1117] - TopologyDescription.has_readable_server and has_writable_server
- [PYTHON-1119] - Implement The MongoDB Handshake Protocol
- [PYTHON-1129] - Support IP address matching in match_hostname
- [PYTHON-1132] - Support TLS SNI when available.
- [PYTHON-1184] - username no longer required for MONGODB-X509 auth
- [PYTHON-1192] - Make minimum value of maxStalenessSeconds 90 seconds
Task
- [PYTHON-1106] - Implement BSON corpus test suite
- [PYTHON-1120] - Test Client Metadata Capture with MockupDB
- [PYTHON-1124] - Test PyMongo on zSeries (s390x), ARM64 (aarch64) platforms, and POWER8 (ppc64le)
- [PYTHON-1143] - Update Python Driver Documentation: 3.4 Feature Collation
- [PYTHON-1144] - Add a "Using PyMongo with Atlas" example document
- [PYTHON-1146] - Update Python Driver Documentation: 3.4 Feature Decimal
- [PYTHON-1151] - Add third party notices file
- [PYTHON-1152] - Update common.MAX_SUPPORTED_WIRE_VERSION for MongoDB 3.4
- [PYTHON-1169] - Change maxStalenessMS default to -1 (No max)
- [PYTHON-1176] - Resync CRUD spec tests
- [PYTHON-1183] - BSON Regex flags must be alphabetically ordered
- [PYTHON-1186] - Test SNI support
Improvement
- [PYTHON-767] - Support $date as an ISO-8601 string or $numberLong in json_util.default
- [PYTHON-1026] - Remove topology assumptions from the test suite.
- [PYTHON-1039] - Support bson.int64.Int64 in json_util.default
- [PYTHON-1075] - Support running the entire test suite with TLS
- [PYTHON-1112] - Refactor server selection and max staleness JSON tests
- [PYTHON-1133] - Explicitly disable TLS compression when possible
- [PYTHON-1135] - Replace JSONOptions.strict_date with JSONOptions.datetime_representation
- [PYTHON-1136] - Report python implementation in handshake
- [PYTHON-1137] - Add public attribute for IsMaster._doc
- [PYTHON-1138] - Improve documentation for SDAM monitoring
- [PYTHON-1139] - Document that PyMongo is not fork safe
- [PYTHON-1140] - Add os.name, os.architecture, and os.version to handshake metadata
- [PYTHON-1142] - Add TopologyDescription.topology_type_name and ServerDescription.server_type_name
- [PYTHON-1147] - Make sockets non-inheritable (best effort)
- [PYTHON-1156] - "Changed in version 3.0" section in PyMongo 3.0+ API documentation
- [PYTHON-1157] - SSL timeouts should raise NetworkTimeout, not AutoReconnect
- [PYTHON-1161] - Add examples for using Unix domain sockets
- [PYTHON-1174] - Clarify usage of PyMongo with multiprocessing.
- [PYTHON-1185] - Update Max Staleness implementation
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.