arnaucube
arnaucube/thoughtsPublic Self-hosted repository
thoughts/node_modules/mongoose/History.md
node_modules/mongoose/History.mdRaw
   1
   23.6.20 (stable) / 2013-09-23
   3===================
   4
   5 * fixed; repopulating modified populated paths #1697
   6 * fixed; doc.equals w/ _id false #1687
   7 * fixed; strict mode warning #1686
   8 * docs; near/nearSphere
   9
  103.6.19 (stable) / 2013-09-04
  11==================
  12
  13  * fixed; population field selection w/ strings #1669
  14  * docs; Date method caveats #1598
  15
  163.6.18 (stable) / 2013-08-22
  17===================
  18
  19  * updated; warn when using an unstable version of mongoose
  20  * updated; mocha to 1.12.0
  21  * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
  22  * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
  23  * fixed; properly exclude subdocument fields #1280 [ebensing](https://github.com/ebensing)
  24  * fixed; cast error in findAndModify #1643 [aheuermann](https://github.com/aheuermann)
  25  * website; update guide
  26  * website; added documentation for safe:false and versioning interaction
  27  * docs; mention that middleware dont run on Models
  28  * docs; fix indexes link
  29  * make; suppress warning msg in test
  30  * tests; moar
  31
  323.6.17 / 2013-08-13
  33===================
  34
  35  * updated; driver to 1.3.18 (fixes memory leak)
  36  * fixed; casting ref docs on creation #1606
  37  * docs; query options
  38
  393.6.16 / 2013-08-08
  40===================
  41
  42  * added; publicly expose connection states #1585
  43  * fixed; limit applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
  44  * fixed; positional operator casting in updates #1572 [ebensing](https://github.com/ebensing)
  45  * updated; MongoDB driver to 1.3.17
  46  * updated; sliced to 0.0.5
  47  * website; tweak homepage
  48  * tests; fixed + added
  49  * docs; fix some examples
  50  * docs; multi-mongos support details
  51  * docs; auto open browser after starting static server
  52
  533.6.15 / 2013-07-16
  54==================
  55
  56  * added; mongos failover support #1037
  57  * updated; make schematype return vals return self #1580
  58  * docs; add note to model.update #571
  59  * docs; document third param to document.save callback #1536
  60  * tests; tweek mongos test timeout
  61
  623.6.14 / 2013-07-05
  63===================
  64
  65  * updated; driver to 1.3.11
  66  * fixed; issue with findOneAndUpdate not returning null on upserts #1533 [ebensing](https://github.com/ebensing)
  67  * fixed; missing return statement in SchemaArray#$geoIntersects() #1498 [bsrykt](https://github.com/bsrykt)
  68  * fixed; wrong isSelected() behavior #1521 [kyano](https://github.com/kyano)
  69  * docs; note about toObject behavior during save()
  70  * docs; add callbacks details #1547 [nikmartin](https://github.com/nikmartin)
  71
  723.6.13 / 2013-06-27
  73===================
  74
  75  * fixed; calling model.distinct without conditions #1541
  76  * fixed; regression in Query#count() #1542
  77  * now working on 3.6.13
  78
  793.6.12 / 2013-06-25
  80===================
  81
  82  * updated; driver to 1.3.10
  83  * updated; clearer capped collection error message #1509 [bitmage](https://github.com/bitmage)
  84  * fixed; MongooseBuffer subtype loss during casting #1517 [zedgu](https://github.com/zedgu)
  85  * fixed; docArray#id when doc.id is disabled #1492
  86  * fixed; docArray#id now supports matches on populated arrays #1492 [pgherveou](https://github.com/pgherveou)
  87  * website; fix example
  88  * website; improve _id disabling example
  89  * website; fix typo #1494 [dejj](https://github.com/dejj)
  90  * docs; added a 'Requesting new features' section #1504 [shovon](https://github.com/shovon)
  91  * docs; improve subtypes description
  92  * docs; clarify _id disabling
  93  * docs: display by alphabetical order the methods list #1508 [nicolasleger](https://github.com/nicolasleger)
  94  * tests; refactor isSelected checks
  95  * tests; remove pointless test
  96  * tests; fixed timeouts
  97
  983.6.11 / 2013-05-15
  99===================
 100
 101  * updated; driver to 1.3.5
 102  * fixed; compat w/ Object.create(null) #1484 #1485
 103  * fixed; cloning objects w/ missing constructors
 104  * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
 105  * docs; add doc.increment() example
 106  * docs; add $size example
 107  * docs; add "distinct" example
 108
 1093.6.10 / 2013-05-09
 110==================
 111
 112  * update driver to 1.3.3
 113  * fixed; increment() works without other changes #1475
 114  * website; fix links to posterous
 115  * docs; fix link #1472
 116
 1173.6.9 / 2013-05-02
 118==================
 119
 120  * fixed; depopulation of mixed documents #1471
 121  * fixed; use of $options in array #1462
 122  * tests; fix race condition
 123  * docs; fix default example
 124
 1253.6.8 / 2013-04-25
 126==================
 127
 128  * updated; driver to 1.3.0
 129  * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
 130  * tests; 4-5 seconds faster
 131
 1323.6.7 / 2013-04-19
 133==================
 134
 135  * fixed; population regression in 3.6.6 #1444
 136
 1373.6.6 / 2013-04-18
 138==================
 139
 140  * fixed; saving populated new documents #1442
 141  * fixed; population regession in 3.6.5 #1441
 142  * website; fix copyright #1439
 143
 1443.6.5 / 2013-04-15
 145==================
 146
 147  * fixed; strict:throw edge case using .set(path, val)
 148  * fixed; schema.pathType() on some numbericAlpha paths
 149  * fixed; numbericAlpha path versioning
 150  * fixed; setting nested mixed paths #1418
 151  * fixed; setting nested objects with null prop #1326
 152  * fixed; regression in v3.6 population performance #1426 [vedmalex](https://github.com/vedmalex)
 153  * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
 154  * docs; fix method example
 155  * website; update faq
 156  * website; add more deep links
 157  * website; update poolSize docs
 158  * website; add 3.6 release notes
 159  * website; note about keepAlive
 160
 1613.6.4 / 2013-04-03
 162==================
 163
 164  * fixed; +field conflict with $slice #1370
 165  * fixed; nested deselection conflict #1333
 166  * fixed; RangeError in ValidationError.toString() #1296
 167  * fixed; do not save user defined transforms #1415
 168  * tests; fix race condition
 169
 1703.6.3 / 2013-04-02
 171==================
 172
 173  * fixed; setting subdocuments deeply nested fields #1394
 174  * fixed; regression: populated streams #1411
 175  * docs; mention hooks/validation with findAndModify
 176  * docs; mention auth
 177  * docs; add more links
 178  * examples; add document methods example
 179  * website; display "see" links for properties
 180  * website; clean up homepage
 181
 1823.6.2 / 2013-03-29
 183==================
 184
 185  * fixed; corrupted sub-doc array #1408
 186  * fixed; document#update returns a Query #1397
 187  * docs; readpref strategy
 188
 1893.6.1 / 2013-03-27
 190==================
 191
 192  * added; populate support to findAndModify varients #1395
 193  * added; text index type to schematypes
 194  * expose allowed index types as Schema.indexTypes
 195  * fixed; use of `setMaxListeners` as path
 196  * fixed; regression in node 0.6 on docs with > 10 arrays
 197  * fixed; do not alter schema arguments #1364
 198  * fixed; subdoc#ownerDocument() #1385
 199  * website; change search id
 200  * website; add search from google [jackdbernier](https://github.com/jackdbernier)
 201  * website; fix link
 202  * website; add 3.5.x docs release
 203  * website; fix link
 204  * docs; fix geometry
 205  * docs; hide internal constructor
 206  * docs; aggregation does not cast arguments #1399
 207  * docs; querystream options
 208  * examples; added for population
 209
 2103.6.0 / 2013-03-18
 211==================
 212
 213  * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
 214  * changed; Buffer arrays can now contain nulls
 215  * added; QueryStream transform option
 216  * added; support for authSource driver option
 217  * added; {mongoose,db}.modelNames()
 218  * added; $push w/ $slice,$sort support (MongoDB 2.4)
 219  * added; hashed index type (MongoDB 2.4)
 220  * added; support for mongodb 2.4 geojson (MongoDB 2.4)
 221  * added; value at time of validation error
 222  * added; support for object literal schemas
 223  * added; bufferCommands schema option
 224  * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
 225  * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
 226  * added; allow adding uncasted docs to populated arrays and properties #570
 227  * added; doc#populated(path) stores original populated _ids
 228  * added; lean population #1260
 229  * added; query.populate() now accepts an options object
 230  * added; document#populate(opts, callback)
 231  * added; Model.populate(docs, opts, callback)
 232  * added; support for rich nested path population
 233  * added; doc.array.remove(value) subdoc with _id value support #1278
 234  * added; optionally allow non-strict sets and updates
 235  * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
 236  * added; promise#then
 237  * added; promise#end
 238  * fixed; use of `model` as doc property
 239  * fixed; lean population #1382
 240  * fixed; empty object mixed defaults #1380
 241  * fixed; populate w/ deselected _id using string syntax
 242  * fixed; attempted save of divergent populated arrays #1334 related
 243  * fixed; better error msg when attempting toObject as property name
 244  * fixed; non population buffer casting from doc
 245  * fixed; setting populated paths #570
 246  * fixed; casting when added docs to populated arrays #570
 247  * fixed; prohibit updating arrays selected with $elemMatch #1334
 248  * fixed; pull / set subdoc combination #1303
 249  * fixed; multiple bg index creation #1365
 250  * fixed; manual reconnection to single mongod
 251  * fixed; Constructor / version exposure #1124
 252  * fixed; CastError race condition
 253  * fixed; no longer swallowing misuse of subdoc#invalidate()
 254  * fixed; utils.clone retains RegExp opts
 255  * fixed; population of non-schema property
 256  * fixed; allow updating versionKey #1265
 257  * fixed; add EventEmitter props to reserved paths #1338
 258  * fixed; can now deselect populated doc _ids #1331
 259  * fixed; properly pass subtype to Binary in MongooseBuffer
 260  * fixed; casting _id from document with non-ObjectId _id
 261  * fixed; specifying schema type edge case { path: [{type: "String" }] }
 262  * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
 263  * updated; driver to 1.2.14
 264  * updated; muri to 0.3.1
 265  * updated; mpromise to 0.2.1
 266  * updated; mocha 1.8.1
 267  * updated; mpath to 0.1.1
 268  * deprecated; pluralization will die in 4.x
 269  * refactor; rename private methods to something unusable as doc properties
 270  * refactor MongooseArray#remove
 271  * refactor; move expires index to SchemaDate #1328
 272  * refactor; internal document properties #1171 #1184
 273  * tests; added
 274  * docs; indexes
 275  * docs; validation
 276  * docs; populate
 277  * docs; populate
 278  * docs; add note about stream compatibility with node 0.8
 279  * docs; fix for private names
 280  * docs; Buffer -> mongodb.Binary #1363
 281  * docs; auth options
 282  * docs; improved
 283  * website; update FAQ
 284  * website; add more api links
 285  * website; add 3.5.x docs to prior releases
 286  * website; Change mongoose-types to an active repo [jackdbernier](https://github.com/jackdbernier)
 287  * website; compat with node 0.10
 288  * website; add news section
 289  * website; use T for generic type
 290  * benchmark; make adjustable
 291
 2923.6.0rc1 / 2013-03-12
 293======================
 294
 295  * refactor; rename private methods to something unusable as doc properties
 296  * added; {mongoose,db}.modelNames()
 297  * added; $push w/ $slice,$sort support (MongoDB 2.4)
 298  * added; hashed index type (MongoDB 2.4)
 299  * added; support for mongodb 2.4 geojson (MongoDB 2.4)
 300  * added; value at time of validation error
 301  * added; support for object literal schemas
 302  * added; bufferCommands schema option
 303  * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
 304  * fixed; lean population #1382
 305  * fixed; empty object mixed defaults #1380
 306  * fixed; populate w/ deselected _id using string syntax
 307  * fixed; attempted save of divergent populated arrays #1334 related
 308  * fixed; better error msg when attempting toObject as property name
 309  * fixed; non population buffer casting from doc
 310  * fixed; setting populated paths #570
 311  * fixed; casting when added docs to populated arrays #570
 312  * fixed; prohibit updating arrays selected with $elemMatch #1334
 313  * fixed; pull / set subdoc combination #1303
 314  * fixed; multiple bg index creation #1365
 315  * fixed; manual reconnection to single mongod
 316  * fixed; Constructor / version exposure #1124
 317  * fixed; CastError race condition
 318  * fixed; no longer swallowing misuse of subdoc#invalidate()
 319  * fixed; utils.clone retains RegExp opts
 320  * fixed; population of non-schema property
 321  * fixed; allow updating versionKey #1265
 322  * fixed; add EventEmitter props to reserved paths #1338
 323  * fixed; can now deselect populated doc _ids #1331
 324  * updated; muri to 0.3.1
 325  * updated; driver to 1.2.12
 326  * updated; mpromise to 0.2.1
 327  * deprecated; pluralization will die in 4.x
 328  * docs; Buffer -> mongodb.Binary #1363
 329  * docs; auth options
 330  * docs; improved
 331  * website; add news section
 332  * benchmark; make adjustable
 333
 3343.6.0rc0 / 2013-02-03
 335======================
 336
 337  * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
 338  * changed; Buffer arrays can now contain nulls
 339  * fixed; properly pass subtype to Binary in MongooseBuffer
 340  * fixed; casting _id from document with non-ObjectId _id
 341  * fixed; specifying schema type edge case { path: [{type: "String" }] }
 342  * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
 343  * refactor; move expires index to SchemaDate #1328
 344  * refactor; internal document properties #1171 #1184
 345  * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
 346  * added; allow adding uncasted docs to populated arrays and properties #570
 347  * added; doc#populated(path) stores original populated _ids
 348  * added; lean population #1260
 349  * added; query.populate() now accepts an options object
 350  * added; document#populate(opts, callback)
 351  * added; Model.populate(docs, opts, callback)
 352  * added; support for rich nested path population
 353  * added; doc.array.remove(value) subdoc with _id value support #1278
 354  * added; optionally allow non-strict sets and updates
 355  * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
 356  * added; promise#then
 357  * added; promise#end
 358  * updated; mocha 1.8.1
 359  * updated; muri to 0.3.0
 360  * updated; mpath to 0.1.1
 361  * updated; docs
 362
 3633.5.16 / 2013-08-13
 364===================
 365
 366  * updated; driver to 1.3.18
 367
 3683.5.15 / 2013-07-26
 369==================
 370
 371  * updated; sliced to 0.0.5
 372  * updated; driver to 1.3.12
 373  * fixed; regression in Query#count() due to driver change
 374  * tests; fixed timeouts
 375  * tests; handle differing test uris
 376
 3773.5.14 / 2013-05-15
 378===================
 379
 380  * updated; driver to 1.3.5
 381  * fixed; compat w/ Object.create(null) #1484 #1485
 382  * fixed; cloning objects missing constructors
 383  * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
 384
 3853.5.13 / 2013-05-09
 386==================
 387
 388  * update driver to 1.3.3
 389  * fixed; use of $options in array #1462
 390
 3913.5.12 / 2013-04-25
 392===================
 393
 394  * updated; driver to 1.3.0
 395  * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
 396  * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
 397
 3983.5.11 / 2013-04-03
 399==================
 400
 401  * fixed; +field conflict with $slice #1370
 402  * fixed; RangeError in ValidationError.toString() #1296
 403  * fixed; nested deselection conflict #1333
 404  * remove time from Makefile
 405
 4063.5.10 / 2013-04-02
 407==================
 408
 409  * fixed; setting subdocuments deeply nested fields #1394
 410  * fixed; do not alter schema arguments #1364
 411
 4123.5.9 / 2013-03-15
 413==================
 414
 415  * updated; driver to 1.2.14
 416  * added; support for authSource driver option (mongodb 2.4)
 417  * added; QueryStream transform option (node 0.10 helper)
 418  * fixed; backport for saving required populated buffers
 419  * fixed; pull / set subdoc combination #1303
 420  * fixed; multiple bg index creation #1365
 421  * test; added for saveable required populated buffers
 422  * test; added for #1365
 423  * test; add authSource test
 424
 4253.5.8 / 2013-03-12
 426==================
 427
 428  * added; auth option in connection [geoah](https://github.com/geoah)
 429  * fixed; CastError race condition
 430  * docs; add note about stream compatibility with node 0.8
 431
 4323.5.7 / 2013-02-22
 433==================
 434
 435  * updated; driver to 1.2.13
 436  * updated; muri to 0.3.1 #1347
 437  * fixed; utils.clone retains RegExp opts #1355
 438  * fixed; deepEquals RegExp support
 439  * tests; fix a connection test
 440  * website; clean up docs [afshinm](https://github.com/afshinm)
 441  * website; update homepage
 442  * website; migragtion: emphasize impact of strict docs #1264
 443
 4443.5.6 / 2013-02-14
 445==================
 446
 447  * updated; driver to 1.2.12
 448  * fixed; properly pass Binary subtype
 449  * fixed; add EventEmitter props to reserved paths #1338
 450  * fixed; use correct node engine version
 451  * fixed; display empty docs as {} in log output #953 follow up
 452  * improved; "bad $within $box argument" error message
 453  * populate; add unscientific benchmark
 454  * website; add stack overflow to help section
 455  * website; use better code font #1336 [risseraka](https://github.com/risseraka)
 456  * website; clarify where help is available
 457  * website; fix source code links #1272 [floatingLomas](https://github.com/floatingLomas)
 458  * docs; be specific about _id schema option #1103
 459  * docs; add ensureIndex error handling example
 460  * docs; README
 461  * docs; CONTRIBUTING.md
 462
 4633.5.5 / 2013-01-29
 464==================
 465
 466  * updated; driver to 1.2.11
 467  * removed; old node < 0.6x shims
 468  * fixed; documents with Buffer _ids equality
 469  * fixed; MongooseBuffer properly casts numbers
 470  * fixed; reopening closed connection on alt host/port #1287
 471  * docs; fixed typo in Readme #1298 [rened](https://github.com/rened)
 472  * docs; fixed typo in migration docs [Prinzhorn](https://github.com/Prinzhorn)
 473  * docs; fixed incorrect annotation in SchemaNumber#min [bilalq](https://github.com/bilalq)
 474  * docs; updated
 475
 4763.5.4 / 2013-01-07
 477==================
 478
 479  * changed; "_pres" & "_posts" are now reserved pathnames #1261
 480  * updated; driver to 1.2.8
 481  * fixed; exception when reopening a replica set. #1263 [ethankan](https://github.com/ethankan)
 482  * website; updated
 483
 4843.5.3 / 2012-12-26
 485==================
 486
 487  * added; support for geo object notation #1257
 488  * fixed; $within query casting with arrays
 489  * fixed; unix domain socket support #1254
 490  * updated; driver to 1.2.7
 491  * updated; muri to 0.0.5
 492
 4933.5.2 / 2012-12-17
 494==================
 495
 496  * fixed; using auth with replica sets #1253
 497
 4983.5.1 / 2012-12-12
 499==================
 500
 501  * fixed; regression when using subdoc with `path` as pathname #1245 [daeq](https://github.com/daeq)
 502  * fixed; safer db option checks
 503  * updated; driver to 1.2.5
 504  * website; add more examples
 505  * website; clean up old docs
 506  * website; fix prev release urls
 507  * docs; clarify streaming with HTTP responses
 508
 5093.5.0 / 2012-12-10
 510==================
 511
 512  * added; paths to CastErrors #1239
 513  * added; support for mongodb connection string spec #1187
 514  * added; post validate event
 515  * added; Schema#get (to retrieve schema options)
 516  * added; VersionError #1071
 517  * added; npmignore [hidekiy](https://github.com/hidekiy)
 518  * update; driver to 1.2.3
 519  * fixed; stackoverflow in setter #1234
 520  * fixed; utils.isObject()
 521  * fixed; do not clobber user specified driver writeConcern #1227
 522  * fixed; always pass current document to post hooks
 523  * fixed; throw error when user attempts to overwrite a model
 524  * fixed; connection.model only caches on connection #1209
 525  * fixed; respect conn.model() creation when matching global model exists #1209
 526  * fixed; passing model name + collection name now always honors collection name
 527  * fixed; setting virtual field to an empty object #1154
 528  * fixed; subclassed MongooseErrors exposure, now available in mongoose.Error.xxxx
 529  * fixed; model.remove() ignoring callback when executed twice [daeq](https://github.com/daeq) #1210
 530  * docs; add collection option to schema api docs #1222
 531  * docs; NOTE about db safe options
 532  * docs; add post hooks docs
 533  * docs; connection string options
 534  * docs; middleware is not executed with Model.remove #1241
 535  * docs; {g,s}etter introspection #777
 536  * docs; update validation docs
 537  * docs; add link to plugins page
 538  * docs; clarify error returned by unique indexes #1225
 539  * docs; more detail about disabling autoIndex behavior
 540  * docs; add homepage section to package (npm docs mongoose)
 541  * docs; more detail around collection name pluralization #1193
 542  * website; add .important css
 543  * website; update models page
 544  * website; update getting started
 545  * website; update quick start
 546
 5473.4.0 / 2012-11-10
 548==================
 549
 550  * added; support for generic toJSON/toObject transforms #1160 #1020 #1197
 551  * added; doc.set() merge support #1148 [NuORDER](https://github.com/NuORDER)
 552  * added; query#add support #1188 [aleclofabbro](https://github.com/aleclofabbro)
 553  * changed; adding invalid nested paths to non-objects throws 4216f14
 554  * changed; fixed; stop invalid function cloning (internal fix)
 555  * fixed; add query $and casting support #1180 [anotheri](https://github.com/anotheri)
 556  * fixed; overwriting of query arguments #1176
 557  * docs; fix expires examples
 558  * docs; transforms
 559  * docs; schema `collection` option docs [hermanjunge](https://github.com/hermanjunge)
 560  * website; updated
 561  * tests; added
 562
 5633.3.1 / 2012-10-11
 564==================
 565
 566  * fixed; allow goose.connect(uris, dbname, opts) #1144
 567  * docs; persist API private checked state across page loads
 568
 5693.3.0 / 2012-10-10
 570==================
 571
 572  * fixed; passing options as 2nd arg to connect() #1144
 573  * fixed; race condition after no-op save #1139
 574  * fixed; schema field selection application in findAndModify #1150
 575  * fixed; directly setting arrays #1126
 576  * updated; driver to 1.1.11
 577  * updated; collection pluralization rules [mrickard](https://github.com/mrickard)
 578  * tests; added
 579  * docs; updated
 580
 5813.2.2 / 2012-10-08
 582==================
 583
 584  * updated; driver to 1.1.10 #1143
 585  * updated; use sliced 0.0.3
 586  * fixed; do not recast embedded docs unnecessarily
 587  * fixed; expires schema option helper #1132
 588  * fixed; built in string setters #1131
 589  * fixed; debug output for Dates/ObjectId properties #1129
 590  * docs; fixed Javascript syntax error in example [olalonde](https://github.com/olalonde)
 591  * docs; fix toJSON example #1137
 592  * docs; add ensureIndex production notes
 593  * docs; fix spelling
 594  * docs; add blogposts about v3
 595  * website; updated
 596  * removed; undocumented inGroupsOf util
 597  * tests; added
 598
 5993.2.1 / 2012-09-28
 600==================
 601
 602  * fixed; remove query batchSize option default of 1000 https://github.com/learnboost/mongoose/commit/3edaa8651
 603  * docs; updated
 604  * website; updated
 605
 6063.2.0 / 2012-09-27
 607==================
 608
 609  * added; direct array index assignment with casting support `doc.array.set(index, value)`
 610  * fixed; QueryStream#resume within same tick as pause() #1116
 611  * fixed; default value validatation #1109
 612  * fixed; array splice() not casting #1123
 613  * fixed; default array construction edge case #1108
 614  * fixed; query casting for inequalities in arrays #1101 [dpatti](https://github.com/dpatti)
 615  * tests; added
 616  * website; more documentation
 617  * website; fixed layout issue #1111 [SlashmanX](https://github.com/SlashmanX)
 618  * website; refactored [guille](https://github.com/guille)
 619
 6203.1.2 / 2012-09-10
 621==================
 622
 623  * added; ReadPreferrence schema option #1097
 624  * updated; driver to 1.1.7
 625  * updated; default query batchSize to 1000
 626  * fixed; we now cast the mapReduce query option #1095
 627  * fixed; $elemMatch+$in with field selection #1091
 628  * fixed; properly cast $elemMatch+$in conditions #1100
 629  * fixed; default field application of subdocs #1027
 630  * fixed; querystream prematurely dying #1092
 631  * fixed; querystream never resumes when paused at getMore boundries #1092
 632  * fixed; querystream occasionally emits data events after destroy #1092
 633  * fixed; remove unnecessary ObjectId creation in querystream
 634  * fixed; allow ne(boolean) again #1093
 635  * docs; add populate/field selection syntax notes
 636  * docs; add toObject/toJSON options detail
 637  * docs; `read` schema option
 638
 6393.1.1 / 2012-08-31
 640==================
 641
 642  * updated; driver to 1.1.6
 643
 6443.1.0 / 2012-08-29
 645==================
 646
 647  * changed; fixed; directly setting nested objects now overwrites entire object (previously incorrectly merged them)
 648  * added; read pref support (mongodb 2.2) 205a709c
 649  * added; aggregate support (mongodb 2.2) f3a5bd3d
 650  * added; virtual {g,s}etter introspection (#1070)
 651  * updated; docs [brettz9](https://github.com/brettz9)
 652  * updated; driver to 1.1.5
 653  * fixed; retain virtual setter return values (#1069)
 654
 6553.0.3 / 2012-08-23
 656==================
 657
 658  * fixed; use of nested paths beginning w/ numbers #1062
 659  * fixed; query population edge case #1053 #1055 [jfremy](https://github.com/jfremy)
 660  * fixed; simultaneous top and sub level array modifications #1073
 661  * added; id and _id schema option aliases + tests
 662  * improve debug formatting to allow copy/paste logged queries into mongo shell [eknkc](https://github.com/eknkc)
 663  * docs
 664
 6653.0.2 / 2012-08-17
 666==================
 667
 668  * added; missing support for v3 sort/select syntax to findAndModify helpers (#1058)
 669  * fixed; replset fullsetup event emission
 670  * fixed; reconnected event for replsets
 671  * fixed; server reconnection setting discovery
 672  * fixed; compat with non-schema path props using positional notation (#1048)
 673  * fixed; setter/casting order (#665)
 674  * docs; updated
 675
 6763.0.1 / 2012-08-11
 677==================
 678
 679  * fixed; throw Error on bad validators (1044)
 680  * fixed; typo in EmbeddedDocument#parentArray [lackac]
 681  * fixed; repair mongoose.SchemaTypes alias
 682  * updated; docs
 683
 6843.0.0 / 2012-08-07
 685==================
 686
 687  * removed; old subdocument#commit method
 688  * fixed; setting arrays of matching docs [6924cbc2]
 689  * fixed; doc!remove event now emits in save order as save for consistency
 690  * fixed; pre-save hooks no longer fire on subdocuments when validation fails
 691  * added; subdoc#parent() and subdoc#parentArray() to access subdocument parent objects
 692  * added; query#lean() helper
 693
 6943.0.0rc0 / 2012-08-01
 695=====================
 696
 697  * fixed; allow subdoc literal declarations containing "type" pathname (#993)
 698  * fixed; unsetting a default array (#758)
 699  * fixed; boolean $in queries (#998)
 700  * fixed; allow use of `options` as a pathname (#529)
 701  * fixed; `model` is again a permitted schema path name
 702  * fixed; field selection option on subdocs (#1022)
 703  * fixed; handle another edge case with subdoc saving (#975)
 704  * added; emit save err on model if listening
 705  * added; MongoDB TTL collection support (#1006)
 706  * added; $center options support
 707  * added; $nearSphere and $polygon support
 708  * updated; driver version to 1.1.2
 709
 7103.0.0alpha2 / 2012-07-18
 711=========================
 712
 713  * changed; index errors are now emitted on their model and passed to an optional callback (#984)
 714  * fixed; specifying index along with sparse/unique option no longer overwrites (#1004)
 715  * fixed; never swallow connection errors (#618)
 716  * fixed; creating object from model with emded object no longer overwrites defaults [achurkin] (#859)
 717  * fixed; stop needless validation of unchanged/unselected fields (#891)
 718  * fixed; document#equals behavior of objectids (#974)
 719  * fixed; honor the minimize schema option (#978)
 720  * fixed; provide helpful error msgs when reserved schema path is used (#928)
 721  * fixed; callback to conn#disconnect is optional (#875)
 722  * fixed; handle missing protocols in connection urls (#987)
 723  * fixed; validate args to query#where (#969)
 724  * fixed; saving modified/removed subdocs (#975)
 725  * fixed; update with $pull from Mixed array (#735)
 726  * fixed; error with null shard key value
 727  * fixed; allow unsetting enums (#967)
 728  * added; support for manual index creation (#984)
 729  * added; support for disabled auto-indexing (#984)
 730  * added; support for preserving MongooseArray#sort changes (#752)
 731  * added; emit state change events on connection
 732  * added; support for specifying BSON subtype in MongooseBuffer#toObject [jcrugzz]
 733  * added; support for disabled versioning (#977)
 734  * added; implicit "new" support for models and Schemas
 735
 7363.0.0alpha1 / 2012-06-15
 737=========================
 738
 739  * removed; doc#commit (use doc#markModified)
 740  * removed; doc.modified getter (#950)
 741  * removed; mongoose{connectSet,createSetConnection}. use connect,createConnection instead
 742  * removed; query alias methods 1149804c
 743  * removed; MongooseNumber
 744  * changed; now creating indexes in background by default
 745  * changed; strict mode now enabled by default (#952)
 746  * changed; doc#modifiedPaths is now a method (#950)
 747  * changed; getters no longer cast (#820); casting happens during set
 748  * fixed; no need to pass updateArg to findOneAndUpdate (#931)
 749  * fixed: utils.merge bug when merging nested non-objects. [treygriffith]
 750  * fixed; strict:throw should produce errors in findAndModify (#963)
 751  * fixed; findAndUpdate no longer overwrites document (#962)
 752  * fixed; setting default DocumentArrays (#953)
 753  * fixed; selection of _id with schema deselection (#954)
 754  * fixed; ensure promise#error emits instanceof Error
 755  * fixed; CursorStream: No stack overflow on any size result (#929)
 756  * fixed; doc#remove now passes safe options
 757  * fixed; invalid use of $set during $pop
 758  * fixed; array#{$pop,$shift} mirror MongoDB behavior
 759  * fixed; no longer test non-required vals in string match (#934)
 760  * fixed; edge case with doc#inspect
 761  * fixed; setter order (#665)
 762  * fixed; setting invalid paths in strict mode (#916)
 763  * fixed; handle docs without id in DocumentArray#id method (#897)
 764  * fixed; do not save virtuals during model.update (#894)
 765  * fixed; sub doc toObject virtuals application (#889)
 766  * fixed; MongooseArray#pull of ObjectId (#881)
 767  * fixed; handle passing db name with any repl set string
 768  * fixed; default application of selected fields (#870)
 769  * fixed; subdoc paths reported in validation errors (#725)
 770  * fixed; incorrect reported num of affected docs in update ops (#862)
 771  * fixed; connection assignment in Model#model (#853)
 772  * fixed; stringifying arrays of docs (#852)
 773  * fixed; modifying subdoc and parent array works (#842)
 774  * fixed; passing undefined to next hook (#785)
 775  * fixed; Query#{update,remove}() works without callbacks (#788)
 776  * fixed; set/updating nested objects by parent pathname (#843)
 777  * fixed; allow null in number arrays (#840)
 778  * fixed; isNew on sub doc after insertion error (#837)
 779  * fixed; if an insert fails, set isNew back to false [boutell]
 780  * fixed; isSelected when only _id is selected (#730)
 781  * fixed; setting an unset default value (#742)
 782  * fixed; query#sort error messaging (#671)
 783  * fixed; support for passing $options with $regex
 784  * added; array of object literal notation in schema creates DocumentArrays
 785  * added; gt,gte,lt,lte query support for arrays (#902)
 786  * added; capped collection support (#938)
 787  * added; document versioning support
 788  * added; inclusion of deselected schema path (#786)
 789  * added; non-atomic array#pop
 790  * added; EmbeddedDocument constructor is now exposed in DocArray#create 7cf8beec
 791  * added; mapReduce support (#678)
 792  * added; support for a configurable minimize option #to{Object,JSON}(option) (#848)
 793  * added; support for strict: `throws` [regality]
 794  * added; support for named schema types (#795)
 795  * added; to{Object,JSON} schema options (#805)
 796  * added; findByIdAnd{Update,Remove}()
 797  * added; findOneAnd{Update,Remove}()
 798  * added; query.setOptions()
 799  * added; instance.update() (#794)
 800  * added; support specifying model in populate() [DanielBaulig]
 801  * added; `lean` query option [gitfy]
 802  * added; multi-atomic support to MongooseArray#nonAtomicPush
 803  * added; support for $set + other $atomic ops on single array
 804  * added; tests
 805  * updated; driver to 1.0.2
 806  * updated; query.sort() syntax to mirror query.select()
 807  * updated; clearer cast error msg for array numbers
 808  * updated; docs
 809  * updated; doc.clone 3x faster (#950)
 810  * updated; only create _id if necessary (#950)
 811
 8122.7.3 / 2012-08-01
 813==================
 814
 815  * fixed; boolean $in queries (#998)
 816  * fixed field selection option on subdocs (#1022)
 817
 8182.7.2 / 2012-07-18
 819==================
 820
 821  * fixed; callback to conn#disconnect is optional (#875)
 822  * fixed; handle missing protocols in connection urls (#987)
 823  * fixed; saving modified/removed subdocs (#975)
 824  * updated; tests
 825
 8262.7.1 / 2012-06-26
 827===================
 828
 829  * fixed; sharding: when a document holds a null as a value of the shard key
 830  * fixed; update() using $pull on an array of Mixed (gh-735)
 831  * deprecated; MongooseNumber#{inc, increment, decrement} methods
 832  * tests; now using mocha
 833
 8342.7.0 / 2012-06-14
 835===================
 836
 837  * added; deprecation warnings to methods being removed in 3.x
 838
 8392.6.8 / 2012-06-14
 840===================
 841
 842  * fixed; edge case when using 'options' as a path name (#961)
 843
 8442.6.7 / 2012-06-08
 845===================
 846
 847  * fixed; ensure promise#error always emits instanceof Error
 848  * fixed; selection of _id w/ another excluded path (#954)
 849  * fixed; setting default DocumentArrays (#953)
 850
 8512.6.6 / 2012-06-06
 852===================
 853
 854  * fixed; stack overflow in query stream with large result sets (#929)
 855  * added; $gt, $gte, $lt, $lte support to arrays (#902)
 856  * fixed; pass option `safe` along to doc#remove() calls
 857
 8582.6.5 / 2012-05-24
 859===================
 860
 861  * fixed; do not save virtuals in Model.update (#894)
 862  * added; missing $ prefixed query aliases (going away in 3.x) (#884) [timoxley]
 863  * fixed; setting invalid paths in strict mode (#916)
 864  * fixed; resetting isNew after insert failure (#837) [boutell]
 865
 8662.6.4 / 2012-05-15
 867===================
 868
 869  * updated; backport string regex $options to 2.x
 870  * updated; use driver 1.0.2 (performance improvements) (#914)
 871  * fixed; calling MongooseDocumentArray#id when the doc has no _id (#897)
 872
 8732.6.3 / 2012-05-03
 874===================
 875
 876  * fixed; repl-set connectivity issues during failover on MongoDB 2.0.1
 877  * updated; driver to 1.0.0
 878  * fixed; virtuals application of subdocs when using toObject({ virtuals: true }) (#889)
 879  * fixed; MongooseArray#pull of ObjectId correctly updates the array itself (#881)
 880
 8812.6.2 / 2012-04-30
 882===================
 883
 884  * fixed; default field application of selected fields (#870)
 885
 8862.6.1 / 2012-04-30
 887===================
 888
 889  * fixed; connection assignment in mongoose#model (#853, #877)
 890  * fixed; incorrect reported num of affected docs in update ops (#862)
 891
 8922.6.0 / 2012-04-19
 893===================
 894
 895  * updated; hooks.js to 0.2.1
 896  * fixed; issue with passing undefined to a hook callback. thanks to [chrisleishman] for reporting.
 897  * fixed; updating/setting nested objects in strict schemas (#843) as reported by [kof]
 898  * fixed; Query#{update,remove}() work without callbacks again (#788)
 899  * fixed; modifying subdoc along with parent array $atomic op (#842)
 900
 9012.5.14 / 2012-04-13
 902===================
 903
 904  * fixed; setting an unset default value (#742)
 905  * fixed; doc.isSelected(otherpath) when only _id is selected (#730)
 906  * updated; docs
 907
 9082.5.13 / 2012-03-22
 909===================
 910
 911  * fixed; failing validation of unselected required paths (#730,#713)
 912  * fixed; emitting connection error when only one listener (#759)
 913  * fixed; MongooseArray#splice was not returning values (#784) [chrisleishman]
 914
 9152.5.12 / 2012-03-21
 916===================
 917
 918  * fixed; honor the `safe` option in all ensureIndex calls
 919  * updated; node-mongodb-native driver to 0.9.9-7
 920
 9212.5.11 / 2012-03-15
 922===================
 923
 924  * added; introspection for getters/setters (#745)
 925  * updated; node-mongodb-driver to 0.9.9-5
 926  * added; tailable method to Query (#769) [holic]
 927  * fixed; Number min/max validation of null (#764) [btamas]
 928  * added; more flexible user/password connection options (#738) [KarneAsada]
 929
 9302.5.10 / 2012-03-06
 931===================
 932
 933  * updated; node-mongodb-native driver to 0.9.9-4
 934  * added; Query#comment()
 935  * fixed; allow unsetting arrays
 936  * fixed; hooking the set method of subdocuments (#746)
 937  * fixed; edge case in hooks
 938  * fixed; allow $id and $ref in queries (fixes compatibility with mongoose-dbref) (#749) [richtera]
 939  * added; default path selection to SchemaTypes
 940
 9412.5.9 / 2012-02-22
 942===================
 943
 944  * fixed; properly cast nested atomic update operators for sub-documents
 945
 9462.5.8 / 2012-02-21
 947===================
 948
 949  * added; post 'remove' middleware includes model that was removed (#729) [timoxley]
 950
 9512.5.7 / 2012-02-09
 952===================
 953
 954  * fixed; RegExp validators on node >= v0.6.x
 955
 9562.5.6 / 2012-02-09
 957===================
 958
 959  * fixed; emit errors returned from db.collection() on the connection (were being swallowed)
 960  * added; can add multiple validators in your schema at once (#718) [diogogmt]
 961  * fixed; strict embedded documents (#717)
 962  * updated; docs [niemyjski]
 963  * added; pass number of affected docs back in model.update/save
 964
 9652.5.5 / 2012-02-03
 966===================
 967
 968  * fixed; RangeError: maximum call stack exceed error when removing docs with Number _id (#714)
 969
 9702.5.4 / 2012-02-03
 971===================
 972
 973  * fixed; RangeError: maximum call stack exceed error (#714)
 974
 9752.5.3 / 2012-02-02
 976===================
 977
 978  * added; doc#isSelected(path)
 979  * added; query#equals()
 980  * added; beta sharding support
 981  * added; more descript error msgs (#700) [obeleh]
 982  * added; document.modifiedPaths (#709) [ljharb]
 983  * fixed; only functions can be added as getters/setters (#707,704) [ljharb]
 984
 9852.5.2 / 2012-01-30
 986===================
 987
 988  * fixed; rollback -native driver to 0.9.7-3-5 (was causing timeouts and other replica set weirdness)
 989  * deprecated; MongooseNumber (will be moved to a separate repo for 3.x)
 990  * added; init event is emitted on schemas
 991
 9922.5.1 / 2012-01-27
 993===================
 994
 995  * fixed; honor strict schemas in Model.update (#699)
 996
 9972.5.0 / 2012-01-26
 998===================
 999
1000  * added; doc.toJSON calls toJSON on embedded docs when exists [jerem]
1001  * added; populate support for refs of type Buffer (#686) [jerem]
1002  * added; $all support for ObjectIds and Dates (#690)
1003  * fixed; virtual setter calling on instantiation when strict: true (#682) [hunterloftis]
1004  * fixed; doc construction triggering getters (#685)
1005  * fixed; MongooseBuffer check in deepEquals (#688)
1006  * fixed; range error when using Number _ids with `instance.save()` (#691)
1007  * fixed; isNew on embedded docs edge case (#680)
1008  * updated; driver to 0.9.8-3
1009  * updated; expose `model()` method within static methods
1010
10112.4.10 / 2012-01-10
1012===================
1013
1014  * added; optional getter application in .toObject()/.toJSON() (#412)
1015  * fixed; nested $operators in $all queries (#670)
1016  * added; $nor support (#674)
1017  * fixed; bug when adding nested schema (#662) [paulwe]
1018
10192.4.9 / 2012-01-04
1020===================
1021
1022  * updated; driver to 0.9.7-3-5 to fix Linux performance degradation on some boxes
1023
10242.4.8 / 2011-12-22
1025===================
1026
1027  * updated; bump -native to 0.9.7.2-5
1028  * fixed; compatibility with date.js (#646) [chrisleishman]
1029  * changed; undocumented schema "lax" option to "strict"
1030  * fixed; default value population for strict schemas
1031  * updated; the nextTick helper for small performance gain. 1bee2a2
1032
10332.4.7 / 2011-12-16
1034===================
1035
1036  * fixed; bug in 2.4.6 with path setting
1037  * updated; bump -native to 0.9.7.2-1
1038  * added; strict schema option [nw]
1039
10402.4.6 / 2011-12-16
1041===================
1042
1043  * fixed; conflicting mods on update bug [sirlantis]
1044  * improved; doc.id getter performance
1045
10462.4.5 / 2011-12-14
1047===================
1048
1049  * fixed; bad MongooseArray behavior in 2.4.2 - 2.4.4
1050
10512.4.4 / 2011-12-14
1052===================
1053
1054  * fixed; MongooseArray#doAtomics throwing after sliced
1055
10562.4.3 / 2011-12-14
1057===================
1058
1059  * updated; system.profile schema for MongoDB 2x
1060
10612.4.2 / 2011-12-12
1062===================
1063
1064  * fixed; partially populating multiple children of subdocs (#639) [kenpratt]
1065  * fixed; allow Update of numbers to null (#640) [jerem]
1066
10672.4.1 / 2011-12-02
1068===================
1069
1070  * added; options support for populate() queries
1071  * updated; -native driver to 0.9.7-1.4
1072
10732.4.0 / 2011-11-29
1074===================
1075
1076  * added; QueryStreams (#614)
1077  * added; debug print mode for development
1078  * added; $within support to Array queries (#586) [ggoodale]
1079  * added; $centerSphere query support
1080  * fixed; $within support
1081  * added; $unset is now used when setting a path to undefined (#519)
1082  * added; query#batchSize support
1083  * updated; docs
1084  * updated; -native driver to 0.9.7-1.3 (provides Windows support)
1085
10862.3.13 / 2011-11-15
1087===================
1088
1089  * fixed; required validation for Refs (#612) [ded]
1090  * added; $nearSphere support for Arrays (#610)
1091
10922.3.12 / 2011-11-09
1093===================
1094
1095  * fixed; regression, objects passed to Model.update should not be changed (#605)
1096  * fixed; regression, empty Model.update should not be executed
1097
10982.3.11 / 2011-11-08
1099===================
1100
1101  * fixed; using $elemMatch on arrays of Mixed types (#591)
1102  * fixed; allow using $regex when querying Arrays (#599)
1103  * fixed; calling Model.update with no atomic keys (#602)
1104
11052.3.10 / 2011-11-05
1106===================
1107
1108  * fixed; model.update casting for nested paths works (#542)
1109
11102.3.9 / 2011-11-04
1111==================
1112
1113  * fixed; deepEquals check for MongooseArray returned false
1114  * fixed; reset modified flags of embedded docs after save [gitfy]
1115  * fixed; setting embedded doc with identical values no longer marks modified [gitfy]
1116  * updated; -native driver to 0.9.6.23 [mlazarov]
1117  * fixed; Model.update casting (#542, #545, #479)
1118  * fixed; populated refs no longer fail required validators (#577)
1119  * fixed; populating refs of objects with custom ids works
1120  * fixed; $pop & $unset work with Model.update (#574)
1121  * added; more helpful debugging message for Schema#add (#578)
1122  * fixed; accessing .id when no _id exists now returns null (#590)
1123
11242.3.8 / 2011-10-26
1125==================
1126
1127  * added; callback to query#findOne is now optional (#581)
1128
11292.3.7 / 2011-10-24
1130==================
1131
1132  * fixed; wrapped save/remove callbacks in nextTick to mitigate -native swallowing thrown errors
1133
11342.3.6 / 2011-10-21
1135==================
1136
1137  * fixed; exclusion of embedded doc _id from query results (#541)
1138
11392.3.5 / 2011-10-19
1140==================
1141
1142  * fixed; calling queries without passing a callback works (#569)
1143  * fixed; populate() works with String and Number _ids too (#568)
1144
11452.3.4 / 2011-10-18
1146==================
1147
1148  * added; Model.create now accepts an array as a first arg
1149  * fixed; calling toObject on a DocumentArray with nulls no longer throws
1150  * fixed; calling inspect on a DocumentArray with nulls no longer throws
1151  * added; MongooseArray#unshift support
1152  * fixed; save hooks now fire on embedded documents [gitfy] (#456)
1153  * updated; -native driver to 0.9.6-22
1154  * fixed; correctly pass $addToSet op instead of $push
1155  * fixed; $addToSet properly detects dates
1156  * fixed; $addToSet with multiple items works
1157  * updated; better node 0.6 Buffer support
1158
11592.3.3 / 2011-10-12
1160==================
1161
1162  * fixed; population conditions in multi-query settings [vedmalex] (#563)
1163  * fixed; now compatible with Node v0.5.x
1164
11652.3.2 / 2011-10-11
1166==================
1167
1168  * fixed; population of null subdoc properties no longer hangs (#561)
1169
11702.3.1 / 2011-10-10
1171==================
1172
1173  * added; support for Query filters to populate() [eneko]
1174  * fixed; querying with number no longer crashes mongodb (#555) [jlbyrey]
1175  * updated; version of -native driver to 0.9.6-21
1176  * fixed; prevent query callbacks that throw errors from corrupting -native connection state
1177
11782.3.0 / 2011-10-04
1179==================
1180
1181  * fixed; nulls as default values for Boolean now works as expected
1182  * updated; version of -native driver to 0.9.6-20
1183
11842.2.4 / 2011-10-03
1185==================
1186
1187  * fixed; populate() works when returned array contains undefined/nulls
1188
11892.2.3 / 2011-09-29
1190==================
1191
1192  * updated; version of -native driver to 0.9.6-19
1193
11942.2.2 / 2011-09-28
1195==================
1196
1197  * added; $regex support to String [davidandrewcope]
1198  * added; support for other contexts like repl etc (#535)
1199  * fixed; clear modified state properly after saving
1200  * added; $addToSet support to Array
1201
12022.2.1 / 2011-09-22
1203==================
1204
1205  * more descript error when casting undefined to string
1206  * updated; version of -native driver to 0.9.6-18
1207
12082.2.0 / 2011-09-22
1209==================
1210
1211  * fixed; maxListeners warning on schemas with many arrays (#530)
1212  * changed; return / apply defaults based on fields selected in query (#423)
1213  * fixed; correctly detect Mixed types within schema arrays (#532)
1214
12152.1.4 / 2011-09-20
1216==================
1217
1218  * fixed; new private methods that stomped on users code
1219  * changed; finished removing old "compat" support which did nothing
1220
12212.1.3 / 2011-09-16
1222==================
1223
1224  * updated; version of -native driver to 0.9.6-15
1225  * added; emit `error` on connection when open fails [edwardhotchkiss]
1226  * added; index support to Buffers (thanks justmoon for helping track this down)
1227  * fixed; passing collection name via schema in conn.model() now works (thanks vedmalex for reporting)
1228
12292.1.2 / 2011-09-07
1230==================
1231
1232  * fixed; Query#find with no args no longer throws
1233
12342.1.1 / 2011-09-07
1235==================
1236
1237  * added; support Model.count(fn)
1238  * fixed; compatibility with node >=0.4.0 < 0.4.3
1239  * added; pass model.options.safe through with .save() so w:2, wtimeout:5000 options work [andrewjstone]
1240  * added; support for $type queries
1241  * added; support for Query#or
1242  * added; more tests
1243  * optimized populate queries
1244
12452.1.0 / 2011-09-01
1246==================
1247
1248  * changed; document#validate is a public method
1249  * fixed; setting number to same value no longer marks modified (#476) [gitfy]
1250  * fixed; Buffers shouldn't have default vals
1251  * added; allow specifying collection name in schema (#470) [ixti]
1252  * fixed; reset modified paths and atomics after saved (#459)
1253  * fixed; set isNew on embedded docs to false after save
1254  * fixed; use self to ensure proper scope of options in doOpenSet (#483) [andrewjstone]
1255
12562.0.4 / 2011-08-29
1257==================
1258
1259  * Fixed; Only send the depopulated ObjectId instead of the entire doc on save (DBRefs)
1260  * Fixed; Properly cast nested array values in Model.update (the data was stored in Mongo incorrectly but recast on document fetch was "fixing" it)
1261
12622.0.3 / 2011-08-28
1263==================
1264
1265  * Fixed; manipulating a populated array no longer causes infinite loop in BSON serializer during save (#477)
1266  * Fixed; populating an empty array no longer hangs foreeeeeeeever (#481)
1267
12682.0.2 / 2011-08-25
1269==================
1270
1271  * Fixed; Maintain query option key order (fixes 'bad hint' error from compound query hints)
1272
12732.0.1 / 2011-08-25
1274==================
1275
1276  * Fixed; do not over-write the doc when no valide props exist in Model.update (#473)
1277
12782.0.0 / 2011-08-24
1279===================
1280
1281  * Added; support for Buffers [justmoon]
1282  * Changed; improved error handling [maelstrom]
1283  * Removed: unused utils.erase
1284  * Fixed; support for passing other context object into Schemas (#234) [Sija]
1285  * Fixed; getters are no longer circular refs to themselves (#366)
1286  * Removed; unused compat.js
1287  * Fixed; getter/setter scopes are set properly
1288  * Changed; made several private properties more obvious by prefixing _
1289  * Added; DBRef support [guille]
1290  * Changed; removed support for multiple collection names per model
1291  * Fixed; no longer applying setters when document returned from db
1292  * Changed; default auto_reconnect to true
1293  * Changed; Query#bind no longer clones the query
1294  * Fixed; Model.update now accepts $pull, $inc and friends (#404)
1295  * Added; virtual type option support [nw]
1296
12971.8.4 / 2011-08-21
1298===================
1299
1300  * Fixed; validation bug when instantiated with non-schema properties (#464) [jmreidy]
1301
13021.8.3 / 2011-08-19
1303===================
1304
1305  * Fixed; regression in connection#open [jshaw86]
1306
13071.8.2 / 2011-08-17
1308===================
1309
1310  * fixed; reset connection.readyState after failure [tomseago]
1311  * fixed; can now query positionally for non-embedded docs (arrays of numbers/strings etc)
1312  * fixed; embedded document query casting
1313  * added; support for passing options to node-mongo-native db, server, and replsetserver [tomseago]
1314
13151.8.1 / 2011-08-10
1316===================
1317
1318  * fixed; ObjectIds were always marked modified
1319  * fixed; can now query using document instances
1320  * fixed; can now query/update using documents with subdocs
1321
13221.8.0 / 2011-08-04
1323===================
1324
1325  * fixed; can now use $all with String and Number
1326  * fixed; can query subdoc array with $ne: null
1327  * fixed; instance.subdocs#id now works with custom _ids
1328  * fixed; do not apply setters when doc returned from db (change in bad behavior)
1329
13301.7.4 / 2011-07-25
1331===================
1332
1333  * fixed; sparse now a valid seperate schema option
1334  * fixed; now catching cast errors in queries
1335  * fixed; calling new Schema with object created in vm.runInNewContext now works (#384) [Sija]
1336  * fixed; String enum was disallowing null
1337  * fixed; Find by nested document _id now works (#389)
1338
13391.7.3 / 2011-07-16
1340===================
1341
1342  * fixed; MongooseArray#indexOf now works with ObjectIds
1343  * fixed; validation scope now set properly (#418)
1344  * fixed; added missing colors dependency (#398)
1345
13461.7.2 / 2011-07-13
1347===================
1348
1349  * changed; node-mongodb-native driver to v0.9.6.7
1350
13511.7.1 / 2011-07-12
1352===================
1353
1354  * changed; roll back node-mongodb-native driver to v0.9.6.4
1355
13561.7.0 / 2011-07-12
1357===================
1358
1359  * fixed; collection name misspelling [mathrawka]
1360  * fixed; 2nd param is required for ReplSetServers [kevinmarvin]
1361  * fixed; MongooseArray behaves properly with Object.keys
1362  * changed; node-mongodb-native driver to v0.9.6.6
1363  * fixed/changed; Mongodb segfault when passed invalid ObjectId (#407)
1364      - This means invalid data passed to the ObjectId constructor will now error
1365
13661.6.0 / 2011-07-07
1367===================
1368
1369  * changed; .save() errors are now emitted on the instances db instead of the instance 9782463fc
1370  * fixed; errors occurring when creating indexes now properly emit on db
1371  * added; $maxDistance support to MongooseArrays
1372  * fixed; RegExps now work with $all
1373  * changed; node-mongodb-native driver to v0.9.6.4
1374  * fixed; model names are now accessible via .modelName
1375  * added; Query#slaveOk support
1376
13771.5.0 / 2011-06-27
1378===================
1379
1380  * changed; saving without a callback no longer ignores the error (@bnoguchi)
1381  * changed; hook-js version bump to 0.1.9
1382  * changed; node-mongodb-native version bumped to 0.9.6.1 - When .remove() doesn't
1383             return an error, null is no longer passed.
1384  * fixed; two memory leaks (@justmoon)
1385  * added; sparse index support
1386  * added; more ObjectId conditionals (gt, lt, gte, lte) (@phillyqueso)
1387  * added; options are now passed in model#remote (@JerryLuke)
1388
13891.4.0 / 2011-06-10
1390===================
1391
1392  * bumped hooks-js dependency (fixes issue passing null as first arg to next())
1393  * fixed; document#inspect now works properly with nested docs
1394  * fixed; 'set' now works as a schema attribute (GH-365)
1395  * fixed; _id is now set properly within pre-init hooks (GH-289)
1396  * added; Query#distinct / Model#distinct support (GH-155)
1397  * fixed; embedded docs now can use instance methods (GH-249)
1398  * fixed; can now overwrite strings conflicting with schema type
1399
14001.3.7 / 2011-06-03
1401===================
1402
1403  * added MongooseArray#splice support
1404  * fixed; 'path' is now a valid Schema pathname
1405  * improved hooks (utilizing https://github.com/bnoguchi/hooks-js)
1406  * fixed; MongooseArray#$shift now works (never did)
1407  * fixed; Document.modified no longer throws
1408  * fixed; modifying subdoc property sets modified paths for subdoc and parent doc
1409  * fixed; marking subdoc path as modified properly persists the value to the db
1410  * fixed; RexExps can again be saved ( #357 )
1411
14121.3.6 / 2011-05-18
1413===================
1414
1415  * fixed; corrected casting for queries against array types
1416  * added; Document#set now accepts Document instances
1417
14181.3.5 / 2011-05-17
1419===================
1420
1421  * fixed; $ne queries work properly with single vals
1422  * added; #inspect() methods to improve console.log output
1423
14241.3.4 / 2011-05-17
1425===================
1426
1427  * fixed; find by Date works as expected (#336)
1428  * added; geospatial 2d index support
1429  * added; support for $near (#309)
1430  * updated; node-mongodb-native driver
1431  * fixed; updating numbers work (#342)
1432  * added; better error msg when try to remove an embedded doc without an _id (#307)
1433  * added; support for 'on-the-fly' schemas (#227)
1434  * changed; virtual id getters can now be skipped
1435  * fixed; .index() called on subdoc schema now works as expected
1436  * fixed; db.setProfile() now buffers until the db is open (#340)
1437
14381.3.3 / 2011-04-27
1439===================
1440
1441  * fixed; corrected query casting on nested mixed types
1442
14431.3.2 / 2011-04-27
1444===================
1445
1446  * fixed; query hints now retain key order
1447
14481.3.1 / 2011-04-27
1449===================
1450
1451  * fixed; setting a property on an embedded array no longer overwrites entire array (GH-310) 
1452  * fixed; setting nested properties works when sibling prop is named "type"
1453  * fixed; isModified is now much finer grained when .set() is used (GH-323)
1454  * fixed; mongoose.model() and connection.model() now return the Model (GH-308, GH-305)
1455  * fixed; can now use $gt, $lt, $gte, $lte with String schema types (GH-317)
1456  * fixed; .lowercase() -> .toLowerCase() in pluralize()
1457  * fixed; updating an embedded document by index works (GH-334)
1458  * changed; .save() now passes the instance to the callback (GH-294, GH-264)
1459  * added; can now query system.profile and system.indexes collections
1460  * added; db.model('system.profile') is now included as a default Schema
1461  * added; db.setProfiling(level, ms, callback)
1462  * added; Query#hint() support
1463  * added; more tests
1464  * updated node-mongodb-native to 0.9.3
1465
14661.3.0 / 2011-04-19
1467===================
1468
1469  * changed; save() callbacks now fire only once on failed validation
1470  * changed; Errors returned from save() callbacks now instances of ValidationError
1471  * fixed; MongooseArray#indexOf now works properly
1472
14731.2.0 / 2011-04-11
1474===================
1475
1476  * changed; MongooseNumber now casts empty string to null
1477
14781.1.25 / 2011-04-08
1479===================
1480
1481  * fixed; post init now fires at proper time
1482
14831.1.24 / 2011-04-03
1484===================
1485
1486  * fixed; pushing an array onto an Array works on existing docs
1487
14881.1.23 / 2011-04-01
1489===================
1490
1491  * Added Model#model
1492
14931.1.22 / 2011-03-31
1494===================
1495
1496  * Fixed; $in queries on mixed types now work
1497
14981.1.21 / 2011-03-31
1499===================
1500
1501  * Fixed; setting object root to null/undefined works
1502
15031.1.20 / 2011-03-31
1504===================
1505
1506  * Fixed; setting multiple props on null field works
1507
15081.1.19 / 2011-03-31
1509===================
1510
1511  * Fixed; no longer using $set on paths to an unexisting fields
1512
15131.1.18 / 2011-03-30
1514===================
1515
1516  * Fixed; non-mixed type object setters work after initd from null
1517
15181.1.17 / 2011-03-30
1519===================
1520
1521  * Fixed; nested object property access works when root initd with null value
1522
15231.1.16 / 2011-03-28
1524===================
1525
1526  * Fixed; empty arrays are now saved
1527
15281.1.15 / 2011-03-28
1529===================
1530
1531  * Fixed; `null` and `undefined` are set atomically.
1532
15331.1.14 / 2011-03-28
1534===================
1535
1536  * Changed; more forgiving date casting, accepting '' as null.
1537
15381.1.13 / 2011-03-26
1539===================
1540
1541  * Fixed setting values as `undefined`.
1542
15431.1.12 / 2011-03-26
1544===================
1545
1546  * Fixed; nested objects now convert to JSON properly
1547  * Fixed; setting nested objects directly now works
1548  * Update node-mongodb-native
1549
15501.1.11 / 2011-03-25
1551===================
1552
1553  * Fixed for use of `type` as a key.
1554
15551.1.10 / 2011-03-23
1556===================
1557
1558  * Changed; Make sure to only ensure indexes while connected
1559
15601.1.9 / 2011-03-2 
1561==================
1562
1563  * Fixed; Mixed can now default to empty arrays
1564  * Fixed; keys by the name 'type' are now valid
1565  * Fixed; null values retrieved from the database are hydrated as null values.
1566  * Fixed repeated atomic operations when saving a same document twice.
1567
15681.1.8 / 2011-03-23
1569==================
1570
1571  * Fixed 'id' overriding. [bnoguchi]
1572
15731.1.7 / 2011-03-22
1574==================
1575
1576  * Fixed RegExp query casting when querying against an Array of Strings [bnoguchi]
1577  * Fixed getters/setters for nested virtualsl. [bnoguchi]
1578
15791.1.6 / 2011-03-22
1580==================
1581
1582  * Only doValidate when path exists in Schema [aheckmann]
1583  * Allow function defaults for Array types [aheckmann]
1584  * Fix validation hang [aheckmann]
1585  * Fix setting of isRequired of SchemaType [aheckmann]
1586  * Fix SchemaType#required(false) filter [aheckmann]
1587  * More backwards compatibility [aheckmann]
1588  * More tests [aheckmann]
1589
15901.1.5 / 2011-03-14
1591==================
1592
1593  * Added support for `uri, db, fn` and `uri, fn` signatures for replica sets.
1594  * Improved/extended replica set tests.
1595
15961.1.4 / 2011-03-09
1597==================
1598
1599  * Fixed; running an empty Query doesn't throw. [aheckmann]
1600  * Changed; Promise#addBack returns promise. [aheckmann]
1601  * Added streaming cursor support. [aheckmann]
1602  * Changed; Query#update defaults to use$SetOnSave now. [brian]
1603  * Added more docs.
1604
16051.1.3 / 2011-03-04
1606==================
1607
1608  * Added Promise#resolve [aheckmann]
1609  * Fixed backward compatibility with nulls [aheckmann]
1610  * Changed; Query#{run,exec} return promises [aheckmann]
1611
16121.1.2 / 2011-03-03
1613==================
1614
1615  * Restored Query#exec and added notion of default operation [brian]
1616  * Fixed ValidatorError messages [brian]
1617
16181.1.1 / 2011-03-01 
1619==================
1620
1621  * Added SchemaType String `lowercase`, `uppercase`, `trim`.
1622  * Public exports (`Model`, `Document`) and tests.
1623  * Added ObjectId casting support for `Document`s.
1624
16251.1.0 / 2011-02-25
1626==================
1627
1628  * Added support for replica sets.
1629
16301.0.16 / 2011-02-18
1631===================
1632
1633  * Added $nin as another whitelisted $conditional for SchemaArray [brian]
1634  * Changed #with to #where [brian]
1635  * Added ability to use $in conditional with Array types [brian]
1636
16371.0.15 / 2011-02-18
1638===================
1639
1640  * Added `id` virtual getter for documents to easily access the hexString of
1641  the `_id`.
1642
16431.0.14 / 2011-02-17
1644===================
1645
1646  * Fix for arrays within subdocuments [brian]
1647
16481.0.13 / 2011-02-16
1649===================
1650
1651  * Fixed embedded documents saving.
1652
16531.0.12 / 2011-02-14 
1654===================
1655
1656  * Minor refactorings [brian]
1657
16581.0.11 / 2011-02-14 
1659===================
1660
1661  * Query refactor and $ne, $slice, $or, $size, $elemMatch, $nin, $exists support [brian]
1662  * Named scopes sugar [brian]
1663
16641.0.10 / 2011-02-11 
1665===================
1666
1667  * Updated node-mongodb-native driver [thanks John Allen]
1668
16691.0.9 / 2011-02-09 
1670==================
1671
1672  * Fixed single member arrays as defaults [brian]
1673
16741.0.8 / 2011-02-09 
1675==================
1676
1677  * Fixed for collection-level buffering of commands [gitfy]
1678  * Fixed `Document#toJSON` [dalejefferson]
1679  * Fixed `Connection` authentication [robrighter]
1680  * Fixed clash of accessors in getters/setters [eirikurn]
1681  * Improved `Model#save` promise handling
1682
16831.0.7 / 2011-02-05 
1684==================
1685
1686  * Fixed memory leak warnings for test suite on 0.3
1687  * Fixed querying documents that have an array that contain at least one
1688  specified member. [brian]
1689  * Fixed default value for Array types (fixes GH-210). [brian]
1690  * Fixed example code.
1691
16921.0.6 / 2011-02-03 
1693==================
1694
1695  * Fixed `post` middleware
1696  * Fixed; it's now possible to instantiate a model even when one of the paths maps
1697  to an undefined value [brian]
1698
16991.0.5 / 2011-02-02 
1700==================
1701
1702  * Fixed; combo $push and $pushAll auto-converts into a $pushAll [brian]
1703  * Fixed; combo $pull and $pullAll auto-converts to a single $pullAll [brian]
1704  * Fixed; $pullAll now removes said members from array before save (so it acts just
1705  like pushAll) [brian]
1706  * Fixed; multiple $pulls and $pushes become a single $pullAll and $pushAll.
1707  Moreover, $pull now modifies the array before save to reflect the immediate
1708  change [brian]
1709  * Added tests for nested shortcut getters [brian]
1710  * Added tests that show that Schemas with nested Arrays don't apply defaults
1711  [brian]
1712
17131.0.4 / 2011-02-02 
1714==================
1715
1716  * Added MongooseNumber#toString
1717  * Added MongooseNumber unit tests
1718
17191.0.3 / 2011-02-02 
1720==================
1721
1722  * Make sure safe mode works with Model#save
1723  * Changed Schema options: safe mode is now the default
1724  * Updated node-mongodb-native to HEAD
1725
17261.0.2 / 2011-02-02 
1727==================
1728
1729  * Added a Model.create shortcut for creating documents. [brian]
1730  * Fixed; we can now instantiate models with hashes that map to at least one
1731  null value. [brian]
1732  * Fixed Schema with more than 2 nested levels. [brian]
1733
17341.0.1 / 2011-02-02 
1735==================
1736
1737  * Improved `MongooseNumber`, works almost like the native except for `typeof`
1738  not being `'number'`.