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