# Change history for the MongoDB Perl driver:
v0.707.0.0 2014-11-12 15:04:46-05:00 America/New_York
[Additions]
-
Supports MongoDB 2.8; in addition to prior feature support, this release
fixes tests that were broken against non-default storage engines
[Bug fixes]
-
PERL-454 suppress warnings storing datetimes at the epoch
v0.706.0.0 2014-10-28 11:30:42-04:00 America/New_York
[*** Deprecations ***]
-
PERL-425 the 'drop_dups' indexing option is deprecated because it is
ignored as of server version 2.7.5
[Additions]
-
PERL-408 added support for SCRAM-SHA-1 (for MongoDB 2.7.8+)
[Bug fixes]
-
PERL-409 fixed compilation on MSWin32 using the MinGW compiler
-
Fixed compilation errors on MSWin32 using the MSVC compiler
-
Fixed construction of Makefile LIBS argument for some platforms
-
Fixed parallel scan and explain tests for changes in the MongoDB 2.7.x
development series
[Diagnostics]
-
Passing the "ssl" parameter to MongoDB::MongoClient will now warn if SSL
support is not available.
[Documentation]
-
Revised "run_command" documentation to explain that array references or
Tie::IxHash should be used.
[Prerequisites]
-
Added dependency on Authen::SCRAM::Client 0.003
-
Removed (test) dependency on File::Slurp
-
Minimum required versions of configuration dependencies Path::Tiny and
Config::AutoConf are now enforced in the code, not just specified in
META.json
[~ Internal changes ~]
-
PERL-433 uses the listCollections command if available (MongoDB 2.7.8+)
-
PERL-434 uses the listIndexes command if available (MongoDB 2.7.8+)
-
PERL-436 bumped supported maxWireProtocolVersion to 3 (MongoDB 2.7.8+)
v0.705.0.0 2014-09-09 10:04:59-04:00 America/New_York
[Additions]
-
PERL-406 allow count() to use hints
[Prerequisites]
-
Clarified that Test::Deep 0.111 is required rather than any version
v0.704.5.0 2014-08-19 14:17:00-04:00 America/New_York
[Bug fixes]
-
PERL-407 fixed request_id race condition under threads
-
PERL-410 dies on BSON encoding/decoding if invalid UTF-8 is detected
v0.704.4.0 2014-07-30 05:43:11-04:00 America/New_York
[Testing]
-
Restores behavior of skipping tests if no mongod is available for testing
v0.704.3.0 2014-07-28 17:02:13-04:00 America/New_York
[Additions]
-
PERL-130 improved support for connection string URI; added support for
options: ssl, connectTimeoutMS, w, wtimeoutMS, and journal
[Bug fixes]
-
PERL-130 fixed parsing of connection string to allow for usernames containing :
and passwords containing @ if they are percent encoded (RFC 3986)
-
PERL-166 fixed tailable cursors with no initial results
-
PERL-290 when find_master is 0, the driver now consistently picks the first
server in the list
-
PERL-387 made database_names() retry up to three times if the server returns
a lock error
v0.704.2.0 2014-07-08 12:04:02-04:00 America/New_York
[Bug fixes]
-
PERL-376 fixed fatal error loading the MongoDB::MongoClient module before
loading the top-level MongoDB module
-
Fixed cursor to catch query or timeout errors that occur after the initial
query batch is received
-
Fixed primary server selection to retry for 60 seconds instead of
immediately failing with an error
-
Changed bulk insert to shallow copy inserted documents before adding
an '_id' field (if it didn't exist) to avoid modifying the original
[Testing]
-
Fixed t/database.t for old versions of mongos
-
PERL-355 Added support for parallel testing
-
Finished converting from Test::Exception to the more robust Test::Fatal
-
Improved test coverage
v0.704.1.0 2014-06-17 21:55:18-04:00 America/New_York
[Bug fixes]
-
PERL-336 fixed unknown command exception with index creation on 2.2 and
older servers; we now correctly fall back to legacy index creation
-
PERL-349 fixed request ID misordering when reconnecting to a server; this
fixes the known issue regarding test failures with threads under
find_master
-
PERL-368 changed all query docs to be coerced to Tie::IxHash; this ensures
that command queries are properly ordered and fixes a crashing bug when
using command helpers in concert with read preference
-
PERL-369 fixed segfaults deserializing 64-bit integers from BSON on
pure 32-bit perls
-
PERL-370 fixed bulk update results for upserts with non OID _id
on servers prior to 2.6
-
Fixed stale detection of write command support for bulk operations
-
Fixed wire version checks and max BSON size inspection for replica
sets with multiple hosts in the connection URI
[Documentation]
-
PERL-366 documented bulk write initializers in Collection docs
-
Updated Example.pod docs for field projection (Johann Rolschewski)
[Testing]
-
PERL-348 tests report MongoDB version in test diagnostics
-
PERL-351 fixed test failures if the local database has auth enabled;
tests will skip instead of fail
-
PERL-356 enabled additional tests if the test database is a replica set
or sharded cluster
-
Added test for field projection (Johann Rolschewski)
-
Fixed various tests to run against a sharded cluster
-
Moved unused orchestration tests out of the main test suite
[~ Internal changes ~]
-
PERL-357 added developer tools for testing different cluster
configuration
v0.704.0.0 2014-05-27 13:54:01-04:00 America/New_York
[!!! Incompatible Changes !!!]
-
PERL-108 removed previously-deprecated AUTOLOAD functions
[*** Deprecations ***]
-
PERL-320 low-level protocol functions in MongoDB.pm are deprecated
[Additions]
-
PERL-221 added MongoDB::Regex class to represent stored regexes
-
PERL-251 implemented support for aggregation command cursors
-
PERL-252 added 'max_time_ms' method to cursors
-
PERL-258 added support for '$out' aggregation pipeline operator
-
PERL-262 read preference implementation
-
PERL-278 added explain support for aggregation queries
-
PERL-298 implement parallel_scan method for collections
-
PERL-299 implemented new bulk write API
-
Added nolock support to eval in MongoDB::Database (Ashley Willis)
[Bug Fixes]
-
PERL-233 Fix find_and_modify error handling
-
PERL-260 ensure_index no longer ignores weights, default_language, and
language_override options
-
PERL-267 memory leak fixes (Casey Rojas)
-
PERL-307 fix drop_dups option for ensure_index
-
PERL-315 require DateTime 0.78 or later
-
PERL-318 fix compiler warnings
-
PERL-319 fix compilation failures on some platforms
-
PERL-322 change return value and document low-level recv
-
PERL-323 fixed possible socket leaks on communication errors
-
PERL-336 fixed index creation legacy fallback against older mongos
-
Cached client constructor arguments for replica set connections
-
Cleaned Moose class namespaces of imported methods
-
Ensured internal run_command exceptions include correct error string
-
Fixed a bug that would serialize an index direction as a string on some
older Perls
-
Fixed clock race in OID unit test
-
Fixed exception handling for internal run_command calls
-
Fixed fatal error in DESTROY with find_master and down server
-
Fixed gridfs test for unique keys
-
Fixed hint tests for MongoDB >= 2.5.4
-
Fixed index creation and drop on MongoDB 2.6
-
Fixed memory corruption error on Perl 5.19.1+
-
Fixed several compiler warnings on Perl 5.8
-
Fixed use of re::regexp_pattern for 5.10.0
-
Made t/dbref.t use fresh test database
-
Prevented GridFS MD5 calculation when 'safe' is not set (mapbuh)
-
Provided backwards compatible HeUTF8 macro for Perl v5.10 and v5.8.8 and
earlier
-
Removed hard-coded compiler flags for Darwin
-
Updated ppport.h to version 3.22
[Documentation]
-
PERL-217 improved documentation of GridFS::get
-
PERL-287 updated "j" and "fsync" option docs for MongoDB 2.6
-
PERL-311 fix legacy docs authentication link
-
PERL-317 Clarified support for threads
-
PERL-341 Added install documentation including use of non-standard C
library paths
-
Added abstract to MongoDB::BSON::Regexp documentation
-
Revised main MongoDB module and MongoDB::MongoClient docs
-
Updated Changes file with changes since 0.701
[Prerequisites]
-
Added namespace::clean
-
Added Test::Deep
-
Added Test::Fatal
-
Added Throwable
-
Added Syntax::Keyword::Junction
-
Changed Test::More requirement to 0.96
-
Removed Devel::Size
[~ Internal changes ~]
-
PERL-261 use setVersion field in isMaster for replica set discovery (David
Storch)
-
PERL-264 test for closing connection when MongoClient object leaves scope.
(Ashley Willis)
-
PERL-269 test libraries for replica set and sharded cluster testing
-
PERL-285 added wire protocol check
-
PERL-296 implemented new index creation command for MongoDB 2.6
-
PERL-312 default GridFS chunk size changed from 1mb -> 255kb
-
Switched BSON implementation to libbson and bundled patched libbson 0.6.4
to avoid external library dependency
[~ Known Issues ~]
-
PERL-233 SSL certificate validation not yet implemented
-
PERL-349 changes to the testing framework revealed a bug when
threads are used with 'find_master' on the client; the offending
test is marked TODO and the bug will be addressed in the next
stable release.
-
Some platforms may not compile, including Windows and some Solaris
and OpenBSD systems; these issues will be addressed in a future release
v0.703.5 2014-05-23 06:26:46-04:00 America/New_York (TRIAL RELEASE)
v0.703.4 2014-04-07 20:12:27-04:00 America/New_York (TRIAL RELEASE)
v0.703.3 2014-04-01 10:32:49-04:00 America/New_York (TRIAL RELEASE)
0.703_2 (TRIAL RELEASE)
0.702.2
[Bug Fixes]
-
Fix double-from-buffer alignment issue on ARM platform (Robin Lee)
-
Set BSON_MINKEY to 255 if char is unsigned (Robin Lee)
-
Fix test plans in connection.t and delegation.t (Robin Lee)
[Internal]
-
Copyright update s/10gen/MongoDB/ due to company name change
0.702.1
[Bug Fixes]
-
Query Fields accept Tie::IxHash and Hashref.. (Colin Cyr)
-
Fix for gridfs and creation of indexes (mapbuh)
0.702.0
[Enhancements]
-
SASL PLAIN suport added
-
Makefile.PL can enable SSL/SASL builds via environment variables
[Bug Fixes]
-
PERL-162 set_timeout fix
-
PERL-245 fix fractional seconds in BSON datetime deserialization
-
Fix specifying index keys as an array ref (D. Ilmari Mannsåker)
-
Prevent legacy auth when in SASL mode
-
Drop all created collections in dbref.t (D. Ilmari Mannsåker)
[Documentation]
-
Deprecated AUTOLOAD functions removed from documenation
-
Various module docs revised and updated
[Internal]
-
Refactored boilerplate test code to a separate testing module
0.701
[Enhancements]
-
Support for Kerberos authentication on Linux (EXPERIMENTAL)
-
Add a get_collection method to MongoDB::Collection (@sanbeg, pull #52)
-
Optimizations on inserts and fetch (@ilmari, pull #66, PERL-129)
-
Hash ordering fixes (@ilmari, pull #64)
-
Double and int type helpers (@kenahoo, pull #65, PERL-227)
-
TTL index support (@drtz, pull #60, PERL-222)
-
Restored support for Perl 5.8.
-
Support for native DBRefs.
[Bug Fixes]
-
UTF-8 fixes (@ilmari, pull #67, #68)
-
DateTime fixes (@kenahoo, pull #65)
-
Don't do aggregation tests when running against MongoDB < 2.2.
0.47 - 0.503.4
[Enhancements]
-
Ordered hash support for MongoDB::Cursor::hint() (Colin Syr)
-
timegm() implementation for Windows (Stevie-O)
-
aggregate() helper method
-
find_and_modify helper
-
Connection URI support enhancements (Tianon Gravi)
-
MongoClient new top-level object
-
Removing AUTOLOAD method examples from documentation
-
Replacing $conn examples with $client in docs.
-
Deprecation warning for MongoDB::Connection
-
Removed dependence on Any::Moose
-
Support for fsyncLock/unlock (Casey Rojas)
-
Support for dt_type param, DateTime::Tiny and raw epoch times
-
Support for UTF8 hash keys (Roman Yerin)
-
Support for 'j' param to turn on journaling (Casey Rojas)
[Bug Fixes]
-
Miscellaneous documentation fixes (Andrey Khozov, others)
-
Fixed socket timeout bug (nightlord)
-
Fixed broken regex test for Perls < 5.14.
-
More accurate isUTF8 function (Jan Anderssen)
-
Proper serialization of regex flags via re::regexp_pattern
0.46
[Enhancements]
-
Added SSL support (Casey Rojas). See new documentation on
MongoDB::Connection's ssl attribute.
-
Added MongoDB::BSON::Binary type and MongoDB::BSON::use_binary option. See
the Data Types documentation on using the Binary type instead of string refs
for binary data.
-
Change default binary type from 2 to 0. See MongoDB::BSON::Binary for
more information about the implications of this change.
[Bug Fixes]
-
Fix auth connection issues (Olly Stephens)
-
Fix driver creating duplicate connections when port isn't specified (Olly
Stephens)
-
Fix authentication check on some versions of Perl (Olly Stephens)
0.45 - September 7, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug fixes and enhancements.
[Enhancements]
-
Perl 5.8.4 and higher is now officially supported (5.8.7 was the previous
minimum version).
-
Improved the way that connecting handles an interrupt signal. The driver
now continues to attempt connection for the remaining duration of the
timeout, instead of erroring out immediately.
[Bug Fixes]
-
Fixed MaxKey and MinKey deserialization. Deserializing these types would seg
fault if they hadn't been serialized previously.
-
Fixed Windows compilation (Taro Nishino)
-
Fixed MakeMaker arguments which were causing build problems on 5.14.
0.44 - July 26, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug-fixes and enhancements.
[Enhancements]
-
Added MongoDB::BSON::looks_like_number flag.
The Perl driver has always been coy about turning strings into numbers. If
you would like aggressive number parsing (if it looks like a number, send it
to the DB as a number), you can set MongoDB::BSON::looks_like_number to 1
(defaults to 0, the previous behavior). See the MongoDB::DataTypes pod for
more info.
-
Tests should now clean up after themselves, leaving no test databases
behind.
[Bug Fixes]
-
Setting a sort in the arguments to MongoDB::Collection::find is now passed
through correctly to the cursor.
-
Fixed segmentation fault in array serialization: caused by specifying an _id
field on insert and using an array (not a hash or Tie::IxHash).
-
Fixed segmentation fault in threading: if Mouse was used instead of Moose,
version 0.43 of the driver would segfault if multiple threads were used.
-
MongoDB::Cursor now inherits the $Mongo::Cursor::slave_okay global setting,
as well as checking if slave_okay is set on the cursor instance.
-
Fix GridFS functions to only ensure GridFS indexes on writes, allowing
GridFS API usage on slaves.
0.43 - May 31, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug-fixes and enhancements.
[Enhancements]
-
Auto-detects max BSON size for inserts, which means documents larger than
4MB can now be inserted. See L<MongoDB::Connection/max_bson_size> for
details.
-
Added the L<MongoDB::Cursor/info> method, which returns meta information
about the results being returned.
[Bug Fixes]
-
When high UTF-8 values as hash keys, the driver now croaks instead of
segfaulting.
-
Added 'use IO::File' before IO::File is used (Michael Langner)
-
Fixed Perl 5.14 compile (Chip Salzenberg)
0.42
-
Fixes for Sparc architecture
-
Fixed PVIV misinterpretations
0.41
-
Re-discover master on "not master" errors
-
Make driver thread safe (Florian Ragwitz)
-
POD fix (Ronald Kimball)
-
Fix GridFS warning (Graham Barr)
-
Allow auto_connect => 0 for replica sets (Graham Barr)
0.40
-
DateTime floating timezones now warn on serialization
-
Attempting to serialize unrecognized object types now croaks
-
MongoDB::Cursor::explain now resets cursor properly
-
Added BSON::encode_bson and BSON::decode_bson (Jason Toffaletti)
-
Safe writes return a hash of information instead of 1 (on success)
-
Improved last_error/safe docs
-
Fixed doc spelling errors (Stefan Hornburg)
0.39
-
Fixed memory leak
0.38
-
Fixed indexing subdocuments (x.y.z)
-
Fixed GridFS to accept non-fs prefixes (Olly Stephens)
-
Fixed compile for old C compilers (Taro Nishino)
-
Added MongoDB::read_documents for handling db replies (Graham Barr)
0.37
-
Fixed cursor not found error condition
-
Fixed compile for old C compilers
-
Fixed weird file behavoir on some machines
0.36
-
Replica set support
-
Deserialize booleans as booleans (instead of ints) (Andrew Page)
-
Fixed OS X build (Todd Caine)
-
Added background option for index creation (Graham Barr)
-
Fixed slurp tests (Josh Rabinowitz)
-
Added MongoDB::Timestamp type
0.35 - 02 July 2010
-
Added MongoDB::BSON::utf8_flag_on (Pan Fan)
-
Added MongoDB::GridFS::File::slurp (Pan Fan)
-
Fixed memory leak
0.34 - 17 June 2010
-
$conn->foo->bar->baz now gets the bar.baz collection in the foo database
-
Slight speed improvements on inserts
-
Added $conn->query_timeout option to control timeout lengths for all queries
done over a given connection
-
MongoDB::Cursor::tailable and MongoDB::Cursor::immortal
-
Added TO_JSON function to MongoDB::OID
-
Fixed safe save (Othello Maurer)
-
BACKWARD-BREAKING: removed old indexing syntax (if you started using the
driver less than a year ago, this shouldn't affect you. If you're an old-
timer, make sure you're not using the syntax that has been deprecated for a
year).
0.33 26 April 2010
-
Fixed tests
0.32 21 April 2010
-
BACKWARD COMPATIBILITY BREAK: croak on failed safe
update/insert/remove/ensure_index (Eric Wilhelm)
-
w and wtimeout (see MongoDB::Connection::w)
-
die correctly on MongoCollection::count errors (help from Josh Rabinowitz)
-
Added MongoDB::Collection::find (same as query)
-
Added get, put, and delete methods to MongoDB::GridFS
-
Perl 5.12 compatibility
0.31 05 April 2010
-
C89 fix (Taro Nishino)
-
Added MongoDB::Code type
-
Arbitrary number of hosts supported
-
Auto-reauthentication on dropped connection
-
ensure_index name option
0.30 10 March 2010
-
Support BigInt
-
On 64-bit machines, support 64-bit nums w/out BigInt (Ryan Olson)
-
Added connection timeout option (Othello Maurer)
-
Added clarifying docs on fields (Josh Rabinowitz)
0.29 01 March 2010
-
Added safe options for remove, update, and ensure_index
-
Added save method
-
Fixed bug in UTF8 checking
-
Fixed serialization of "tie %hash, 'Tie:IxHash'"
0.28 28 Jan 2010
-
Fixed undef values (Andrew Bryan)
-
Added GridFS multi-chunk test using File::Temp (Josh Rabinowitz)
-
Allow tie(%h, 'Tie::IxHash') to be used as well as Tie::IxHash->new
-
Fixed GridFS indexes and added chunkSize and uploadDate to metadata
-
Fixed batch_insert doc (Eric Wilhelm)
-
Fixed big endian build
0.27 22 Dec 2009
-
Indexes: Improved ensure_index syntax, added drop_dups option
-
Inserts: Added safe insert, checks object is < 4 MB before inserting
-
Fixed socket closing bug
-
Big-endian support
-
$ can be replaced by any character using MongoDB::BSON::char
-
MongoDB::OIDs: Fixed undefined behavior in serialization (Peter Edwards), added OID::get_time
-
5.8.7-compatible memory allocation (Peter Edwards)
-
Added MongoDB::MaxKey and MongoDB::MinKey support
0.26 09 Nov 2009
-
Don't force i386 arch (Needed to compile on OS X with x86_64) (Graham Barr)
-
Include inc/ dir for CPAN
-
Memory leak fixes
-
Added tutorial
0.24 15 Oct 2009
-
Fix for uninitialized array values (David Morrison)
-
Boolean support
-
Connection memory leak fix
-
Added MongoDB::Cursor::count
0.23 25 Sept 2009
Changes in this version by Ask Bjørn Hansen, Florian Ragwitz,
Orlando Vazquez, Kristina Chodorow, and Eric Wilhelm:
-
Make inserting double's (floats/NV's), undefined/null, Tie::IxHash values
-
Query sorting, snapshot, explain, and hint
-
Added non-unique ensure_index
-
Added GridFS
-
Added regex support
-
find_one takes optional fields parameter
-
DateTime used for dates
-
No C++ driver dependency
0.01 06 May 2009
-
Initial release.
# vim: ts=2 sts=2 sw=2 et: