Release Notes - Python Driver - Version 2.7 - HTML format

Bug

  • [PYTHON-313] - _cbsonmodule problems on ARM processors
  • [PYTHON-487] - Thundering herd problem in Mongos HA
  • [PYTHON-500] - PyMongo can error when retrieving regular expressions not supported by python
  • [PYTHON-560] - TypeError or InvalidOperation when multiple threads trigger lazy connection
  • [PYTHON-571] - invalid bson crashes parser
  • [PYTHON-574] - Handle server command responses without "ok" field
  • [PYTHON-575] - TimeoutError not raised if write fails due to wtimeout.
  • [PYTHON-585] - update() with manipulate=True inserts _id in update document
  • [PYTHON-586] - _cbson can't decode (deprecated) DBPointer in python 3.x
  • [PYTHON-591] - Replica set connections do not verify correctness of members
  • [PYTHON-594] - assertion failure on socket disconnect
  • [PYTHON-595] - pymongo.mongo_replica_set_client in __schedule_refresh AttributeError: 'NoneType' object has no attribute 'schedule_refresh'
  • [PYTHON-598] - GridFS.list() sometimes includes None
  • [PYTHON-600] - Replica Set monitoring bug in split brain situation
  • [PYTHON-601] - AssertionError on insert during primary election
  • [PYTHON-607] - Gevent 1.0 causes pymongo.MongoReplicaSetClient to hang on epoll call
  • [PYTHON-608] - MongoReplicaSetClient must raise error if no members of host list are reachable
  • [PYTHON-616] - TestReplicaSetClientLazyConnectBadSeeds intermittent failure
  • [PYTHON-621] - Python 3: read(0) on a GridOut instance returns a string instead of bytes
  • [PYTHON-623] - Python driver should not allow sending _ids with a key starting with $
  • [PYTHON-626] - Kerberos auth problems with python-kerberos from Red Hat
  • [PYTHON-629] - max_pool_size documented inconsistently
  • [PYTHON-636] - Aggregate cursor failure when read preference not PRIMARY
  • [PYTHON-637] - "Cursor not found" does not "kill" instances of cursor.Cursor
  • [PYTHON-643] - add_user can't make existing user readonly on MongoDB 2.6
  • [PYTHON-652] - the connected server supports BSON document sizes up to 0 bytes!!
  • [PYTHON-653] - "not master" error from update or remove with lazily-connected MongoClient
  • [PYTHON-654] - Xcode 5.1 (clang 3.4) breaks C extension builds on Apple provided pythons
  • [PYTHON-657] - ensure_index returns name of index even when index already exists
  • [PYTHON-917] - MongoClient keeps trying auth on recovering member after primary hangup

New Feature

  • [PYTHON-550] - Support $maxTimeMS for commands and queries (MongoDB 2.6)
  • [PYTHON-555] - Support $out aggregation pipeline operator (MongoDB 2.6)
  • [PYTHON-587] - Drivers should only talk to servers with overlapping wire versions
  • [PYTHON-622] - Use createIndexes command when available (MongoDB 2.6)
  • [PYTHON-630] - Fluent API for bulk write operations

Task

  • [PYTHON-531] - MongoReplicaSetClient raises confusing error message after query timeout
  • [PYTHON-552] - Manipulate user objects exclusively via commands (MongoDB 2.6)
  • [PYTHON-554] - Support insert, update, and remove through commands (MongoDB 2.6)
  • [PYTHON-556] - Skip authentication tests if auth is not enabled
  • [PYTHON-567] - Improve mod_wsgi documentation and testing
  • [PYTHON-578] - What are the defaults for mongo_client's socketTimeoutMS, connectTimeoutMS and waitQueueTimeoutMS?
  • [PYTHON-583] - Strange warning: Conflicting write concerns. ...
  • [PYTHON-619] - Docs Typo: Hide Accents
  • [PYTHON-639] - Don't use Feature from setuptools
  • [PYTHON-641] - Prohibit find() with no selector in Bulk API
  • [PYTHON-642] - Use maxWriteBatchSize from ismaster for write command batch splitting.
  • [PYTHON-646] - Future.set_exception causes ref cycle?
  • [PYTHON-648] - nModified should be null from legacy writes
  • [PYTHON-650] - Update ssl_match_hostname.py to the latest code from python 3.3.5
  • [PYTHON-661] - gridfs chunksize should be lowered to 255K

Improvement

  • [PYTHON-310] - GridFS. There is no method to retrieve files list as cursor.
  • [PYTHON-406] - No way to get version count in GridFS
  • [PYTHON-473] - Support the readPreferenceTags and uuidRepresentation URI options
  • [PYTHON-494] - Capture all BSON decode errors and wrap with InvalidBSON
  • [PYTHON-549] - MongoReplicaSetClient should have a proper way to recreate monitors
  • [PYTHON-565] - Clean up typechecking and related documentation in pymongo.cursor
  • [PYTHON-569] - Silence C extension RuntimeWarning
  • [PYTHON-576] - OperationFailure and subclasses should include the error details
  • [PYTHON-577] - Warn when a command is redirected to the primary and read preference is not primary
  • [PYTHON-593] - please update description of 'fsync' write concern flag
  • [PYTHON-602] - json_util.dumps should preserve field order in SON objects
  • [PYTHON-604] - Implement ordering on MinKey / MaxKey
  • [PYTHON-605] - Support "multi" option for Collection.remove
  • [PYTHON-609] - Timestamp objects ordering incorrect
  • [PYTHON-615] - Faster alive() method when primary / standalone is down
  • [PYTHON-624] - Upload wheel python package to PyPI
  • [PYTHON-632] - Support list containing pair of (str, dict) in sort
  • [PYTHON-633] - Add parallelCollectionScan helper
  • [PYTHON-647] - Omit nModified field from Bulk API results if legacy server
  • [PYTHON-649] - Update Django instructions
  • [PYTHON-663] - Add multi field sort example to documentation

Edit/Copy Release Notes

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