mongo-ruby-driver/docs/HISTORY.md

8.0 KiB

1.1.1 2010-10-14

  • Several critical JRuby bug fixes
  • Fixes for JRuby in 1.9 mode
  • Check keys and move id only when necessary for JRuby encoder

1.1 2010-10-4

  • Official JRuby support via Java extensons for BSON (beta)
  • Connection#lock! and Connection#unlock! for easy fsync lock
  • Note: BSON::Code is no longer a subclass of String.

1.0.9 2010-9-20

  • Significant performance improvements

1.0.8 2010-8-27

  • Cursor#rewind! and more consistent Cursor Enumberable behavior
  • Deprecated ObjectID for ObjectId
  • Numerous minor bug fixes.

1.0.7 2010-8-4

  • A few minor test/doc fixes.
  • Better tests for replica sets and replication acknowledgment.
  • Deprecated DB#error and DB#last_status

1.0.6 2010-7-26

  • Replica set support.
  • Collection#map_reduce bug fix.

1.0.5 2010-7-13

  • Fix for bug introduced in 1.0.4.

1.0.4 2010-7-13

  • Removed deprecated
    • Cursor admin option
    • DB#query
    • DB#create_index (use Collection#create_index)
    • DB#command only takes hash options now
  • j2bson executable (neomantra)
  • Fixed bson_ext compilation on Solaris (slyphon)
  • System JS helpers (neovintage)
  • Use one mutex per thread on pooled connections (cremes)
  • Check for CursorNotFound response flag
  • MapReduce can return raw command output using :raw
  • BSON::OrderedHash equality with other Ruby hashes (Ryan Angilly)
  • Fix for broken Socket.send with large payloads (Frédéric De Jaeger)
  • Lots of minor improvements. See commmits.

1.0.3 2010-6-15

  • Optimiztion for BSON::OrderedHash
  • Some important fixes.

1.0.2 2010-6-5 This is a minor release for fixing an incompatibility with MongoDB v1.5.2

  • Fix for boolean response on commands for core server v1.5.2
  • BSON.read_bson_document and b2json executable (neomantra)
  • BSON::ObjectID() shortcut for BSON::ObjectID.from_string (tmm1)
  • Various bug fixes.

1.0.1 2010-5-7

  • set Encoding.default_internal
  • DEPRECATE JavaScript string on Collection#find. You now must specify $where explicitly.
  • Added Grid#exist? and GridFileSystem#exist?
  • Support for replication acknowledgment
  • Support for $slice
  • Namespaced OrderedHash under BSON (sleverbor)

1.0 2010-4-29 Note: if upgrading from versions prior to 0.20, be sure to upgrade to 0.20 before upgrading to 1.0.

  • Inspected ObjectID is represented in MongoDB extended json format.

  • Support for tailable cursors.

  • Configurable query response batch size (thx. to Aman Gupta)

  • bson_ext installs on early release of Ruby 1.8.5 (dfitzgibbon)

  • Deprecated DB#create_index. Use Collection#create_index index.

  • Removed deprecated Grid#put syntax; no longer requires a filename.

0.20.1 2010-4-7

  • Added bson gem dependency.

0.20 2010-4-7 If upgrading from a previous version of the Ruby driver, please read these notes carefully, along with the 0.20_UPGRADE doc.

  • Support for new commands:

    • Collection#find_and_modify
    • Collection#stats
    • DB#stats
  • Query :fields options allows for values of 0 to exclude fields (houdini, railsjedi).

  • GridFS

    • Option to delete old versions of GridFileSystem entries.
    • Filename is now optional for Grid#put.
    • Option to write arbitrary attributes to a file: @grid.put(@data, :favorite_phrase => "blimey!")
    • Indexes created on the chunks collection are now unique. If you have an existing chunks collection, you may want to remove
  • Removed the following deprecated items:

    • GridStore class
    • RegexpOfHolding class
    • Paired connections must now be initialized with Connection.paired
  • BSON-related code extracted into two separate gems: bson and bson_ext (thx to Chuck Remes).

    • mongo_ext no longer exists.
    • BSON::Binary constructor can now take a string, which will be packed into an array.
    • Exception class adjustments:
      • Mongo::InvalidObjectID moved to BSON::InvalidObjectID
      • Mongo::InvalidDocument moved to BSON::InvalidDocument
      • Mongo::InvalidStringEncoding moved to BSON::InvalidStringEncoding
      • Mongo::InvalidName replaced by Mongo::InvalidNSName and BSON::InvalidKeyName
    • BSON types are now namespaced under the BSON module. These types include:
      • Binary
      • ObjectID
      • Code
      • DBRef
      • MinKey and MaxKey
    • Extensions compile on Rubinius (Chuck Remes).

0.19.3 2010-4-5

  • Minor fix for assert_valid_keys.

0.19.2 2010-4-5 This release fixes a major bug and is the final release in the 0.19 series. The next release, 0.20.0, will introduce separate gems for bson and bson_ext and may require small changes to existing code bases. Expect that release in the next few days.

  • Fix for Grid#delete bug.
  • Log messages read like valid ruby driver code.
  • Cursor#has_next.
  • Tests for MongoDB 1.4 features.
  • Flexible index creation method with Mongo::GEO2D constant.

0.19.1 2010-3-2

  • Fix for HashWithIndifferentAccess in ActiveSupport-3.0

0.19 2010-3-1

  • Deprecated GridFS::GridStore. Grid and GridFileSystem classes replace the GridFS implementation with a simpler API and vastly-improved performance. See http://www.mongodb.org/display/DOCS/GridFS+in+Ruby for more details.
  • Safe mode for Grid and GridFileSystem.
  • Grid and GridFileSystem use Mime/Types to detect content type (if available)
  • Connection API simplified. Use Connection.paired for pairs and Connection.from_uri to use MongoDB's connection URI specification.
  • Authentication can be saved so that reauthentication happens automatically on reconnect.
  • Raise exception if authentication fails.
  • Raise exception if index creation fails.
  • Removed a number of deprecated methods and classes.
  • Several bug fixes.
  • Nearing 1.0!

0.18.3 2010-1-25

  • Convert docs to YARD
  • Support MongoDB extended JSON on ObjectID#to_json
  • ObjectID#from_time for performing date range queries on _id (thx., Sunny Hirai)
  • GridStore#mv for renaming files (Matt Powell)
  • Safe mode for Collection#remove (Patrick Collison)
  • Support BSON types MinKey and MaxKey
  • DEPRECATED Admin, XMLToRuby, and RegexpOfHolding classes.
  • Handle unsupported Numeric types gracefully (Complex, Rational, BigDecimal)
  • Handle unsupported Time types gracefully (Date, DateTime, ActiveSupport::TimeWithZone)
  • Numerous small bug fixes
  • Minor performance improvements

0.18.2 2009-12-29

  • Significant GridStore performance improvement (thx., Sunny Hirai)
  • Enabled support for keyf on group
  • Support :query option for Collection#distinct
  • Support :finalize option for Collection#group
  • (0.18.1) ObjectID#generation_time returns a created_at timestamp.
  • Deprecated Command#group running as a JS eval; should now be run as a command.
  • Deprecated Cursor#next_object for Cursor#next_document
  • Character encoding fixes for C extension
  • Enforce 4MB limit on document creation
  • Simplified connection pooling code
  • Fixes for connection pooling on Ruby 1.8.6/Windows.

0.18.1 2009-12-05

  • Fixed issue with negative dates in Ruby 1.9
  • Minor refactorings for C extension and BSON classes
  • Ensure UTF-8 in Ruby 1.8
  • Fix for connections on non-default port (Delano Mandelbaum)
  • More explicit test suite tasks for running with/without C extension.

0.18 2009-11-25

0.17.1 2009-11-17

  • Index ordering fix
  • Notice to install mongo_ext

0.17 2009-11-16

  • Performance improvements
  • Support for multi-update for Mongo >= 1.1.3 (See Collection#update)
  • Collection#distinct
  • Connection#copy_database (voodootikigod)
  • C optimizations for ByteBuffer#to_s and ObjectID#generate (seancribbs)
  • Continue code restructuring for performance and simplicity.