Amethystine scrub python

Source: inrideo on Flickr

I announce with satisfaction that we've released PyMongo 2.7, the successor to PyMongo 2.6.3. The bulk of the driver's changes are to support MongoDB 2.6, which is currently a release candidate. The newest MongoDB has an enhanced wire protocol and some big new features, so PyMongo 2.7 is focused on supporting it. However, the driver still supports server versions as old as 1.8.

Read my prior post for a full list of the features and improvements in PyMongo. Since I wrote that, we've fixed some compatibility issues with MongoDB 2.6, dealt with recent changes to the nose and setuptools packages, and made a couple memory optimizations.

Motor 0.2 is about to ship, as well. I'll give the details in my next post.

What's next for PyMongo? We now embark on a partial rewrite, which will become PyMongo 3.0. The next-generation driver will delete many deprecated APIs: safe will disappear, since it was deprecated in favor of w=1 years ago. Connection will walk off into the sunset, giving way to MongoClient. We'll make a faster and more thread-safe core for PyMongo, and we'll expose a clean API so Motor and ODMs can wrap PyMongo more neatly.

We'll discard PyMongo's current C extension for BSON-handling. We'll replace it with libbson, a common codec that our C team is building. If you're handling BSON in PyPy, we aim to give you a much faster pure-Python codec there, too.