Skip to content

Latest commit

 

History

History
1247 lines (945 loc) · 41.3 KB

History.md

File metadata and controls

1247 lines (945 loc) · 41.3 KB

3.5.2 / 2012-12-17

  • fixed; using auth with replica sets

3.5.1 / 2012-12-12

  • fixed; regression when using subdoc with path as pathname #1245 daeq
  • fixed; safer db option checks
  • updated; driver to 1.2.5
  • website; add more examples
  • website; clean up old docs
  • website; fix prev release urls
  • docs; clarify streaming with HTTP responses

3.5.0 / 2012-12-10

  • added; paths to CastErrors #1239
  • added; support for mongodb connection string spec #1187
  • added; post validate event
  • added; Schema#get (to retrieve schema options)
  • added; VersionError #1071
  • added; npmignore hidekiy
  • update; driver to 1.2.3
  • fixed; stackoverflow in setter #1234
  • fixed; utils.isObject()
  • fixed; do not clobber user specified driver writeConcern #1227
  • fixed; always pass current document to post hooks
  • fixed; throw error when user attempts to overwrite a model
  • fixed; connection.model only caches on connection #1209
  • fixed; respect conn.model() creation when matching global model exists #1209
  • fixed; passing model name + collection name now always honors collection name
  • fixed; setting virtual field to an empty object #1154
  • fixed; subclassed MongooseErrors exposure, now available in mongoose.Error.xxxx
  • fixed; model.remove() ignoring callback when executed twice daeq #1210
  • docs; add collection option to schema api docs #1222
  • docs; NOTE about db safe options
  • docs; add post hooks docs
  • docs; connection string options
  • docs; middleware is not executed with Model.remove #1241
  • docs; {g,s}etter introspection #777
  • docs; update validation docs
  • docs; add link to plugins page
  • docs; clarify error returned by unique indexes #1225
  • docs; more detail about disabling autoIndex behavior
  • docs; add homepage section to package (npm docs mongoose)
  • docs; more detail around collection name pluralization #1193
  • website; add .important css
  • website; update models page
  • website; update getting started
  • website; update quick start

3.4.0 / 2012-11-10

  • added; support for generic toJSON/toObject transforms #1160 #1020 #1197
  • added; doc.set() merge support #1148 NuORDER
  • added; query#add support #1188 aleclofabbro
  • changed; adding invalid nested paths to non-objects throws 4216f14
  • changed; fixed; stop invalid function cloning (internal fix)
  • fixed; add query $and casting support #1180 anotheri
  • fixed; overwriting of query arguments #1176
  • docs; fix expires examples
  • docs; transforms
  • docs; schema collection option docs hermanjunge
  • website; updated
  • tests; added

3.3.1 / 2012-10-11

  • fixed; allow goose.connect(uris, dbname, opts) #1144
  • docs; persist API private checked state across page loads

3.3.0 / 2012-10-10

  • fixed; passing options as 2nd arg to connect() #1144
  • fixed; race condition after no-op save #1139
  • fixed; schema field selection application in findAndModify #1150
  • fixed; directly setting arrays #1126
  • updated; driver to 1.1.11
  • updated; collection pluralization rules mrickard
  • tests; added
  • docs; updated

3.2.2 / 2012-10-08

  • updated; driver to 1.1.10 #1143
  • updated; use sliced 0.0.3
  • fixed; do not recast embedded docs unnecessarily
  • fixed; expires schema option helper #1132
  • fixed; built in string setters #1131
  • fixed; debug output for Dates/ObjectId properties #1129
  • docs; fixed Javascript syntax error in example olalonde
  • docs; fix toJSON example #1137
  • docs; add ensureIndex production notes
  • docs; fix spelling
  • docs; add blogposts about v3
  • website; updated
  • removed; undocumented inGroupsOf util
  • tests; added

3.2.1 / 2012-09-28

3.2.0 / 2012-09-27

  • added; direct array index assignment with casting support doc.array.set(index, value)
  • fixed; QueryStream#resume within same tick as pause() #1116
  • fixed; default value validatation #1109
  • fixed; array splice() not casting #1123
  • fixed; default array construction edge case #1108
  • fixed; query casting for inequalities in arrays #1101 dpatti
  • tests; added
  • website; more documentation
  • website; fixed layout issue #1111 SlashmanX
  • website; refactored guille

3.1.2 / 2012-09-10

  • added; ReadPreferrence schema option #1097
  • updated; driver to 1.1.7
  • updated; default query batchSize to 1000
  • fixed; we now cast the mapReduce query option #1095
  • fixed; $elemMatch+$in with field selection #1091
  • fixed; properly cast $elemMatch+$in conditions #1100
  • fixed; default field application of subdocs #1027
  • fixed; querystream prematurely dying #1092
  • fixed; querystream never resumes when paused at getMore boundries #1092
  • fixed; querystream occasionally emits data events after destroy #1092
  • fixed; remove unnecessary ObjectId creation in querystream
  • fixed; allow ne(boolean) again #1093
  • docs; add populate/field selection syntax notes
  • docs; add toObject/toJSON options detail
  • docs; read schema option

3.1.1 / 2012-08-31

  • updated; driver to 1.1.6

3.1.0 / 2012-08-29

  • changed; fixed; directly setting nested objects now overwrites entire object (previously incorrectly merged them)
  • added; read pref support (mongodb 2.2) 205a709c
  • added; aggregate support (mongodb 2.2) f3a5bd3d
  • added; virtual {g,s}etter introspection (#1070)
  • updated; docs brettz9
  • updated; driver to 1.1.5
  • fixed; retain virtual setter return values (#1069)

3.0.3 / 2012-08-23

  • fixed; use of nested paths beginning w/ numbers #1062
  • fixed; query population edge case #1053 #1055 jfremy
  • fixed; simultaneous top and sub level array modifications #1073
  • added; id and _id schema option aliases + tests
  • improve debug formatting to allow copy/paste logged queries into mongo shell eknkc
  • docs

3.0.2 / 2012-08-17

  • added; missing support for v3 sort/select syntax to findAndModify helpers (#1058)
  • fixed; replset fullsetup event emission
  • fixed; reconnected event for replsets
  • fixed; server reconnection setting discovery
  • fixed; compat with non-schema path props using positional notation (#1048)
  • fixed; setter/casting order (#665)
  • docs; updated

3.0.1 / 2012-08-11

  • fixed; throw Error on bad validators (1044)
  • fixed; typo in EmbeddedDocument#parentArray [lackac]
  • fixed; repair mongoose.SchemaTypes alias
  • updated; docs

3.0.0 / 2012-08-07

  • removed; old subdocument#commit method
  • fixed; setting arrays of matching docs [6924cbc2]
  • fixed; doc!remove event now emits in save order as save for consistency
  • fixed; pre-save hooks no longer fire on subdocuments when validation fails
  • added; subdoc#parent() and subdoc#parentArray() to access subdocument parent objects
  • added; query#lean() helper

3.0.0rc0 / 2012-08-01

  • fixed; allow subdoc literal declarations containing "type" pathname (#993)
  • fixed; unsetting a default array (#758)
  • fixed; boolean $in queries (#998)
  • fixed; allow use of options as a pathname (#529)
  • fixed; model is again a permitted schema path name
  • fixed; field selection option on subdocs (#1022)
  • fixed; handle another edge case with subdoc saving (#975)
  • added; emit save err on model if listening
  • added; MongoDB TTL collection support (#1006)
  • added; $center options support
  • added; $nearSphere and $polygon support
  • updated; driver version to 1.1.2

3.0.0alpha2 / 2012-07-18

  • changed; index errors are now emitted on their model and passed to an optional callback (#984)
  • fixed; specifying index along with sparse/unique option no longer overwrites (#1004)
  • fixed; never swallow connection errors (#618)
  • fixed; creating object from model with emded object no longer overwrites defaults [achurkin] (#859)
  • fixed; stop needless validation of unchanged/unselected fields (#891)
  • fixed; document#equals behavior of objectids (#974)
  • fixed; honor the minimize schema option (#978)
  • fixed; provide helpful error msgs when reserved schema path is used (#928)
  • fixed; callback to conn#disconnect is optional (#875)
  • fixed; handle missing protocols in connection urls (#987)
  • fixed; validate args to query#where (#969)
  • fixed; saving modified/removed subdocs (#975)
  • fixed; update with $pull from Mixed array (#735)
  • fixed; error with null shard key value
  • fixed; allow unsetting enums (#967)
  • added; support for manual index creation (#984)
  • added; support for disabled auto-indexing (#984)
  • added; support for preserving MongooseArray#sort changes (#752)
  • added; emit state change events on connection
  • added; support for specifying BSON subtype in MongooseBuffer#toObject [jcrugzz]
  • added; support for disabled versioning (#977)
  • added; implicit "new" support for models and Schemas

3.0.0alpha1 / 2012-06-15

  • removed; doc#commit (use doc#markModified)
  • removed; doc.modified getter (#950)
  • removed; mongoose{connectSet,createSetConnection}. use connect,createConnection instead
  • removed; query alias methods 1149804c
  • removed; MongooseNumber
  • changed; now creating indexes in background by default
  • changed; strict mode now enabled by default (#952)
  • changed; doc#modifiedPaths is now a method (#950)
  • changed; getters no longer cast (#820); casting happens during set
  • fixed; no need to pass updateArg to findOneAndUpdate (#931)
  • fixed: utils.merge bug when merging nested non-objects. [treygriffith]
  • fixed; strict:throw should produce errors in findAndModify (#963)
  • fixed; findAndUpdate no longer overwrites document (#962)
  • fixed; setting default DocumentArrays (#953)
  • fixed; selection of _id with schema deselection (#954)
  • fixed; ensure promise#error emits instanceof Error
  • fixed; CursorStream: No stack overflow on any size result (#929)
  • fixed; doc#remove now passes safe options
  • fixed; invalid use of $set during $pop
  • fixed; array#{$pop,$shift} mirror MongoDB behavior
  • fixed; no longer test non-required vals in string match (#934)
  • fixed; edge case with doc#inspect
  • fixed; setter order (#665)
  • fixed; setting invalid paths in strict mode (#916)
  • fixed; handle docs without id in DocumentArray#id method (#897)
  • fixed; do not save virtuals during model.update (#894)
  • fixed; sub doc toObject virtuals application (#889)
  • fixed; MongooseArray#pull of ObjectId (#881)
  • fixed; handle passing db name with any repl set string
  • fixed; default application of selected fields (#870)
  • fixed; subdoc paths reported in validation errors (#725)
  • fixed; incorrect reported num of affected docs in update ops (#862)
  • fixed; connection assignment in Model#model (#853)
  • fixed; stringifying arrays of docs (#852)
  • fixed; modifying subdoc and parent array works (#842)
  • fixed; passing undefined to next hook (#785)
  • fixed; Query#{update,remove}() works without callbacks (#788)
  • fixed; set/updating nested objects by parent pathname (#843)
  • fixed; allow null in number arrays (#840)
  • fixed; isNew on sub doc after insertion error (#837)
  • fixed; if an insert fails, set isNew back to false [boutell]
  • fixed; isSelected when only _id is selected (#730)
  • fixed; setting an unset default value (#742)
  • fixed; query#sort error messaging (#671)
  • fixed; support for passing $options with $regex
  • added; array of object literal notation in schema creates DocumentArrays
  • added; gt,gte,lt,lte query support for arrays (#902)
  • added; capped collection support (#938)
  • added; document versioning support
  • added; inclusion of deselected schema path (#786)
  • added; non-atomic array#pop
  • added; EmbeddedDocument constructor is now exposed in DocArray#create 7cf8beec
  • added; mapReduce support (#678)
  • added; support for a configurable minimize option #to{Object,JSON}(option) (#848)
  • added; support for strict: throws [regality]
  • added; support for named schema types (#795)
  • added; to{Object,JSON} schema options (#805)
  • added; findByIdAnd{Update,Remove}()
  • added; findOneAnd{Update,Remove}()
  • added; query.setOptions()
  • added; instance.update() (#794)
  • added; support specifying model in populate() [DanielBaulig]
  • added; lean query option [gitfy]
  • added; multi-atomic support to MongooseArray#nonAtomicPush
  • added; support for $set + other $atomic ops on single array
  • added; tests
  • updated; driver to 1.0.2
  • updated; query.sort() syntax to mirror query.select()
  • updated; clearer cast error msg for array numbers
  • updated; docs
  • updated; doc.clone 3x faster (#950)
  • updated; only create _id if necessary (#950)

2.7.3 / 2012-08-01

  • fixed; boolean $in queries (#998)
  • fixed field selection option on subdocs (#1022)

2.7.2 / 2012-07-18

  • fixed; callback to conn#disconnect is optional (#875)
  • fixed; handle missing protocols in connection urls (#987)
  • fixed; saving modified/removed subdocs (#975)
  • updated; tests

2.7.1 / 2012-06-26

  • fixed; sharding: when a document holds a null as a value of the shard key
  • fixed; update() using $pull on an array of Mixed (gh-735)
  • deprecated; MongooseNumber#{inc, increment, decrement} methods
  • tests; now using mocha

2.7.0 / 2012-06-14

  • added; deprecation warnings to methods being removed in 3.x

2.6.8 / 2012-06-14

  • fixed; edge case when using 'options' as a path name (#961)

2.6.7 / 2012-06-08

  • fixed; ensure promise#error always emits instanceof Error
  • fixed; selection of _id w/ another excluded path (#954)
  • fixed; setting default DocumentArrays (#953)

2.6.6 / 2012-06-06

  • fixed; stack overflow in query stream with large result sets (#929)
  • added; $gt, $gte, $lt, $lte support to arrays (#902)
  • fixed; pass option safe along to doc#remove() calls

2.6.5 / 2012-05-24

  • fixed; do not save virtuals in Model.update (#894)
  • added; missing $ prefixed query aliases (going away in 3.x) (#884) [timoxley]
  • fixed; setting invalid paths in strict mode (#916)
  • fixed; resetting isNew after insert failure (#837) [boutell]

2.6.4 / 2012-05-15

  • updated; backport string regex $options to 2.x
  • updated; use driver 1.0.2 (performance improvements) (#914)
  • fixed; calling MongooseDocumentArray#id when the doc has no _id (#897)

2.6.3 / 2012-05-03

  • fixed; repl-set connectivity issues during failover on MongoDB 2.0.1
  • updated; driver to 1.0.0
  • fixed; virtuals application of subdocs when using toObject({ virtuals: true }) (#889)
  • fixed; MongooseArray#pull of ObjectId correctly updates the array itself (#881)

2.6.2 / 2012-04-30

  • fixed; default field application of selected fields (#870)

2.6.1 / 2012-04-30

  • fixed; connection assignment in mongoose#model (#853, #877)
  • fixed; incorrect reported num of affected docs in update ops (#862)

2.6.0 / 2012-04-19

  • updated; hooks.js to 0.2.1
  • fixed; issue with passing undefined to a hook callback. thanks to [chrisleishman] for reporting.
  • fixed; updating/setting nested objects in strict schemas (#843) as reported by [kof]
  • fixed; Query#{update,remove}() work without callbacks again (#788)
  • fixed; modifying subdoc along with parent array $atomic op (#842)

2.5.14 / 2012-04-13

  • fixed; setting an unset default value (#742)
  • fixed; doc.isSelected(otherpath) when only _id is selected (#730)
  • updated; docs

2.5.13 / 2012-03-22

  • fixed; failing validation of unselected required paths (#730,#713)
  • fixed; emitting connection error when only one listener (#759)
  • fixed; MongooseArray#splice was not returning values (#784) [chrisleishman]

2.5.12 / 2012-03-21

  • fixed; honor the safe option in all ensureIndex calls
  • updated; node-mongodb-native driver to 0.9.9-7

2.5.11 / 2012-03-15

  • added; introspection for getters/setters (#745)
  • updated; node-mongodb-driver to 0.9.9-5
  • added; tailable method to Query (#769) [holic]
  • fixed; Number min/max validation of null (#764) [btamas]
  • added; more flexible user/password connection options (#738) [KarneAsada]

2.5.10 / 2012-03-06

  • updated; node-mongodb-native driver to 0.9.9-4
  • added; Query#comment()
  • fixed; allow unsetting arrays
  • fixed; hooking the set method of subdocuments (#746)
  • fixed; edge case in hooks
  • fixed; allow $id and $ref in queries (fixes compatibility with mongoose-dbref) (#749) [richtera]
  • added; default path selection to SchemaTypes

2.5.9 / 2012-02-22

  • fixed; properly cast nested atomic update operators for sub-documents

2.5.8 / 2012-02-21

  • added; post 'remove' middleware includes model that was removed (#729) [timoxley]

2.5.7 / 2012-02-09

  • fixed; RegExp validators on node >= v0.6.x

2.5.6 / 2012-02-09

  • fixed; emit errors returned from db.collection() on the connection (were being swallowed)
  • added; can add multiple validators in your schema at once (#718) [diogogmt]
  • fixed; strict embedded documents (#717)
  • updated; docs [niemyjski]
  • added; pass number of affected docs back in model.update/save

2.5.5 / 2012-02-03

  • fixed; RangeError: maximum call stack exceed error when removing docs with Number _id (#714)

2.5.4 / 2012-02-03

  • fixed; RangeError: maximum call stack exceed error (#714)

2.5.3 / 2012-02-02

  • added; doc#isSelected(path)
  • added; query#equals()
  • added; beta sharding support
  • added; more descript error msgs (#700) [obeleh]
  • added; document.modifiedPaths (#709) [ljharb]
  • fixed; only functions can be added as getters/setters (#707,704) [ljharb]

2.5.2 / 2012-01-30

  • fixed; rollback -native driver to 0.9.7-3-5 (was causing timeouts and other replica set weirdness)
  • deprecated; MongooseNumber (will be moved to a separate repo for 3.x)
  • added; init event is emitted on schemas

2.5.1 / 2012-01-27

  • fixed; honor strict schemas in Model.update (#699)

2.5.0 / 2012-01-26

  • added; doc.toJSON calls toJSON on embedded docs when exists [jerem]
  • added; populate support for refs of type Buffer (#686) [jerem]
  • added; $all support for ObjectIds and Dates (#690)
  • fixed; virtual setter calling on instantiation when strict: true (#682) [hunterloftis]
  • fixed; doc construction triggering getters (#685)
  • fixed; MongooseBuffer check in deepEquals (#688)
  • fixed; range error when using Number _ids with instance.save() (#691)
  • fixed; isNew on embedded docs edge case (#680)
  • updated; driver to 0.9.8-3
  • updated; expose model() method within static methods

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 Documents.

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'.