All Versions
Latest Version
Avg Release Cycle
288 days
Latest Release
1350 days ago

Changelog History
Page 1

  • v0.15.1 Changes

    October 03, 2020

    โœจ Enhancements:

    * PR-649 Chris Heald <[email protected]> Add StrongParameters plugin. Not included by default.
    * PR-615 Kenichi Kamiya <[email protected]> Return an Enumerator on #find_each when not given a block
    * PR-598 Scott Taylor <[email protected]> Allow incrementing + decrementing using only the field name (example: `obj.increment(:my_counter)`)
    * PR-593 Scott Taylor <[email protected]> Add sorting with :ordered => true for has_many :in => :array (Closes #428)
    * PR-523 Shevaun Coker <[email protected]> Add `assign_attributes` "alias" method for `attributes=`
    * PR-259 Hubert <[email protected]> Add Inverse Many to Many associations.  Example:
        class List
          include MongoMapper::Document
          key :name, String, required: true
          key :user_ids, Array
          many :users, in: :user_ids
        class User
          include MongoMapper::Document
          key :name, String, required: true
          many :lists, from: :user_ids, as: :user
    * Support ruby 2.7.2

    ๐Ÿ› Bug Fixes:

    * PR-640 Seth Jeffery <[email protected]> Fix find! with a one item array to return a one item array object
    * PR-628 jamieorc <[email protected]> Corrected a regression on Set keys with typecast
    * PR-611 SteffanPerry <[email protected]> Missing yaml requirement was throwing error on rail 4.2.1: "uninitialized constant MongoMapper::Railtie::YAML (NameError)"
    * Add `attributes` to reserved keys
    * Fix infinite regression with duplicate assignment to belongs_to proxy

    ๐Ÿ›  Doc Fixes:

    * PR-650 Olle Jonsson <[email protected]> README: SVG badges
    * PR-660 Kenichi Kamiya <[email protected]> Fix indent
    * PR-617 Kenichi Kamiya <[email protected]> Update types to follow Symbol support
    * PR-616 Kenichi Kamiya <[email protected]> Remove an unused spec
  • v0.15.0 Changes

    September 14, 2020
    * Upgrade to use modern mongo by upgrading to use the mongo 2.0 driver.
      This update means MongoMapper should work with any version of mongo after (2.6+).
      Many thanks to Frederick Cheung <[email protected]> for his contribution.
      Note that MyModel.collection now returns a mongo 2.0 driver collection object which does not mirror the shell methods.
      Patches welcome for a compatibility layer!
    * Support for ruby 2.4+, rails 5.0+
    * Dropping support for all older rubies, older rails.
  • v0.14.0 Changes

    January 20, 2017

    โœจ Enhancements:

    * Only partially update objects (using $set and $unset) when updates occur.
      Partial Updates can be turned on or off per class (by default they are off):
        class Person
          include MongoMapper::Document
          self.partial_updates = true
    * (Optionally) allow only static (defined) keys, and raise errors for keys that haven't been defined (mimic Mongoid's allow_dynamic_fields = false).
      Turn this on, per model, with:
        class Person
          include MongoMapper::Document
          self.static_keys = true
        p =
        p['non_defined_key'] = 'foo' # => MissingKeyError
    * Add after_find, after_initialize callbacks [smtlaissezfaire]

    ๐Ÿ› Bug Fixes

    * Fix counter caching with polymorphic belongs_to [smtlaissezfaire, bhernez]
    * Fix issues with arrays + plucky query. (upgrade to plucky query 0.7.0 - see regressions in scope_spec.rb)


    * Don't create accessors for reserved keys (id, class, etc) [cheald]
    * Disallow class as a key name [cheald]
    * Add ruby 1.8.7 specific gem files to use specific version of i18n <[email protected]>
    * Fixing failing tests for rails 4 <[email protected]>
    * Upgrade to rspec 3.x [smtlaissezfaire, sgnn7]
    * Officially Drop support for ruby versions < 2.0.x
    * Officially Drop support for rails < 3.2
  • v0.14.0.rc1

    March 16, 2016
  • v0.13.1 Changes

    November 18, 2014

    โœจ Enhancements:

    * Add counter caching [smtlaissezfaire]
        belongs_to :user, :counter_cache => true
        belongs_to :user, :counter_cache => :custom_posts_count
    * Add Symbol type [miyucy]
    * Add the ability to easily query collection stats:  [sgnn7]

    ๐Ÿ› Bug Fixes:

    * Proxy#send should work with blocks and procs [mgroeneman]
    * Support inheriting OneAssociation. [DimaSamodurov]
    * write_attribute should return a type casted value [smtlaissezfaire]
    * Fix remove_validations_for for AS 4.1 [cpmurphy]
    * Fix autosupport loading issue (See rails issue 14664), and add test for ruby 2.1.1 [leifcr]
    * Fix syntax error in rescue response declarations for rails < 3.2 was causing MongoMapper::DocumentNotFound exceptions to cause an exception in WebBrick's exception handling in development. [bsoule]


    * Lock rest-client to 1.6.7 to ensure installation on 1.8.7
    * Added error message: can't mass assign protected attribute. This should be deprecated for proper protected_attributes support down the road.  [ThomasAlxDmy]
    * Add a spec to check for extra whitespace in files [rthbound]
  • v0.13.0 Changes

    May 01, 2014

    โœจ Enhancements:

    * Rails 4 support! [cheald]
    * Added error message: can't mass assign protected attribute [[email protected]]
    * Add Integer#from_mongo. [cheald][#533]
    * Normalize IDs passed to #find!, so that it may accept an unsplatted array of IDs, just like #find. [cheald][#468][#469].
    * Performance Improvements to: typecasting, identity map, etc. (see a60b04c) [cheald]
    * Upgrade safe semantics to be consistent with the new MongoClient safe semantics (:safe => true is now on by default) [cheald]
    * Various performance fixes mostly related to avoid extraneous method invocation [cheald]
    * Optimization: use key? [jnunemaker]
    * Added SSL connection support [[email protected]]
    * Add automatic id generation when not set (for instance, when calling clone). [[email protected]]

    ๐Ÿ› Bug Fixes:

    * validatior#setup is deprecated in activemodel 4.1 [fcheung]
    * Only add the _type key to inherited classes when they have the same collection as their parent. Classes with a different collection name don't need the SCI keys. [cheald]
    * remove the _type key when SCI is turned off with set_collection_name. Add specs to cover it. [cheald]
    * Key serialization mutates model state when using key Array with option typecast [Oktavilla]
    * Be more clear when specifying which version of JRuby mongo_mapper is tested against [[email protected]]
    * Fix db:drop to match everything but system exactly [banyan]
    * Fix rescue responses for rails 3.0 and 3.1 [leifrc]
    * Use ruby 1.8 syntax for hashes [[email protected]]
    * Cast data with loaded from an embedded proxy, as embedded proxies may receive their values from uncast sources. [cheald][#536]
    * Permit suppression of accessor methods via the :accessors option to #key. [cheald][#535]
    * Guard against failures when the keys are read or written during a hijacked #initialize before we've gotten to run our own #initialize. [pluginaweek][#531]
    * When performing Time#to_mongo, round times off to milliseconds and discard microseconds. [cheald][#455]
    * Permit the use of #insert and #update in addition to #save, so that we can catch and raise errors in safe mode. [cheald][#398].
    * Add critera_hash when single collection inherited. [cheald][#454]
    * Fix issues with set_collection_name nullifying SCI on 1.8 [cheald]
    * Disable SCI when an inherited model explicitly changes its collection. Closes [cheald][#396]
    * Validate key names. Explicitly disallow keys named `id` since they aren't reachable via plucky due to key normalization. Validate key names via regex. [cheald][#399].
    * Don't attempt to create a connection when inheriting classes if one does not already exist. [cheald][#460]
    * Accept blocks passed to new/build/create/create! on documents and associations. [cheald][#352]
    * Compact before setting embedded docs on a many association. [cheald][#288]
    * Limit subclass scopes to subclasses. [cheald][#512]
    * Update bundler and fix mocha dependency [josevalim]
    * Fix Ruby 2.0 breakage caused by behavior changes to #respond_to? [cheald][#473]
    * Don't iterate the whole cursor twice when using IdentityMap with #all. Improve performance by avoiding explicit block bindings, extraneous method calls, and extraneous array creation. [cheald]
    * Provide a fix for many associations not yielding to each in callbacks. [jnunemaker]
    * Support non-ObjectID ids being given to modifiers. [jnunemaker]
    * Inherit connection and database name. Subclasses were not getting these before. Only collection name was inherited. [jnunemaker][#420][#424]


    * Update travis to test on 2.1.1 [leifcr]
    * Do not mutate model values using key with typecast [[email protected]]
    * Setting a key using send should return the new value [tjwp-yesware]
    * docs fixes [KristineHines, lucianosousa]
    * Lock timecop to 0.6.1 for Ruby 1.8.7 support [cheald]
    * Bump plucky requirement to 0.6.5 [cheald]
    * Add #dynamic_keys and #defined_keys to let developers distinguish defined schema from derived schema. Use a less clever idiom for 1.8-compatible hash filtering. [cheald]
    * Add key aliasing [cheald]
    * mongo driver requires that read preference to be type of symbol [[email protected]]
    * changed deleted cursor.next_object method to [jamesbowles]
    * Use ||= idiom [[email protected]]
    * Update to latest plucky. [nunemaker]
    * Added record_timestamps class var to the timestamps plugin [[email protected]]
    * reverse_merge! -> reverse_merge [nviennot]
    * Some source files were executable [[email protected]]
    * Fix legacy mongo class names, that are in deprecation as of 1.8.0. [archSeer]
    * move delete and destroy methods to Querying::Decorator [[email protected]]
    * Improvements to key methods (see 942003cca2)[cheald]
    * Fix travis suport [[email protected]]
  • v0.13.0.beta2

    August 07, 2013
  • v0.13.0.beta1

    July 26, 2013
  • v0.12.0 Changes

    September 12, 2012
    * Identity map is now more opt-in. Middleware turns it on, but it stays off for background jobs and such without explicit intervention.
    * Update to latest version of plucky
    * Rails 3.2 support
    * Support new mongo hosts option format
    * A few bug fixes
  • v0.11.2

    July 21, 2012