This reduces memory fragmentation when encoding large batches of documents for insert. Testing shows improvements in memory usage in pure python and reduced GC overhead in Jython with no reduction in performance.
There are two Kerberos bindings on PyPI: kerberos and pykerberos. PyMongo has been compatible with the kerberos package since PyMongo 2.5.0. But kerberos is not currently compatible with Python 3. This change introduces compatibility with the new pykerberos package. Since pykerberos is compatible with Python 3, PyMongo can now use Kerberos in Python 3.
…h fails, PYTHON-517.
In a sharded cluster with mixed version shards (i.e. one shard primary is 2.6, another is 2.4 or older) the result of one call to update could include nModified when the next does not. Since there is no way to provide a valid count in this case we omit the field. Make sure you upgrade your entire cluster to MongoDB 2.6 or newer before relying on this field.