https://github.com/Automattic/mongoose
Tip revision: 6c31205684f77588a3120ea9c2f844f575e8403b authored by Aaron Heckmann on 10 January 2012, 16:31:23 UTC
release 2.4.10
release 2.4.10
Tip revision: 6c31205
History.md
2.4.10 / 2012-01-10
===================
* added; optional getter application in .toObject()/.toJSON() (#412)
* fixed; nested $operators in $all queries (#670)
* added; $nor support (#674)
* fixed; bug when adding nested schema (#662) [paulwe]
2.4.9 / 2012-01-04
===================
* updated; driver to 0.9.7-3-5 to fix Linux performance degradation on some boxes
2.4.8 / 2011-12-22
===================
* updated; bump -native to 0.9.7.2-5
* fixed; compatibility with date.js (#646) [chrisleishman]
* changed; undocumented schema "lax" option to "strict"
* fixed; default value population for strict schemas
* updated; the nextTick helper for small performance gain. 1bee2a2
2.4.7 / 2011-12-16
===================
* fixed; bug in 2.4.6 with path setting
* updated; bump -native to 0.9.7.2-1
* added; strict schema option [nw]
2.4.6 / 2011-12-16
===================
* fixed; conflicting mods on update bug [sirlantis]
* improved; doc.id getter performance
2.4.5 / 2011-12-14
===================
* fixed; bad MongooseArray behavior in 2.4.2 - 2.4.4
2.4.4 / 2011-12-14
===================
* fixed; MongooseArray#doAtomics throwing after sliced
2.4.3 / 2011-12-14
===================
* updated; system.profile schema for MongoDB 2x
2.4.2 / 2011-12-12
===================
* fixed; partially populating multiple children of subdocs (#639) [kenpratt]
* fixed; allow Update of numbers to null (#640) [jerem]
2.4.1 / 2011-12-02
===================
* added; options support for populate() queries
* updated; -native driver to 0.9.7-1.4
2.4.0 / 2011-11-29
===================
* added; QueryStreams (#614)
* added; debug print mode for development
* added; $within support to Array queries (#586) [ggoodale]
* added; $centerSphere query support
* fixed; $within support
* added; $unset is now used when setting a path to undefined (#519)
* added; query#batchSize support
* updated; docs
* updated; -native driver to 0.9.7-1.3 (provides Windows support)
2.3.13 / 2011-11-15
===================
* fixed; required validation for Refs (#612) [ded]
* added; $nearSphere support for Arrays (#610)
2.3.12 / 2011-11-09
===================
* fixed; regression, objects passed to Model.update should not be changed (#605)
* fixed; regression, empty Model.update should not be executed
2.3.11 / 2011-11-08
===================
* fixed; using $elemMatch on arrays of Mixed types (#591)
* fixed; allow using $regex when querying Arrays (#599)
* fixed; calling Model.update with no atomic keys (#602)
2.3.10 / 2011-11-05
===================
* fixed; model.update casting for nested paths works (#542)
2.3.9 / 2011-11-04
==================
* fixed; deepEquals check for MongooseArray returned false
* fixed; reset modified flags of embedded docs after save [gitfy]
* fixed; setting embedded doc with identical values no longer marks modified [gitfy]
* updated; -native driver to 0.9.6.23 [mlazarov]
* fixed; Model.update casting (#542, #545, #479)
* fixed; populated refs no longer fail required validators (#577)
* fixed; populating refs of objects with custom ids works
* fixed; $pop & $unset work with Model.update (#574)
* added; more helpful debugging message for Schema#add (#578)
* fixed; accessing .id when no _id exists now returns null (#590)
2.3.8 / 2011-10-26
==================
* added; callback to query#findOne is now optional (#581)
2.3.7 / 2011-10-24
==================
* fixed; wrapped save/remove callbacks in nextTick to mitigate -native swallowing thrown errors
2.3.6 / 2011-10-21
==================
* fixed; exclusion of embedded doc _id from query results (#541)
2.3.5 / 2011-10-19
==================
* fixed; calling queries without passing a callback works (#569)
* fixed; populate() works with String and Number _ids too (#568)
2.3.4 / 2011-10-18
==================
* added; Model.create now accepts an array as a first arg
* fixed; calling toObject on a DocumentArray with nulls no longer throws
* fixed; calling inspect on a DocumentArray with nulls no longer throws
* added; MongooseArray#unshift support
* fixed; save hooks now fire on embedded documents [gitfy] (#456)
* updated; -native driver to 0.9.6-22
* fixed; correctly pass $addToSet op instead of $push
* fixed; $addToSet properly detects dates
* fixed; $addToSet with multiple items works
* updated; better node 0.6 Buffer support
2.3.3 / 2011-10-12
==================
* fixed; population conditions in multi-query settings [vedmalex] (#563)
* fixed; now compatible with Node v0.5.x
2.3.2 / 2011-10-11
==================
* fixed; population of null subdoc properties no longer hangs (#561)
2.3.1 / 2011-10-10
==================
* added; support for Query filters to populate() [eneko]
* fixed; querying with number no longer crashes mongodb (#555) [jlbyrey]
* updated; version of -native driver to 0.9.6-21
* fixed; prevent query callbacks that throw errors from corrupting -native connection state
2.3.0 / 2011-10-04
==================
* fixed; nulls as default values for Boolean now works as expected
* updated; version of -native driver to 0.9.6-20
2.2.4 / 2011-10-03
==================
* fixed; populate() works when returned array contains undefined/nulls
2.2.3 / 2011-09-29
==================
* updated; version of -native driver to 0.9.6-19
2.2.2 / 2011-09-28
==================
* added; $regex support to String [davidandrewcope]
* added; support for other contexts like repl etc (#535)
* fixed; clear modified state properly after saving
* added; $addToSet support to Array
2.2.1 / 2011-09-22
==================
* more descript error when casting undefined to string
* updated; version of -native driver to 0.9.6-18
2.2.0 / 2011-09-22
==================
* fixed; maxListeners warning on schemas with many arrays (#530)
* changed; return / apply defaults based on fields selected in query (#423)
* fixed; correctly detect Mixed types within schema arrays (#532)
2.1.4 / 2011-09-20
==================
* fixed; new private methods that stomped on users code
* changed; finished removing old "compat" support which did nothing
2.1.3 / 2011-09-16
==================
* updated; version of -native driver to 0.9.6-15
* added; emit `error` on connection when open fails [edwardhotchkiss]
* added; index support to Buffers (thanks justmoon for helping track this down)
* fixed; passing collection name via schema in conn.model() now works (thanks vedmalex for reporting)
2.1.2 / 2011-09-07
==================
* fixed; Query#find with no args no longer throws
2.1.1 / 2011-09-07
==================
* added; support Model.count(fn)
* fixed; compatibility with node >=0.4.0 < 0.4.3
* added; pass model.options.safe through with .save() so w:2, wtimeout:5000 options work [andrewjstone]
* added; support for $type queries
* added; support for Query#or
* added; more tests
* optimized populate queries
2.1.0 / 2011-09-01
==================
* changed; document#validate is a public method
* fixed; setting number to same value no longer marks modified (#476) [gitfy]
* fixed; Buffers shouldn't have default vals
* added; allow specifying collection name in schema (#470) [ixti]
* fixed; reset modified paths and atomics after saved (#459)
* fixed; set isNew on embedded docs to false after save
* fixed; use self to ensure proper scope of options in doOpenSet (#483) [andrewjstone]
2.0.4 / 2011-08-29
==================
* Fixed; Only send the depopulated ObjectId instead of the entire doc on save (DBRefs)
* Fixed; Properly cast nested array values in Model.update (the data was stored in Mongo incorrectly but recast on document fetch was "fixing" it)
2.0.3 / 2011-08-28
==================
* Fixed; manipulating a populated array no longer causes infinite loop in BSON serializer during save (#477)
* Fixed; populating an empty array no longer hangs foreeeeeeeever (#481)
2.0.2 / 2011-08-25
==================
* Fixed; Maintain query option key order (fixes 'bad hint' error from compound query hints)
2.0.1 / 2011-08-25
==================
* Fixed; do not over-write the doc when no valide props exist in Model.update (#473)
2.0.0 / 2011-08-24
===================
* Added; support for Buffers [justmoon]
* Changed; improved error handling [maelstrom]
* Removed: unused utils.erase
* Fixed; support for passing other context object into Schemas (#234) [Sija]
* Fixed; getters are no longer circular refs to themselves (#366)
* Removed; unused compat.js
* Fixed; getter/setter scopes are set properly
* Changed; made several private properties more obvious by prefixing _
* Added; DBRef support [guille]
* Changed; removed support for multiple collection names per model
* Fixed; no longer applying setters when document returned from db
* Changed; default auto_reconnect to true
* Changed; Query#bind no longer clones the query
* Fixed; Model.update now accepts $pull, $inc and friends (#404)
* Added; virtual type option support [nw]
1.8.4 / 2011-08-21
===================
* Fixed; validation bug when instantiated with non-schema properties (#464) [jmreidy]
1.8.3 / 2011-08-19
===================
* Fixed; regression in connection#open [jshaw86]
1.8.2 / 2011-08-17
===================
* fixed; reset connection.readyState after failure [tomseago]
* fixed; can now query positionally for non-embedded docs (arrays of numbers/strings etc)
* fixed; embedded document query casting
* added; support for passing options to node-mongo-native db, server, and replsetserver [tomseago]
1.8.1 / 2011-08-10
===================
* fixed; ObjectIds were always marked modified
* fixed; can now query using document instances
* fixed; can now query/update using documents with subdocs
1.8.0 / 2011-08-04
===================
* fixed; can now use $all with String and Number
* fixed; can query subdoc array with $ne: null
* fixed; instance.subdocs#id now works with custom _ids
* fixed; do not apply setters when doc returned from db (change in bad behavior)
1.7.4 / 2011-07-25
===================
* fixed; sparse now a valid seperate schema option
* fixed; now catching cast errors in queries
* fixed; calling new Schema with object created in vm.runInNewContext now works (#384) [Sija]
* fixed; String enum was disallowing null
* fixed; Find by nested document _id now works (#389)
1.7.3 / 2011-07-16
===================
* fixed; MongooseArray#indexOf now works with ObjectIds
* fixed; validation scope now set properly (#418)
* fixed; added missing colors dependency (#398)
1.7.2 / 2011-07-13
===================
* changed; node-mongodb-native driver to v0.9.6.7
1.7.1 / 2011-07-12
===================
* changed; roll back node-mongodb-native driver to v0.9.6.4
1.7.0 / 2011-07-12
===================
* fixed; collection name misspelling [mathrawka]
* fixed; 2nd param is required for ReplSetServers [kevinmarvin]
* fixed; MongooseArray behaves properly with Object.keys
* changed; node-mongodb-native driver to v0.9.6.6
* fixed/changed; Mongodb segfault when passed invalid ObjectId (#407)
- This means invalid data passed to the ObjectId constructor will now error
1.6.0 / 2011-07-07
===================
* changed; .save() errors are now emitted on the instances db instead of the instance 9782463fc
* fixed; errors occurring when creating indexes now properly emit on db
* added; $maxDistance support to MongooseArrays
* fixed; RegExps now work with $all
* changed; node-mongodb-native driver to v0.9.6.4
* fixed; model names are now accessible via .modelName
* added; Query#slaveOk support
1.5.0 / 2011-06-27
===================
* changed; saving without a callback no longer ignores the error (@bnoguchi)
* changed; hook-js version bump to 0.1.9
* changed; node-mongodb-native version bumped to 0.9.6.1 - When .remove() doesn't
return an error, null is no longer passed.
* fixed; two memory leaks (@justmoon)
* added; sparse index support
* added; more ObjectId conditionals (gt, lt, gte, lte) (@phillyqueso)
* added; options are now passed in model#remote (@JerryLuke)
1.4.0 / 2011-06-10
===================
* bumped hooks-js dependency (fixes issue passing null as first arg to next())
* fixed; document#inspect now works properly with nested docs
* fixed; 'set' now works as a schema attribute (GH-365)
* fixed; _id is now set properly within pre-init hooks (GH-289)
* added; Query#distinct / Model#distinct support (GH-155)
* fixed; embedded docs now can use instance methods (GH-249)
* fixed; can now overwrite strings conflicting with schema type
1.3.7 / 2011-06-03
===================
* added MongooseArray#splice support
* fixed; 'path' is now a valid Schema pathname
* improved hooks (utilizing https://github.com/bnoguchi/hooks-js)
* fixed; MongooseArray#$shift now works (never did)
* fixed; Document.modified no longer throws
* fixed; modifying subdoc property sets modified paths for subdoc and parent doc
* fixed; marking subdoc path as modified properly persists the value to the db
* fixed; RexExps can again be saved ( #357 )
1.3.6 / 2011-05-18
===================
* fixed; corrected casting for queries against array types
* added; Document#set now accepts Document instances
1.3.5 / 2011-05-17
===================
* fixed; $ne queries work properly with single vals
* added; #inspect() methods to improve console.log output
1.3.4 / 2011-05-17
===================
* fixed; find by Date works as expected (#336)
* added; geospatial 2d index support
* added; support for $near (#309)
* updated; node-mongodb-native driver
* fixed; updating numbers work (#342)
* added; better error msg when try to remove an embedded doc without an _id (#307)
* added; support for 'on-the-fly' schemas (#227)
* changed; virtual id getters can now be skipped
* fixed; .index() called on subdoc schema now works as expected
* fixed; db.setProfile() now buffers until the db is open (#340)
1.3.3 / 2011-04-27
===================
* fixed; corrected query casting on nested mixed types
1.3.2 / 2011-04-27
===================
* fixed; query hints now retain key order
1.3.1 / 2011-04-27
===================
* fixed; setting a property on an embedded array no longer overwrites entire array (GH-310)
* fixed; setting nested properties works when sibling prop is named "type"
* fixed; isModified is now much finer grained when .set() is used (GH-323)
* fixed; mongoose.model() and connection.model() now return the Model (GH-308, GH-305)
* fixed; can now use $gt, $lt, $gte, $lte with String schema types (GH-317)
* fixed; .lowercase() -> .toLowerCase() in pluralize()
* fixed; updating an embedded document by index works (GH-334)
* changed; .save() now passes the instance to the callback (GH-294, GH-264)
* added; can now query system.profile and system.indexes collections
* added; db.model('system.profile') is now included as a default Schema
* added; db.setProfiling(level, ms, callback)
* added; Query#hint() support
* added; more tests
* updated node-mongodb-native to 0.9.3
1.3.0 / 2011-04-19
===================
* changed; save() callbacks now fire only once on failed validation
* changed; Errors returned from save() callbacks now instances of ValidationError
* fixed; MongooseArray#indexOf now works properly
1.2.0 / 2011-04-11
===================
* changed; MongooseNumber now casts empty string to null
1.1.25 / 2011-04-08
===================
* fixed; post init now fires at proper time
1.1.24 / 2011-04-03
===================
* fixed; pushing an array onto an Array works on existing docs
1.1.23 / 2011-04-01
===================
* Added Model#model
1.1.22 / 2011-03-31
===================
* Fixed; $in queries on mixed types now work
1.1.21 / 2011-03-31
===================
* Fixed; setting object root to null/undefined works
1.1.20 / 2011-03-31
===================
* Fixed; setting multiple props on null field works
1.1.19 / 2011-03-31
===================
* Fixed; no longer using $set on paths to an unexisting fields
1.1.18 / 2011-03-30
===================
* Fixed; non-mixed type object setters work after initd from null
1.1.17 / 2011-03-30
===================
* Fixed; nested object property access works when root initd with null value
1.1.16 / 2011-03-28
===================
* Fixed; empty arrays are now saved
1.1.15 / 2011-03-28
===================
* Fixed; `null` and `undefined` are set atomically.
1.1.14 / 2011-03-28
===================
* Changed; more forgiving date casting, accepting '' as null.
1.1.13 / 2011-03-26
===================
* Fixed setting values as `undefined`.
1.1.12 / 2011-03-26
===================
* Fixed; nested objects now convert to JSON properly
* Fixed; setting nested objects directly now works
* Update node-mongodb-native
1.1.11 / 2011-03-25
===================
* Fixed for use of `type` as a key.
1.1.10 / 2011-03-23
===================
* Changed; Make sure to only ensure indexes while connected
1.1.9 / 2011-03-2
==================
* Fixed; Mixed can now default to empty arrays
* Fixed; keys by the name 'type' are now valid
* Fixed; null values retrieved from the database are hydrated as null values.
* Fixed repeated atomic operations when saving a same document twice.
1.1.8 / 2011-03-23
==================
* Fixed 'id' overriding. [bnoguchi]
1.1.7 / 2011-03-22
==================
* Fixed RegExp query casting when querying against an Array of Strings [bnoguchi]
* Fixed getters/setters for nested virtualsl. [bnoguchi]
1.1.6 / 2011-03-22
==================
* Only doValidate when path exists in Schema [aheckmann]
* Allow function defaults for Array types [aheckmann]
* Fix validation hang [aheckmann]
* Fix setting of isRequired of SchemaType [aheckmann]
* Fix SchemaType#required(false) filter [aheckmann]
* More backwards compatibility [aheckmann]
* More tests [aheckmann]
1.1.5 / 2011-03-14
==================
* Added support for `uri, db, fn` and `uri, fn` signatures for replica sets.
* Improved/extended replica set tests.
1.1.4 / 2011-03-09
==================
* Fixed; running an empty Query doesn't throw. [aheckmann]
* Changed; Promise#addBack returns promise. [aheckmann]
* Added streaming cursor support. [aheckmann]
* Changed; Query#update defaults to use$SetOnSave now. [brian]
* Added more docs.
1.1.3 / 2011-03-04
==================
* Added Promise#resolve [aheckmann]
* Fixed backward compatibility with nulls [aheckmann]
* Changed; Query#{run,exec} return promises [aheckmann]
1.1.2 / 2011-03-03
==================
* Restored Query#exec and added notion of default operation [brian]
* Fixed ValidatorError messages [brian]
1.1.1 / 2011-03-01
==================
* Added SchemaType String `lowercase`, `uppercase`, `trim`.
* Public exports (`Model`, `Document`) and tests.
* Added ObjectId casting support for `Document`s.
1.1.0 / 2011-02-25
==================
* Added support for replica sets.
1.0.16 / 2011-02-18
===================
* Added $nin as another whitelisted $conditional for SchemaArray [brian]
* Changed #with to #where [brian]
* Added ability to use $in conditional with Array types [brian]
1.0.15 / 2011-02-18
===================
* Added `id` virtual getter for documents to easily access the hexString of
the `_id`.
1.0.14 / 2011-02-17
===================
* Fix for arrays within subdocuments [brian]
1.0.13 / 2011-02-16
===================
* Fixed embedded documents saving.
1.0.12 / 2011-02-14
===================
* Minor refactorings [brian]
1.0.11 / 2011-02-14
===================
* Query refactor and $ne, $slice, $or, $size, $elemMatch, $nin, $exists support [brian]
* Named scopes sugar [brian]
1.0.10 / 2011-02-11
===================
* Updated node-mongodb-native driver [thanks John Allen]
1.0.9 / 2011-02-09
==================
* Fixed single member arrays as defaults [brian]
1.0.8 / 2011-02-09
==================
* Fixed for collection-level buffering of commands [gitfy]
* Fixed `Document#toJSON` [dalejefferson]
* Fixed `Connection` authentication [robrighter]
* Fixed clash of accessors in getters/setters [eirikurn]
* Improved `Model#save` promise handling
1.0.7 / 2011-02-05
==================
* Fixed memory leak warnings for test suite on 0.3
* Fixed querying documents that have an array that contain at least one
specified member. [brian]
* Fixed default value for Array types (fixes GH-210). [brian]
* Fixed example code.
1.0.6 / 2011-02-03
==================
* Fixed `post` middleware
* Fixed; it's now possible to instantiate a model even when one of the paths maps
to an undefined value [brian]
1.0.5 / 2011-02-02
==================
* Fixed; combo $push and $pushAll auto-converts into a $pushAll [brian]
* Fixed; combo $pull and $pullAll auto-converts to a single $pullAll [brian]
* Fixed; $pullAll now removes said members from array before save (so it acts just
like pushAll) [brian]
* Fixed; multiple $pulls and $pushes become a single $pullAll and $pushAll.
Moreover, $pull now modifies the array before save to reflect the immediate
change [brian]
* Added tests for nested shortcut getters [brian]
* Added tests that show that Schemas with nested Arrays don't apply defaults
[brian]
1.0.4 / 2011-02-02
==================
* Added MongooseNumber#toString
* Added MongooseNumber unit tests
1.0.3 / 2011-02-02
==================
* Make sure safe mode works with Model#save
* Changed Schema options: safe mode is now the default
* Updated node-mongodb-native to HEAD
1.0.2 / 2011-02-02
==================
* Added a Model.create shortcut for creating documents. [brian]
* Fixed; we can now instantiate models with hashes that map to at least one
null value. [brian]
* Fixed Schema with more than 2 nested levels. [brian]
1.0.1 / 2011-02-02
==================
* Improved `MongooseNumber`, works almost like the native except for `typeof`
not being `'number'`.