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.5 - 2015-04-30

  • *** Deprecations ***
    • MongoDB::CommandResult changed the name of the accessor for the document returned by the server to 'output' instead of 'result' for clarity. The 'result' method is deprecated.
  • Changes
    • Generic MongoDB::Error exceptions have been replaced with subclasses that have a specific, documented purpose, including: MongoDB::AuthError, MongoDB::GridFSError, MongoDB::InternalError and MongoDB::UsageError.
    • Calls to Carp::confess() or die() have been replaced with exceptions from MongoDB::Error subclasses, typically MongoDB::UsageError.
    • Failure to create indexes when constructing a GridFS object are ignored rather than a fatal error.
    • Now includes a longer list of default OS locations to search for root CA files.

Changes for version v0.999.998.4 - 2015-03-25 (TRIAL RELEASE)

  • *** Deprecations ***
    • Legacy MongoDB::Collection CRUD methods (insert, update, etc.) have been deprecated in favor of new CRUD API methods
    • PERL-507 MongoDB::Collection::get_collection is deprecated; it implied subcollections, which don't actually exist
  • Additions
    • PERL-502|PERL-503 Implement new common driver CRUD API in MongoDB::Collection
  • Bug fixes
    • PERL-480 retrieving a GridFS file now throws an error if no chunks exist instead of returning an empty string
    • Suppressed warning about "Can't locate package MongoDB::WriteResult" from MongoDB::BulkWriteResult::ISA
    • Fixed incorrect 'matched_count' result attribute for upserts
    • Ensure topology type is correct whenever a server is marked unavailable
  • Changes
    • MongoDB::Collection attributes that should not be set in the constructor have been made private, but with public accessors for backwards compatibility. Private attributes that are set in the constructor (e.g. 'database') are now public.
  • Documentation
    • PERL-464 Documented deprecation of 'last_error'
    • PERL-510 Documented MongoDB::QueryResult
    • Improved docs for MongoDB::Error with info on exported error codes
    • Clarified docs for MongoDB::Collection::get_collection
  • Removals
    • PERL-497 The $MongoDB::BSON::use_boolean never worked; BSON boolean values were always deserialized as boolean.pm objects. Rather than "fix" this and break people's code, the option has been removed and documented as such.

Changes for version v0.999.998.3 - 2015-03-25 (TRIAL RELEASE)

  • Broken upload due to TLS bugs

Changes for version v0.999.998.2 - 2015-02-23 (TRIAL RELEASE)

  • !!! Incompatible Changes !!!
    • MongoClient read_preference attribute is now immutable
    • Renamed WriteResult to BulkWriteResult
  • *** Deprecations ***
    • PERL-464 Deprecated the 'last_error' Database method
  • Additions
    • PERL-93 implemented awaitData
    • PERL-135 added ability to set write_concern at db and collection level
    • PERL-259 implemented write commands for MongoDB 2.6+ (i.e. doing writes via database commands versus via the wire protocol with OP_INSERT, OP_UPDATE, etc.)
    • PERL-465 added support for arbitrary options on index creation
    • PERL-466 added read preference attribute to Database and Collection
    • Added 'connect' function to MongoDB class for syntactic sugar to create a client object
    • Added the 'get_namespace' method to MongoDB::MongoClient
    • Added 'db' and 'coll' as aliases for 'get_database' and 'get_collection'
    • Added optional read preference argument to 'run_command'
  • Bug Fixes
    • PERL-401 fixed index creation to always have a non-zero write concern
    • PERL-489 fixed BSON encoding bug; references to scalars with both number and string slots internally would crash on BSON encoding, rather than encode the string part as a binary.
    • PERL-477 fixed list indexes/collections when responses are too big to fit in a single database response
    • Fixed t/database.t for change in server error message
    • Fixed use of slave_ok and $readPreference for communicating read preferences to a mongos
    • Made conflicting multi/multiple update options fatal
  • Changes
    • Renamed DocumentSizeError to a more general general DocumentError
    • Changed minHeartbeatFrequencyMS (delay between server checks when a suitable server is unavailable) to 500,000 MS
  • Documentation
    • PERL-423 improved documentation of cursor snapshot mode
    • Rearranged Collection and Database documentation
    • Documented how to disable returning _id from queries
  • Testing
    • PERL-371 Added tests for parsing localhost:port
    • PERL-492 Implemented server selection tests
    • Changed text index test to use $text operator, not text command (which was removed in MongoDB 3.0)
  • Prerequisites
    • Added core modules IO::Socket and MIME::Base64 to the dependency list for completeness
    • Requires at least Path::Tiny 0.054 (rather than unspecified)
    • Removed core modules File::Copy, File::Path and File::Spec from the list of test dependencies
    • Removed Class::MOP::Class as an explicit dependency (still used internally by Moose)
    • Removed Data::Types and Data::Dump as test dependencies

Changes for version v0.999.998.1 - 2014-11-12 (TRIAL RELEASE)

  • !!! Incompatible Changes !!!
    • PERL-330 implement pure-Perl networking; SSL and SASL now implemented via optional CPAN modules IO::Socket::SSL and Authen::SASL
    • MongoDB::Error exception objects now used consistently throughout networking code
    • removed long-deprecated MongoDB::Connection class
    • split Cursor class into new QueryResult class
    • ssl option is now read-only
    • low-level client functions removed
  • *** Deprecations ***
    • auto_connect, auto_reconnect, find_master, sasl, sasl_mechanism config options
    • authenticate method in MongoDB::MongoClient
    • read_preference as a mutator for MongoDB::MongoClient
  • Additions
    • PERL-131 support connect option in URI
    • PERL-233 Implement SSL certificate support via IO::Socket::SSL options
    • PERL-375 Support adding cursor options to find_one
    • PERL-378 implement deployment and server model and monitoring
    • PERL-379 Implement server-selection and new read preferences
    • PERL-406 Allow count methods to work with query hints
    • PERL-408 Implement SCRAM-SHA-1 and revise handshake
    • PERL-422 add read prefs support for the connection string
  • Bug Fixes
    • PERL-146 normalize server addresses to lower case
    • PERL-409 add missing declarations for MinGW on Windows
    • PERL-429 fix tag_sets logic
    • PERL-410 die on BSON encoding/decoding if invalid UTF-8 is detected
    • PERL-435 switch to http-style certificate name validation
    • PERL-454 don't warn creating BSON datetime at epoch
    • fixed MSVC compilation: fix unused vars and statements before declarations; removed unused, but problematic bcon.c and bcon.h; use Perl memory alloc functions instead of malloc
    • removed storage engine dependent code and tests
    • fixed t/cursor.t for new explain format
    • fixed parallel scan test for server version 2.7.x changes
  • Documentation
    • PERL-425 documented deprecation of drop_dups for index creation
    • added MongoDB::Upgrading document with changes from v0.x
    • added contributors section to MongoDB main documentation based on git commit logs
  • Prerequisites
    • enforced minimum versions for configuration requirements
    • removed JSON module in favor of JSON::MaybeXS
    • removed use of File::Slurp
  • ~ Internal changes ~
    • PERL-133 test that client can connect to RS without primary
    • PERL-433 use listCollections command on 3.0 servers
    • PERL-434 use listIndexes command on 3.0 servers
    • PERL-436 bump maxWireProtocolVersion for 3.0 support
    • re-enabled threads tests

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
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/BulkWriteResult.pm