The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version v0.999.998.6 - 2015-05-20 (TRIAL RELEASE)

  • !!! Incompatible Changes !!!
    • PERL-505 When inserting a document without an '_id' field, the _id will be added during BSON encoding, but the original document will not be changed. (This was inconsistent between regular and bulk insertion in the v0.x series and during previous alpha releases.)
    • PERL-519 The $MongoDB::BSON::use_binary global variable has been removed. Binary data always decodes to MongoDB::BSON::Binary objects (which now overload stringification). This ensures that binary data will correctly round-trip.
    • PERL-520 The $MongoDB::BSON::utf8_flag_on global varialbe has been removed. BSON strings will always be decoded to Perl character strings. This ensures that string data will correctly round-trip.
    • The $MongoDB::BSON::looks_like_number and $MongoDB::BSON::char global variables now ONLY have an effect at MongoDB::MongoClient construction. Changing them later does not change BSON encoding. Both are deprecated as well and should not be used in new code. Instead, the enhanced MongoDB::BSON codec class has attributes that encapsulate these behaviors.
    • PERL-221 The 'inflate_regexps' MongoDB::MongoClient option has been removed. BSON regular expressions always decode to MongoDB::BSON::Regexp objects. This ensure safety and consistency with other drivers.
    • The 'inflate_dbrefs' MongoDB::MongoClient option has been removed. By default, dbrefs are always inflated to MongoDB::DBRef objects.
    • The 'dt_type' MongoDB::MongoClient option has been deprecated and made read-only. It now only takes effect if C<MongoDB::MongoClient> constructs a MongoDB::BSON codec object and is read-only so that any code that relied on changing it after client construction will fail rather that being silently ignored.
  • *** Deprecations ***
    • As mentioned above, 'dt_type', '$MongoDB::BSON::looks_like_number' and '$MongoDB::BSON::char' have been deprecated in addition to their other behavior changes.
  • Additions
    • Added 'with_codec' method to MongoDB::Collection for easier localized changes to codec attributes.
  • Changes
    • PERL-331 The MongoDB::BSON package is now a full class, implementing a BSON encoder-decoder (codec). It can be supplied as an attribute to MongoDB::MongoClient, MongoDB::Database and MongoDB::Collection objects.
  • Fixes
    • PERL-531 Bulk update/replace documents would not validate properly when $MongoDB::BSON::char was not '$'. While that functionality has moved to the MongoDB::BSON codec instead of the global variable, all update/replace documents (bulk and CRUD API) are now validated after key munging.
    • Fixed a number of XS memory leaks from non-mortalized variables during BSON encoding.
    • Fixed t/gridfs to work around a bug in MongoDB 3.1.2.
    • Fixed BSON double tests on Perls with long-doubles enabled
  • ~ Internal changes ~
    • PERL-325 Updated vendored ppport.h to version 3.31
    • Refactored and reorganized perl-mongo.h and perl_mongo.c. Removed unused functions and macros.
    • Removed unused vendored libyajl files.

Documentation

The data types used with MongoDB
Some examples of MongoDB syntax
Indexing collections
Getting started with MongoDB
Deprecations and behavior changes from the v0 driver

Modules

Official MongoDB Driver for Perl
Tools for serializing and deserializing data in BSON form
MongoDB binary type
Regular expression type
MongoDB bulk write interface
MongoDB bulk write result document
Bulk write operations against a query document
JavaScript Code
A MongoDB Collection
MongoDB generic command result document
A lazy cursor for Mongo query results
A MongoDB database reference
A MongoDB Database
MongoDB deletion result object
MongoDB Driver Error classes
A file storage utility
A Mongo GridFS file
MongoDB single insert result object
MongoDB single insert result object
A connection to a MongoDB server or multi-server deployment
A Mongo Object ID
An iterator for Mongo query results
An iterator for Mongo query results with client-side filtering
Encapsulate and validate read preferences
Replication timestamp
MongoDB update result object
Encapsulate and validate a write concern

Provides

in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/Error.pm
in lib/MongoDB/BulkWriteResult.pm