You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3174 lines
132 KiB

  1. 4.5.9 / 2016-08-14
  2. ==================
  3. * docs: add mixed schema doc for Object literal #4400 [Kikobeats](https://github.com/Kikobeats)
  4. * fix(query): cast $geoWithin and convert mongoose objects to POJOs before casting #4392
  5. * fix(schematype): dont cast defaults without parent doc #4390
  6. * fix(query): disallow passing empty string to findOne() #4378
  7. * fix(document): set single nested doc isNew correctly #4369
  8. * fix(types): checks field name correctly with nested arrays and populate #4365
  9. * fix(drivers): make debug output copy-pastable into mongodb shell #4352
  10. * fix(services): run update validators on nested paths #4332
  11. * fix(model): handle typeKey with discriminators #4339
  12. * fix(query): apply timestamps to child schemas when explicitly specified in update #4049
  13. * fix(schema): set prefix as nested path with add() #1730
  14. 4.5.8 / 2016-08-01
  15. ==================
  16. * fix(model): make changing the discriminator key cause a cast error #4374
  17. * fix(query): pass projection fields to cursor #4371 #4342 [Corei13](https://github.com/Corei13)
  18. * fix(document): support multiple paths for isModified #4370 [adambuczynski](https://github.com/adambuczynski)
  19. * fix(querycursor): always cast fields before returning cursor #4355
  20. * fix(query): support projection as alias for fields in findOneAndUpdate #4315
  21. * fix(schema): treat index false + unique false as no index #4304
  22. * fix(types): dont mark single nested subpath as modified if whole doc already modified #4224
  23. 4.5.7 / 2016-07-25
  24. ==================
  25. * fix(document): ensure no unhandled rejections if callback specified for save #4364
  26. 4.5.6 / 2016-07-23
  27. ==================
  28. * fix(schema): don't overwrite createdAt if it isn't selected #4351 [tusbar](https://github.com/tusbar)
  29. * docs(api): fix link to populate() and add a new one from depopulate() #4345 [Delapouite](https://github.com/Delapouite)
  30. * fix(types): ownerDocument() works properly with single nested docs #4344 [vichle](https://github.com/vichle)
  31. * fix(populate): dont use findOne when justOne option set #4329
  32. * fix(document): dont trigger .then() deprecated warning when calling doc.remove() #4291
  33. * docs(connection): add promiseLibrary option #4280
  34. * fix(plugins): apply global plugins to subschemas #4271
  35. * fix(model): ensure `ensureIndex()` never calls back in the same tick #4246
  36. * docs(schema): improve post hook docs on schema #4238
  37. 4.5.5 / 2016-07-18
  38. ==================
  39. * fix(document): handle setting root to empty obj if minimize false #4337
  40. * fix: downgrade to mongodb 2.1.18 #4335 #4334 #4328 #4323
  41. * perf(types): remove defineProperty usage in documentarray #4333
  42. * fix(query): correctly pass model in .toConstructor() #4318
  43. * fix(services): avoid double-validating mixed types with update validators #4305
  44. * docs(middleware): add docs describing error handling middleware #4229
  45. * fix(types): throw correct error when invalidating doc array #3602
  46. 4.5.4 / 2016-07-11
  47. ==================
  48. * fix(types): fix removing embedded documents #4309 [RoCat](https://github.com/RoCat)
  49. * docs: various docs improvements #4302 #4294 [simonxca](https://github.com/simonxca)
  50. * fix: upgrade mongodb -> 2.1.21 #4295 #4202 [RoCat](https://github.com/RoCat)
  51. * fix(populate): convert single result to array for virtual populate because of lean #4288
  52. * fix(populate): handle empty results for populate virtuals properly #4285 #4284
  53. * fix(query): dont cast $inc to number if type is long #4283
  54. * fix(types): allow setting single nested doc to null #4281
  55. * fix(populate): handle deeply nested virtual populate #4278
  56. * fix(document): allow setting empty obj if strict mode is false #4274
  57. * fix(aggregate): allow passing obj to .unwind() #4239
  58. * docs(document): add return statements to transform examples #1963
  59. 4.5.3 / 2016-06-30
  60. ==================
  61. * fix(query): pass correct options to QueryCursor #4277 #4266
  62. * fix(querycursor): handle lean option correctly #4276 [gchudnov](https://github.com/gchudnov)
  63. * fix(document): fix error handling when no error occurred #4275
  64. * fix(error): use strict mode for version error #4272
  65. * docs(populate): fix crashing compilation for populate.jade #4267
  66. * fix(populate): support `justOne` option for populate virtuals #4263
  67. * fix(populate): ensure model param gets used for populate virtuals #4261 #4243
  68. * fix(querycursor): add ability to properly close the cursor #4258
  69. * docs(model): correct link to Document #4250
  70. * docs(populate): correct path for refPath populate #4240
  71. * fix(document): support validator.isEmail as validator #4064
  72. 4.5.2 / 2016-06-24
  73. ==================
  74. * fix(connection): add checks for collection presence for `onOpen` and `onClose` #4259 [nodkz](https://github.com/nodkz)
  75. * fix(cast): allow strings for $type operator #4256
  76. * fix(querycursor): support lean() #4255 [pyramation](https://github.com/pyramation)
  77. * fix(aggregate): allow setting noCursorTimeout option #4241
  78. * fix(document): handle undefined for Array.pull #4222 [Sebmaster](https://github.com/Sebmaster)
  79. * fix(connection): ensure promise.catch() catches initial connection error #4135
  80. * fix(document): show additional context for VersionError #2633
  81. 4.5.1 / 2016-06-18
  82. ==================
  83. * fix(model): ensure wrapped insertMany() returns a promise #4237
  84. * fix(populate): dont overwrite populateVirtuals when populating multiple paths #4234
  85. * docs(model): clarify relationship between create() and save() #4233
  86. * fix(types): handle option param in subdoc remove() #4231 [tdebarochez](https://github.com/tdebarochez)
  87. * fix(document): dedupe modified paths #4226 #4223 [adambuczynski](https://github.com/adambuczynski)
  88. * fix(model): don't modify user-provided options object #4221
  89. * fix(document): handle setting nested path to empty object #4218 #4182
  90. * fix(document): clean subpaths when removing single nested #4216
  91. * fix(document): don't force transform on subdocs with inspect #4213
  92. * fix(error): allow setting .messages object #4207
  93. 4.5.0 / 2016-06-13
  94. ==================
  95. * feat(query): added Query.prototype.catch() #4215 #4173 [adambuczynski](https://github.com/adambuczynski)
  96. * feat(query): add Query.prototype.cursor() as a .stream() alternative #4117 #3637 #1907
  97. * feat(document): add markUnmodified() function #4092 [vincentcr](https://github.com/vincentcr)
  98. * feat(aggregate): convert aggregate object to a thenable #3995 #3946 [megagon](https://github.com/megagon)
  99. * perf(types): remove defineProperties call for array (**Note:** Because of this, a mongoose array will no longer `assert.deepEqual()` a plain old JS array) #3886
  100. * feat(model): add hooks for insertMany() #3846
  101. * feat(schema): add support for custom query methods #3740 #2372
  102. * feat(drivers): emit error on 'serverClosed' because that means that reconnect failed #3615
  103. * feat(model): emit error event when callback throws exception #3499
  104. * feat(model): inherit options from discriminator base schema #3414 #1818
  105. * feat(populate): expose mongoose-populate-virtuals inspired populate API #2562
  106. * feat(document): trigger remove hooks on subdocs when removing parent #2348
  107. * feat(schema): add support for express-style error handling middleware #2284
  108. * fix(model): disallow setting discriminator key #2041
  109. * feat(schema): add support for nested arrays #1361
  110. 4.4.20 / 2016-06-05
  111. ===================
  112. * docs: clarify command buffering when using driver directly #4195
  113. * fix(promise): correct broken mpromise .catch() #4189
  114. * fix(document): clean modified subpaths when set path to empty obj #4182
  115. * fix(query): support minDistance with query casting and `.near()` #4179
  116. * fix(model): remove unnecessary .save() promise #4177
  117. * fix(schema): cast all valid ObjectId strings to object ids #3365
  118. * docs: remove unclear "unsafe" term in query docs #3282
  119. 4.4.19 / 2016-05-21
  120. ===================
  121. * fix(model): handle insertMany if timestamps not set #4171
  122. 4.4.18 / 2016-05-21
  123. ===================
  124. * docs: add missing period #4170 [gitname](https://github.com/gitname)
  125. * docs: change build badge to svg #4158 [a0viedo](https://github.com/a0viedo)
  126. * fix(model): update timestamps when setting `createdAt` #4155
  127. * fix(utils): make sure to require in document properly #4152
  128. * fix(model): throw overwrite error when discriminator name conflicts #4148
  129. 4.4.17 / 2016-05-13
  130. ===================
  131. * docs: remove repetition in QueryStream docs #4147 [hugoabonizio](https://github.com/hugoabonizio)
  132. * fix(document): dont double-validate doc array elements #4145
  133. * fix(document): call required function with correct scope #4142 [JedWatson](https://github.com/JedWatson)
  134. 4.4.16 / 2016-05-09
  135. ===================
  136. * refactor(document): use function reference #4133 [dciccale](https://github.com/dciccale)
  137. * docs(querystream): clarify `destroy()` and close event #4126 [AnthonyCC](https://github.com/AnthonyCC)
  138. * test: make before hook fail fast if it can't connect #4121
  139. * docs: add description of CastError constructor params #4120
  140. * fix(schematype): ensure single embedded defaults have $parent #4115
  141. * fix(document): mark nested paths for validation #4111
  142. * fix(schema): make sure element is always a subdoc in doc array validation #3816
  143. 4.4.15 / 2016-05-06
  144. ===================
  145. * fix(schema): support overwriting array default #4109
  146. * fix(populate): assign values when resolving each populate #4104
  147. * fix(aggregate): dont send async option to server #4101
  148. * fix(model): ensure isNew set to false after insertMany #4099
  149. * fix(connection): emit on error if listeners and no callback #4098
  150. * fix(document): treat required fn that returns false as required: false #4094
  151. 4.4.14 / 2016-04-27
  152. ===================
  153. * fix: upgrade mongodb -> 2.1.18 #4102
  154. * feat(connection): allow setting mongos as a uri query param #4093 #4035 [burtonjc](https://github.com/burtonjc)
  155. * fix(populate): make sure to use correct assignment order for each model #4073
  156. * fix(schema): add complete set of geospatial operators for single embedded subdocs #4014
  157. 3.8.40 / 2016-04-24
  158. ===================
  159. * upgraded; mquery -> 1.10.0 #3989
  160. 4.4.13 / 2016-04-21
  161. ===================
  162. * docs: add docs favicons #4082 [robertjustjones](https://github.com/robertjustjones)
  163. * docs(model): correct Model.remove() return value #4075 [Jokero](https://github.com/Jokero)
  164. * fix(query): add $geoWithin query casting for single embedded docs #4044
  165. * fix(schema): handle setting trim option to falsy #4042
  166. * fix(query): handle setDefaultsOnInsert with empty update #3835
  167. 4.4.12 / 2016-04-08
  168. ===================
  169. * docs(query): document context option for update and findOneAndUpdate #4055
  170. * docs(query): correct link to $geoWithin docs #4050
  171. * fix(project): upgrade to mongodb driver 2.1.16 #4048 [schmalliso](https://github.com/schmalliso)
  172. * docs(validation): fix validation docs #4028
  173. * fix(types): improve .id() check for document arrays #4011
  174. * fix(query): remove premature return when using $rename #3171
  175. * docs(connection): clarify relationship between models and connections #2157
  176. 4.4.11 / 2016-04-03
  177. ===================
  178. * fix: upgrade to mongodb driver 2.1.14 #4036 #4030 #3945
  179. * fix(connection): allow connecting with { mongos: true } to handle query params #4032 [burtonjc](https://github.com/burtonjc)
  180. * docs(connection): add autoIndex example #4026 [tilleps](https://github.com/tilleps)
  181. * fix(query): handle passRawResult option when zero results #4023
  182. * fix(populate): clone options before modifying #4022
  183. * docs: add missing whitespace #4019 [chenxsan](https://github.com/chenxsan)
  184. * chore: upgrade to ESLint 2.4.0 #4015 [ChristianMurphy](https://github.com/ChristianMurphy)
  185. * fix(types): single nested subdocs get ids by default #4008
  186. * chore(project): add dependency status badge #4007 [Maheshkumar-Kakade](http://github.com/Maheshkumar-Kakade)
  187. * fix: make sure timestamps don't trigger unnecessary updates #4005 #3991 [tommarien](https://github.com/tommarien)
  188. * fix(document): inspect inherits schema options #4001
  189. * fix(populate): don't mark populated path as modified if setting to object w/ same id #3992
  190. * fix(document): support kind argument to invalidate #3965
  191. 4.4.10 / 2016-03-24
  192. ===================
  193. * fix(document): copy isNew when copying a document #3982
  194. * fix(document): don't override defaults with undefined keys #3981
  195. * fix(populate): merge multiple deep populate options for the same path #3974
  196. 4.4.9 / 2016-03-22
  197. ==================
  198. * fix: upgrade mongodb -> 2.1.10 re https://jira.mongodb.org/browse/NODE-679 #4010
  199. * docs: add syntax highlighting for acquit examples #3975
  200. 4.4.8 / 2016-03-18
  201. ==================
  202. * docs(aggregate): clarify promises #3990 [megagon](https://github.com/megagon)
  203. * fix: upgrade mquery -> 1.10 #3988 [matskiv](https://github.com/matskiv)
  204. * feat(connection): 'all' event for repl sets #3986 [xizhibei](https://github.com/xizhibei)
  205. * docs(types): clarify Array.pull #3985 [seriousManual](https://github.com/seriousManual)
  206. * feat(query): support array syntax for .sort() via mquery 1.9 #3980
  207. * fix(populate): support > 3 level nested populate #3973
  208. * fix: MongooseThenable exposes connection correctly #3972
  209. * docs(connection): add note about reconnectTries and reconnectInterval #3969
  210. * feat(document): invalidate returns the new validationError #3964
  211. * fix(query): .eq() as shorthand for .equals #3953 [Fonger](https://github.com/Fonger)
  212. * docs(connection): clarify connection string vs passed options #3941
  213. * docs(query): select option for findOneAndUpdate #3933
  214. * fix(error): ValidationError.properties no longer enumerable #3925
  215. * docs(validation): clarify how required validators work with nested schemas #3915
  216. * fix: upgrade mongodb driver -> 2.1.8 to make partial index errors more sane #3864
  217. 4.4.7 / 2016-03-11
  218. ==================
  219. * fix(query): stop infinite recursion caused by merging a mongoose buffer #3961
  220. * fix(populate): handle deep populate array -> array #3954
  221. * fix(schema): allow setting timestamps with .set() #3952 #3951 #3907 [Fonger](https://github.com/Fonger)
  222. * fix: MongooseThenable doesn't overwrite constructors #3940
  223. * fix(schema): don't cast boolean to date #3935
  224. * fix(drivers): support sslValidate in connection string #3929
  225. * fix(types): correct markModified() for single nested subdocs #3910
  226. * fix(drivers): catch and report any errors that occur in driver methods #3906
  227. * fix(populate): get subpopulate model correctly when array under nested #3904
  228. * fix(document): allow fields named 'pre' and 'post' #3902
  229. * docs(query): clarify runValidators and setDefaultsOnInsert options #3892
  230. * docs(validation): show how to use custom required messages in schema #2616
  231. 4.4.6 / 2016-03-02
  232. ==================
  233. * fix: upgrade mongodb driver to 2.1.7 #3938
  234. * docs: fix plugins link #3917 #3909 [fbertone](https://github.com/fbertone)
  235. * fix(query): sort+select with count works #3914
  236. * fix(query): improve mergeUpdate's ability to handle nested docs #3890
  237. 4.4.5 / 2016-02-24
  238. ==================
  239. * fix(query): ability to select a length field (upgrade to mquery 1.7.0) #3903
  240. * fix: include nested CastError as reason for array CastError #3897 [kotarou3](https://github.com/kotarou3)
  241. * fix(schema): check for doc existence before taking fields #3889
  242. * feat(schema): useNestedStrict option to take nested strict mode for update #3883
  243. * docs(validation): clarify relationship between required and checkRequired #3822
  244. * docs(populate): dynamic reference docs #3809
  245. * docs: expand dropdown when clicking on file name #3807
  246. * docs: plugins.mongoosejs.io is up #3127
  247. * fix(schema): ability to add a virtual with same name as removed path #2398
  248. 4.4.4 / 2016-02-17
  249. ==================
  250. * fix(schema): handle field selection when casting single nested subdocs #3880
  251. * fix(populate): populating using base model with multiple child models in result #3878
  252. * fix: ability to properly use return value of `mongoose.connect()` #3874
  253. * fix(populate): dont hydrate populated subdoc if lean option set #3873
  254. * fix(connection): dont re-auth if already connected with useDb #3871
  255. * docs: cover how to set underlying driver's promise lib #3869
  256. * fix(document): handle conflicting names in validation errors with subdocs #3867
  257. * fix(populate): set undefined instead of null consistently when populate couldn't find results #3859
  258. * docs: link to `execPopulate()` in `doc.populate()` docs #3836
  259. * docs(plugin): link to the `mongoose.plugin()` function #3732
  260. 4.4.3 / 2016-02-09
  261. ==================
  262. * fix: upgrade to mongodb 2.1.6 to remove kerberos log output #3861 #3860 [cartuchogl](https://github.com/cartuchogl)
  263. * fix: require('mongoose') is no longer a pseudo-promise #3856
  264. * fix(query): update casting for single nested docs #3820
  265. * fix(populate): deep populating multiple paths with same options #3808
  266. * docs(middleware): clarify save/validate hook order #1149
  267. 4.4.2 / 2016-02-05
  268. ==================
  269. * fix(aggregate): handle calling .cursor() with no options #3855
  270. * fix: upgrade mongodb driver to 2.1.5 for GridFS memory leak fix #3854
  271. * docs: fix schematype.html conflict #3853 #3850 #3843
  272. * fix(model): bluebird unhandled rejection with ensureIndexes() on init #3837
  273. * docs: autoIndex option for createConnection #3805
  274. 4.4.1 / 2016-02-03
  275. ==================
  276. * fix: linting broke some cases where we use `== null` as shorthand #3852
  277. * docs: fix up schematype.html conflict #3848 #3843 [mynameiscoffey](https://github.com/mynameiscoffey)
  278. * fix: backwards breaking change with `.connect()` return value #3847
  279. * docs: downgrade dox and highlight.js to fix docs build #3845
  280. * docs: clean up typo #3842 [Flash-](https://github.com/Flash-)
  281. * fix(document): storeShard handles undefined values #3841
  282. * chore: more linting #3838 [TrejGun](https://github.com/TrejGun)
  283. * fix(schema): handle `text: true` as a way to declare a text index #3824
  284. 4.4.0 / 2016-02-02
  285. ==================
  286. * docs: fix expireAfterSeconds index option name #3831 [Flash-](https://github.com/Flash-)
  287. * chore: run lint after test #3829 [ChristianMurphy](https://github.com/ChristianMurphy)
  288. * chore: use power-assert instead of assert #3828 [TrejGun](https://github.com/TrejGun)
  289. * chore: stricter lint #3827 [TrejGun](https://github.com/TrejGun)
  290. * feat(types): casting moment to date #3813 [TrejGun](https://github.com/TrejGun)
  291. * chore: comma-last lint for test folder #3810 [ChristianMurphy](https://github.com/ChristianMurphy)
  292. * fix: upgrade async mpath, mpromise, muri, and sliced #3801 [TrejGun](https://github.com/TrejGun)
  293. * fix(query): geo queries now return proper ES2015 promises #3800 [TrejGun](https://github.com/TrejGun)
  294. * perf(types): use `Object.defineProperties()` for array #3799 [TrejGun](https://github.com/TrejGun)
  295. * fix(model): mapReduce, ensureIndexes, remove, and save properly return ES2015 promises #3795 #3628 #3595 [TrejGun](https://github.com/TrejGun)
  296. * docs: fixed dates in History.md #3791 [Jokero](https://github.com/Jokero)
  297. * feat: connect, open, openSet, and disconnect return ES2015 promises #3790 #3622 [TrejGun](https://github.com/TrejGun)
  298. * feat: custom type for int32 via mongoose-int32 npm package #3652 #3102
  299. * feat: basic custom schema type API #995
  300. * feat(model): `insertMany()` for more performant bulk inserts #723
  301. 4.3.7 / 2016-01-23
  302. ==================
  303. * docs: grammar fix in timestamps docs #3786 [zclancy](https://github.com/zclancy)
  304. * fix(document): setting nested populated docs #3783 [slamuu](https://github.com/slamuu)
  305. * fix(document): don't call post save hooks twice for pushed docs #3780
  306. * fix(model): handle `_id=0` correctly #3776
  307. * docs(middleware): async post hooks #3770
  308. * docs: remove confusing sentence #3765 [marcusmellis89](https://github.com/marcusmellis89)
  309. 3.8.39 / 2016-01-15
  310. ===================
  311. * fixed; casting a number to a buffer #3764
  312. * fixed; enumerating virtual property with nested objects #3743 [kusold](https://github.com/kusold)
  313. 4.3.6 / 2016-01-15
  314. ==================
  315. * fix(types): casting a number to a buffer #3764
  316. * fix: add "listener" to reserved keywords #3759
  317. * chore: upgrade uglify #3757 [ChristianMurphy](https://github.com/ChristianMurphy)
  318. * fix: broken execPopulate() in 4.3.5 #3755 #3753
  319. * fix: ability to remove() a single embedded doc #3754
  320. * style: comma-last in test folder #3751 [ChristianMurphy](https://github.com/ChristianMurphy)
  321. * docs: clarify versionKey option #3747
  322. * fix: improve colorization for arrays #3744 [TrejGun](https://github.com/TrejGun)
  323. * fix: webpack build #3713
  324. 4.3.5 / 2016-01-09
  325. ==================
  326. * fix(query): throw when 4th parameter to update not a function #3741 [kasselTrankos](https://github.com/kasselTrankos)
  327. * fix(document): separate error type for setting an object to a primitive #3735
  328. * fix(populate): Model.populate returns ES6 promise #3734
  329. * fix(drivers): re-register event handlers after manual reconnect #3729
  330. * docs: broken links #3727
  331. * fix(validation): update validators run array validation #3724
  332. * docs: clarify the need to use markModified with in-place date ops #3722
  333. * fix(document): mark correct path as populated when manually populating array #3721
  334. * fix(aggregate): support for array pipeline argument to append #3718 [dbkup](https://github.com/dbkup)
  335. * docs: clarify `.connect()` callback #3705
  336. * fix(schema): properly validate nested single nested docs #3702
  337. * fix(types): handle setting documentarray of wrong type #3701
  338. * docs: broken links #3700
  339. * fix(drivers): debug output properly displays '0' #3689
  340. 3.8.38 / 2016-01-07
  341. ===================
  342. * fixed; aggregate.append an array #3730 [dbkup](https://github.com/dbkup)
  343. 4.3.4 / 2015-12-23
  344. ==================
  345. * fix: upgrade mongodb driver to 2.1.2 for repl set error #3712 [sansmischevia](https://github.com/sansmischevia)
  346. * docs: validation docs typo #3709 [ivanmaeder](https://github.com/ivanmaeder)
  347. * style: remove unused variables #3708 [ChristianMurphy](https://github.com/ChristianMurphy)
  348. * fix(schema): duck-typing for schemas #3703 [mgcrea](https://github.com/mgcrea)
  349. * docs: connection sample code issue #3697
  350. * fix(schema): duck-typing for schemas #3693 [mgcrea](https://github.com/mgcrea)
  351. * docs: clarify id schema option #3638
  352. 4.3.3 / 2015-12-18
  353. ==================
  354. * fix(connection): properly support 'replSet' as well as 'replset' #3688 [taxilian](https://github.com/taxilian)
  355. * fix(document): single nested doc pre hooks called before nested doc array #3687 [aliatsis](https://github.com/aliatsis)
  356. 4.3.2 / 2015-12-17
  357. ==================
  358. * fix(document): .set() into single nested schemas #3686
  359. * fix(connection): support 'replSet' as well as 'replset' option #3685
  360. * fix(document): bluebird unhandled rejection when validating doc arrays #3681
  361. * fix(document): hooks for doc arrays in single nested schemas #3680
  362. * fix(document): post hooks for single nested schemas #3679
  363. * fix: remove unused npm module #3674 [sybarite](https://github.com/sybarite)
  364. * fix(model): don't swallow exceptions in nested doc save callback #3671
  365. * docs: update keepAlive info #3667 [ChrisZieba](https://github.com/ChrisZieba)
  366. * fix(document): strict 'throw' throws a specific mongoose error #3662
  367. * fix: flakey test #3332
  368. * fix(query): more robust check for RegExp #2969
  369. 4.3.1 / 2015-12-11
  370. ==================
  371. * feat(aggregate): `.sample()` helper #3665
  372. * fix(query): bitwise query operators with buffers #3663
  373. * docs(migration): clarify `new` option and findByIdAndUpdate #3661
  374. 4.3.0 / 2015-12-09
  375. ==================
  376. * feat(query): support for mongodb 3.2 bitwise query operators #3660
  377. * style: use comma-last style consistently #3657 [ChristianMurphy](https://github.com/ChristianMurphy)
  378. * feat: upgrade mongodb driver to 2.1.0 for full MongoDB 3.2 support #3656
  379. * feat(aggregate): `.lookup()` helper #3532
  380. 4.2.10 / 2015-12-08
  381. ===================
  382. * fixed; upgraded marked #3653 [ChristianMurphy](https://github.com/ChristianMurphy)
  383. * docs; cross-db populate #3648
  384. * docs; update mocha URL #3646 [ojhaujjwal](https://github.com/ojhaujjwal)
  385. * fixed; call close callback asynchronously #3645
  386. * docs; virtuals.html issue #3644 [Psarna94](https://github.com/Psarna94)
  387. * fixed; single embedded doc casting on init #3642
  388. * docs; validation docs improvements #3640
  389. 4.2.9 / 2015-12-02
  390. ==================
  391. * docs; defaults docs #3625
  392. * fix; nested numeric keys causing an embedded document crash #3623
  393. * fix; apply path getters before virtual getters #3618
  394. * fix; casting for arrays in single nested schemas #3616
  395. 4.2.8 / 2015-11-25
  396. ==================
  397. * docs; clean up README links #3612 [ReadmeCritic](https://github.com/ReadmeCritic)
  398. * fix; ESLint improvements #3605 [ChristianMurphy](https://github.com/ChristianMurphy)
  399. * fix; assigning single nested subdocs #3601
  400. * docs; describe custom logging functions in `mongoose.set()` docs #3557
  401. 4.2.7 / 2015-11-20
  402. ==================
  403. * fixed; readPreference connection string option #3600
  404. * fixed; pulling from manually populated arrays #3598 #3579
  405. * docs; FAQ about OverwriteModelError #3597 [stcruy](https://github.com/stcruy)
  406. * fixed; setting single embedded schemas to null #3596
  407. * fixed; indexes for single embedded schemas #3594
  408. * docs; clarify projection for `findOne()` #3593 [gunar](https://github.com/gunar)
  409. * fixed; .ownerDocument() method on single embedded schemas #3589
  410. * fixed; properly throw casterror for query on single embedded schema #3580
  411. * upgraded; mongodb driver -> 2.0.49 for reconnect issue fix #3481
  412. 4.2.6 / 2015-11-16
  413. ==================
  414. * fixed; ability to manually populate an array #3575
  415. * docs; clarify `isAsync` parameter to hooks #3573
  416. * fixed; use captureStackTrace if possible instead #3571
  417. * fixed; crash with buffer and update validators #3565 [johnpeb](https://github.com/johnpeb)
  418. * fixed; update casting with operators overwrite: true #3564
  419. * fixed; validation with single embedded docs #3562
  420. * fixed; inline docs inherit parents $type key #3560
  421. * docs; bad grammar in populate docs #3559 [amaurymedeiros](https://github.com/amaurymedeiros)
  422. * fixed; properly handle populate option for find() #2321
  423. 3.8.37 / 2015-11-16
  424. ===================
  425. * fixed; use retainKeyOrder for cloning update op #3572
  426. 4.2.5 / 2015-11-09
  427. ==================
  428. * fixed; handle setting fields in pre update hooks with exec #3549
  429. * upgraded; ESLint #3547 [ChristianMurphy](https://github.com/ChristianMurphy)
  430. * fixed; bluebird unhandled rejections with cast errors and .exec #3543
  431. * fixed; min/max validators handling undefined #3539
  432. * fixed; standalone mongos connections #3537
  433. * fixed; call `.toObject()` when setting a single nested doc #3535
  434. * fixed; single nested docs now have methods #3534
  435. * fixed; single nested docs with .create() #3533 #3521 [tusbar](https://github.com/tusbar)
  436. * docs; deep populate docs #3528
  437. * fixed; deep populate schema ref handling #3507
  438. * upgraded; mongodb driver -> 2.0.48 for sort overflow issue #3493
  439. * docs; clarify default ids for discriminators #3482
  440. * fixed; properly support .update(doc) #3221
  441. 4.2.4 / 2015-11-02
  442. ==================
  443. * fixed; upgraded `ms` package for security vulnerability #3524 [fhemberger](https://github.com/fhemberger)
  444. * fixed; ESlint rules #3517 [ChristianMurphy](https://github.com/ChristianMurphy)
  445. * docs; typo in aggregation docs #3513 [rafakato](https://github.com/rafakato)
  446. * fixed; add `dontThrowCastError` option to .update() for promises #3512
  447. * fixed; don't double-cast buffers in node 4.x #3510 #3496
  448. * fixed; population with single embedded schemas #3501
  449. * fixed; pre('set') hooks work properly #3479
  450. * docs; promises guide #3441
  451. 4.2.3 / 2015-10-26
  452. ==================
  453. * docs; remove unreferenced function in middleware.jade #3506
  454. * fixed; handling auth with no username/password #3500 #3498 #3484 [mleanos](https://github.com/mleanos)
  455. * fixed; more ESlint rules #3491 [ChristianMurphy](https://github.com/ChristianMurphy)
  456. * fixed; swallowing exceptions in save callback #3478
  457. * docs; fixed broken links in subdocs guide #3477
  458. * fixed; casting booleans to numbers #3475
  459. * fixed; report CastError for subdoc arrays in findOneAndUpdate #3468
  460. * fixed; geoNear returns ES6 promise #3458
  461. 4.2.2 / 2015-10-22
  462. ==================
  463. * fixed; go back to old pluralization code #3490
  464. 4.2.1 / 2015-10-22
  465. ==================
  466. * fixed; pluralization issues #3492 [ChristianMurphy](https://github.com/ChristianMurphy)
  467. 4.2.0 / 2015-10-22
  468. ==================
  469. * added; support for skipVersioning for document arrays #3467 [chazmo03](https://github.com/chazmo03)
  470. * added; ability to customize schema 'type' key #3459 #3245
  471. * fixed; writeConcern for index builds #3455
  472. * added; emit event when individual index build starts #3440 [objectiveSee](https://github.com/objectiveSee)
  473. * added; 'context' option for update validators #3430
  474. * refactor; pluralization now in separate pluralize-mongoose npm module #3415 [ChristianMurphy](https://github.com/ChristianMurphy)
  475. * added; customizable error validation messages #3406 [geronime](https://github.com/geronime)
  476. * added; support for passing 'minimize' option to update #3381
  477. * added; ability to customize debug logging format #3261
  478. * added; baseModelName property for discriminator models #3202
  479. * added; 'emitIndexErrors' option #3174
  480. * added; 'async' option for aggregation cursor to support buffering #3160
  481. * added; ability to skip validation for individual save() calls #2981
  482. * added; single embedded schema support #2689 #585
  483. * added; depopulate function #2509
  484. 4.1.12 / 2015-10-19
  485. ===================
  486. * docs; use readPreference instead of slaveOk for Query.setOptions docs #3471 [buunguyen](https://github.com/buunguyen)
  487. * fixed; more helpful error when regexp contains null bytes #3456
  488. * fixed; x509 auth issue #3454 [NoxHarmonium](https://github.com/NoxHarmonium)
  489. 3.8.36 / 2015-10-18
  490. ===================
  491. * fixed; Make array props non-enumerable #3461 [boblauer](https://github.com/boblauer)
  492. 4.1.11 / 2015-10-12
  493. ===================
  494. * fixed; update timestamps for update() if they're enabled #3450 [isayme](https://github.com/isayme)
  495. * fixed; unit test error on node 0.10 #3449 [isayme](https://github.com/isayme)
  496. * docs; timestamp option docs #3448 [isayme](https://github.com/isayme)
  497. * docs; fix unexpected indent #3443 [isayme](https://github.com/isayme)
  498. * fixed; use ES6 promises for Model.prototype.remove() #3442
  499. * fixed; don't use unused 'safe' option for index builds #3439
  500. * fixed; elemMatch casting bug #3437 #3435 [DefinitelyCarter](https://github.com/DefinitelyCarter)
  501. * docs; schema.index docs #3434
  502. * fixed; exceptions in save() callback getting swallowed on mongodb 2.4 #3371
  503. 4.1.10 / 2015-10-05
  504. ===================
  505. * docs; improve virtuals docs to explain virtuals schema option #3433 [zoyaH](https://github.com/zoyaH)
  506. * docs; MongoDB server version compatibility guide #3427
  507. * docs; clarify that findById and findByIdAndUpdate fire hooks #3422
  508. * docs; clean up Model.save() docs #3420
  509. * fixed; properly handle projection with just id #3407 #3412
  510. * fixed; infinite loop when database document is corrupted #3405
  511. * docs; clarify remove middleware #3388
  512. 4.1.9 / 2015-09-28
  513. ==================
  514. * docs; minlength and maxlength string validation docs #3368 #3413 [cosmosgenius](https://github.com/cosmosgenius)
  515. * fixed; linting for infix operators #3397 [ChristianMurphy](https://github.com/ChristianMurphy)
  516. * fixed; proper casting for $all #3394
  517. * fixed; unhandled rejection warnings with .create() #3391
  518. * docs; clarify update validators on paths that aren't explicitly set #3386
  519. * docs; custom validator examples #2778
  520. 4.1.8 / 2015-09-21
  521. ==================
  522. * docs; fixed typo in example #3390 [kmctown](https://github.com/kmctown)
  523. * fixed; error in toObject() #3387 [guumaster](https://github.com/guumaster)
  524. * fixed; handling for casting null dates #3383 [alexmingoia](https://github.com/alexmingoia)
  525. * fixed; passing composite ids to `findByIdAndUpdate` #3380
  526. * fixed; linting #3376 #3375 [ChristianMurphy](https://github.com/ChristianMurphy)
  527. * fixed; added NodeJS v4 to Travis #3374 [ChristianMurphy](https://github.com/ChristianMurphy)
  528. * fixed; casting $elemMatch inside of $not #3373 [gaguirre](https://github.com/gaguirre)
  529. * fixed; handle case where $slice is 0 #3369
  530. * fixed; avoid running getters if path is populated #3357
  531. * fixed; cast documents to objects when setting to a nested path #3346
  532. 4.1.7 / 2015-09-14
  533. ==================
  534. * docs; typos in SchemaType documentation #3367 [jasson15](https://github.com/jasson15)
  535. * fixed; MONGOOSE_DRIVER_PATH env variable again #3360
  536. * docs; added validateSync docs #3353
  537. * fixed; set findOne op synchronously in query #3344
  538. * fixed; handling for `.pull()` on a documentarray without an id #3341
  539. * fixed; use natural order for cloning update conditions #3338
  540. * fixed; issue with strict mode casting for mixed type updates #3337
  541. 4.1.6 / 2015-09-08
  542. ==================
  543. * fixed; MONGOOSE_DRIVER_PATH env variable #3345 [g13013](https://github.com/g13013)
  544. * docs; global autoIndex option #3335 [albertorestifo](https://github.com/albertorestifo)
  545. * docs; model documentation typos #3330
  546. * fixed; report reason for CastError #3320
  547. * fixed; .populate() no longer returns true after re-assigning #3308
  548. * fixed; discriminators with aggregation geoNear #3304
  549. * docs; discriminator docs #2743
  550. 4.1.5 / 2015-09-01
  551. ==================
  552. * fixed; document.remove() removing all docs #3326 #3325
  553. * fixed; connect() checks for rs_name in options #3299
  554. * docs; examples for schema.set() #3288
  555. * fixed; checkKeys issue with bluebird #3286 [gregthegeek](https://github.com/gregthegeek)
  556. 4.1.4 / 2015-08-31
  557. ==================
  558. * fixed; ability to set strict: false for update #3305
  559. * fixed; .create() properly uses ES6 promises #3297
  560. * fixed; pre hooks on nested subdocs #3291 #3284 [aliatsis](https://github.com/aliatsis)
  561. * docs; remove unclear text in .remove() docs #3282
  562. * fixed; pre hooks called twice for 3rd-level nested doc #3281
  563. * fixed; nested transforms #3279
  564. * upgraded; mquery -> 1.6.3 #3278 #3272
  565. * fixed; don't swallow callback errors by default #3273 #3222
  566. * fixed; properly get nested paths from nested schemas #3265
  567. * fixed; remove() with id undefined deleting all docs #3260 [thanpolas](https://github.com/thanpolas)
  568. * fixed; handling for non-numeric projections #3256
  569. * fixed; findById with id undefined returning first doc #3255
  570. * fixed; use retainKeyOrder for update #3215
  571. * added; passRawResult option to findOneAndUpdate for backwards compat #3173
  572. 4.1.3 / 2015-08-16
  573. ==================
  574. * fixed; getUpdate() in pre update hooks #3520 [gregthegeek](https://github.com/gregthegeek)
  575. * fixed; handleArray() ensures arg is an array #3238 [jloveridge](https://github.com/jloveridge)
  576. * fixed; refresh required path cache when recreating docs #3199
  577. * fixed; $ operator on unwind aggregation helper #3197
  578. * fixed; findOneAndUpdate() properly returns raw result as third arg to callback #3173
  579. * fixed; querystream with dynamic refs #3108
  580. 3.8.35 / 2015-08-14
  581. ===================
  582. * fixed; handling for minimize on nested objects #2930
  583. * fixed; don't crash when schema.path.options undefined #1824
  584. 4.1.2 / 2015-08-10
  585. ==================
  586. * fixed; better handling for Jade templates #3241 [kbadk](https://github.com/kbadk)
  587. * added; ESlint trailing spaces #3234 [ChristianMurphy](https://github.com/ChristianMurphy)
  588. * added; ESlint #3191 [ChristianMurphy](https://github.com/ChristianMurphy)
  589. * fixed; properly emit event on disconnect #3183
  590. * fixed; copy options properly using Query.toConstructor() #3176
  591. * fixed; setMaxListeners() issue in browser build #3170
  592. * fixed; node driver -> 2.0.40 to not store undefined keys as null #3169
  593. * fixed; update validators handle positional operator #3167
  594. * fixed; handle $all + $elemMatch query casting #3163
  595. * fixed; post save hooks don't swallow extra args #3155
  596. * docs; spelling mistake in index.jade #3154
  597. * fixed; don't crash when toObject() has no fields #3130
  598. * fixed; apply toObject() recursively for find and update queries #3086 [naoina](https://github.com/naoina)
  599. 4.1.1 / 2015-08-03
  600. ==================
  601. * fixed; aggregate exec() crash with no callback #3212 #3198 [jpgarcia](https://github.com/jpgarcia)
  602. * fixed; pre init hooks now properly synchronous #3207 [burtonjc](https://github.com/burtonjc)
  603. * fixed; updateValidators doesn't flatten dates #3206 #3194 [victorkohl](https://github.com/victorkohl)
  604. * fixed; default fields don't make document dirty between saves #3205 [burtonjc](https://github.com/burtonjc)
  605. * fixed; save passes 0 as numAffected rather than undefined when no change #3195 [burtonjc](https://github.com/burtonjc)
  606. * fixed; better handling for positional operator in update #3185
  607. * fixed; use Travis containers #3181 [ChristianMurphy](https://github.com/ChristianMurphy)
  608. * fixed; leaked variable #3180 [ChristianMurphy](https://github.com/ChristianMurphy)
  609. 4.1.0 / 2015-07-24
  610. ==================
  611. * added; `schema.queue()` now public #3193
  612. * added; raw result as third parameter to findOneAndX callback #3173
  613. * added; ability to run validateSync() on only certain fields #3153
  614. * added; subPopulate #3103 [timbur](https://github.com/timbur)
  615. * added; $isDefault function on documents #3077
  616. * added; additional properties for built-in validator messages #3063 [KLicheR](https://github.com/KLicheR)
  617. * added; getQuery() and getUpdate() functions for Query #3013
  618. * added; export DocumentProvider #2996
  619. * added; ability to remove path from schema #2993 [JohnnyEstilles](https://github.com/JohnnyEstilles)
  620. * added; .explain() helper for aggregate #2714
  621. * added; ability to specify which ES6-compatible promises library mongoose uses #2688
  622. * added; export Aggregate #1910
  623. 4.0.8 / 2015-07-20
  624. ==================
  625. * fixed; assignment with document arrays #3178 [rosston](https://github.com/rosston)
  626. * docs; remove duplicate paragraph #3164 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  627. * docs; improve findOneAndXYZ parameter descriptions #3159 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  628. * docs; add findOneAndRemove to list of supported middleware #3158
  629. * docs; clarify ensureIndex #3156
  630. * fixed; refuse to save/remove document without id #3118
  631. * fixed; hooks next() no longer accidentally returns promise #3104
  632. * fixed; strict mode for findOneAndUpdate #2947
  633. * added; .min.js.gz file for browser component #2806
  634. 3.8.34 / 2015-07-20
  635. ===================
  636. * fixed; allow using $rename #3171
  637. * fixed; no longer modifies update arguments #3008
  638. 4.0.7 / 2015-07-11
  639. ==================
  640. * fixed; documentarray id method when using object id #3157 [siboulet](https://github.com/siboulet)
  641. * docs; improve findById docs #3147
  642. * fixed; update validators handle null properly #3136 [odeke-em](https://github.com/odeke-em)
  643. * docs; jsdoc syntax errors #3128 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  644. * docs; fix typo #3126 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  645. * docs; proper formatting in queries.jade #3121 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  646. * docs; correct example for string maxlength validator #3111 [rhmeeuwisse](https://github.com/rhmeeuwisse)
  647. * fixed; setDefaultsOnInsert with arrays #3107
  648. * docs; LearnBoost -> Automattic in package.json #3099
  649. * docs; pre update hook example #3094 [danpe](https://github.com/danpe)
  650. * docs; clarify query middleware example #3051
  651. * fixed; ValidationErrors in strict mode #3046
  652. * fixed; set findOneAndUpdate properties before hooks run #3024
  653. 3.8.33 / 2015-07-10
  654. ===================
  655. * upgraded; node driver -> 1.4.38
  656. * fixed; dont crash when `match` validator undefined
  657. 4.0.6 / 2015-06-21
  658. ==================
  659. * upgraded; node driver -> 2.0.34 #3087
  660. * fixed; apply setters on addToSet, etc #3067 [victorkohl](https://github.com/victorkohl)
  661. * fixed; missing semicolons #3065 [sokolikp](https://github.com/sokolikp)
  662. * fixed; proper handling for async doc hooks #3062 [gregthegeek](https://github.com/gregthegeek)
  663. * fixed; dont set failed populate field to null if other docs are successfully populated #3055 [eloytoro](https://github.com/eloytoro)
  664. * fixed; setDefaultsOnInsert with document arrays #3034 [taxilian](https://github.com/taxilian)
  665. * fixed; setters fired on array items #3032
  666. * fixed; stop validateSync() on first error #3025 [victorkohl](https://github.com/victorkohl)
  667. * docs; improve query docs #3016
  668. * fixed; always exclude _id when its deselected #3010
  669. * fixed; enum validator kind property #3009
  670. * fixed; mquery collection names #3005
  671. * docs; clarify mongos option #3000
  672. * docs; clarify that query builder has a .then() #2995
  673. * fixed; race condition in dynamic ref #2992
  674. 3.8.31 / 2015-06-20
  675. ===================
  676. * fixed; properly handle text search with discriminators and $meta #2166
  677. 4.0.5 / 2015-06-05
  678. ==================
  679. * fixed; ObjectIds and buffers when mongodb driver is a sibling dependency #3050 #3048 #3040 #3031 #3020 #2988 #2951
  680. * fixed; warn user when 'increment' is used in schema #3039
  681. * fixed; setDefaultsOnInsert with array in schema #3035
  682. * fixed; dont use default Object toString to cast to string #3030
  683. * added; npm badge #3020 [odeke-em](https://github.com/odeke-em)
  684. * fixed; proper handling for calling .set() with a subdoc #2782
  685. * fixed; dont throw cast error when using $rename on non-string path #1845
  686. 3.8.30 / 2015-06-05
  687. ===================
  688. * fixed; enable users to set all options with tailable() #2883
  689. 4.0.4 / 2015-05-28
  690. ==================
  691. * docs; findAndModify new parameter correct default value #3012 [JonForest](https://github.com/JonForest)
  692. * docs; clarify pluralization rules #2999 [anonmily](https://github.com/anonmily)
  693. * fix; discriminators with schema methods #2978
  694. * fix; make `isModified` a schema reserved keyword #2975
  695. * fix; properly fire setters when initializing path with object #2943
  696. * fix; can use `setDefaultsOnInsert` without specifying `runValidators` #2938
  697. * fix; always set validation errors `kind` property #2885
  698. * upgraded; node driver -> 2.0.33 #2865
  699. 3.8.29 / 2015-05-27
  700. ===================
  701. * fixed; Handle JSON.stringify properly for nested docs #2990
  702. 4.0.3 / 2015-05-13
  703. ==================
  704. * upgraded; mquery -> 1.5.1 #2983
  705. * docs; clarify context for query middleware #2974
  706. * docs; fix missing type -> kind rename in History.md #2961
  707. * fixed; broken ReadPreference include on Heroku #2957
  708. * docs; correct form for cursor aggregate option #2955
  709. * fixed; sync post hooks now properly called after function #2949 #2925
  710. * fixed; fix sub-doc validate() function #2929
  711. * upgraded; node driver -> 2.0.30 #2926
  712. * docs; retainKeyOrder for save() #2924
  713. * docs; fix broken class names #2913
  714. * fixed; error when using node-clone on a doc #2909
  715. * fixed; no more hard references to bson #2908 #2906
  716. * fixed; dont overwrite array values #2907 [naoina](https://github.com/naoina)
  717. * fixed; use readPreference=primary for findOneAndUpdate #2899 #2823
  718. * docs; clarify that update validators only run on $set and $unset #2889
  719. * fixed; set kind consistently for built-in validators #2885
  720. * docs; single field populated documents #2884
  721. * fixed; nested objects are now enumerable #2880 [toblerpwn](https://github.com/toblerpwn)
  722. * fixed; properly populate field when ref, lean, stream used together #2841
  723. * docs; fixed migration guide jade error #2807
  724. 3.8.28 / 2015-05-12
  725. ===================
  726. * fixed; proper handling for toJSON options #2910
  727. * fixed; dont attach virtuals to embedded docs in update() #2046
  728. 4.0.2 / 2015-04-23
  729. ==================
  730. * fixed; error thrown when calling .validate() on subdoc not in an array #2902
  731. * fixed; rename define() to play nice with webpack #2900 [jspears](https://github.com/jspears)
  732. * fixed; pre validate called twice with discriminators #2892
  733. * fixed; .inspect() on mongoose.Types #2875
  734. * docs; correct callback params for Model.update #2872
  735. * fixed; setDefaultsOnInsert now works when runValidators not specified #2870
  736. * fixed; Document now wraps EventEmitter.addListener #2867
  737. * fixed; call non-hook functions in schema queue #2856
  738. * fixed; statics can be mocked out for tests #2848 [ninelb](https://github.com/ninelb)
  739. * upgraded; mquery 1.4.0 for bluebird bug fix #2846
  740. * fixed; required validators run first #2843
  741. * docs; improved docs for new option to findAndMody #2838
  742. * docs; populate example now uses correct field #2837 [swilliams](https://github.com/swilliams)
  743. * fixed; pre validate changes causing VersionError #2835
  744. * fixed; get path from correct place when setting CastError #2832
  745. * docs; improve docs for Model.update() function signature #2827 [irnc](https://github.com/irnc)
  746. * fixed; populating discriminators #2825 [chetverikov](https://github.com/chetverikov)
  747. * fixed; discriminators with nested schemas #2821
  748. * fixed; CastErrors with embedded docs #2819
  749. * fixed; post save hook context #2816
  750. * docs; 3.8.x -> 4.x migration guide #2807
  751. * fixed; proper _distinct copying for query #2765 [cdelauder](https://github.com/cdelauder)
  752. 3.8.27 / 2015-04-22
  753. ===================
  754. * fixed; dont duplicate db calls on Q.ninvoke() #2864
  755. * fixed; Model.find arguments naming in docs #2828
  756. * fixed; Support ipv6 in connection strings #2298
  757. 3.8.26 / 2015-04-07
  758. ===================
  759. * fixed; TypeError when setting date to undefined #2833
  760. * fixed; handle CastError properly in distinct() with no callback #2786
  761. * fixed; broken links in queries docs #2779
  762. * fixed; dont mark buffer as modified when setting type initially #2738
  763. * fixed; dont crash when using slice with populate #1934
  764. 4.0.1 / 2015-03-28
  765. ==================
  766. * fixed; properly handle empty cast doc in update() with promises #2796
  767. * fixed; unstable warning #2794
  768. * fixed; findAndModify docs now show new option is false by default #2793
  769. 4.0.0 / 2015-03-25
  770. ==================
  771. * fixed; on-the-fly schema docs typo #2783 [artiifix](https://github.com/artiifix)
  772. * fixed; cast error validation handling #2775 #2766 #2678
  773. * fixed; discriminators with populate() #2773 #2719 [chetverikov](https://github.com/chetverikov)
  774. * fixed; increment now a reserved path #2709
  775. * fixed; avoid sending duplicate object ids in populate() #2683
  776. * upgraded; mongodb to 2.0.24 to properly emit reconnect event multiple times #2656
  777. 4.0.0-rc4 / 2015-03-14
  778. ======================
  779. * fixed; toObject virtuals schema option handled properly #2751
  780. * fixed; update validators work on document arrays #2733
  781. * fixed; check for cast errors on $set #2729
  782. * fixed; instance field set for all schema types #2727 [csdco](https://github.com/csdco)
  783. * fixed; dont run other validators if required fails #2725
  784. * fixed; custom getters execute on ref paths #2610
  785. * fixed; save defaults if they were set when doc was loaded from db #2558
  786. * fixed; pre validate now runs before pre save #2462
  787. * fixed; no longer throws errors with --use_strict #2281
  788. 3.8.25 / 2015-03-13
  789. ===================
  790. * fixed; debug output reverses order of aggregation keys #2759
  791. * fixed; $eq is a valid query selector in 3.0 #2752
  792. * fixed; upgraded node driver to 1.4.32 for handling non-numeric poolSize #2682
  793. * fixed; update() with overwrite sets _id for nested docs #2658
  794. * fixed; casting for operators in $elemMatch #2199
  795. 4.0.0-rc3 / 2015-02-28
  796. ======================
  797. * fixed; update() pre hooks run before validators #2706
  798. * fixed; setters not called on arrays of refs #2698 [brandom](https://github.com/brandom)
  799. * fixed; use node driver 2.0.18 for nodejs 0.12 support #2685
  800. * fixed; comments reference file that no longer exists #2681
  801. * fixed; populated() returns _id of manually populated doc #2678
  802. * added; ability to exclude version key in toObject() #2675
  803. * fixed; dont allow setting nested path to a string #2592
  804. * fixed; can cast objects with _id field to ObjectIds #2581
  805. * fixed; on-the-fly schema getters #2360
  806. * added; strict option for findOneAndUpdate() #1967
  807. 3.8.24 / 2015-02-25
  808. ===================
  809. * fixed; properly apply child schema transforms #2691
  810. * fixed; make copy of findOneAndUpdate options before modifying #2687
  811. * fixed; apply defaults when parent path is selected #2670 #2629
  812. * fixed; properly get ref property for nested paths #2665
  813. * fixed; node driver makes copy of authenticate options before modifying them #2619
  814. * fixed; dont block process exit when auth fails #2599
  815. * fixed; remove redundant clone in update() #2537
  816. 4.0.0-rc2 / 2015-02-10
  817. ======================
  818. * added; io.js to travis build
  819. * removed; browser build dependencies not installed by default
  820. * added; dynamic refpaths #2640 [chetverikov](https://github.com/chetverikov)
  821. * fixed; dont call child schema transforms on parent #2639 [chetverikov](https://github.com/chetverikov)
  822. * fixed; get rid of remove option if new is set in findAndModify #2598
  823. * fixed; aggregate all document array validation errors #2589
  824. * fixed; custom setters called when setting value to undefined #1892
  825. 3.8.23 / 2015-02-06
  826. ===================
  827. * fixed; unset opts.remove when upsert is true #2519
  828. * fixed; array saved as object when path is object in array #2442
  829. * fixed; inline transforms #2440
  830. * fixed; check for callback in count() #2204
  831. * fixed; documentation for selecting fields #1534
  832. 4.0.0-rc1 / 2015-02-01
  833. ======================
  834. * fixed; use driver 2.0.14
  835. * changed; use transform: true by default #2245
  836. 4.0.0-rc0 / 2015-01-31
  837. ===================
  838. * fixed; wrong order for distinct() params #2628
  839. * fixed; handling no query argument to remove() #2627
  840. * fixed; createModel and discriminators #2623 [ashaffer](https://github.com/ashaffer)
  841. * added; pre('count') middleware #2621
  842. * fixed; double validation calls on document arrays #2618
  843. * added; validate() catches cast errors #2611
  844. * fixed; respect replicaSet parameter in connection string #2609
  845. * added; can explicitly exclude paths from versioning #2576 [csabapalfi](https://github.com/csabapalfi)
  846. * upgraded; driver to 2.0.15 #2552
  847. * fixed; save() handles errors more gracefully in ES6 #2371
  848. * fixed; undefined is now a valid argument to findOneAndUpdate #2272
  849. * changed; `new` option to findAndModify ops is false by default #2262
  850. 3.8.22 / 2015-01-24
  851. ===================
  852. * upgraded; node-mongodb-native to 1.4.28 #2587 [Climax777](https://github.com/Climax777)
  853. * added; additional documentation for validators #2449
  854. * fixed; stack overflow when creating massive arrays #2423
  855. * fixed; undefined is a valid id for queries #2411
  856. * fixed; properly create nested schema index when same schema used twice #2322
  857. * added; link to plugin generator in docs #2085 [huei90](https://github.com/huei90)
  858. * fixed; optional arguments documentation for findOne() #1971 [nachinius](https://github.com/nachinius)
  859. 3.9.7 / 2014-12-19
  860. ===================
  861. * added; proper cursors for aggregate #2539 [changyy](https://github.com/changyy)
  862. * added; min/max built-in validators for dates #2531 [bshamblen](https://github.com/bshamblen)
  863. * fixed; save and validate are now reserved keywords #2380
  864. * added; basic documentation for browser component #2256
  865. * added; find and findOne hooks (query middleware) #2138
  866. * fixed; throw a DivergentArrayError when saving positional operator queries #2031
  867. * added; ability to use options as a document property #1416
  868. * fixed; document no longer inherits from event emitter and so domain and _events are no longer reserved #1351
  869. * removed; setProfiling #1349
  870. 3.8.21 / 2014-12-18
  871. ===================
  872. * fixed; syntax in index.jade #2517 [elderbas](https://github.com/elderbas)
  873. * fixed; writable statics #2510 #2528
  874. * fixed; overwrite and explicit $set casting #2515
  875. 3.9.6 / 2014-12-05
  876. ===================
  877. * added; correctly run validators on each element of array when entire array is modified #661 #1227
  878. * added; castErrors in validation #1013 [jondavidjohn](https://github.com/jondavidjohn)
  879. * added; specify text indexes in schema fields #1401 [sr527](https://github.com/sr527)
  880. * added; ability to set field with validators to undefined #1594 [alabid](https://github.com/alabid)
  881. * added; .create() returns an array when passed an array #1746 [alabid](https://github.com/alabid)
  882. * added; test suite and docs for use with co and yield #2177 #2474
  883. * fixed; subdocument toObject() transforms #2447 [chmanie](https://github.com/chmanie)
  884. * fixed; Model.create() with save errors #2484
  885. * added; pass options to .save() and .remove() #2494 [jondavidjohn](https://github.com/jondavidjohn)
  886. 3.8.20 / 2014-12-01
  887. ===================
  888. * fixed; recursive readPref #2490 [kjvalencik](https://github.com/kjvalencik)
  889. * fixed; make sure to copy parameters to update() before modifying #2406 [alabid](https://github.com/alabid)
  890. * fixed; unclear documentation about query callbacks #2319
  891. * fixed; setting a schema-less field to an empty object #2314 [alabid](https://github.com/alabid)
  892. * fixed; registering statics and methods for discriminators #2167 [alabid](https://github.com/alabid)
  893. 3.9.5 / 2014-11-10
  894. ===================
  895. * added; ability to disable autoIndex on a per-connection basis #1875 [sr527](https://github.com/sr527)
  896. * fixed; `geoNear()` no longer enforces legacy coordinate pairs - supports GeoJSON #1987 [alabid](https://github.com/alabid)
  897. * fixed; browser component works when minified with mangled variable names #2302
  898. * fixed; `doc.errors` now cleared before `validate()` called #2302
  899. * added; `execPopulate()` function to make `doc.populate()` compatible with promises #2317
  900. * fixed; `count()` no longer throws an error when used with `sort()` #2374
  901. * fixed; `save()` no longer recursively calls `save()` on populated fields #2418
  902. 3.8.19 / 2014-11-09
  903. ===================
  904. * fixed; make sure to not override subdoc _ids on find #2276 [alabid](https://github.com/alabid)
  905. * fixed; exception when comparing two documents when one lacks _id #2333 [slawo](https://github.com/slawo)
  906. * fixed; getters for properties with non-strict schemas #2439 [alabid](https://github.com/alabid)
  907. * fixed; inconsistent URI format in docs #2414 [sr527](https://github.com/sr527)
  908. 3.9.4 / 2014-10-25
  909. ==================
  910. * fixed; statics no longer can be overwritten #2343 [nkcmr](https://github.com/chetverikov)
  911. * added; ability to set single populated paths to documents #1530
  912. * added; setDefaultsOnInsert and runValidator options for findOneAndUpdate() #860
  913. 3.8.18 / 2014-10-22
  914. ==================
  915. * fixed; Dont use all toObject options in save #2340 [chetverikov](https://github.com/chetverikov)
  916. 3.9.3 / 2014-10-01
  917. =================
  918. * added; support for virtuals that return objects #2294
  919. * added; ability to manually hydrate POJOs into mongoose objects #2292
  920. * added; setDefaultsOnInsert and runValidator options for update() #860
  921. 3.8.17 / 2014-09-29
  922. ==================
  923. * fixed; use schema options retainKeyOrder in save() #2274
  924. * fixed; fix skip in populate when limit is set #2252
  925. * fixed; fix stack overflow when passing MongooseArray to findAndModify #2214
  926. * fixed; optimize .length usage in populate #2289
  927. 3.9.2 / 2014-09-08
  928. ==================
  929. * added; test coverage for browser component #2255
  930. * added; in-order execution of validators #2243
  931. * added; custom fields for validators #2132
  932. * removed; exception thrown when find() used with count() #1950
  933. 3.8.16 / 2014-09-08
  934. ==================
  935. * fixed; properly remove modified array paths if array has been overwritten #1638
  936. * fixed; key check errors #1884
  937. * fixed; make sure populate on an array always returns a Mongoose array #2214
  938. * fixed; SSL connections with node 0.11 #2234
  939. * fixed; return sensible strings for promise errors #2239
  940. 3.9.1 / 2014-08-17
  941. ==================
  942. * added; alpha version of browser-side schema validation #2254
  943. * added; support passing a function to schemas `required` field #2247
  944. * added; support for setting updatedAt and createdAt timestamps #2227
  945. * added; document.validate() returns a promise #2131
  946. 3.8.15 / 2014-08-17
  947. ==================
  948. * fixed; Replica set connection string example in docs #2246
  949. * fixed; bubble up parseError event #2229
  950. * fixed; removed buggy populate cache #2176
  951. * fixed; dont $inc versionKey if its being $set #1933
  952. * fixed; cast $or and $and in $pull #1932
  953. * fixed; properly cast to schema in stream() #1862
  954. * fixed; memory leak in nested objects #1565 #2211 [devongovett](https://github.com/devongovett)
  955. 3.8.14 / 2014-07-26
  956. ==================
  957. * fixed; stringifying MongooseArray shows nested arrays #2002
  958. * fixed; use populated doc schema in toObject and toJSON by default #2035
  959. * fixed; dont crash on arrays containing null #2140
  960. * fixed; model.update w/ upsert has same return values on .exec and promise #2143
  961. * fixed; better handling for populate limit with multiple documents #2151
  962. * fixed; dont prevent users from adding weights to text index #2183
  963. * fixed; helper for aggregation cursor #2187
  964. * updated; node-mongodb-native to 1.4.7
  965. 3.8.13 / 2014-07-15
  966. ==================
  967. * fixed; memory leak with isNew events #2159
  968. * fixed; docs for overwrite option for update() #2144
  969. * fixed; storeShard() handles dates properly #2127
  970. * fixed; sub-doc changes not getting persisted to db after save #2082
  971. * fixed; populate with _id: 0 actually removes _id instead of setting to undefined #2123
  972. * fixed; save versionKey on findOneAndUpdate w/ upsert #2122
  973. * fixed; fix typo in 2.8 docs #2120 [shakirullahi](https://github.com/shakirullahi)
  974. * fixed; support maxTimeMs #2102 [yuukinajima](https://github.com/yuukinajima)
  975. * fixed; support $currentDate #2019
  976. * fixed; $addToSet handles objects without _ids properly #1973
  977. * fixed; dont crash on invalid nearSphere query #1874
  978. 3.8.12 / 2014-05-30
  979. ==================
  980. * fixed; single-server reconnect event fires #1672
  981. * fixed; sub-docs not saved when pushed into populated array #1794
  982. * fixed; .set() sometimes converts embedded docs to pojos #1954 [archangel-irk](https://github.com/archangel-irk)
  983. * fixed; sub-doc changes not getting persisted to db after save #2082
  984. * fixed; custom getter might cause mongoose to mistakenly think a path is dirty #2100 [pgherveou](https://github.com/pgherveou)
  985. * fixed; chainable helper for allowDiskUse option in aggregation #2114
  986. 3.9.0 (unstable) / 2014-05-22
  987. ==================
  988. * changed; added `domain` to reserved keywords #1338 #2052 [antoinepairet](https://github.com/antoinepairet)
  989. * added; asynchronous post hooks #1977 #2081 [chopachom](https://github.com/chopachom) [JasonGhent](https://github.com/JasonGhent)
  990. * added; using model for population, cross-db populate [mihai-chiorean](https://github.com/mihai-chiorean)
  991. * added; can define a type for schema validators
  992. * added; `doc.remove()` returns a promise #1619 [refack](https://github.com/refack)
  993. * added; internal promises for hooks, pre-save hooks run in parallel #1732 [refack](https://github.com/refack)
  994. * fixed; geoSearch hanging when no results returned #1846 [ghartnett](https://github.com/ghartnett)
  995. * fixed; do not set .type property on ValidationError, use .kind instead #1323
  996. 3.8.11 / 2014-05-22
  997. ==================
  998. * updated; node-mongodb-native to 1.4.5
  999. * reverted; #2052, fixes #2097
  1000. 3.8.10 / 2014-05-20
  1001. ==================
  1002. * updated; node-mongodb-native to 1.4.4
  1003. * fixed; _.isEqual false negatives bug in js-bson #2070
  1004. * fixed; missing check for schema.options #2014
  1005. * fixed; missing support for $position #2024
  1006. * fixed; options object corruption #2049
  1007. * fixed; improvements to virtuals docs #2055
  1008. * fixed; added `domain` to reserved keywords #2052 #1338
  1009. 3.8.9 / 2014-05-08
  1010. ==================
  1011. * updated; mquery to 0.7.0
  1012. * updated; node-mongodb-native to 1.4.3
  1013. * fixed; $near failing against MongoDB 2.6
  1014. * fixed; relying on .options() to determine if collection exists
  1015. * fixed; $out aggregate helper
  1016. * fixed; all test failures against MongoDB 2.6.1, with caveat #2065
  1017. 3.8.8 / 2014-02-22
  1018. ==================
  1019. * fixed; saving Buffers #1914
  1020. * updated; expose connection states for user-land #1926 [yorkie](https://github.com/yorkie)
  1021. * updated; mquery to 0.5.3
  1022. * updated; added get / set to reserved path list #1903 [tstrimple](https://github.com/tstrimple)
  1023. * docs; README code highlighting, syntax fixes #1930 [IonicaBizau](https://github.com/IonicaBizau)
  1024. * docs; fixes link in the doc at #1925 [kapeels](https://github.com/kapeels)
  1025. * docs; add a missed word 'hook' for the description of the post-hook api #1924 [ipoval](https://github.com/ipoval)
  1026. 3.8.7 / 2014-02-09
  1027. ==================
  1028. * fixed; sending safe/read options in Query#exec #1895
  1029. * fixed; findOneAnd..() with sort #1887
  1030. 3.8.6 / 2014-01-30
  1031. ==================
  1032. * fixed; setting readPreferences #1895
  1033. 3.8.5 / 2014-01-23
  1034. ==================
  1035. * fixed; ssl setting when using URI #1882
  1036. * fixed; findByIdAndUpdate now respects the overwrite option #1809 [owenallenaz](https://github.com/owenallenaz)
  1037. 3.8.4 / 2014-01-07
  1038. ==================
  1039. * updated; mongodb driver to 1.3.23
  1040. * updated; mquery to 0.4.1
  1041. * updated; mpromise to 0.4.3
  1042. * fixed; discriminators now work when selecting fields #1820 [daemon1981](https://github.com/daemon1981)
  1043. * fixed; geoSearch with no results timeout #1846 [ghartnett](https://github.com/ghartnett)
  1044. * fixed; infitite recursion in ValidationError #1834 [chetverikov](https://github.com/chetverikov)
  1045. 3.8.3 / 2013-12-17
  1046. ==================
  1047. * fixed; setting empty array with model.update #1838
  1048. * docs; fix url
  1049. 3.8.2 / 2013-12-14
  1050. ==================
  1051. * fixed; enum validation of multiple values #1778 [heroicyang](https://github.com/heroicyang)
  1052. * fixed; global var leak #1803
  1053. * fixed; post remove now fires on subdocs #1810
  1054. * fixed; no longer set default empty array for geospatial-indexed fields #1668 [shirish87](https://github.com/shirish87)
  1055. * fixed; model.stream() not hydrating discriminators correctly #1792 [j](https://github.com/j)
  1056. * docs: Stablility -> Stability [nikmartin](https://github.com/nikmartin)
  1057. * tests; improve shard error handling
  1058. 3.8.1 / 2013-11-19
  1059. ==================
  1060. * fixed; mishandling of Dates with minimize/getters #1764
  1061. * fixed; Normalize bugs.email, so `npm` will shut up #1769 [refack](https://github.com/refack)
  1062. * docs; Improve the grammar where "lets us" was used #1777 [alexyoung](https://github.com/alexyoung)
  1063. * docs; Fix some grammatical issues in the documentation #1777 [alexyoung](https://github.com/alexyoung)
  1064. * docs; fix Query api exposure
  1065. * docs; fix return description
  1066. * docs; Added Notes on findAndUpdate() #1750 [sstadelman](https://github.com/sstadelman)
  1067. * docs; Update version number in README #1762 [Fodi69](https://github.com/Fodi69)
  1068. 3.8.0 / 2013-10-31
  1069. ==================
  1070. * updated; warn when using an unstable version
  1071. * updated; error message returned in doc.save() #1595
  1072. * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
  1073. * updated; mquery to 0.3.2
  1074. * updated; mocha to 1.12.0
  1075. * updated; mpromise 0.3.0
  1076. * updated; sliced 0.0.5
  1077. * removed; mongoose.Error.DocumentError (never used)
  1078. * removed; namedscope (undocumented and broken) #679 #642 #455 #379
  1079. * changed; no longer offically supporting node 0.6.x
  1080. * changed; query.within getter is now a method -> query.within()
  1081. * changed; query.intersects getter is now a method -> query.intersects()
  1082. * added; custom error msgs for built-in validators #747
  1083. * added; discriminator support #1647 #1003 [j](https://github.com/j)
  1084. * added; support disabled collection name pluralization #1350 #1707 [refack](https://github.com/refack)
  1085. * added; support for GeoJSON to Query#near [ebensing](https://github.com/ebensing)
  1086. * added; stand-alone base query support - query.toConstructor() [ebensing](https://github.com/ebensing)
  1087. * added; promise support to geoSearch #1614 [ebensing](https://github.com/ebensing)
  1088. * added; promise support for geoNear #1614 [ebensing](https://github.com/ebensing)
  1089. * added; connection.useDb() #1124 [ebensing](https://github.com/ebensing)
  1090. * added; promise support to model.mapReduce()
  1091. * added; promise support to model.ensureIndexes()
  1092. * added; promise support to model.populate()
  1093. * added; benchmarks [ebensing](https://github.com/ebensing)
  1094. * added; publicly exposed connection states #1585
  1095. * added; $geoWithin support #1529 $1455 [ebensing](https://github.com/ebensing)
  1096. * added; query method chain validation
  1097. * added; model.update `overwrite` option
  1098. * added; model.geoNear() support #1563 [ebensing](https://github.com/ebensing)
  1099. * added; model.geoSearch() support #1560 [ebensing](https://github.com/ebensing)
  1100. * added; MongooseBuffer#subtype()
  1101. * added; model.create() now returns a promise #1340
  1102. * added; support for `awaitdata` query option
  1103. * added; pass the doc to doc.remove() callback #1419 [JoeWagner](https://github.com/JoeWagner)
  1104. * added; aggregation query builder #1404 [njoyard](https://github.com/njoyard)
  1105. * fixed; document.toObject when using `minimize` and `getters` options #1607 [JedWatson](https://github.com/JedWatson)
  1106. * fixed; Mixed types can now be required #1722 [Reggino](https://github.com/Reggino)
  1107. * fixed; do not pluralize model names not ending with letters #1703 [refack](https://github.com/refack)
  1108. * fixed; repopulating modified populated paths #1697
  1109. * fixed; doc.equals() when _id option is set to false #1687
  1110. * fixed; strict mode warnings #1686
  1111. * fixed; $near GeoJSON casting #1683
  1112. * fixed; nearSphere GeoJSON query builder
  1113. * fixed; population field selection w/ strings #1669
  1114. * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
  1115. * fixed; handle another versioning edge case #1520
  1116. * fixed; excluding subdocument fields #1280 [ebensing](https://github.com/ebensing)
  1117. * fixed; allow array properties to be set to null with findOneAndUpdate [aheuermann](https://github.com/aheuermann)
  1118. * fixed; subdocuments now use own toJSON opts #1376 [ebensing](https://github.com/ebensing)
  1119. * fixed; model#geoNear fulfills promise when results empty #1658 [ebensing](https://github.com/ebensing)
  1120. * fixed; utils.merge no longer overrides props and methods #1655 [j](https://github.com/j)
  1121. * fixed; subdocuments now use their own transform #1412 [ebensing](https://github.com/ebensing)
  1122. * fixed; model.remove() removes only what is necessary #1649
  1123. * fixed; update() now only runs with cb or explicit true #1644
  1124. * fixed; casting ref docs on creation #1606 [ebensing](https://github.com/ebensing)
  1125. * fixed; model.update "overwrite" option works as documented
  1126. * fixed; query#remove() works as documented
  1127. * fixed; "limit" correctly applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
  1128. * fixed; issue with positional operator on ref docs #1572 [ebensing](https://github.com/ebensing)
  1129. * fixed; benchmarks to actually output valid json
  1130. * deprecated; promise#addBack (use promise#onResolve)
  1131. * deprecated; promise#complete (use promise#fulfill)
  1132. * deprecated; promise#addCallback (use promise#onFulFill)
  1133. * deprecated; promise#addErrback (use promise#onReject)
  1134. * deprecated; query.nearSphere() (use query.near)
  1135. * deprecated; query.center() (use query.circle)
  1136. * deprecated; query.centerSphere() (use query.circle)
  1137. * deprecated; query#slaveOk (use query#read)
  1138. * docs; custom validator messages
  1139. * docs; 10gen -> MongoDB
  1140. * docs; add Date method caveats #1598
  1141. * docs; more validation details
  1142. * docs; state which branch is stable/unstable
  1143. * docs; mention that middleware does not run on Models
  1144. * docs; promise.fulfill()
  1145. * docs; fix readme spelling #1483 [yorchopolis](https://github.com/yorchopolis)
  1146. * docs; fixed up the README and examples [ebensing](https://github.com/ebensing)
  1147. * website; add "show code" for properties
  1148. * website; move "show code" links down
  1149. * website; update guide
  1150. * website; add unstable docs
  1151. * website; many improvements
  1152. * website; fix copyright #1439
  1153. * website; server.js -> static.js #1546 [nikmartin](https://github.com/nikmartin)
  1154. * tests; refactor 1703
  1155. * tests; add test generator
  1156. * tests; validate formatMessage() throws
  1157. * tests; add script for continuously running tests
  1158. * tests; fixed versioning tests
  1159. * tests; race conditions in tests
  1160. * tests; added for nested and/or queries
  1161. * tests; close some test connections
  1162. * tests; validate db contents
  1163. * tests; remove .only
  1164. * tests; close some test connections
  1165. * tests; validate db contents
  1166. * tests; remove .only
  1167. * tests; replace deprecated method names
  1168. * tests; convert id to string
  1169. * tests; fix sharding tests for MongoDB 2.4.5
  1170. * tests; now 4-5 seconds faster
  1171. * tests; fix race condition
  1172. * make; suppress warning msg in test
  1173. * benchmarks; updated for pull requests
  1174. * examples; improved and expanded [ebensing](https://github.com/ebensing)
  1175. 3.7.4 (unstable) / 2013-10-01
  1176. =============================
  1177. * updated; mquery to 0.3.2
  1178. * removed; mongoose.Error.DocumentError (never used)
  1179. * added; custom error msgs for built-in validators #747
  1180. * added; discriminator support #1647 #1003 [j](https://github.com/j)
  1181. * added; support disabled collection name pluralization #1350 #1707 [refack](https://github.com/refack)
  1182. * fixed; do not pluralize model names not ending with letters #1703 [refack](https://github.com/refack)
  1183. * fixed; repopulating modified populated paths #1697
  1184. * fixed; doc.equals() when _id option is set to false #1687
  1185. * fixed; strict mode warnings #1686
  1186. * fixed; $near GeoJSON casting #1683
  1187. * fixed; nearSphere GeoJSON query builder
  1188. * fixed; population field selection w/ strings #1669
  1189. * docs; custom validator messages
  1190. * docs; 10gen -> MongoDB
  1191. * docs; add Date method caveats #1598
  1192. * docs; more validation details
  1193. * website; add "show code" for properties
  1194. * website; move "show code" links down
  1195. * tests; refactor 1703
  1196. * tests; add test generator
  1197. * tests; validate formatMessage() throws
  1198. 3.7.3 (unstable) / 2013-08-22
  1199. =============================
  1200. * updated; warn when using an unstable version
  1201. * updated; mquery to 0.3.1
  1202. * updated; mocha to 1.12.0
  1203. * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
  1204. * changed; no longer offically supporting node 0.6.x
  1205. * added; support for GeoJSON to Query#near [ebensing](https://github.com/ebensing)
  1206. * added; stand-alone base query support - query.toConstructor() [ebensing](https://github.com/ebensing)
  1207. * added; promise support to geoSearch #1614 [ebensing](https://github.com/ebensing)
  1208. * added; promise support for geoNear #1614 [ebensing](https://github.com/ebensing)
  1209. * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
  1210. * fixed; handle another versioning edge case #1520
  1211. * fixed; excluding subdocument fields #1280 [ebensing](https://github.com/ebensing)
  1212. * fixed; allow array properties to be set to null with findOneAndUpdate [aheuermann](https://github.com/aheuermann)
  1213. * fixed; subdocuments now use own toJSON opts #1376 [ebensing](https://github.com/ebensing)
  1214. * fixed; model#geoNear fulfills promise when results empty #1658 [ebensing](https://github.com/ebensing)
  1215. * fixed; utils.merge no longer overrides props and methods #1655 [j](https://github.com/j)
  1216. * fixed; subdocuments now use their own transform #1412 [ebensing](https://github.com/ebensing)
  1217. * make; suppress warning msg in test
  1218. * docs; state which branch is stable/unstable
  1219. * docs; mention that middleware does not run on Models
  1220. * tests; add script for continuously running tests
  1221. * tests; fixed versioning tests
  1222. * benchmarks; updated for pull requests
  1223. 3.7.2 (unstable) / 2013-08-15
  1224. ==================
  1225. * fixed; model.remove() removes only what is necessary #1649
  1226. * fixed; update() now only runs with cb or explicit true #1644
  1227. * tests; race conditions in tests
  1228. * website; update guide
  1229. 3.7.1 (unstable) / 2013-08-13
  1230. =============================
  1231. * updated; driver to 1.3.18 (fixes memory leak)
  1232. * added; connection.useDb() #1124 [ebensing](https://github.com/ebensing)
  1233. * added; promise support to model.mapReduce()
  1234. * added; promise support to model.ensureIndexes()
  1235. * added; promise support to model.populate()
  1236. * fixed; casting ref docs on creation #1606 [ebensing](https://github.com/ebensing)
  1237. * fixed; model.update "overwrite" option works as documented
  1238. * fixed; query#remove() works as documented
  1239. * fixed; "limit" correctly applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
  1240. * fixed; issue with positional operator on ref docs #1572 [ebensing](https://github.com/ebensing)
  1241. * fixed; benchmarks to actually output valid json
  1242. * tests; added for nested and/or queries
  1243. * tests; close some test connections
  1244. * tests; validate db contents
  1245. * tests; remove .only
  1246. * tests; close some test connections
  1247. * tests; validate db contents
  1248. * tests; remove .only
  1249. * tests; replace deprecated method names
  1250. * tests; convert id to string
  1251. * docs; promise.fulfill()
  1252. 3.7.0 (unstable) / 2013-08-05
  1253. ===================
  1254. * changed; query.within getter is now a method -> query.within()
  1255. * changed; query.intersects getter is now a method -> query.intersects()
  1256. * deprecated; promise#addBack (use promise#onResolve)
  1257. * deprecated; promise#complete (use promise#fulfill)
  1258. * deprecated; promise#addCallback (use promise#onFulFill)
  1259. * deprecated; promise#addErrback (use promise#onReject)
  1260. * deprecated; query.nearSphere() (use query.near)
  1261. * deprecated; query.center() (use query.circle)
  1262. * deprecated; query.centerSphere() (use query.circle)
  1263. * deprecated; query#slaveOk (use query#read)
  1264. * removed; namedscope (undocumented and broken) #679 #642 #455 #379
  1265. * added; benchmarks [ebensing](https://github.com/ebensing)
  1266. * added; publicly exposed connection states #1585
  1267. * added; $geoWithin support #1529 $1455 [ebensing](https://github.com/ebensing)
  1268. * added; query method chain validation
  1269. * added; model.update `overwrite` option
  1270. * added; model.geoNear() support #1563 [ebensing](https://github.com/ebensing)
  1271. * added; model.geoSearch() support #1560 [ebensing](https://github.com/ebensing)
  1272. * added; MongooseBuffer#subtype()
  1273. * added; model.create() now returns a promise #1340
  1274. * added; support for `awaitdata` query option
  1275. * added; pass the doc to doc.remove() callback #1419 [JoeWagner](https://github.com/JoeWagner)
  1276. * added; aggregation query builder #1404 [njoyard](https://github.com/njoyard)
  1277. * updated; integrate mquery #1562 [ebensing](https://github.com/ebensing)
  1278. * updated; error msg in doc.save() #1595
  1279. * updated; bump driver to 1.3.15
  1280. * updated; mpromise 0.3.0
  1281. * updated; sliced 0.0.5
  1282. * tests; fix sharding tests for MongoDB 2.4.5
  1283. * tests; now 4-5 seconds faster
  1284. * tests; fix race condition
  1285. * docs; fix readme spelling #1483 [yorchopolis](https://github.com/yorchopolis)
  1286. * docs; fixed up the README and examples [ebensing](https://github.com/ebensing)
  1287. * website; add unstable docs
  1288. * website; many improvements
  1289. * website; fix copyright #1439
  1290. * website; server.js -> static.js #1546 [nikmartin](https://github.com/nikmartin)
  1291. * examples; improved and expanded [ebensing](https://github.com/ebensing)
  1292. 3.6.20 (stable) / 2013-09-23
  1293. ===================
  1294. * fixed; repopulating modified populated paths #1697
  1295. * fixed; doc.equals w/ _id false #1687
  1296. * fixed; strict mode warning #1686
  1297. * docs; near/nearSphere
  1298. 3.6.19 (stable) / 2013-09-04
  1299. ==================
  1300. * fixed; population field selection w/ strings #1669
  1301. * docs; Date method caveats #1598
  1302. 3.6.18 (stable) / 2013-08-22
  1303. ===================
  1304. * updated; warn when using an unstable version of mongoose
  1305. * updated; mocha to 1.12.0
  1306. * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
  1307. * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
  1308. * fixed; properly exclude subdocument fields #1280 [ebensing](https://github.com/ebensing)
  1309. * fixed; cast error in findAndModify #1643 [aheuermann](https://github.com/aheuermann)
  1310. * website; update guide
  1311. * website; added documentation for safe:false and versioning interaction
  1312. * docs; mention that middleware dont run on Models
  1313. * docs; fix indexes link
  1314. * make; suppress warning msg in test
  1315. * tests; moar
  1316. 3.6.17 / 2013-08-13
  1317. ===================
  1318. * updated; driver to 1.3.18 (fixes memory leak)
  1319. * fixed; casting ref docs on creation #1606
  1320. * docs; query options
  1321. 3.6.16 / 2013-08-08
  1322. ===================
  1323. * added; publicly expose connection states #1585
  1324. * fixed; limit applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
  1325. * fixed; positional operator casting in updates #1572 [ebensing](https://github.com/ebensing)
  1326. * updated; MongoDB driver to 1.3.17
  1327. * updated; sliced to 0.0.5
  1328. * website; tweak homepage
  1329. * tests; fixed + added
  1330. * docs; fix some examples
  1331. * docs; multi-mongos support details
  1332. * docs; auto open browser after starting static server
  1333. 3.6.15 / 2013-07-16
  1334. ==================
  1335. * added; mongos failover support #1037
  1336. * updated; make schematype return vals return self #1580
  1337. * docs; add note to model.update #571
  1338. * docs; document third param to document.save callback #1536
  1339. * tests; tweek mongos test timeout
  1340. 3.6.14 / 2013-07-05
  1341. ===================
  1342. * updated; driver to 1.3.11
  1343. * fixed; issue with findOneAndUpdate not returning null on upserts #1533 [ebensing](https://github.com/ebensing)
  1344. * fixed; missing return statement in SchemaArray#$geoIntersects() #1498 [bsrykt](https://github.com/bsrykt)
  1345. * fixed; wrong isSelected() behavior #1521 [kyano](https://github.com/kyano)
  1346. * docs; note about toObject behavior during save()
  1347. * docs; add callbacks details #1547 [nikmartin](https://github.com/nikmartin)
  1348. 3.6.13 / 2013-06-27
  1349. ===================
  1350. * fixed; calling model.distinct without conditions #1541
  1351. * fixed; regression in Query#count() #1542
  1352. * now working on 3.6.13
  1353. 3.6.12 / 2013-06-25
  1354. ===================
  1355. * updated; driver to 1.3.10
  1356. * updated; clearer capped collection error message #1509 [bitmage](https://github.com/bitmage)
  1357. * fixed; MongooseBuffer subtype loss during casting #1517 [zedgu](https://github.com/zedgu)
  1358. * fixed; docArray#id when doc.id is disabled #1492
  1359. * fixed; docArray#id now supports matches on populated arrays #1492 [pgherveou](https://github.com/pgherveou)
  1360. * website; fix example
  1361. * website; improve _id disabling example
  1362. * website; fix typo #1494 [dejj](https://github.com/dejj)
  1363. * docs; added a 'Requesting new features' section #1504 [shovon](https://github.com/shovon)
  1364. * docs; improve subtypes description
  1365. * docs; clarify _id disabling
  1366. * docs: display by alphabetical order the methods list #1508 [nicolasleger](https://github.com/nicolasleger)
  1367. * tests; refactor isSelected checks
  1368. * tests; remove pointless test
  1369. * tests; fixed timeouts
  1370. 3.6.11 / 2013-05-15
  1371. ===================
  1372. * updated; driver to 1.3.5
  1373. * fixed; compat w/ Object.create(null) #1484 #1485
  1374. * fixed; cloning objects w/ missing constructors
  1375. * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
  1376. * docs; add doc.increment() example
  1377. * docs; add $size example
  1378. * docs; add "distinct" example
  1379. 3.6.10 / 2013-05-09
  1380. ==================
  1381. * update driver to 1.3.3
  1382. * fixed; increment() works without other changes #1475
  1383. * website; fix links to posterous
  1384. * docs; fix link #1472
  1385. 3.6.9 / 2013-05-02
  1386. ==================
  1387. * fixed; depopulation of mixed documents #1471
  1388. * fixed; use of $options in array #1462
  1389. * tests; fix race condition
  1390. * docs; fix default example
  1391. 3.6.8 / 2013-04-25
  1392. ==================
  1393. * updated; driver to 1.3.0
  1394. * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
  1395. * tests; 4-5 seconds faster
  1396. 3.6.7 / 2013-04-19
  1397. ==================
  1398. * fixed; population regression in 3.6.6 #1444
  1399. 3.6.6 / 2013-04-18
  1400. ==================
  1401. * fixed; saving populated new documents #1442
  1402. * fixed; population regession in 3.6.5 #1441
  1403. * website; fix copyright #1439
  1404. 3.6.5 / 2013-04-15
  1405. ==================
  1406. * fixed; strict:throw edge case using .set(path, val)
  1407. * fixed; schema.pathType() on some numbericAlpha paths
  1408. * fixed; numbericAlpha path versioning
  1409. * fixed; setting nested mixed paths #1418
  1410. * fixed; setting nested objects with null prop #1326
  1411. * fixed; regression in v3.6 population performance #1426 [vedmalex](https://github.com/vedmalex)
  1412. * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
  1413. * docs; fix method example
  1414. * website; update faq
  1415. * website; add more deep links
  1416. * website; update poolSize docs
  1417. * website; add 3.6 release notes
  1418. * website; note about keepAlive
  1419. 3.6.4 / 2013-04-03
  1420. ==================
  1421. * fixed; +field conflict with $slice #1370
  1422. * fixed; nested deselection conflict #1333
  1423. * fixed; RangeError in ValidationError.toString() #1296
  1424. * fixed; do not save user defined transforms #1415
  1425. * tests; fix race condition
  1426. 3.6.3 / 2013-04-02
  1427. ==================
  1428. * fixed; setting subdocuments deeply nested fields #1394
  1429. * fixed; regression: populated streams #1411
  1430. * docs; mention hooks/validation with findAndModify
  1431. * docs; mention auth
  1432. * docs; add more links
  1433. * examples; add document methods example
  1434. * website; display "see" links for properties
  1435. * website; clean up homepage
  1436. 3.6.2 / 2013-03-29
  1437. ==================
  1438. * fixed; corrupted sub-doc array #1408
  1439. * fixed; document#update returns a Query #1397
  1440. * docs; readpref strategy
  1441. 3.6.1 / 2013-03-27
  1442. ==================
  1443. * added; populate support to findAndModify varients #1395
  1444. * added; text index type to schematypes
  1445. * expose allowed index types as Schema.indexTypes
  1446. * fixed; use of `setMaxListeners` as path
  1447. * fixed; regression in node 0.6 on docs with > 10 arrays
  1448. * fixed; do not alter schema arguments #1364
  1449. * fixed; subdoc#ownerDocument() #1385
  1450. * website; change search id
  1451. * website; add search from google [jackdbernier](https://github.com/jackdbernier)
  1452. * website; fix link
  1453. * website; add 3.5.x docs release
  1454. * website; fix link
  1455. * docs; fix geometry
  1456. * docs; hide internal constructor
  1457. * docs; aggregation does not cast arguments #1399
  1458. * docs; querystream options
  1459. * examples; added for population
  1460. 3.6.0 / 2013-03-18
  1461. ==================
  1462. * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
  1463. * changed; Buffer arrays can now contain nulls
  1464. * added; QueryStream transform option
  1465. * added; support for authSource driver option
  1466. * added; {mongoose,db}.modelNames()
  1467. * added; $push w/ $slice,$sort support (MongoDB 2.4)
  1468. * added; hashed index type (MongoDB 2.4)
  1469. * added; support for mongodb 2.4 geojson (MongoDB 2.4)
  1470. * added; value at time of validation error
  1471. * added; support for object literal schemas
  1472. * added; bufferCommands schema option
  1473. * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
  1474. * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
  1475. * added; allow adding uncasted docs to populated arrays and properties #570
  1476. * added; doc#populated(path) stores original populated _ids
  1477. * added; lean population #1260
  1478. * added; query.populate() now accepts an options object
  1479. * added; document#populate(opts, callback)
  1480. * added; Model.populate(docs, opts, callback)
  1481. * added; support for rich nested path population
  1482. * added; doc.array.remove(value) subdoc with _id value support #1278
  1483. * added; optionally allow non-strict sets and updates
  1484. * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
  1485. * added; promise#then
  1486. * added; promise#end
  1487. * fixed; use of `model` as doc property
  1488. * fixed; lean population #1382
  1489. * fixed; empty object mixed defaults #1380
  1490. * fixed; populate w/ deselected _id using string syntax
  1491. * fixed; attempted save of divergent populated arrays #1334 related
  1492. * fixed; better error msg when attempting toObject as property name
  1493. * fixed; non population buffer casting from doc
  1494. * fixed; setting populated paths #570
  1495. * fixed; casting when added docs to populated arrays #570
  1496. * fixed; prohibit updating arrays selected with $elemMatch #1334
  1497. * fixed; pull / set subdoc combination #1303
  1498. * fixed; multiple bg index creation #1365
  1499. * fixed; manual reconnection to single mongod
  1500. * fixed; Constructor / version exposure #1124
  1501. * fixed; CastError race condition
  1502. * fixed; no longer swallowing misuse of subdoc#invalidate()
  1503. * fixed; utils.clone retains RegExp opts
  1504. * fixed; population of non-schema property
  1505. * fixed; allow updating versionKey #1265
  1506. * fixed; add EventEmitter props to reserved paths #1338
  1507. * fixed; can now deselect populated doc _ids #1331
  1508. * fixed; properly pass subtype to Binary in MongooseBuffer
  1509. * fixed; casting _id from document with non-ObjectId _id
  1510. * fixed; specifying schema type edge case { path: [{type: "String" }] }
  1511. * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
  1512. * updated; driver to 1.2.14
  1513. * updated; muri to 0.3.1
  1514. * updated; mpromise to 0.2.1
  1515. * updated; mocha 1.8.1
  1516. * updated; mpath to 0.1.1
  1517. * deprecated; pluralization will die in 4.x
  1518. * refactor; rename private methods to something unusable as doc properties
  1519. * refactor MongooseArray#remove
  1520. * refactor; move expires index to SchemaDate #1328
  1521. * refactor; internal document properties #1171 #1184
  1522. * tests; added
  1523. * docs; indexes
  1524. * docs; validation
  1525. * docs; populate
  1526. * docs; populate
  1527. * docs; add note about stream compatibility with node 0.8
  1528. * docs; fix for private names
  1529. * docs; Buffer -> mongodb.Binary #1363
  1530. * docs; auth options
  1531. * docs; improved
  1532. * website; update FAQ
  1533. * website; add more api links
  1534. * website; add 3.5.x docs to prior releases
  1535. * website; Change mongoose-types to an active repo [jackdbernier](https://github.com/jackdbernier)
  1536. * website; compat with node 0.10
  1537. * website; add news section
  1538. * website; use T for generic type
  1539. * benchmark; make adjustable
  1540. 3.6.0rc1 / 2013-03-12
  1541. ======================
  1542. * refactor; rename private methods to something unusable as doc properties
  1543. * added; {mongoose,db}.modelNames()
  1544. * added; $push w/ $slice,$sort support (MongoDB 2.4)
  1545. * added; hashed index type (MongoDB 2.4)
  1546. * added; support for mongodb 2.4 geojson (MongoDB 2.4)
  1547. * added; value at time of validation error
  1548. * added; support for object literal schemas
  1549. * added; bufferCommands schema option
  1550. * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
  1551. * fixed; lean population #1382
  1552. * fixed; empty object mixed defaults #1380
  1553. * fixed; populate w/ deselected _id using string syntax
  1554. * fixed; attempted save of divergent populated arrays #1334 related
  1555. * fixed; better error msg when attempting toObject as property name
  1556. * fixed; non population buffer casting from doc
  1557. * fixed; setting populated paths #570
  1558. * fixed; casting when added docs to populated arrays #570
  1559. * fixed; prohibit updating arrays selected with $elemMatch #1334
  1560. * fixed; pull / set subdoc combination #1303
  1561. * fixed; multiple bg index creation #1365
  1562. * fixed; manual reconnection to single mongod
  1563. * fixed; Constructor / version exposure #1124
  1564. * fixed; CastError race condition
  1565. * fixed; no longer swallowing misuse of subdoc#invalidate()
  1566. * fixed; utils.clone retains RegExp opts
  1567. * fixed; population of non-schema property
  1568. * fixed; allow updating versionKey #1265
  1569. * fixed; add EventEmitter props to reserved paths #1338
  1570. * fixed; can now deselect populated doc _ids #1331
  1571. * updated; muri to 0.3.1
  1572. * updated; driver to 1.2.12
  1573. * updated; mpromise to 0.2.1
  1574. * deprecated; pluralization will die in 4.x
  1575. * docs; Buffer -> mongodb.Binary #1363
  1576. * docs; auth options
  1577. * docs; improved
  1578. * website; add news section
  1579. * benchmark; make adjustable
  1580. 3.6.0rc0 / 2013-02-03
  1581. ======================
  1582. * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
  1583. * changed; Buffer arrays can now contain nulls
  1584. * fixed; properly pass subtype to Binary in MongooseBuffer
  1585. * fixed; casting _id from document with non-ObjectId _id
  1586. * fixed; specifying schema type edge case { path: [{type: "String" }] }
  1587. * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
  1588. * refactor; move expires index to SchemaDate #1328
  1589. * refactor; internal document properties #1171 #1184
  1590. * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
  1591. * added; allow adding uncasted docs to populated arrays and properties #570
  1592. * added; doc#populated(path) stores original populated _ids
  1593. * added; lean population #1260
  1594. * added; query.populate() now accepts an options object
  1595. * added; document#populate(opts, callback)
  1596. * added; Model.populate(docs, opts, callback)
  1597. * added; support for rich nested path population
  1598. * added; doc.array.remove(value) subdoc with _id value support #1278
  1599. * added; optionally allow non-strict sets and updates
  1600. * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
  1601. * added; promise#then
  1602. * added; promise#end
  1603. * updated; mocha 1.8.1
  1604. * updated; muri to 0.3.0
  1605. * updated; mpath to 0.1.1
  1606. * updated; docs
  1607. 3.5.16 / 2013-08-13
  1608. ===================
  1609. * updated; driver to 1.3.18
  1610. 3.5.15 / 2013-07-26
  1611. ==================
  1612. * updated; sliced to 0.0.5
  1613. * updated; driver to 1.3.12
  1614. * fixed; regression in Query#count() due to driver change
  1615. * tests; fixed timeouts
  1616. * tests; handle differing test uris
  1617. 3.5.14 / 2013-05-15
  1618. ===================
  1619. * updated; driver to 1.3.5
  1620. * fixed; compat w/ Object.create(null) #1484 #1485
  1621. * fixed; cloning objects missing constructors
  1622. * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
  1623. 3.5.13 / 2013-05-09
  1624. ==================
  1625. * update driver to 1.3.3
  1626. * fixed; use of $options in array #1462
  1627. 3.5.12 / 2013-04-25
  1628. ===================
  1629. * updated; driver to 1.3.0
  1630. * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
  1631. * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
  1632. 3.5.11 / 2013-04-03
  1633. ==================
  1634. * fixed; +field conflict with $slice #1370
  1635. * fixed; RangeError in ValidationError.toString() #1296
  1636. * fixed; nested deselection conflict #1333
  1637. * remove time from Makefile
  1638. 3.5.10 / 2013-04-02
  1639. ==================
  1640. * fixed; setting subdocuments deeply nested fields #1394
  1641. * fixed; do not alter schema arguments #1364
  1642. 3.5.9 / 2013-03-15
  1643. ==================
  1644. * updated; driver to 1.2.14
  1645. * added; support for authSource driver option (mongodb 2.4)
  1646. * added; QueryStream transform option (node 0.10 helper)
  1647. * fixed; backport for saving required populated buffers
  1648. * fixed; pull / set subdoc combination #1303
  1649. * fixed; multiple bg index creation #1365
  1650. * test; added for saveable required populated buffers
  1651. * test; added for #1365
  1652. * test; add authSource test
  1653. 3.5.8 / 2013-03-12
  1654. ==================
  1655. * added; auth option in connection [geoah](https://github.com/geoah)
  1656. * fixed; CastError race condition
  1657. * docs; add note about stream compatibility with node 0.8
  1658. 3.5.7 / 2013-02-22
  1659. ==================
  1660. * updated; driver to 1.2.13
  1661. * updated; muri to 0.3.1 #1347
  1662. * fixed; utils.clone retains RegExp opts #1355
  1663. * fixed; deepEquals RegExp support
  1664. * tests; fix a connection test
  1665. * website; clean up docs [afshinm](https://github.com/afshinm)
  1666. * website; update homepage
  1667. * website; migragtion: emphasize impact of strict docs #1264
  1668. 3.5.6 / 2013-02-14
  1669. ==================
  1670. * updated; driver to 1.2.12
  1671. * fixed; properly pass Binary subtype
  1672. * fixed; add EventEmitter props to reserved paths #1338
  1673. * fixed; use correct node engine version
  1674. * fixed; display empty docs as {} in log output #953 follow up
  1675. * improved; "bad $within $box argument" error message
  1676. * populate; add unscientific benchmark
  1677. * website; add stack overflow to help section
  1678. * website; use better code font #1336 [risseraka](https://github.com/risseraka)
  1679. * website; clarify where help is available
  1680. * website; fix source code links #1272 [floatingLomas](https://github.com/floatingLomas)
  1681. * docs; be specific about _id schema option #1103
  1682. * docs; add ensureIndex error handling example
  1683. * docs; README
  1684. * docs; CONTRIBUTING.md
  1685. 3.5.5 / 2013-01-29
  1686. ==================
  1687. * updated; driver to 1.2.11
  1688. * removed; old node < 0.6x shims
  1689. * fixed; documents with Buffer _ids equality
  1690. * fixed; MongooseBuffer properly casts numbers
  1691. * fixed; reopening closed connection on alt host/port #1287
  1692. * docs; fixed typo in Readme #1298 [rened](https://github.com/rened)
  1693. * docs; fixed typo in migration docs [Prinzhorn](https://github.com/Prinzhorn)
  1694. * docs; fixed incorrect annotation in SchemaNumber#min [bilalq](https://github.com/bilalq)
  1695. * docs; updated
  1696. 3.5.4 / 2013-01-07
  1697. ==================
  1698. * changed; "_pres" & "_posts" are now reserved pathnames #1261
  1699. * updated; driver to 1.2.8
  1700. * fixed; exception when reopening a replica set. #1263 [ethankan](https://github.com/ethankan)
  1701. * website; updated
  1702. 3.5.3 / 2012-12-26
  1703. ==================
  1704. * added; support for geo object notation #1257
  1705. * fixed; $within query casting with arrays
  1706. * fixed; unix domain socket support #1254
  1707. * updated; driver to 1.2.7
  1708. * updated; muri to 0.0.5
  1709. 3.5.2 / 2012-12-17
  1710. ==================
  1711. * fixed; using auth with replica sets #1253
  1712. 3.5.1 / 2012-12-12
  1713. ==================
  1714. * fixed; regression when using subdoc with `path` as pathname #1245 [daeq](https://github.com/daeq)
  1715. * fixed; safer db option checks
  1716. * updated; driver to 1.2.5
  1717. * website; add more examples
  1718. * website; clean up old docs
  1719. * website; fix prev release urls
  1720. * docs; clarify streaming with HTTP responses
  1721. 3.5.0 / 2012-12-10
  1722. ==================
  1723. * added; paths to CastErrors #1239
  1724. * added; support for mongodb connection string spec #1187
  1725. * added; post validate event
  1726. * added; Schema#get (to retrieve schema options)
  1727. * added; VersionError #1071
  1728. * added; npmignore [hidekiy](https://github.com/hidekiy)
  1729. * update; driver to 1.2.3
  1730. * fixed; stackoverflow in setter #1234
  1731. * fixed; utils.isObject()
  1732. * fixed; do not clobber user specified driver writeConcern #1227
  1733. * fixed; always pass current document to post hooks
  1734. * fixed; throw error when user attempts to overwrite a model
  1735. * fixed; connection.model only caches on connection #1209
  1736. * fixed; respect conn.model() creation when matching global model exists #1209
  1737. * fixed; passing model name + collection name now always honors collection name
  1738. * fixed; setting virtual field to an empty object #1154
  1739. * fixed; subclassed MongooseErrors exposure, now available in mongoose.Error.xxxx
  1740. * fixed; model.remove() ignoring callback when executed twice [daeq](https://github.com/daeq) #1210
  1741. * docs; add collection option to schema api docs #1222
  1742. * docs; NOTE about db safe options
  1743. * docs; add post hooks docs
  1744. * docs; connection string options
  1745. * docs; middleware is not executed with Model.remove #1241
  1746. * docs; {g,s}etter introspection #777
  1747. * docs; update validation docs
  1748. * docs; add link to plugins page
  1749. * docs; clarify error returned by unique indexes #1225
  1750. * docs; more detail about disabling autoIndex behavior
  1751. * docs; add homepage section to package (npm docs mongoose)
  1752. * docs; more detail around collection name pluralization #1193
  1753. * website; add .important css
  1754. * website; update models page
  1755. * website; update getting started
  1756. * website; update quick start
  1757. 3.4.0 / 2012-11-10
  1758. ==================
  1759. * added; support for generic toJSON/toObject transforms #1160 #1020 #1197
  1760. * added; doc.set() merge support #1148 [NuORDER](https://github.com/NuORDER)
  1761. * added; query#add support #1188 [aleclofabbro](https://github.com/aleclofabbro)
  1762. * changed; adding invalid nested paths to non-objects throws 4216f14
  1763. * changed; fixed; stop invalid function cloning (internal fix)
  1764. * fixed; add query $and casting support #1180 [anotheri](https://github.com/anotheri)
  1765. * fixed; overwriting of query arguments #1176
  1766. * docs; fix expires examples
  1767. * docs; transforms
  1768. * docs; schema `collection` option docs [hermanjunge](https://github.com/hermanjunge)
  1769. * website; updated
  1770. * tests; added
  1771. 3.3.1 / 2012-10-11
  1772. ==================
  1773. * fixed; allow goose.connect(uris, dbname, opts) #1144
  1774. * docs; persist API private checked state across page loads
  1775. 3.3.0 / 2012-10-10
  1776. ==================
  1777. * fixed; passing options as 2nd arg to connect() #1144
  1778. * fixed; race condition after no-op save #1139
  1779. * fixed; schema field selection application in findAndModify #1150
  1780. * fixed; directly setting arrays #1126
  1781. * updated; driver to 1.1.11
  1782. * updated; collection pluralization rules [mrickard](https://github.com/mrickard)
  1783. * tests; added
  1784. * docs; updated
  1785. 3.2.2 / 2012-10-08
  1786. ==================
  1787. * updated; driver to 1.1.10 #1143
  1788. * updated; use sliced 0.0.3
  1789. * fixed; do not recast embedded docs unnecessarily
  1790. * fixed; expires schema option helper #1132
  1791. * fixed; built in string setters #1131
  1792. * fixed; debug output for Dates/ObjectId properties #1129
  1793. * docs; fixed Javascript syntax error in example [olalonde](https://github.com/olalonde)
  1794. * docs; fix toJSON example #1137
  1795. * docs; add ensureIndex production notes
  1796. * docs; fix spelling
  1797. * docs; add blogposts about v3
  1798. * website; updated
  1799. * removed; undocumented inGroupsOf util
  1800. * tests; added
  1801. 3.2.1 / 2012-09-28
  1802. ==================
  1803. * fixed; remove query batchSize option default of 1000 https://github.com/learnboost/mongoose/commit/3edaa8651
  1804. * docs; updated
  1805. * website; updated
  1806. 3.2.0 / 2012-09-27
  1807. ==================
  1808. * added; direct array index assignment with casting support `doc.array.set(index, value)`
  1809. * fixed; QueryStream#resume within same tick as pause() #1116
  1810. * fixed; default value validatation #1109
  1811. * fixed; array splice() not casting #1123
  1812. * fixed; default array construction edge case #1108
  1813. * fixed; query casting for inequalities in arrays #1101 [dpatti](https://github.com/dpatti)
  1814. * tests; added
  1815. * website; more documentation
  1816. * website; fixed layout issue #1111 [SlashmanX](https://github.com/SlashmanX)
  1817. * website; refactored [guille](https://github.com/guille)
  1818. 3.1.2 / 2012-09-10
  1819. ==================
  1820. * added; ReadPreferrence schema option #1097
  1821. * updated; driver to 1.1.7
  1822. * updated; default query batchSize to 1000
  1823. * fixed; we now cast the mapReduce query option #1095
  1824. * fixed; $elemMatch+$in with field selection #1091
  1825. * fixed; properly cast $elemMatch+$in conditions #1100
  1826. * fixed; default field application of subdocs #1027
  1827. * fixed; querystream prematurely dying #1092
  1828. * fixed; querystream never resumes when paused at getMore boundries #1092
  1829. * fixed; querystream occasionally emits data events after destroy #1092
  1830. * fixed; remove unnecessary ObjectId creation in querystream
  1831. * fixed; allow ne(boolean) again #1093
  1832. * docs; add populate/field selection syntax notes
  1833. * docs; add toObject/toJSON options detail
  1834. * docs; `read` schema option
  1835. 3.1.1 / 2012-08-31
  1836. ==================
  1837. * updated; driver to 1.1.6
  1838. 3.1.0 / 2012-08-29
  1839. ==================
  1840. * changed; fixed; directly setting nested objects now overwrites entire object (previously incorrectly merged them)
  1841. * added; read pref support (mongodb 2.2) 205a709c
  1842. * added; aggregate support (mongodb 2.2) f3a5bd3d
  1843. * added; virtual {g,s}etter introspection (#1070)
  1844. * updated; docs [brettz9](https://github.com/brettz9)
  1845. * updated; driver to 1.1.5
  1846. * fixed; retain virtual setter return values (#1069)
  1847. 3.0.3 / 2012-08-23
  1848. ==================
  1849. * fixed; use of nested paths beginning w/ numbers #1062
  1850. * fixed; query population edge case #1053 #1055 [jfremy](https://github.com/jfremy)
  1851. * fixed; simultaneous top and sub level array modifications #1073
  1852. * added; id and _id schema option aliases + tests
  1853. * improve debug formatting to allow copy/paste logged queries into mongo shell [eknkc](https://github.com/eknkc)
  1854. * docs
  1855. 3.0.2 / 2012-08-17
  1856. ==================
  1857. * added; missing support for v3 sort/select syntax to findAndModify helpers (#1058)
  1858. * fixed; replset fullsetup event emission
  1859. * fixed; reconnected event for replsets
  1860. * fixed; server reconnection setting discovery
  1861. * fixed; compat with non-schema path props using positional notation (#1048)
  1862. * fixed; setter/casting order (#665)
  1863. * docs; updated
  1864. 3.0.1 / 2012-08-11
  1865. ==================
  1866. * fixed; throw Error on bad validators (1044)
  1867. * fixed; typo in EmbeddedDocument#parentArray [lackac]
  1868. * fixed; repair mongoose.SchemaTypes alias
  1869. * updated; docs
  1870. 3.0.0 / 2012-08-07
  1871. ==================
  1872. * removed; old subdocument#commit method
  1873. * fixed; setting arrays of matching docs [6924cbc2]
  1874. * fixed; doc!remove event now emits in save order as save for consistency
  1875. * fixed; pre-save hooks no longer fire on subdocuments when validation fails
  1876. * added; subdoc#parent() and subdoc#parentArray() to access subdocument parent objects
  1877. * added; query#lean() helper
  1878. 3.0.0rc0 / 2012-08-01
  1879. =====================
  1880. * fixed; allow subdoc literal declarations containing "type" pathname (#993)
  1881. * fixed; unsetting a default array (#758)
  1882. * fixed; boolean $in queries (#998)
  1883. * fixed; allow use of `options` as a pathname (#529)
  1884. * fixed; `model` is again a permitted schema path name
  1885. * fixed; field selection option on subdocs (#1022)
  1886. * fixed; handle another edge case with subdoc saving (#975)
  1887. * added; emit save err on model if listening
  1888. * added; MongoDB TTL collection support (#1006)
  1889. * added; $center options support
  1890. * added; $nearSphere and $polygon support
  1891. * updated; driver version to 1.1.2
  1892. 3.0.0alpha2 / 2012-07-18
  1893. =========================
  1894. * changed; index errors are now emitted on their model and passed to an optional callback (#984)
  1895. * fixed; specifying index along with sparse/unique option no longer overwrites (#1004)
  1896. * fixed; never swallow connection errors (#618)
  1897. * fixed; creating object from model with emded object no longer overwrites defaults [achurkin] (#859)
  1898. * fixed; stop needless validation of unchanged/unselected fields (#891)
  1899. * fixed; document#equals behavior of objectids (#974)
  1900. * fixed; honor the minimize schema option (#978)
  1901. * fixed; provide helpful error msgs when reserved schema path is used (#928)
  1902. * fixed; callback to conn#disconnect is optional (#875)
  1903. * fixed; handle missing protocols in connection urls (#987)
  1904. * fixed; validate args to query#where (#969)
  1905. * fixed; saving modified/removed subdocs (#975)
  1906. * fixed; update with $pull from Mixed array (#735)
  1907. * fixed; error with null shard key value
  1908. * fixed; allow unsetting enums (#967)
  1909. * added; support for manual index creation (#984)
  1910. * added; support for disabled auto-indexing (#984)
  1911. * added; support for preserving MongooseArray#sort changes (#752)
  1912. * added; emit state change events on connection
  1913. * added; support for specifying BSON subtype in MongooseBuffer#toObject [jcrugzz]
  1914. * added; support for disabled versioning (#977)
  1915. * added; implicit "new" support for models and Schemas
  1916. 3.0.0alpha1 / 2012-06-15
  1917. =========================
  1918. * removed; doc#commit (use doc#markModified)
  1919. * removed; doc.modified getter (#950)
  1920. * removed; mongoose{connectSet,createSetConnection}. use connect,createConnection instead
  1921. * removed; query alias methods 1149804c
  1922. * removed; MongooseNumber
  1923. * changed; now creating indexes in background by default
  1924. * changed; strict mode now enabled by default (#952)
  1925. * changed; doc#modifiedPaths is now a method (#950)
  1926. * changed; getters no longer cast (#820); casting happens during set
  1927. * fixed; no need to pass updateArg to findOneAndUpdate (#931)
  1928. * fixed: utils.merge bug when merging nested non-objects. [treygriffith]
  1929. * fixed; strict:throw should produce errors in findAndModify (#963)
  1930. * fixed; findAndUpdate no longer overwrites document (#962)
  1931. * fixed; setting default DocumentArrays (#953)
  1932. * fixed; selection of _id with schema deselection (#954)
  1933. * fixed; ensure promise#error emits instanceof Error
  1934. * fixed; CursorStream: No stack overflow on any size result (#929)
  1935. * fixed; doc#remove now passes safe options
  1936. * fixed; invalid use of $set during $pop
  1937. * fixed; array#{$pop,$shift} mirror MongoDB behavior
  1938. * fixed; no longer test non-required vals in string match (#934)
  1939. * fixed; edge case with doc#inspect
  1940. * fixed; setter order (#665)
  1941. * fixed; setting invalid paths in strict mode (#916)
  1942. * fixed; handle docs without id in DocumentArray#id method (#897)
  1943. * fixed; do not save virtuals during model.update (#894)
  1944. * fixed; sub doc toObject virtuals application (#889)
  1945. * fixed; MongooseArray#pull of ObjectId (#881)
  1946. * fixed; handle passing db name with any repl set string
  1947. * fixed; default application of selected fields (#870)
  1948. * fixed; subdoc paths reported in validation errors (#725)
  1949. * fixed; incorrect reported num of affected docs in update ops (#862)
  1950. * fixed; connection assignment in Model#model (#853)
  1951. * fixed; stringifying arrays of docs (#852)
  1952. * fixed; modifying subdoc and parent array works (#842)
  1953. * fixed; passing undefined to next hook (#785)
  1954. * fixed; Query#{update,remove}() works without callbacks (#788)
  1955. * fixed; set/updating nested objects by parent pathname (#843)
  1956. * fixed; allow null in number arrays (#840)
  1957. * fixed; isNew on sub doc after insertion error (#837)
  1958. * fixed; if an insert fails, set isNew back to false [boutell]
  1959. * fixed; isSelected when only _id is selected (#730)
  1960. * fixed; setting an unset default value (#742)
  1961. * fixed; query#sort error messaging (#671)
  1962. * fixed; support for passing $options with $regex
  1963. * added; array of object literal notation in schema creates DocumentArrays
  1964. * added; gt,gte,lt,lte query support for arrays (#902)
  1965. * added; capped collection support (#938)
  1966. * added; document versioning support
  1967. * added; inclusion of deselected schema path (#786)
  1968. * added; non-atomic array#pop
  1969. * added; EmbeddedDocument constructor is now exposed in DocArray#create 7cf8beec
  1970. * added; mapReduce support (#678)
  1971. * added; support for a configurable minimize option #to{Object,JSON}(option) (#848)
  1972. * added; support for strict: `throws` [regality]
  1973. * added; support for named schema types (#795)
  1974. * added; to{Object,JSON} schema options (#805)
  1975. * added; findByIdAnd{Update,Remove}()
  1976. * added; findOneAnd{Update,Remove}()
  1977. * added; query.setOptions()
  1978. * added; instance.update() (#794)
  1979. * added; support specifying model in populate() [DanielBaulig]
  1980. * added; `lean` query option [gitfy]
  1981. * added; multi-atomic support to MongooseArray#nonAtomicPush
  1982. * added; support for $set + other $atomic ops on single array
  1983. * added; tests
  1984. * updated; driver to 1.0.2
  1985. * updated; query.sort() syntax to mirror query.select()
  1986. * updated; clearer cast error msg for array numbers
  1987. * updated; docs
  1988. * updated; doc.clone 3x faster (#950)
  1989. * updated; only create _id if necessary (#950)
  1990. 2.7.3 / 2012-08-01
  1991. ==================
  1992. * fixed; boolean $in queries (#998)
  1993. * fixed field selection option on subdocs (#1022)
  1994. 2.7.2 / 2012-07-18
  1995. ==================
  1996. * fixed; callback to conn#disconnect is optional (#875)
  1997. * fixed; handle missing protocols in connection urls (#987)
  1998. * fixed; saving modified/removed subdocs (#975)
  1999. * updated; tests
  2000. 2.7.1 / 2012-06-26
  2001. ===================
  2002. * fixed; sharding: when a document holds a null as a value of the shard key
  2003. * fixed; update() using $pull on an array of Mixed (gh-735)
  2004. * deprecated; MongooseNumber#{inc, increment, decrement} methods
  2005. * tests; now using mocha
  2006. 2.7.0 / 2012-06-14
  2007. ===================
  2008. * added; deprecation warnings to methods being removed in 3.x
  2009. 2.6.8 / 2012-06-14
  2010. ===================
  2011. * fixed; edge case when using 'options' as a path name (#961)
  2012. 2.6.7 / 2012-06-08
  2013. ===================
  2014. * fixed; ensure promise#error always emits instanceof Error
  2015. * fixed; selection of _id w/ another excluded path (#954)
  2016. * fixed; setting default DocumentArrays (#953)
  2017. 2.6.6 / 2012-06-06
  2018. ===================
  2019. * fixed; stack overflow in query stream with large result sets (#929)
  2020. * added; $gt, $gte, $lt, $lte support to arrays (#902)
  2021. * fixed; pass option `safe` along to doc#remove() calls
  2022. 2.6.5 / 2012-05-24
  2023. ===================
  2024. * fixed; do not save virtuals in Model.update (#894)
  2025. * added; missing $ prefixed query aliases (going away in 3.x) (#884) [timoxley]
  2026. * fixed; setting invalid paths in strict mode (#916)
  2027. * fixed; resetting isNew after insert failure (#837) [boutell]
  2028. 2.6.4 / 2012-05-15
  2029. ===================
  2030. * updated; backport string regex $options to 2.x
  2031. * updated; use driver 1.0.2 (performance improvements) (#914)
  2032. * fixed; calling MongooseDocumentArray#id when the doc has no _id (#897)
  2033. 2.6.3 / 2012-05-03
  2034. ===================
  2035. * fixed; repl-set connectivity issues during failover on MongoDB 2.0.1
  2036. * updated; driver to 1.0.0
  2037. * fixed; virtuals application of subdocs when using toObject({ virtuals: true }) (#889)
  2038. * fixed; MongooseArray#pull of ObjectId correctly updates the array itself (#881)
  2039. 2.6.2 / 2012-04-30
  2040. ===================
  2041. * fixed; default field application of selected fields (#870)
  2042. 2.6.1 / 2012-04-30
  2043. ===================
  2044. * fixed; connection assignment in mongoose#model (#853, #877)
  2045. * fixed; incorrect reported num of affected docs in update ops (#862)
  2046. 2.6.0 / 2012-04-19
  2047. ===================
  2048. * updated; hooks.js to 0.2.1
  2049. * fixed; issue with passing undefined to a hook callback. thanks to [chrisleishman] for reporting.
  2050. * fixed; updating/setting nested objects in strict schemas (#843) as reported by [kof]
  2051. * fixed; Query#{update,remove}() work without callbacks again (#788)
  2052. * fixed; modifying subdoc along with parent array $atomic op (#842)
  2053. 2.5.14 / 2012-04-13
  2054. ===================
  2055. * fixed; setting an unset default value (#742)
  2056. * fixed; doc.isSelected(otherpath) when only _id is selected (#730)
  2057. * updated; docs
  2058. 2.5.13 / 2012-03-22
  2059. ===================
  2060. * fixed; failing validation of unselected required paths (#730,#713)
  2061. * fixed; emitting connection error when only one listener (#759)
  2062. * fixed; MongooseArray#splice was not returning values (#784) [chrisleishman]
  2063. 2.5.12 / 2012-03-21
  2064. ===================
  2065. * fixed; honor the `safe` option in all ensureIndex calls
  2066. * updated; node-mongodb-native driver to 0.9.9-7
  2067. 2.5.11 / 2012-03-15
  2068. ===================
  2069. * added; introspection for getters/setters (#745)
  2070. * updated; node-mongodb-driver to 0.9.9-5
  2071. * added; tailable method to Query (#769) [holic]
  2072. * fixed; Number min/max validation of null (#764) [btamas]
  2073. * added; more flexible user/password connection options (#738) [KarneAsada]
  2074. 2.5.10 / 2012-03-06
  2075. ===================
  2076. * updated; node-mongodb-native driver to 0.9.9-4
  2077. * added; Query#comment()
  2078. * fixed; allow unsetting arrays
  2079. * fixed; hooking the set method of subdocuments (#746)
  2080. * fixed; edge case in hooks
  2081. * fixed; allow $id and $ref in queries (fixes compatibility with mongoose-dbref) (#749) [richtera]
  2082. * added; default path selection to SchemaTypes
  2083. 2.5.9 / 2012-02-22
  2084. ===================
  2085. * fixed; properly cast nested atomic update operators for sub-documents
  2086. 2.5.8 / 2012-02-21
  2087. ===================
  2088. * added; post 'remove' middleware includes model that was removed (#729) [timoxley]
  2089. 2.5.7 / 2012-02-09
  2090. ===================
  2091. * fixed; RegExp validators on node >= v0.6.x
  2092. 2.5.6 / 2012-02-09
  2093. ===================
  2094. * fixed; emit errors returned from db.collection() on the connection (were being swallowed)
  2095. * added; can add multiple validators in your schema at once (#718) [diogogmt]
  2096. * fixed; strict embedded documents (#717)
  2097. * updated; docs [niemyjski]
  2098. * added; pass number of affected docs back in model.update/save
  2099. 2.5.5 / 2012-02-03
  2100. ===================
  2101. * fixed; RangeError: maximum call stack exceed error when removing docs with Number _id (#714)
  2102. 2.5.4 / 2012-02-03
  2103. ===================
  2104. * fixed; RangeError: maximum call stack exceed error (#714)
  2105. 2.5.3 / 2012-02-02
  2106. ===================
  2107. * added; doc#isSelected(path)
  2108. * added; query#equals()
  2109. * added; beta sharding support
  2110. * added; more descript error msgs (#700) [obeleh]
  2111. * added; document.modifiedPaths (#709) [ljharb]
  2112. * fixed; only functions can be added as getters/setters (#707,704) [ljharb]
  2113. 2.5.2 / 2012-01-30
  2114. ===================
  2115. * fixed; rollback -native driver to 0.9.7-3-5 (was causing timeouts and other replica set weirdness)
  2116. * deprecated; MongooseNumber (will be moved to a separate repo for 3.x)
  2117. * added; init event is emitted on schemas
  2118. 2.5.1 / 2012-01-27
  2119. ===================
  2120. * fixed; honor strict schemas in Model.update (#699)
  2121. 2.5.0 / 2012-01-26
  2122. ===================
  2123. * added; doc.toJSON calls toJSON on embedded docs when exists [jerem]
  2124. * added; populate support for refs of type Buffer (#686) [jerem]
  2125. * added; $all support for ObjectIds and Dates (#690)
  2126. * fixed; virtual setter calling on instantiation when strict: true (#682) [hunterloftis]
  2127. * fixed; doc construction triggering getters (#685)
  2128. * fixed; MongooseBuffer check in deepEquals (#688)
  2129. * fixed; range error when using Number _ids with `instance.save()` (#691)
  2130. * fixed; isNew on embedded docs edge case (#680)
  2131. * updated; driver to 0.9.8-3
  2132. * updated; expose `model()` method within static methods
  2133. 2.4.10 / 2012-01-10
  2134. ===================
  2135. * added; optional getter application in .toObject()/.toJSON() (#412)
  2136. * fixed; nested $operators in $all queries (#670)
  2137. * added; $nor support (#674)
  2138. * fixed; bug when adding nested schema (#662) [paulwe]
  2139. 2.4.9 / 2012-01-04
  2140. ===================
  2141. * updated; driver to 0.9.7-3-5 to fix Linux performance degradation on some boxes
  2142. 2.4.8 / 2011-12-22
  2143. ===================
  2144. * updated; bump -native to 0.9.7.2-5
  2145. * fixed; compatibility with date.js (#646) [chrisleishman]
  2146. * changed; undocumented schema "lax" option to "strict"
  2147. * fixed; default value population for strict schemas
  2148. * updated; the nextTick helper for small performance gain. 1bee2a2
  2149. 2.4.7 / 2011-12-16
  2150. ===================
  2151. * fixed; bug in 2.4.6 with path setting
  2152. * updated; bump -native to 0.9.7.2-1
  2153. * added; strict schema option [nw]
  2154. 2.4.6 / 2011-12-16
  2155. ===================
  2156. * fixed; conflicting mods on update bug [sirlantis]
  2157. * improved; doc.id getter performance
  2158. 2.4.5 / 2011-12-14
  2159. ===================
  2160. * fixed; bad MongooseArray behavior in 2.4.2 - 2.4.4
  2161. 2.4.4 / 2011-12-14
  2162. ===================
  2163. * fixed; MongooseArray#doAtomics throwing after sliced
  2164. 2.4.3 / 2011-12-14
  2165. ===================
  2166. * updated; system.profile schema for MongoDB 2x
  2167. 2.4.2 / 2011-12-12
  2168. ===================
  2169. * fixed; partially populating multiple children of subdocs (#639) [kenpratt]
  2170. * fixed; allow Update of numbers to null (#640) [jerem]
  2171. 2.4.1 / 2011-12-02
  2172. ===================
  2173. * added; options support for populate() queries
  2174. * updated; -native driver to 0.9.7-1.4
  2175. 2.4.0 / 2011-11-29
  2176. ===================
  2177. * added; QueryStreams (#614)
  2178. * added; debug print mode for development
  2179. * added; $within support to Array queries (#586) [ggoodale]
  2180. * added; $centerSphere query support
  2181. * fixed; $within support
  2182. * added; $unset is now used when setting a path to undefined (#519)
  2183. * added; query#batchSize support
  2184. * updated; docs
  2185. * updated; -native driver to 0.9.7-1.3 (provides Windows support)
  2186. 2.3.13 / 2011-11-15
  2187. ===================
  2188. * fixed; required validation for Refs (#612) [ded]
  2189. * added; $nearSphere support for Arrays (#610)
  2190. 2.3.12 / 2011-11-09
  2191. ===================
  2192. * fixed; regression, objects passed to Model.update should not be changed (#605)
  2193. * fixed; regression, empty Model.update should not be executed
  2194. 2.3.11 / 2011-11-08
  2195. ===================
  2196. * fixed; using $elemMatch on arrays of Mixed types (#591)
  2197. * fixed; allow using $regex when querying Arrays (#599)
  2198. * fixed; calling Model.update with no atomic keys (#602)
  2199. 2.3.10 / 2011-11-05
  2200. ===================
  2201. * fixed; model.update casting for nested paths works (#542)
  2202. 2.3.9 / 2011-11-04
  2203. ==================
  2204. * fixed; deepEquals check for MongooseArray returned false
  2205. * fixed; reset modified flags of embedded docs after save [gitfy]
  2206. * fixed; setting embedded doc with identical values no longer marks modified [gitfy]
  2207. * updated; -native driver to 0.9.6.23 [mlazarov]
  2208. * fixed; Model.update casting (#542, #545, #479)
  2209. * fixed; populated refs no longer fail required validators (#577)
  2210. * fixed; populating refs of objects with custom ids works
  2211. * fixed; $pop & $unset work with Model.update (#574)
  2212. * added; more helpful debugging message for Schema#add (#578)
  2213. * fixed; accessing .id when no _id exists now returns null (#590)
  2214. 2.3.8 / 2011-10-26
  2215. ==================
  2216. * added; callback to query#findOne is now optional (#581)
  2217. 2.3.7 / 2011-10-24
  2218. ==================
  2219. * fixed; wrapped save/remove callbacks in nextTick to mitigate -native swallowing thrown errors
  2220. 2.3.6 / 2011-10-21
  2221. ==================
  2222. * fixed; exclusion of embedded doc _id from query results (#541)
  2223. 2.3.5 / 2011-10-19
  2224. ==================
  2225. * fixed; calling queries without passing a callback works (#569)
  2226. * fixed; populate() works with String and Number _ids too (#568)
  2227. 2.3.4 / 2011-10-18
  2228. ==================
  2229. * added; Model.create now accepts an array as a first arg
  2230. * fixed; calling toObject on a DocumentArray with nulls no longer throws
  2231. * fixed; calling inspect on a DocumentArray with nulls no longer throws
  2232. * added; MongooseArray#unshift support
  2233. * fixed; save hooks now fire on embedded documents [gitfy] (#456)
  2234. * updated; -native driver to 0.9.6-22
  2235. * fixed; correctly pass $addToSet op instead of $push
  2236. * fixed; $addToSet properly detects dates
  2237. * fixed; $addToSet with multiple items works
  2238. * updated; better node 0.6 Buffer support
  2239. 2.3.3 / 2011-10-12
  2240. ==================
  2241. * fixed; population conditions in multi-query settings [vedmalex] (#563)
  2242. * fixed; now compatible with Node v0.5.x
  2243. 2.3.2 / 2011-10-11
  2244. ==================
  2245. * fixed; population of null subdoc properties no longer hangs (#561)
  2246. 2.3.1 / 2011-10-10
  2247. ==================
  2248. * added; support for Query filters to populate() [eneko]
  2249. * fixed; querying with number no longer crashes mongodb (#555) [jlbyrey]
  2250. * updated; version of -native driver to 0.9.6-21
  2251. * fixed; prevent query callbacks that throw errors from corrupting -native connection state
  2252. 2.3.0 / 2011-10-04
  2253. ==================
  2254. * fixed; nulls as default values for Boolean now works as expected
  2255. * updated; version of -native driver to 0.9.6-20
  2256. 2.2.4 / 2011-10-03
  2257. ==================
  2258. * fixed; populate() works when returned array contains undefined/nulls
  2259. 2.2.3 / 2011-09-29
  2260. ==================
  2261. * updated; version of -native driver to 0.9.6-19
  2262. 2.2.2 / 2011-09-28
  2263. ==================
  2264. * added; $regex support to String [davidandrewcope]
  2265. * added; support for other contexts like repl etc (#535)
  2266. * fixed; clear modified state properly after saving
  2267. * added; $addToSet support to Array
  2268. 2.2.1 / 2011-09-22
  2269. ==================
  2270. * more descript error when casting undefined to string
  2271. * updated; version of -native driver to 0.9.6-18
  2272. 2.2.0 / 2011-09-22
  2273. ==================
  2274. * fixed; maxListeners warning on schemas with many arrays (#530)
  2275. * changed; return / apply defaults based on fields selected in query (#423)
  2276. * fixed; correctly detect Mixed types within schema arrays (#532)
  2277. 2.1.4 / 2011-09-20
  2278. ==================
  2279. * fixed; new private methods that stomped on users code
  2280. * changed; finished removing old "compat" support which did nothing
  2281. 2.1.3 / 2011-09-16
  2282. ==================
  2283. * updated; version of -native driver to 0.9.6-15
  2284. * added; emit `error` on connection when open fails [edwardhotchkiss]
  2285. * added; index support to Buffers (thanks justmoon for helping track this down)
  2286. * fixed; passing collection name via schema in conn.model() now works (thanks vedmalex for reporting)
  2287. 2.1.2 / 2011-09-07
  2288. ==================
  2289. * fixed; Query#find with no args no longer throws
  2290. 2.1.1 / 2011-09-07
  2291. ==================
  2292. * added; support Model.count(fn)
  2293. * fixed; compatibility with node >=0.4.0 < 0.4.3
  2294. * added; pass model.options.safe through with .save() so w:2, wtimeout:5000 options work [andrewjstone]
  2295. * added; support for $type queries
  2296. * added; support for Query#or
  2297. * added; more tests
  2298. * optimized populate queries
  2299. 2.1.0 / 2011-09-01
  2300. ==================
  2301. * changed; document#validate is a public method
  2302. * fixed; setting number to same value no longer marks modified (#476) [gitfy]
  2303. * fixed; Buffers shouldn't have default vals
  2304. * added; allow specifying collection name in schema (#470) [ixti]
  2305. * fixed; reset modified paths and atomics after saved (#459)
  2306. * fixed; set isNew on embedded docs to false after save
  2307. * fixed; use self to ensure proper scope of options in doOpenSet (#483) [andrewjstone]
  2308. 2.0.4 / 2011-08-29
  2309. ==================
  2310. * Fixed; Only send the depopulated ObjectId instead of the entire doc on save (DBRefs)
  2311. * Fixed; Properly cast nested array values in Model.update (the data was stored in Mongo incorrectly but recast on document fetch was "fixing" it)
  2312. 2.0.3 / 2011-08-28
  2313. ==================
  2314. * Fixed; manipulating a populated array no longer causes infinite loop in BSON serializer during save (#477)
  2315. * Fixed; populating an empty array no longer hangs foreeeeeeeever (#481)
  2316. 2.0.2 / 2011-08-25
  2317. ==================
  2318. * Fixed; Maintain query option key order (fixes 'bad hint' error from compound query hints)
  2319. 2.0.1 / 2011-08-25
  2320. ==================
  2321. * Fixed; do not over-write the doc when no valide props exist in Model.update (#473)
  2322. 2.0.0 / 2011-08-24
  2323. ===================
  2324. * Added; support for Buffers [justmoon]
  2325. * Changed; improved error handling [maelstrom]
  2326. * Removed: unused utils.erase
  2327. * Fixed; support for passing other context object into Schemas (#234) [Sija]
  2328. * Fixed; getters are no longer circular refs to themselves (#366)
  2329. * Removed; unused compat.js
  2330. * Fixed; getter/setter scopes are set properly
  2331. * Changed; made several private properties more obvious by prefixing _
  2332. * Added; DBRef support [guille]
  2333. * Changed; removed support for multiple collection names per model
  2334. * Fixed; no longer applying setters when document returned from db
  2335. * Changed; default auto_reconnect to true
  2336. * Changed; Query#bind no longer clones the query
  2337. * Fixed; Model.update now accepts $pull, $inc and friends (#404)
  2338. * Added; virtual type option support [nw]
  2339. 1.8.4 / 2011-08-21
  2340. ===================
  2341. * Fixed; validation bug when instantiated with non-schema properties (#464) [jmreidy]
  2342. 1.8.3 / 2011-08-19
  2343. ===================
  2344. * Fixed; regression in connection#open [jshaw86]
  2345. 1.8.2 / 2011-08-17
  2346. ===================
  2347. * fixed; reset connection.readyState after failure [tomseago]
  2348. * fixed; can now query positionally for non-embedded docs (arrays of numbers/strings etc)
  2349. * fixed; embedded document query casting
  2350. * added; support for passing options to node-mongo-native db, server, and replsetserver [tomseago]
  2351. 1.8.1 / 2011-08-10
  2352. ===================
  2353. * fixed; ObjectIds were always marked modified
  2354. * fixed; can now query using document instances
  2355. * fixed; can now query/update using documents with subdocs
  2356. 1.8.0 / 2011-08-04
  2357. ===================
  2358. * fixed; can now use $all with String and Number
  2359. * fixed; can query subdoc array with $ne: null
  2360. * fixed; instance.subdocs#id now works with custom _ids
  2361. * fixed; do not apply setters when doc returned from db (change in bad behavior)
  2362. 1.7.4 / 2011-07-25
  2363. ===================
  2364. * fixed; sparse now a valid seperate schema option
  2365. * fixed; now catching cast errors in queries
  2366. * fixed; calling new Schema with object created in vm.runInNewContext now works (#384) [Sija]
  2367. * fixed; String enum was disallowing null
  2368. * fixed; Find by nested document _id now works (#389)
  2369. 1.7.3 / 2011-07-16
  2370. ===================
  2371. * fixed; MongooseArray#indexOf now works with ObjectIds
  2372. * fixed; validation scope now set properly (#418)
  2373. * fixed; added missing colors dependency (#398)
  2374. 1.7.2 / 2011-07-13
  2375. ===================
  2376. * changed; node-mongodb-native driver to v0.9.6.7
  2377. 1.7.1 / 2011-07-12
  2378. ===================
  2379. * changed; roll back node-mongodb-native driver to v0.9.6.4
  2380. 1.7.0 / 2011-07-12
  2381. ===================
  2382. * fixed; collection name misspelling [mathrawka]
  2383. * fixed; 2nd param is required for ReplSetServers [kevinmarvin]
  2384. * fixed; MongooseArray behaves properly with Object.keys
  2385. * changed; node-mongodb-native driver to v0.9.6.6
  2386. * fixed/changed; Mongodb segfault when passed invalid ObjectId (#407)
  2387. - This means invalid data passed to the ObjectId constructor will now error
  2388. 1.6.0 / 2011-07-07
  2389. ===================
  2390. * changed; .save() errors are now emitted on the instances db instead of the instance 9782463fc
  2391. * fixed; errors occurring when creating indexes now properly emit on db
  2392. * added; $maxDistance support to MongooseArrays
  2393. * fixed; RegExps now work with $all
  2394. * changed; node-mongodb-native driver to v0.9.6.4
  2395. * fixed; model names are now accessible via .modelName
  2396. * added; Query#slaveOk support
  2397. 1.5.0 / 2011-06-27
  2398. ===================
  2399. * changed; saving without a callback no longer ignores the error (@bnoguchi)
  2400. * changed; hook-js version bump to 0.1.9
  2401. * changed; node-mongodb-native version bumped to 0.9.6.1 - When .remove() doesn't
  2402. return an error, null is no longer passed.
  2403. * fixed; two memory leaks (@justmoon)
  2404. * added; sparse index support
  2405. * added; more ObjectId conditionals (gt, lt, gte, lte) (@phillyqueso)
  2406. * added; options are now passed in model#remote (@JerryLuke)
  2407. 1.4.0 / 2011-06-10
  2408. ===================
  2409. * bumped hooks-js dependency (fixes issue passing null as first arg to next())
  2410. * fixed; document#inspect now works properly with nested docs
  2411. * fixed; 'set' now works as a schema attribute (GH-365)
  2412. * fixed; _id is now set properly within pre-init hooks (GH-289)
  2413. * added; Query#distinct / Model#distinct support (GH-155)
  2414. * fixed; embedded docs now can use instance methods (GH-249)
  2415. * fixed; can now overwrite strings conflicting with schema type
  2416. 1.3.7 / 2011-06-03
  2417. ===================
  2418. * added MongooseArray#splice support
  2419. * fixed; 'path' is now a valid Schema pathname
  2420. * improved hooks (utilizing https://github.com/bnoguchi/hooks-js)
  2421. * fixed; MongooseArray#$shift now works (never did)
  2422. * fixed; Document.modified no longer throws
  2423. * fixed; modifying subdoc property sets modified paths for subdoc and parent doc
  2424. * fixed; marking subdoc path as modified properly persists the value to the db
  2425. * fixed; RexExps can again be saved ( #357 )
  2426. 1.3.6 / 2011-05-18
  2427. ===================
  2428. * fixed; corrected casting for queries against array types
  2429. * added; Document#set now accepts Document instances
  2430. 1.3.5 / 2011-05-17
  2431. ===================
  2432. * fixed; $ne queries work properly with single vals
  2433. * added; #inspect() methods to improve console.log output
  2434. 1.3.4 / 2011-05-17
  2435. ===================
  2436. * fixed; find by Date works as expected (#336)
  2437. * added; geospatial 2d index support
  2438. * added; support for $near (#309)
  2439. * updated; node-mongodb-native driver
  2440. * fixed; updating numbers work (#342)
  2441. * added; better error msg when try to remove an embedded doc without an _id (#307)
  2442. * added; support for 'on-the-fly' schemas (#227)
  2443. * changed; virtual id getters can now be skipped
  2444. * fixed; .index() called on subdoc schema now works as expected
  2445. * fixed; db.setProfile() now buffers until the db is open (#340)
  2446. 1.3.3 / 2011-04-27
  2447. ===================
  2448. * fixed; corrected query casting on nested mixed types
  2449. 1.3.2 / 2011-04-27
  2450. ===================
  2451. * fixed; query hints now retain key order
  2452. 1.3.1 / 2011-04-27
  2453. ===================
  2454. * fixed; setting a property on an embedded array no longer overwrites entire array (GH-310)
  2455. * fixed; setting nested properties works when sibling prop is named "type"
  2456. * fixed; isModified is now much finer grained when .set() is used (GH-323)
  2457. * fixed; mongoose.model() and connection.model() now return the Model (GH-308, GH-305)
  2458. * fixed; can now use $gt, $lt, $gte, $lte with String schema types (GH-317)
  2459. * fixed; .lowercase() -> .toLowerCase() in pluralize()
  2460. * fixed; updating an embedded document by index works (GH-334)
  2461. * changed; .save() now passes the instance to the callback (GH-294, GH-264)
  2462. * added; can now query system.profile and system.indexes collections
  2463. * added; db.model('system.profile') is now included as a default Schema
  2464. * added; db.setProfiling(level, ms, callback)
  2465. * added; Query#hint() support
  2466. * added; more tests
  2467. * updated node-mongodb-native to 0.9.3
  2468. 1.3.0 / 2011-04-19
  2469. ===================
  2470. * changed; save() callbacks now fire only once on failed validation
  2471. * changed; Errors returned from save() callbacks now instances of ValidationError
  2472. * fixed; MongooseArray#indexOf now works properly
  2473. 1.2.0 / 2011-04-11
  2474. ===================
  2475. * changed; MongooseNumber now casts empty string to null
  2476. 1.1.25 / 2011-04-08
  2477. ===================
  2478. * fixed; post init now fires at proper time
  2479. 1.1.24 / 2011-04-03
  2480. ===================
  2481. * fixed; pushing an array onto an Array works on existing docs
  2482. 1.1.23 / 2011-04-01
  2483. ===================
  2484. * Added Model#model
  2485. 1.1.22 / 2011-03-31
  2486. ===================
  2487. * Fixed; $in queries on mixed types now work
  2488. 1.1.21 / 2011-03-31
  2489. ===================
  2490. * Fixed; setting object root to null/undefined works
  2491. 1.1.20 / 2011-03-31
  2492. ===================
  2493. * Fixed; setting multiple props on null field works
  2494. 1.1.19 / 2011-03-31
  2495. ===================
  2496. * Fixed; no longer using $set on paths to an unexisting fields
  2497. 1.1.18 / 2011-03-30
  2498. ===================
  2499. * Fixed; non-mixed type object setters work after initd from null
  2500. 1.1.17 / 2011-03-30
  2501. ===================
  2502. * Fixed; nested object property access works when root initd with null value
  2503. 1.1.16 / 2011-03-28
  2504. ===================
  2505. * Fixed; empty arrays are now saved
  2506. 1.1.15 / 2011-03-28
  2507. ===================
  2508. * Fixed; `null` and `undefined` are set atomically.
  2509. 1.1.14 / 2011-03-28
  2510. ===================
  2511. * Changed; more forgiving date casting, accepting '' as null.
  2512. 1.1.13 / 2011-03-26
  2513. ===================
  2514. * Fixed setting values as `undefined`.
  2515. 1.1.12 / 2011-03-26
  2516. ===================
  2517. * Fixed; nested objects now convert to JSON properly
  2518. * Fixed; setting nested objects directly now works
  2519. * Update node-mongodb-native
  2520. 1.1.11 / 2011-03-25
  2521. ===================
  2522. * Fixed for use of `type` as a key.
  2523. 1.1.10 / 2011-03-23
  2524. ===================
  2525. * Changed; Make sure to only ensure indexes while connected
  2526. 1.1.9 / 2011-03-2
  2527. ==================
  2528. * Fixed; Mixed can now default to empty arrays
  2529. * Fixed; keys by the name 'type' are now valid
  2530. * Fixed; null values retrieved from the database are hydrated as null values.
  2531. * Fixed repeated atomic operations when saving a same document twice.
  2532. 1.1.8 / 2011-03-23
  2533. ==================
  2534. * Fixed 'id' overriding. [bnoguchi]
  2535. 1.1.7 / 2011-03-22
  2536. ==================
  2537. * Fixed RegExp query casting when querying against an Array of Strings [bnoguchi]
  2538. * Fixed getters/setters for nested virtualsl. [bnoguchi]
  2539. 1.1.6 / 2011-03-22
  2540. ==================
  2541. * Only doValidate when path exists in Schema [aheckmann]
  2542. * Allow function defaults for Array types [aheckmann]
  2543. * Fix validation hang [aheckmann]
  2544. * Fix setting of isRequired of SchemaType [aheckmann]
  2545. * Fix SchemaType#required(false) filter [aheckmann]
  2546. * More backwards compatibility [aheckmann]
  2547. * More tests [aheckmann]
  2548. 1.1.5 / 2011-03-14
  2549. ==================
  2550. * Added support for `uri, db, fn` and `uri, fn` signatures for replica sets.
  2551. * Improved/extended replica set tests.
  2552. 1.1.4 / 2011-03-09
  2553. ==================
  2554. * Fixed; running an empty Query doesn't throw. [aheckmann]
  2555. * Changed; Promise#addBack returns promise. [aheckmann]
  2556. * Added streaming cursor support. [aheckmann]
  2557. * Changed; Query#update defaults to use$SetOnSave now. [brian]
  2558. * Added more docs.
  2559. 1.1.3 / 2011-03-04
  2560. ==================
  2561. * Added Promise#resolve [aheckmann]
  2562. * Fixed backward compatibility with nulls [aheckmann]
  2563. * Changed; Query#{run,exec} return promises [aheckmann]
  2564. 1.1.2 / 2011-03-03
  2565. ==================
  2566. * Restored Query#exec and added notion of default operation [brian]
  2567. * Fixed ValidatorError messages [brian]
  2568. 1.1.1 / 2011-03-01
  2569. ==================
  2570. * Added SchemaType String `lowercase`, `uppercase`, `trim`.
  2571. * Public exports (`Model`, `Document`) and tests.
  2572. * Added ObjectId casting support for `Document`s.
  2573. 1.1.0 / 2011-02-25
  2574. ==================
  2575. * Added support for replica sets.
  2576. 1.0.16 / 2011-02-18
  2577. ===================
  2578. * Added $nin as another whitelisted $conditional for SchemaArray [brian]
  2579. * Changed #with to #where [brian]
  2580. * Added ability to use $in conditional with Array types [brian]
  2581. 1.0.15 / 2011-02-18
  2582. ===================
  2583. * Added `id` virtual getter for documents to easily access the hexString of
  2584. the `_id`.
  2585. 1.0.14 / 2011-02-17
  2586. ===================
  2587. * Fix for arrays within subdocuments [brian]
  2588. 1.0.13 / 2011-02-16
  2589. ===================
  2590. * Fixed embedded documents saving.
  2591. 1.0.12 / 2011-02-14
  2592. ===================
  2593. * Minor refactorings [brian]
  2594. 1.0.11 / 2011-02-14
  2595. ===================
  2596. * Query refactor and $ne, $slice, $or, $size, $elemMatch, $nin, $exists support [brian]
  2597. * Named scopes sugar [brian]
  2598. 1.0.10 / 2011-02-11
  2599. ===================
  2600. * Updated node-mongodb-native driver [thanks John Allen]
  2601. 1.0.9 / 2011-02-09
  2602. ==================
  2603. * Fixed single member arrays as defaults [brian]
  2604. 1.0.8 / 2011-02-09
  2605. ==================
  2606. * Fixed for collection-level buffering of commands [gitfy]
  2607. * Fixed `Document#toJSON` [dalejefferson]
  2608. * Fixed `Connection` authentication [robrighter]
  2609. * Fixed clash of accessors in getters/setters [eirikurn]
  2610. * Improved `Model#save` promise handling
  2611. 1.0.7 / 2011-02-05
  2612. ==================
  2613. * Fixed memory leak warnings for test suite on 0.3
  2614. * Fixed querying documents that have an array that contain at least one
  2615. specified member. [brian]
  2616. * Fixed default value for Array types (fixes GH-210). [brian]
  2617. * Fixed example code.
  2618. 1.0.6 / 2011-02-03
  2619. ==================
  2620. * Fixed `post` middleware
  2621. * Fixed; it's now possible to instantiate a model even when one of the paths maps
  2622. to an undefined value [brian]
  2623. 1.0.5 / 2011-02-02
  2624. ==================
  2625. * Fixed; combo $push and $pushAll auto-converts into a $pushAll [brian]
  2626. * Fixed; combo $pull and $pullAll auto-converts to a single $pullAll [brian]
  2627. * Fixed; $pullAll now removes said members from array before save (so it acts just
  2628. like pushAll) [brian]
  2629. * Fixed; multiple $pulls and $pushes become a single $pullAll and $pushAll.
  2630. Moreover, $pull now modifies the array before save to reflect the immediate
  2631. change [brian]
  2632. * Added tests for nested shortcut getters [brian]
  2633. * Added tests that show that Schemas with nested Arrays don't apply defaults
  2634. [brian]
  2635. 1.0.4 / 2011-02-02
  2636. ==================
  2637. * Added MongooseNumber#toString
  2638. * Added MongooseNumber unit tests
  2639. 1.0.3 / 2011-02-02
  2640. ==================
  2641. * Make sure safe mode works with Model#save
  2642. * Changed Schema options: safe mode is now the default
  2643. * Updated node-mongodb-native to HEAD
  2644. 1.0.2 / 2011-02-02
  2645. ==================
  2646. * Added a Model.create shortcut for creating documents. [brian]
  2647. * Fixed; we can now instantiate models with hashes that map to at least one
  2648. null value. [brian]
  2649. * Fixed Schema with more than 2 nested levels. [brian]
  2650. 1.0.1 / 2011-02-02
  2651. ==================
  2652. * Improved `MongooseNumber`, works almost like the native except for `typeof`
  2653. not being `'number'`.