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.

1738 lines
59 KiB

  1. 3.6.20 (stable) / 2013-09-23
  2. ===================
  3. * fixed; repopulating modified populated paths #1697
  4. * fixed; doc.equals w/ _id false #1687
  5. * fixed; strict mode warning #1686
  6. * docs; near/nearSphere
  7. 3.6.19 (stable) / 2013-09-04
  8. ==================
  9. * fixed; population field selection w/ strings #1669
  10. * docs; Date method caveats #1598
  11. 3.6.18 (stable) / 2013-08-22
  12. ===================
  13. * updated; warn when using an unstable version of mongoose
  14. * updated; mocha to 1.12.0
  15. * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
  16. * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
  17. * fixed; properly exclude subdocument fields #1280 [ebensing](https://github.com/ebensing)
  18. * fixed; cast error in findAndModify #1643 [aheuermann](https://github.com/aheuermann)
  19. * website; update guide
  20. * website; added documentation for safe:false and versioning interaction
  21. * docs; mention that middleware dont run on Models
  22. * docs; fix indexes link
  23. * make; suppress warning msg in test
  24. * tests; moar
  25. 3.6.17 / 2013-08-13
  26. ===================
  27. * updated; driver to 1.3.18 (fixes memory leak)
  28. * fixed; casting ref docs on creation #1606
  29. * docs; query options
  30. 3.6.16 / 2013-08-08
  31. ===================
  32. * added; publicly expose connection states #1585
  33. * fixed; limit applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
  34. * fixed; positional operator casting in updates #1572 [ebensing](https://github.com/ebensing)
  35. * updated; MongoDB driver to 1.3.17
  36. * updated; sliced to 0.0.5
  37. * website; tweak homepage
  38. * tests; fixed + added
  39. * docs; fix some examples
  40. * docs; multi-mongos support details
  41. * docs; auto open browser after starting static server
  42. 3.6.15 / 2013-07-16
  43. ==================
  44. * added; mongos failover support #1037
  45. * updated; make schematype return vals return self #1580
  46. * docs; add note to model.update #571
  47. * docs; document third param to document.save callback #1536
  48. * tests; tweek mongos test timeout
  49. 3.6.14 / 2013-07-05
  50. ===================
  51. * updated; driver to 1.3.11
  52. * fixed; issue with findOneAndUpdate not returning null on upserts #1533 [ebensing](https://github.com/ebensing)
  53. * fixed; missing return statement in SchemaArray#$geoIntersects() #1498 [bsrykt](https://github.com/bsrykt)
  54. * fixed; wrong isSelected() behavior #1521 [kyano](https://github.com/kyano)
  55. * docs; note about toObject behavior during save()
  56. * docs; add callbacks details #1547 [nikmartin](https://github.com/nikmartin)
  57. 3.6.13 / 2013-06-27
  58. ===================
  59. * fixed; calling model.distinct without conditions #1541
  60. * fixed; regression in Query#count() #1542
  61. * now working on 3.6.13
  62. 3.6.12 / 2013-06-25
  63. ===================
  64. * updated; driver to 1.3.10
  65. * updated; clearer capped collection error message #1509 [bitmage](https://github.com/bitmage)
  66. * fixed; MongooseBuffer subtype loss during casting #1517 [zedgu](https://github.com/zedgu)
  67. * fixed; docArray#id when doc.id is disabled #1492
  68. * fixed; docArray#id now supports matches on populated arrays #1492 [pgherveou](https://github.com/pgherveou)
  69. * website; fix example
  70. * website; improve _id disabling example
  71. * website; fix typo #1494 [dejj](https://github.com/dejj)
  72. * docs; added a 'Requesting new features' section #1504 [shovon](https://github.com/shovon)
  73. * docs; improve subtypes description
  74. * docs; clarify _id disabling
  75. * docs: display by alphabetical order the methods list #1508 [nicolasleger](https://github.com/nicolasleger)
  76. * tests; refactor isSelected checks
  77. * tests; remove pointless test
  78. * tests; fixed timeouts
  79. 3.6.11 / 2013-05-15
  80. ===================
  81. * updated; driver to 1.3.5
  82. * fixed; compat w/ Object.create(null) #1484 #1485
  83. * fixed; cloning objects w/ missing constructors
  84. * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
  85. * docs; add doc.increment() example
  86. * docs; add $size example
  87. * docs; add "distinct" example
  88. 3.6.10 / 2013-05-09
  89. ==================
  90. * update driver to 1.3.3
  91. * fixed; increment() works without other changes #1475
  92. * website; fix links to posterous
  93. * docs; fix link #1472
  94. 3.6.9 / 2013-05-02
  95. ==================
  96. * fixed; depopulation of mixed documents #1471
  97. * fixed; use of $options in array #1462
  98. * tests; fix race condition
  99. * docs; fix default example
  100. 3.6.8 / 2013-04-25
  101. ==================
  102. * updated; driver to 1.3.0
  103. * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
  104. * tests; 4-5 seconds faster
  105. 3.6.7 / 2013-04-19
  106. ==================
  107. * fixed; population regression in 3.6.6 #1444
  108. 3.6.6 / 2013-04-18
  109. ==================
  110. * fixed; saving populated new documents #1442
  111. * fixed; population regession in 3.6.5 #1441
  112. * website; fix copyright #1439
  113. 3.6.5 / 2013-04-15
  114. ==================
  115. * fixed; strict:throw edge case using .set(path, val)
  116. * fixed; schema.pathType() on some numbericAlpha paths
  117. * fixed; numbericAlpha path versioning
  118. * fixed; setting nested mixed paths #1418
  119. * fixed; setting nested objects with null prop #1326
  120. * fixed; regression in v3.6 population performance #1426 [vedmalex](https://github.com/vedmalex)
  121. * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
  122. * docs; fix method example
  123. * website; update faq
  124. * website; add more deep links
  125. * website; update poolSize docs
  126. * website; add 3.6 release notes
  127. * website; note about keepAlive
  128. 3.6.4 / 2013-04-03
  129. ==================
  130. * fixed; +field conflict with $slice #1370
  131. * fixed; nested deselection conflict #1333
  132. * fixed; RangeError in ValidationError.toString() #1296
  133. * fixed; do not save user defined transforms #1415
  134. * tests; fix race condition
  135. 3.6.3 / 2013-04-02
  136. ==================
  137. * fixed; setting subdocuments deeply nested fields #1394
  138. * fixed; regression: populated streams #1411
  139. * docs; mention hooks/validation with findAndModify
  140. * docs; mention auth
  141. * docs; add more links
  142. * examples; add document methods example
  143. * website; display "see" links for properties
  144. * website; clean up homepage
  145. 3.6.2 / 2013-03-29
  146. ==================
  147. * fixed; corrupted sub-doc array #1408
  148. * fixed; document#update returns a Query #1397
  149. * docs; readpref strategy
  150. 3.6.1 / 2013-03-27
  151. ==================
  152. * added; populate support to findAndModify varients #1395
  153. * added; text index type to schematypes
  154. * expose allowed index types as Schema.indexTypes
  155. * fixed; use of `setMaxListeners` as path
  156. * fixed; regression in node 0.6 on docs with > 10 arrays
  157. * fixed; do not alter schema arguments #1364
  158. * fixed; subdoc#ownerDocument() #1385
  159. * website; change search id
  160. * website; add search from google [jackdbernier](https://github.com/jackdbernier)
  161. * website; fix link
  162. * website; add 3.5.x docs release
  163. * website; fix link
  164. * docs; fix geometry
  165. * docs; hide internal constructor
  166. * docs; aggregation does not cast arguments #1399
  167. * docs; querystream options
  168. * examples; added for population
  169. 3.6.0 / 2013-03-18
  170. ==================
  171. * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
  172. * changed; Buffer arrays can now contain nulls
  173. * added; QueryStream transform option
  174. * added; support for authSource driver option
  175. * added; {mongoose,db}.modelNames()
  176. * added; $push w/ $slice,$sort support (MongoDB 2.4)
  177. * added; hashed index type (MongoDB 2.4)
  178. * added; support for mongodb 2.4 geojson (MongoDB 2.4)
  179. * added; value at time of validation error
  180. * added; support for object literal schemas
  181. * added; bufferCommands schema option
  182. * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
  183. * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
  184. * added; allow adding uncasted docs to populated arrays and properties #570
  185. * added; doc#populated(path) stores original populated _ids
  186. * added; lean population #1260
  187. * added; query.populate() now accepts an options object
  188. * added; document#populate(opts, callback)
  189. * added; Model.populate(docs, opts, callback)
  190. * added; support for rich nested path population
  191. * added; doc.array.remove(value) subdoc with _id value support #1278
  192. * added; optionally allow non-strict sets and updates
  193. * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
  194. * added; promise#then
  195. * added; promise#end
  196. * fixed; use of `model` as doc property
  197. * fixed; lean population #1382
  198. * fixed; empty object mixed defaults #1380
  199. * fixed; populate w/ deselected _id using string syntax
  200. * fixed; attempted save of divergent populated arrays #1334 related
  201. * fixed; better error msg when attempting toObject as property name
  202. * fixed; non population buffer casting from doc
  203. * fixed; setting populated paths #570
  204. * fixed; casting when added docs to populated arrays #570
  205. * fixed; prohibit updating arrays selected with $elemMatch #1334
  206. * fixed; pull / set subdoc combination #1303
  207. * fixed; multiple bg index creation #1365
  208. * fixed; manual reconnection to single mongod
  209. * fixed; Constructor / version exposure #1124
  210. * fixed; CastError race condition
  211. * fixed; no longer swallowing misuse of subdoc#invalidate()
  212. * fixed; utils.clone retains RegExp opts
  213. * fixed; population of non-schema property
  214. * fixed; allow updating versionKey #1265
  215. * fixed; add EventEmitter props to reserved paths #1338
  216. * fixed; can now deselect populated doc _ids #1331
  217. * fixed; properly pass subtype to Binary in MongooseBuffer
  218. * fixed; casting _id from document with non-ObjectId _id
  219. * fixed; specifying schema type edge case { path: [{type: "String" }] }
  220. * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
  221. * updated; driver to 1.2.14
  222. * updated; muri to 0.3.1
  223. * updated; mpromise to 0.2.1
  224. * updated; mocha 1.8.1
  225. * updated; mpath to 0.1.1
  226. * deprecated; pluralization will die in 4.x
  227. * refactor; rename private methods to something unusable as doc properties
  228. * refactor MongooseArray#remove
  229. * refactor; move expires index to SchemaDate #1328
  230. * refactor; internal document properties #1171 #1184
  231. * tests; added
  232. * docs; indexes
  233. * docs; validation
  234. * docs; populate
  235. * docs; populate
  236. * docs; add note about stream compatibility with node 0.8
  237. * docs; fix for private names
  238. * docs; Buffer -> mongodb.Binary #1363
  239. * docs; auth options
  240. * docs; improved
  241. * website; update FAQ
  242. * website; add more api links
  243. * website; add 3.5.x docs to prior releases
  244. * website; Change mongoose-types to an active repo [jackdbernier](https://github.com/jackdbernier)
  245. * website; compat with node 0.10
  246. * website; add news section
  247. * website; use T for generic type
  248. * benchmark; make adjustable
  249. 3.6.0rc1 / 2013-03-12
  250. ======================
  251. * refactor; rename private methods to something unusable as doc properties
  252. * added; {mongoose,db}.modelNames()
  253. * added; $push w/ $slice,$sort support (MongoDB 2.4)
  254. * added; hashed index type (MongoDB 2.4)
  255. * added; support for mongodb 2.4 geojson (MongoDB 2.4)
  256. * added; value at time of validation error
  257. * added; support for object literal schemas
  258. * added; bufferCommands schema option
  259. * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
  260. * fixed; lean population #1382
  261. * fixed; empty object mixed defaults #1380
  262. * fixed; populate w/ deselected _id using string syntax
  263. * fixed; attempted save of divergent populated arrays #1334 related
  264. * fixed; better error msg when attempting toObject as property name
  265. * fixed; non population buffer casting from doc
  266. * fixed; setting populated paths #570
  267. * fixed; casting when added docs to populated arrays #570
  268. * fixed; prohibit updating arrays selected with $elemMatch #1334
  269. * fixed; pull / set subdoc combination #1303
  270. * fixed; multiple bg index creation #1365
  271. * fixed; manual reconnection to single mongod
  272. * fixed; Constructor / version exposure #1124
  273. * fixed; CastError race condition
  274. * fixed; no longer swallowing misuse of subdoc#invalidate()
  275. * fixed; utils.clone retains RegExp opts
  276. * fixed; population of non-schema property
  277. * fixed; allow updating versionKey #1265
  278. * fixed; add EventEmitter props to reserved paths #1338
  279. * fixed; can now deselect populated doc _ids #1331
  280. * updated; muri to 0.3.1
  281. * updated; driver to 1.2.12
  282. * updated; mpromise to 0.2.1
  283. * deprecated; pluralization will die in 4.x
  284. * docs; Buffer -> mongodb.Binary #1363
  285. * docs; auth options
  286. * docs; improved
  287. * website; add news section
  288. * benchmark; make adjustable
  289. 3.6.0rc0 / 2013-02-03
  290. ======================
  291. * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
  292. * changed; Buffer arrays can now contain nulls
  293. * fixed; properly pass subtype to Binary in MongooseBuffer
  294. * fixed; casting _id from document with non-ObjectId _id
  295. * fixed; specifying schema type edge case { path: [{type: "String" }] }
  296. * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
  297. * refactor; move expires index to SchemaDate #1328
  298. * refactor; internal document properties #1171 #1184
  299. * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
  300. * added; allow adding uncasted docs to populated arrays and properties #570
  301. * added; doc#populated(path) stores original populated _ids
  302. * added; lean population #1260
  303. * added; query.populate() now accepts an options object
  304. * added; document#populate(opts, callback)
  305. * added; Model.populate(docs, opts, callback)
  306. * added; support for rich nested path population
  307. * added; doc.array.remove(value) subdoc with _id value support #1278
  308. * added; optionally allow non-strict sets and updates
  309. * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
  310. * added; promise#then
  311. * added; promise#end
  312. * updated; mocha 1.8.1
  313. * updated; muri to 0.3.0
  314. * updated; mpath to 0.1.1
  315. * updated; docs
  316. 3.5.16 / 2013-08-13
  317. ===================
  318. * updated; driver to 1.3.18
  319. 3.5.15 / 2013-07-26
  320. ==================
  321. * updated; sliced to 0.0.5
  322. * updated; driver to 1.3.12
  323. * fixed; regression in Query#count() due to driver change
  324. * tests; fixed timeouts
  325. * tests; handle differing test uris
  326. 3.5.14 / 2013-05-15
  327. ===================
  328. * updated; driver to 1.3.5
  329. * fixed; compat w/ Object.create(null) #1484 #1485
  330. * fixed; cloning objects missing constructors
  331. * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
  332. 3.5.13 / 2013-05-09
  333. ==================
  334. * update driver to 1.3.3
  335. * fixed; use of $options in array #1462
  336. 3.5.12 / 2013-04-25
  337. ===================
  338. * updated; driver to 1.3.0
  339. * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
  340. * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
  341. 3.5.11 / 2013-04-03
  342. ==================
  343. * fixed; +field conflict with $slice #1370
  344. * fixed; RangeError in ValidationError.toString() #1296
  345. * fixed; nested deselection conflict #1333
  346. * remove time from Makefile
  347. 3.5.10 / 2013-04-02
  348. ==================
  349. * fixed; setting subdocuments deeply nested fields #1394
  350. * fixed; do not alter schema arguments #1364
  351. 3.5.9 / 2013-03-15
  352. ==================
  353. * updated; driver to 1.2.14
  354. * added; support for authSource driver option (mongodb 2.4)
  355. * added; QueryStream transform option (node 0.10 helper)
  356. * fixed; backport for saving required populated buffers
  357. * fixed; pull / set subdoc combination #1303
  358. * fixed; multiple bg index creation #1365
  359. * test; added for saveable required populated buffers
  360. * test; added for #1365
  361. * test; add authSource test
  362. 3.5.8 / 2013-03-12
  363. ==================
  364. * added; auth option in connection [geoah](https://github.com/geoah)
  365. * fixed; CastError race condition
  366. * docs; add note about stream compatibility with node 0.8
  367. 3.5.7 / 2013-02-22
  368. ==================
  369. * updated; driver to 1.2.13
  370. * updated; muri to 0.3.1 #1347
  371. * fixed; utils.clone retains RegExp opts #1355
  372. * fixed; deepEquals RegExp support
  373. * tests; fix a connection test
  374. * website; clean up docs [afshinm](https://github.com/afshinm)
  375. * website; update homepage
  376. * website; migragtion: emphasize impact of strict docs #1264
  377. 3.5.6 / 2013-02-14
  378. ==================
  379. * updated; driver to 1.2.12
  380. * fixed; properly pass Binary subtype
  381. * fixed; add EventEmitter props to reserved paths #1338
  382. * fixed; use correct node engine version
  383. * fixed; display empty docs as {} in log output #953 follow up
  384. * improved; "bad $within $box argument" error message
  385. * populate; add unscientific benchmark
  386. * website; add stack overflow to help section
  387. * website; use better code font #1336 [risseraka](https://github.com/risseraka)
  388. * website; clarify where help is available
  389. * website; fix source code links #1272 [floatingLomas](https://github.com/floatingLomas)
  390. * docs; be specific about _id schema option #1103
  391. * docs; add ensureIndex error handling example
  392. * docs; README
  393. * docs; CONTRIBUTING.md
  394. 3.5.5 / 2013-01-29
  395. ==================
  396. * updated; driver to 1.2.11
  397. * removed; old node < 0.6x shims
  398. * fixed; documents with Buffer _ids equality
  399. * fixed; MongooseBuffer properly casts numbers
  400. * fixed; reopening closed connection on alt host/port #1287
  401. * docs; fixed typo in Readme #1298 [rened](https://github.com/rened)
  402. * docs; fixed typo in migration docs [Prinzhorn](https://github.com/Prinzhorn)
  403. * docs; fixed incorrect annotation in SchemaNumber#min [bilalq](https://github.com/bilalq)
  404. * docs; updated
  405. 3.5.4 / 2013-01-07
  406. ==================
  407. * changed; "_pres" & "_posts" are now reserved pathnames #1261
  408. * updated; driver to 1.2.8
  409. * fixed; exception when reopening a replica set. #1263 [ethankan](https://github.com/ethankan)
  410. * website; updated
  411. 3.5.3 / 2012-12-26
  412. ==================
  413. * added; support for geo object notation #1257
  414. * fixed; $within query casting with arrays
  415. * fixed; unix domain socket support #1254
  416. * updated; driver to 1.2.7
  417. * updated; muri to 0.0.5
  418. 3.5.2 / 2012-12-17
  419. ==================
  420. * fixed; using auth with replica sets #1253
  421. 3.5.1 / 2012-12-12
  422. ==================
  423. * fixed; regression when using subdoc with `path` as pathname #1245 [daeq](https://github.com/daeq)
  424. * fixed; safer db option checks
  425. * updated; driver to 1.2.5
  426. * website; add more examples
  427. * website; clean up old docs
  428. * website; fix prev release urls
  429. * docs; clarify streaming with HTTP responses
  430. 3.5.0 / 2012-12-10
  431. ==================
  432. * added; paths to CastErrors #1239
  433. * added; support for mongodb connection string spec #1187
  434. * added; post validate event
  435. * added; Schema#get (to retrieve schema options)
  436. * added; VersionError #1071
  437. * added; npmignore [hidekiy](https://github.com/hidekiy)
  438. * update; driver to 1.2.3
  439. * fixed; stackoverflow in setter #1234
  440. * fixed; utils.isObject()
  441. * fixed; do not clobber user specified driver writeConcern #1227
  442. * fixed; always pass current document to post hooks
  443. * fixed; throw error when user attempts to overwrite a model
  444. * fixed; connection.model only caches on connection #1209
  445. * fixed; respect conn.model() creation when matching global model exists #1209
  446. * fixed; passing model name + collection name now always honors collection name
  447. * fixed; setting virtual field to an empty object #1154
  448. * fixed; subclassed MongooseErrors exposure, now available in mongoose.Error.xxxx
  449. * fixed; model.remove() ignoring callback when executed twice [daeq](https://github.com/daeq) #1210
  450. * docs; add collection option to schema api docs #1222
  451. * docs; NOTE about db safe options
  452. * docs; add post hooks docs
  453. * docs; connection string options
  454. * docs; middleware is not executed with Model.remove #1241
  455. * docs; {g,s}etter introspection #777
  456. * docs; update validation docs
  457. * docs; add link to plugins page
  458. * docs; clarify error returned by unique indexes #1225
  459. * docs; more detail about disabling autoIndex behavior
  460. * docs; add homepage section to package (npm docs mongoose)
  461. * docs; more detail around collection name pluralization #1193
  462. * website; add .important css
  463. * website; update models page
  464. * website; update getting started
  465. * website; update quick start
  466. 3.4.0 / 2012-11-10
  467. ==================
  468. * added; support for generic toJSON/toObject transforms #1160 #1020 #1197
  469. * added; doc.set() merge support #1148 [NuORDER](https://github.com/NuORDER)
  470. * added; query#add support #1188 [aleclofabbro](https://github.com/aleclofabbro)
  471. * changed; adding invalid nested paths to non-objects throws 4216f14
  472. * changed; fixed; stop invalid function cloning (internal fix)
  473. * fixed; add query $and casting support #1180 [anotheri](https://github.com/anotheri)
  474. * fixed; overwriting of query arguments #1176
  475. * docs; fix expires examples
  476. * docs; transforms
  477. * docs; schema `collection` option docs [hermanjunge](https://github.com/hermanjunge)
  478. * website; updated
  479. * tests; added
  480. 3.3.1 / 2012-10-11
  481. ==================
  482. * fixed; allow goose.connect(uris, dbname, opts) #1144
  483. * docs; persist API private checked state across page loads
  484. 3.3.0 / 2012-10-10
  485. ==================
  486. * fixed; passing options as 2nd arg to connect() #1144
  487. * fixed; race condition after no-op save #1139
  488. * fixed; schema field selection application in findAndModify #1150
  489. * fixed; directly setting arrays #1126
  490. * updated; driver to 1.1.11
  491. * updated; collection pluralization rules [mrickard](https://github.com/mrickard)
  492. * tests; added
  493. * docs; updated
  494. 3.2.2 / 2012-10-08
  495. ==================
  496. * updated; driver to 1.1.10 #1143
  497. * updated; use sliced 0.0.3
  498. * fixed; do not recast embedded docs unnecessarily
  499. * fixed; expires schema option helper #1132
  500. * fixed; built in string setters #1131
  501. * fixed; debug output for Dates/ObjectId properties #1129
  502. * docs; fixed Javascript syntax error in example [olalonde](https://github.com/olalonde)
  503. * docs; fix toJSON example #1137
  504. * docs; add ensureIndex production notes
  505. * docs; fix spelling
  506. * docs; add blogposts about v3
  507. * website; updated
  508. * removed; undocumented inGroupsOf util
  509. * tests; added
  510. 3.2.1 / 2012-09-28
  511. ==================
  512. * fixed; remove query batchSize option default of 1000 https://github.com/learnboost/mongoose/commit/3edaa8651
  513. * docs; updated
  514. * website; updated
  515. 3.2.0 / 2012-09-27
  516. ==================
  517. * added; direct array index assignment with casting support `doc.array.set(index, value)`
  518. * fixed; QueryStream#resume within same tick as pause() #1116
  519. * fixed; default value validatation #1109
  520. * fixed; array splice() not casting #1123
  521. * fixed; default array construction edge case #1108
  522. * fixed; query casting for inequalities in arrays #1101 [dpatti](https://github.com/dpatti)
  523. * tests; added
  524. * website; more documentation
  525. * website; fixed layout issue #1111 [SlashmanX](https://github.com/SlashmanX)
  526. * website; refactored [guille](https://github.com/guille)
  527. 3.1.2 / 2012-09-10
  528. ==================
  529. * added; ReadPreferrence schema option #1097
  530. * updated; driver to 1.1.7
  531. * updated; default query batchSize to 1000
  532. * fixed; we now cast the mapReduce query option #1095
  533. * fixed; $elemMatch+$in with field selection #1091
  534. * fixed; properly cast $elemMatch+$in conditions #1100
  535. * fixed; default field application of subdocs #1027
  536. * fixed; querystream prematurely dying #1092
  537. * fixed; querystream never resumes when paused at getMore boundries #1092
  538. * fixed; querystream occasionally emits data events after destroy #1092
  539. * fixed; remove unnecessary ObjectId creation in querystream
  540. * fixed; allow ne(boolean) again #1093
  541. * docs; add populate/field selection syntax notes
  542. * docs; add toObject/toJSON options detail
  543. * docs; `read` schema option
  544. 3.1.1 / 2012-08-31
  545. ==================
  546. * updated; driver to 1.1.6
  547. 3.1.0 / 2012-08-29
  548. ==================
  549. * changed; fixed; directly setting nested objects now overwrites entire object (previously incorrectly merged them)
  550. * added; read pref support (mongodb 2.2) 205a709c
  551. * added; aggregate support (mongodb 2.2) f3a5bd3d
  552. * added; virtual {g,s}etter introspection (#1070)
  553. * updated; docs [brettz9](https://github.com/brettz9)
  554. * updated; driver to 1.1.5
  555. * fixed; retain virtual setter return values (#1069)
  556. 3.0.3 / 2012-08-23
  557. ==================
  558. * fixed; use of nested paths beginning w/ numbers #1062
  559. * fixed; query population edge case #1053 #1055 [jfremy](https://github.com/jfremy)
  560. * fixed; simultaneous top and sub level array modifications #1073
  561. * added; id and _id schema option aliases + tests
  562. * improve debug formatting to allow copy/paste logged queries into mongo shell [eknkc](https://github.com/eknkc)
  563. * docs
  564. 3.0.2 / 2012-08-17
  565. ==================
  566. * added; missing support for v3 sort/select syntax to findAndModify helpers (#1058)
  567. * fixed; replset fullsetup event emission
  568. * fixed; reconnected event for replsets
  569. * fixed; server reconnection setting discovery
  570. * fixed; compat with non-schema path props using positional notation (#1048)
  571. * fixed; setter/casting order (#665)
  572. * docs; updated
  573. 3.0.1 / 2012-08-11
  574. ==================
  575. * fixed; throw Error on bad validators (1044)
  576. * fixed; typo in EmbeddedDocument#parentArray [lackac]
  577. * fixed; repair mongoose.SchemaTypes alias
  578. * updated; docs
  579. 3.0.0 / 2012-08-07
  580. ==================
  581. * removed; old subdocument#commit method
  582. * fixed; setting arrays of matching docs [6924cbc2]
  583. * fixed; doc!remove event now emits in save order as save for consistency
  584. * fixed; pre-save hooks no longer fire on subdocuments when validation fails
  585. * added; subdoc#parent() and subdoc#parentArray() to access subdocument parent objects
  586. * added; query#lean() helper
  587. 3.0.0rc0 / 2012-08-01
  588. =====================
  589. * fixed; allow subdoc literal declarations containing "type" pathname (#993)
  590. * fixed; unsetting a default array (#758)
  591. * fixed; boolean $in queries (#998)
  592. * fixed; allow use of `options` as a pathname (#529)
  593. * fixed; `model` is again a permitted schema path name
  594. * fixed; field selection option on subdocs (#1022)
  595. * fixed; handle another edge case with subdoc saving (#975)
  596. * added; emit save err on model if listening
  597. * added; MongoDB TTL collection support (#1006)
  598. * added; $center options support
  599. * added; $nearSphere and $polygon support
  600. * updated; driver version to 1.1.2
  601. 3.0.0alpha2 / 2012-07-18
  602. =========================
  603. * changed; index errors are now emitted on their model and passed to an optional callback (#984)
  604. * fixed; specifying index along with sparse/unique option no longer overwrites (#1004)
  605. * fixed; never swallow connection errors (#618)
  606. * fixed; creating object from model with emded object no longer overwrites defaults [achurkin] (#859)
  607. * fixed; stop needless validation of unchanged/unselected fields (#891)
  608. * fixed; document#equals behavior of objectids (#974)
  609. * fixed; honor the minimize schema option (#978)
  610. * fixed; provide helpful error msgs when reserved schema path is used (#928)
  611. * fixed; callback to conn#disconnect is optional (#875)
  612. * fixed; handle missing protocols in connection urls (#987)
  613. * fixed; validate args to query#where (#969)
  614. * fixed; saving modified/removed subdocs (#975)
  615. * fixed; update with $pull from Mixed array (#735)
  616. * fixed; error with null shard key value
  617. * fixed; allow unsetting enums (#967)
  618. * added; support for manual index creation (#984)
  619. * added; support for disabled auto-indexing (#984)
  620. * added; support for preserving MongooseArray#sort changes (#752)
  621. * added; emit state change events on connection
  622. * added; support for specifying BSON subtype in MongooseBuffer#toObject [jcrugzz]
  623. * added; support for disabled versioning (#977)
  624. * added; implicit "new" support for models and Schemas
  625. 3.0.0alpha1 / 2012-06-15
  626. =========================
  627. * removed; doc#commit (use doc#markModified)
  628. * removed; doc.modified getter (#950)
  629. * removed; mongoose{connectSet,createSetConnection}. use connect,createConnection instead
  630. * removed; query alias methods 1149804c
  631. * removed; MongooseNumber
  632. * changed; now creating indexes in background by default
  633. * changed; strict mode now enabled by default (#952)
  634. * changed; doc#modifiedPaths is now a method (#950)
  635. * changed; getters no longer cast (#820); casting happens during set
  636. * fixed; no need to pass updateArg to findOneAndUpdate (#931)
  637. * fixed: utils.merge bug when merging nested non-objects. [treygriffith]
  638. * fixed; strict:throw should produce errors in findAndModify (#963)
  639. * fixed; findAndUpdate no longer overwrites document (#962)
  640. * fixed; setting default DocumentArrays (#953)
  641. * fixed; selection of _id with schema deselection (#954)
  642. * fixed; ensure promise#error emits instanceof Error
  643. * fixed; CursorStream: No stack overflow on any size result (#929)
  644. * fixed; doc#remove now passes safe options
  645. * fixed; invalid use of $set during $pop
  646. * fixed; array#{$pop,$shift} mirror MongoDB behavior
  647. * fixed; no longer test non-required vals in string match (#934)
  648. * fixed; edge case with doc#inspect
  649. * fixed; setter order (#665)
  650. * fixed; setting invalid paths in strict mode (#916)
  651. * fixed; handle docs without id in DocumentArray#id method (#897)
  652. * fixed; do not save virtuals during model.update (#894)
  653. * fixed; sub doc toObject virtuals application (#889)
  654. * fixed; MongooseArray#pull of ObjectId (#881)
  655. * fixed; handle passing db name with any repl set string
  656. * fixed; default application of selected fields (#870)
  657. * fixed; subdoc paths reported in validation errors (#725)
  658. * fixed; incorrect reported num of affected docs in update ops (#862)
  659. * fixed; connection assignment in Model#model (#853)
  660. * fixed; stringifying arrays of docs (#852)
  661. * fixed; modifying subdoc and parent array works (#842)
  662. * fixed; passing undefined to next hook (#785)
  663. * fixed; Query#{update,remove}() works without callbacks (#788)
  664. * fixed; set/updating nested objects by parent pathname (#843)
  665. * fixed; allow null in number arrays (#840)
  666. * fixed; isNew on sub doc after insertion error (#837)
  667. * fixed; if an insert fails, set isNew back to false [boutell]
  668. * fixed; isSelected when only _id is selected (#730)
  669. * fixed; setting an unset default value (#742)
  670. * fixed; query#sort error messaging (#671)
  671. * fixed; support for passing $options with $regex
  672. * added; array of object literal notation in schema creates DocumentArrays
  673. * added; gt,gte,lt,lte query support for arrays (#902)
  674. * added; capped collection support (#938)
  675. * added; document versioning support
  676. * added; inclusion of deselected schema path (#786)
  677. * added; non-atomic array#pop
  678. * added; EmbeddedDocument constructor is now exposed in DocArray#create 7cf8beec
  679. * added; mapReduce support (#678)
  680. * added; support for a configurable minimize option #to{Object,JSON}(option) (#848)
  681. * added; support for strict: `throws` [regality]
  682. * added; support for named schema types (#795)
  683. * added; to{Object,JSON} schema options (#805)
  684. * added; findByIdAnd{Update,Remove}()
  685. * added; findOneAnd{Update,Remove}()
  686. * added; query.setOptions()
  687. * added; instance.update() (#794)
  688. * added; support specifying model in populate() [DanielBaulig]
  689. * added; `lean` query option [gitfy]
  690. * added; multi-atomic support to MongooseArray#nonAtomicPush
  691. * added; support for $set + other $atomic ops on single array
  692. * added; tests
  693. * updated; driver to 1.0.2
  694. * updated; query.sort() syntax to mirror query.select()
  695. * updated; clearer cast error msg for array numbers
  696. * updated; docs
  697. * updated; doc.clone 3x faster (#950)
  698. * updated; only create _id if necessary (#950)
  699. 2.7.3 / 2012-08-01
  700. ==================
  701. * fixed; boolean $in queries (#998)
  702. * fixed field selection option on subdocs (#1022)
  703. 2.7.2 / 2012-07-18
  704. ==================
  705. * fixed; callback to conn#disconnect is optional (#875)
  706. * fixed; handle missing protocols in connection urls (#987)
  707. * fixed; saving modified/removed subdocs (#975)
  708. * updated; tests
  709. 2.7.1 / 2012-06-26
  710. ===================
  711. * fixed; sharding: when a document holds a null as a value of the shard key
  712. * fixed; update() using $pull on an array of Mixed (gh-735)
  713. * deprecated; MongooseNumber#{inc, increment, decrement} methods
  714. * tests; now using mocha
  715. 2.7.0 / 2012-06-14
  716. ===================
  717. * added; deprecation warnings to methods being removed in 3.x
  718. 2.6.8 / 2012-06-14
  719. ===================
  720. * fixed; edge case when using 'options' as a path name (#961)
  721. 2.6.7 / 2012-06-08
  722. ===================
  723. * fixed; ensure promise#error always emits instanceof Error
  724. * fixed; selection of _id w/ another excluded path (#954)
  725. * fixed; setting default DocumentArrays (#953)
  726. 2.6.6 / 2012-06-06
  727. ===================
  728. * fixed; stack overflow in query stream with large result sets (#929)
  729. * added; $gt, $gte, $lt, $lte support to arrays (#902)
  730. * fixed; pass option `safe` along to doc#remove() calls
  731. 2.6.5 / 2012-05-24
  732. ===================
  733. * fixed; do not save virtuals in Model.update (#894)
  734. * added; missing $ prefixed query aliases (going away in 3.x) (#884) [timoxley]
  735. * fixed; setting invalid paths in strict mode (#916)
  736. * fixed; resetting isNew after insert failure (#837) [boutell]
  737. 2.6.4 / 2012-05-15
  738. ===================
  739. * updated; backport string regex $options to 2.x
  740. * updated; use driver 1.0.2 (performance improvements) (#914)
  741. * fixed; calling MongooseDocumentArray#id when the doc has no _id (#897)
  742. 2.6.3 / 2012-05-03
  743. ===================
  744. * fixed; repl-set connectivity issues during failover on MongoDB 2.0.1
  745. * updated; driver to 1.0.0
  746. * fixed; virtuals application of subdocs when using toObject({ virtuals: true }) (#889)
  747. * fixed; MongooseArray#pull of ObjectId correctly updates the array itself (#881)
  748. 2.6.2 / 2012-04-30
  749. ===================
  750. * fixed; default field application of selected fields (#870)
  751. 2.6.1 / 2012-04-30
  752. ===================
  753. * fixed; connection assignment in mongoose#model (#853, #877)
  754. * fixed; incorrect reported num of affected docs in update ops (#862)
  755. 2.6.0 / 2012-04-19
  756. ===================
  757. * updated; hooks.js to 0.2.1
  758. * fixed; issue with passing undefined to a hook callback. thanks to [chrisleishman] for reporting.
  759. * fixed; updating/setting nested objects in strict schemas (#843) as reported by [kof]
  760. * fixed; Query#{update,remove}() work without callbacks again (#788)
  761. * fixed; modifying subdoc along with parent array $atomic op (#842)
  762. 2.5.14 / 2012-04-13
  763. ===================
  764. * fixed; setting an unset default value (#742)
  765. * fixed; doc.isSelected(otherpath) when only _id is selected (#730)
  766. * updated; docs
  767. 2.5.13 / 2012-03-22
  768. ===================
  769. * fixed; failing validation of unselected required paths (#730,#713)
  770. * fixed; emitting connection error when only one listener (#759)
  771. * fixed; MongooseArray#splice was not returning values (#784) [chrisleishman]
  772. 2.5.12 / 2012-03-21
  773. ===================
  774. * fixed; honor the `safe` option in all ensureIndex calls
  775. * updated; node-mongodb-native driver to 0.9.9-7
  776. 2.5.11 / 2012-03-15
  777. ===================
  778. * added; introspection for getters/setters (#745)
  779. * updated; node-mongodb-driver to 0.9.9-5
  780. * added; tailable method to Query (#769) [holic]
  781. * fixed; Number min/max validation of null (#764) [btamas]
  782. * added; more flexible user/password connection options (#738) [KarneAsada]
  783. 2.5.10 / 2012-03-06
  784. ===================
  785. * updated; node-mongodb-native driver to 0.9.9-4
  786. * added; Query#comment()
  787. * fixed; allow unsetting arrays
  788. * fixed; hooking the set method of subdocuments (#746)
  789. * fixed; edge case in hooks
  790. * fixed; allow $id and $ref in queries (fixes compatibility with mongoose-dbref) (#749) [richtera]
  791. * added; default path selection to SchemaTypes
  792. 2.5.9 / 2012-02-22
  793. ===================
  794. * fixed; properly cast nested atomic update operators for sub-documents
  795. 2.5.8 / 2012-02-21
  796. ===================
  797. * added; post 'remove' middleware includes model that was removed (#729) [timoxley]
  798. 2.5.7 / 2012-02-09
  799. ===================
  800. * fixed; RegExp validators on node >= v0.6.x
  801. 2.5.6 / 2012-02-09
  802. ===================
  803. * fixed; emit errors returned from db.collection() on the connection (were being swallowed)
  804. * added; can add multiple validators in your schema at once (#718) [diogogmt]
  805. * fixed; strict embedded documents (#717)
  806. * updated; docs [niemyjski]
  807. * added; pass number of affected docs back in model.update/save
  808. 2.5.5 / 2012-02-03
  809. ===================
  810. * fixed; RangeError: maximum call stack exceed error when removing docs with Number _id (#714)
  811. 2.5.4 / 2012-02-03
  812. ===================
  813. * fixed; RangeError: maximum call stack exceed error (#714)
  814. 2.5.3 / 2012-02-02
  815. ===================
  816. * added; doc#isSelected(path)
  817. * added; query#equals()
  818. * added; beta sharding support
  819. * added; more descript error msgs (#700) [obeleh]
  820. * added; document.modifiedPaths (#709) [ljharb]
  821. * fixed; only functions can be added as getters/setters (#707,704) [ljharb]
  822. 2.5.2 / 2012-01-30
  823. ===================
  824. * fixed; rollback -native driver to 0.9.7-3-5 (was causing timeouts and other replica set weirdness)
  825. * deprecated; MongooseNumber (will be moved to a separate repo for 3.x)
  826. * added; init event is emitted on schemas
  827. 2.5.1 / 2012-01-27
  828. ===================
  829. * fixed; honor strict schemas in Model.update (#699)
  830. 2.5.0 / 2012-01-26
  831. ===================
  832. * added; doc.toJSON calls toJSON on embedded docs when exists [jerem]
  833. * added; populate support for refs of type Buffer (#686) [jerem]
  834. * added; $all support for ObjectIds and Dates (#690)
  835. * fixed; virtual setter calling on instantiation when strict: true (#682) [hunterloftis]
  836. * fixed; doc construction triggering getters (#685)
  837. * fixed; MongooseBuffer check in deepEquals (#688)
  838. * fixed; range error when using Number _ids with `instance.save()` (#691)
  839. * fixed; isNew on embedded docs edge case (#680)
  840. * updated; driver to 0.9.8-3
  841. * updated; expose `model()` method within static methods
  842. 2.4.10 / 2012-01-10
  843. ===================
  844. * added; optional getter application in .toObject()/.toJSON() (#412)
  845. * fixed; nested $operators in $all queries (#670)
  846. * added; $nor support (#674)
  847. * fixed; bug when adding nested schema (#662) [paulwe]
  848. 2.4.9 / 2012-01-04
  849. ===================
  850. * updated; driver to 0.9.7-3-5 to fix Linux performance degradation on some boxes
  851. 2.4.8 / 2011-12-22
  852. ===================
  853. * updated; bump -native to 0.9.7.2-5
  854. * fixed; compatibility with date.js (#646) [chrisleishman]
  855. * changed; undocumented schema "lax" option to "strict"
  856. * fixed; default value population for strict schemas
  857. * updated; the nextTick helper for small performance gain. 1bee2a2
  858. 2.4.7 / 2011-12-16
  859. ===================
  860. * fixed; bug in 2.4.6 with path setting
  861. * updated; bump -native to 0.9.7.2-1
  862. * added; strict schema option [nw]
  863. 2.4.6 / 2011-12-16
  864. ===================
  865. * fixed; conflicting mods on update bug [sirlantis]
  866. * improved; doc.id getter performance
  867. 2.4.5 / 2011-12-14
  868. ===================
  869. * fixed; bad MongooseArray behavior in 2.4.2 - 2.4.4
  870. 2.4.4 / 2011-12-14
  871. ===================
  872. * fixed; MongooseArray#doAtomics throwing after sliced
  873. 2.4.3 / 2011-12-14
  874. ===================
  875. * updated; system.profile schema for MongoDB 2x
  876. 2.4.2 / 2011-12-12
  877. ===================
  878. * fixed; partially populating multiple children of subdocs (#639) [kenpratt]
  879. * fixed; allow Update of numbers to null (#640) [jerem]
  880. 2.4.1 / 2011-12-02
  881. ===================
  882. * added; options support for populate() queries
  883. * updated; -native driver to 0.9.7-1.4
  884. 2.4.0 / 2011-11-29
  885. ===================
  886. * added; QueryStreams (#614)
  887. * added; debug print mode for development
  888. * added; $within support to Array queries (#586) [ggoodale]
  889. * added; $centerSphere query support
  890. * fixed; $within support
  891. * added; $unset is now used when setting a path to undefined (#519)
  892. * added; query#batchSize support
  893. * updated; docs
  894. * updated; -native driver to 0.9.7-1.3 (provides Windows support)
  895. 2.3.13 / 2011-11-15
  896. ===================
  897. * fixed; required validation for Refs (#612) [ded]
  898. * added; $nearSphere support for Arrays (#610)
  899. 2.3.12 / 2011-11-09
  900. ===================
  901. * fixed; regression, objects passed to Model.update should not be changed (#605)
  902. * fixed; regression, empty Model.update should not be executed
  903. 2.3.11 / 2011-11-08
  904. ===================
  905. * fixed; using $elemMatch on arrays of Mixed types (#591)
  906. * fixed; allow using $regex when querying Arrays (#599)
  907. * fixed; calling Model.update with no atomic keys (#602)
  908. 2.3.10 / 2011-11-05
  909. ===================
  910. * fixed; model.update casting for nested paths works (#542)
  911. 2.3.9 / 2011-11-04
  912. ==================
  913. * fixed; deepEquals check for MongooseArray returned false
  914. * fixed; reset modified flags of embedded docs after save [gitfy]
  915. * fixed; setting embedded doc with identical values no longer marks modified [gitfy]
  916. * updated; -native driver to 0.9.6.23 [mlazarov]
  917. * fixed; Model.update casting (#542, #545, #479)
  918. * fixed; populated refs no longer fail required validators (#577)
  919. * fixed; populating refs of objects with custom ids works
  920. * fixed; $pop & $unset work with Model.update (#574)
  921. * added; more helpful debugging message for Schema#add (#578)
  922. * fixed; accessing .id when no _id exists now returns null (#590)
  923. 2.3.8 / 2011-10-26
  924. ==================
  925. * added; callback to query#findOne is now optional (#581)
  926. 2.3.7 / 2011-10-24
  927. ==================
  928. * fixed; wrapped save/remove callbacks in nextTick to mitigate -native swallowing thrown errors
  929. 2.3.6 / 2011-10-21
  930. ==================
  931. * fixed; exclusion of embedded doc _id from query results (#541)
  932. 2.3.5 / 2011-10-19
  933. ==================
  934. * fixed; calling queries without passing a callback works (#569)
  935. * fixed; populate() works with String and Number _ids too (#568)
  936. 2.3.4 / 2011-10-18
  937. ==================
  938. * added; Model.create now accepts an array as a first arg
  939. * fixed; calling toObject on a DocumentArray with nulls no longer throws
  940. * fixed; calling inspect on a DocumentArray with nulls no longer throws
  941. * added; MongooseArray#unshift support
  942. * fixed; save hooks now fire on embedded documents [gitfy] (#456)
  943. * updated; -native driver to 0.9.6-22
  944. * fixed; correctly pass $addToSet op instead of $push
  945. * fixed; $addToSet properly detects dates
  946. * fixed; $addToSet with multiple items works
  947. * updated; better node 0.6 Buffer support
  948. 2.3.3 / 2011-10-12
  949. ==================
  950. * fixed; population conditions in multi-query settings [vedmalex] (#563)
  951. * fixed; now compatible with Node v0.5.x
  952. 2.3.2 / 2011-10-11
  953. ==================
  954. * fixed; population of null subdoc properties no longer hangs (#561)
  955. 2.3.1 / 2011-10-10
  956. ==================
  957. * added; support for Query filters to populate() [eneko]
  958. * fixed; querying with number no longer crashes mongodb (#555) [jlbyrey]
  959. * updated; version of -native driver to 0.9.6-21
  960. * fixed; prevent query callbacks that throw errors from corrupting -native connection state
  961. 2.3.0 / 2011-10-04
  962. ==================
  963. * fixed; nulls as default values for Boolean now works as expected
  964. * updated; version of -native driver to 0.9.6-20
  965. 2.2.4 / 2011-10-03
  966. ==================
  967. * fixed; populate() works when returned array contains undefined/nulls
  968. 2.2.3 / 2011-09-29
  969. ==================
  970. * updated; version of -native driver to 0.9.6-19
  971. 2.2.2 / 2011-09-28
  972. ==================
  973. * added; $regex support to String [davidandrewcope]
  974. * added; support for other contexts like repl etc (#535)
  975. * fixed; clear modified state properly after saving
  976. * added; $addToSet support to Array
  977. 2.2.1 / 2011-09-22
  978. ==================
  979. * more descript error when casting undefined to string
  980. * updated; version of -native driver to 0.9.6-18
  981. 2.2.0 / 2011-09-22
  982. ==================
  983. * fixed; maxListeners warning on schemas with many arrays (#530)
  984. * changed; return / apply defaults based on fields selected in query (#423)
  985. * fixed; correctly detect Mixed types within schema arrays (#532)
  986. 2.1.4 / 2011-09-20
  987. ==================
  988. * fixed; new private methods that stomped on users code
  989. * changed; finished removing old "compat" support which did nothing
  990. 2.1.3 / 2011-09-16
  991. ==================
  992. * updated; version of -native driver to 0.9.6-15
  993. * added; emit `error` on connection when open fails [edwardhotchkiss]
  994. * added; index support to Buffers (thanks justmoon for helping track this down)
  995. * fixed; passing collection name via schema in conn.model() now works (thanks vedmalex for reporting)
  996. 2.1.2 / 2011-09-07
  997. ==================
  998. * fixed; Query#find with no args no longer throws
  999. 2.1.1 / 2011-09-07
  1000. ==================
  1001. * added; support Model.count(fn)
  1002. * fixed; compatibility with node >=0.4.0 < 0.4.3
  1003. * added; pass model.options.safe through with .save() so w:2, wtimeout:5000 options work [andrewjstone]
  1004. * added; support for $type queries
  1005. * added; support for Query#or
  1006. * added; more tests
  1007. * optimized populate queries
  1008. 2.1.0 / 2011-09-01
  1009. ==================
  1010. * changed; document#validate is a public method
  1011. * fixed; setting number to same value no longer marks modified (#476) [gitfy]
  1012. * fixed; Buffers shouldn't have default vals
  1013. * added; allow specifying collection name in schema (#470) [ixti]
  1014. * fixed; reset modified paths and atomics after saved (#459)
  1015. * fixed; set isNew on embedded docs to false after save
  1016. * fixed; use self to ensure proper scope of options in doOpenSet (#483) [andrewjstone]
  1017. 2.0.4 / 2011-08-29
  1018. ==================
  1019. * Fixed; Only send the depopulated ObjectId instead of the entire doc on save (DBRefs)
  1020. * Fixed; Properly cast nested array values in Model.update (the data was stored in Mongo incorrectly but recast on document fetch was "fixing" it)
  1021. 2.0.3 / 2011-08-28
  1022. ==================
  1023. * Fixed; manipulating a populated array no longer causes infinite loop in BSON serializer during save (#477)
  1024. * Fixed; populating an empty array no longer hangs foreeeeeeeever (#481)
  1025. 2.0.2 / 2011-08-25
  1026. ==================
  1027. * Fixed; Maintain query option key order (fixes 'bad hint' error from compound query hints)
  1028. 2.0.1 / 2011-08-25
  1029. ==================
  1030. * Fixed; do not over-write the doc when no valide props exist in Model.update (#473)
  1031. 2.0.0 / 2011-08-24
  1032. ===================
  1033. * Added; support for Buffers [justmoon]
  1034. * Changed; improved error handling [maelstrom]
  1035. * Removed: unused utils.erase
  1036. * Fixed; support for passing other context object into Schemas (#234) [Sija]
  1037. * Fixed; getters are no longer circular refs to themselves (#366)
  1038. * Removed; unused compat.js
  1039. * Fixed; getter/setter scopes are set properly
  1040. * Changed; made several private properties more obvious by prefixing _
  1041. * Added; DBRef support [guille]
  1042. * Changed; removed support for multiple collection names per model
  1043. * Fixed; no longer applying setters when document returned from db
  1044. * Changed; default auto_reconnect to true
  1045. * Changed; Query#bind no longer clones the query
  1046. * Fixed; Model.update now accepts $pull, $inc and friends (#404)
  1047. * Added; virtual type option support [nw]
  1048. 1.8.4 / 2011-08-21
  1049. ===================
  1050. * Fixed; validation bug when instantiated with non-schema properties (#464) [jmreidy]
  1051. 1.8.3 / 2011-08-19
  1052. ===================
  1053. * Fixed; regression in connection#open [jshaw86]
  1054. 1.8.2 / 2011-08-17
  1055. ===================
  1056. * fixed; reset connection.readyState after failure [tomseago]
  1057. * fixed; can now query positionally for non-embedded docs (arrays of numbers/strings etc)
  1058. * fixed; embedded document query casting
  1059. * added; support for passing options to node-mongo-native db, server, and replsetserver [tomseago]
  1060. 1.8.1 / 2011-08-10
  1061. ===================
  1062. * fixed; ObjectIds were always marked modified
  1063. * fixed; can now query using document instances
  1064. * fixed; can now query/update using documents with subdocs
  1065. 1.8.0 / 2011-08-04
  1066. ===================
  1067. * fixed; can now use $all with String and Number
  1068. * fixed; can query subdoc array with $ne: null
  1069. * fixed; instance.subdocs#id now works with custom _ids
  1070. * fixed; do not apply setters when doc returned from db (change in bad behavior)
  1071. 1.7.4 / 2011-07-25
  1072. ===================
  1073. * fixed; sparse now a valid seperate schema option
  1074. * fixed; now catching cast errors in queries
  1075. * fixed; calling new Schema with object created in vm.runInNewContext now works (#384) [Sija]
  1076. * fixed; String enum was disallowing null
  1077. * fixed; Find by nested document _id now works (#389)
  1078. 1.7.3 / 2011-07-16
  1079. ===================
  1080. * fixed; MongooseArray#indexOf now works with ObjectIds
  1081. * fixed; validation scope now set properly (#418)
  1082. * fixed; added missing colors dependency (#398)
  1083. 1.7.2 / 2011-07-13
  1084. ===================
  1085. * changed; node-mongodb-native driver to v0.9.6.7
  1086. 1.7.1 / 2011-07-12
  1087. ===================
  1088. * changed; roll back node-mongodb-native driver to v0.9.6.4
  1089. 1.7.0 / 2011-07-12
  1090. ===================
  1091. * fixed; collection name misspelling [mathrawka]
  1092. * fixed; 2nd param is required for ReplSetServers [kevinmarvin]
  1093. * fixed; MongooseArray behaves properly with Object.keys
  1094. * changed; node-mongodb-native driver to v0.9.6.6
  1095. * fixed/changed; Mongodb segfault when passed invalid ObjectId (#407)
  1096. - This means invalid data passed to the ObjectId constructor will now error
  1097. 1.6.0 / 2011-07-07
  1098. ===================
  1099. * changed; .save() errors are now emitted on the instances db instead of the instance 9782463fc
  1100. * fixed; errors occurring when creating indexes now properly emit on db
  1101. * added; $maxDistance support to MongooseArrays
  1102. * fixed; RegExps now work with $all
  1103. * changed; node-mongodb-native driver to v0.9.6.4
  1104. * fixed; model names are now accessible via .modelName
  1105. * added; Query#slaveOk support
  1106. 1.5.0 / 2011-06-27
  1107. ===================
  1108. * changed; saving without a callback no longer ignores the error (@bnoguchi)
  1109. * changed; hook-js version bump to 0.1.9
  1110. * changed; node-mongodb-native version bumped to 0.9.6.1 - When .remove() doesn't
  1111. return an error, null is no longer passed.
  1112. * fixed; two memory leaks (@justmoon)
  1113. * added; sparse index support
  1114. * added; more ObjectId conditionals (gt, lt, gte, lte) (@phillyqueso)
  1115. * added; options are now passed in model#remote (@JerryLuke)
  1116. 1.4.0 / 2011-06-10
  1117. ===================
  1118. * bumped hooks-js dependency (fixes issue passing null as first arg to next())
  1119. * fixed; document#inspect now works properly with nested docs
  1120. * fixed; 'set' now works as a schema attribute (GH-365)
  1121. * fixed; _id is now set properly within pre-init hooks (GH-289)
  1122. * added; Query#distinct / Model#distinct support (GH-155)
  1123. * fixed; embedded docs now can use instance methods (GH-249)
  1124. * fixed; can now overwrite strings conflicting with schema type
  1125. 1.3.7 / 2011-06-03
  1126. ===================
  1127. * added MongooseArray#splice support
  1128. * fixed; 'path' is now a valid Schema pathname
  1129. * improved hooks (utilizing https://github.com/bnoguchi/hooks-js)
  1130. * fixed; MongooseArray#$shift now works (never did)
  1131. * fixed; Document.modified no longer throws
  1132. * fixed; modifying subdoc property sets modified paths for subdoc and parent doc
  1133. * fixed; marking subdoc path as modified properly persists the value to the db
  1134. * fixed; RexExps can again be saved ( #357 )
  1135. 1.3.6 / 2011-05-18
  1136. ===================
  1137. * fixed; corrected casting for queries against array types
  1138. * added; Document#set now accepts Document instances
  1139. 1.3.5 / 2011-05-17
  1140. ===================
  1141. * fixed; $ne queries work properly with single vals
  1142. * added; #inspect() methods to improve console.log output
  1143. 1.3.4 / 2011-05-17
  1144. ===================
  1145. * fixed; find by Date works as expected (#336)
  1146. * added; geospatial 2d index support
  1147. * added; support for $near (#309)
  1148. * updated; node-mongodb-native driver
  1149. * fixed; updating numbers work (#342)
  1150. * added; better error msg when try to remove an embedded doc without an _id (#307)
  1151. * added; support for 'on-the-fly' schemas (#227)
  1152. * changed; virtual id getters can now be skipped
  1153. * fixed; .index() called on subdoc schema now works as expected
  1154. * fixed; db.setProfile() now buffers until the db is open (#340)
  1155. 1.3.3 / 2011-04-27
  1156. ===================
  1157. * fixed; corrected query casting on nested mixed types
  1158. 1.3.2 / 2011-04-27
  1159. ===================
  1160. * fixed; query hints now retain key order
  1161. 1.3.1 / 2011-04-27
  1162. ===================
  1163. * fixed; setting a property on an embedded array no longer overwrites entire array (GH-310)
  1164. * fixed; setting nested properties works when sibling prop is named "type"
  1165. * fixed; isModified is now much finer grained when .set() is used (GH-323)
  1166. * fixed; mongoose.model() and connection.model() now return the Model (GH-308, GH-305)
  1167. * fixed; can now use $gt, $lt, $gte, $lte with String schema types (GH-317)
  1168. * fixed; .lowercase() -> .toLowerCase() in pluralize()
  1169. * fixed; updating an embedded document by index works (GH-334)
  1170. * changed; .save() now passes the instance to the callback (GH-294, GH-264)
  1171. * added; can now query system.profile and system.indexes collections
  1172. * added; db.model('system.profile') is now included as a default Schema
  1173. * added; db.setProfiling(level, ms, callback)
  1174. * added; Query#hint() support
  1175. * added; more tests
  1176. * updated node-mongodb-native to 0.9.3
  1177. 1.3.0 / 2011-04-19
  1178. ===================
  1179. * changed; save() callbacks now fire only once on failed validation
  1180. * changed; Errors returned from save() callbacks now instances of ValidationError
  1181. * fixed; MongooseArray#indexOf now works properly
  1182. 1.2.0 / 2011-04-11
  1183. ===================
  1184. * changed; MongooseNumber now casts empty string to null
  1185. 1.1.25 / 2011-04-08
  1186. ===================
  1187. * fixed; post init now fires at proper time
  1188. 1.1.24 / 2011-04-03
  1189. ===================
  1190. * fixed; pushing an array onto an Array works on existing docs
  1191. 1.1.23 / 2011-04-01
  1192. ===================
  1193. * Added Model#model
  1194. 1.1.22 / 2011-03-31
  1195. ===================
  1196. * Fixed; $in queries on mixed types now work
  1197. 1.1.21 / 2011-03-31
  1198. ===================
  1199. * Fixed; setting object root to null/undefined works
  1200. 1.1.20 / 2011-03-31
  1201. ===================
  1202. * Fixed; setting multiple props on null field works
  1203. 1.1.19 / 2011-03-31
  1204. ===================
  1205. * Fixed; no longer using $set on paths to an unexisting fields
  1206. 1.1.18 / 2011-03-30
  1207. ===================
  1208. * Fixed; non-mixed type object setters work after initd from null
  1209. 1.1.17 / 2011-03-30
  1210. ===================
  1211. * Fixed; nested object property access works when root initd with null value
  1212. 1.1.16 / 2011-03-28
  1213. ===================
  1214. * Fixed; empty arrays are now saved
  1215. 1.1.15 / 2011-03-28
  1216. ===================
  1217. * Fixed; `null` and `undefined` are set atomically.
  1218. 1.1.14 / 2011-03-28
  1219. ===================
  1220. * Changed; more forgiving date casting, accepting '' as null.
  1221. 1.1.13 / 2011-03-26
  1222. ===================
  1223. * Fixed setting values as `undefined`.
  1224. 1.1.12 / 2011-03-26
  1225. ===================
  1226. * Fixed; nested objects now convert to JSON properly
  1227. * Fixed; setting nested objects directly now works
  1228. * Update node-mongodb-native
  1229. 1.1.11 / 2011-03-25
  1230. ===================
  1231. * Fixed for use of `type` as a key.
  1232. 1.1.10 / 2011-03-23
  1233. ===================
  1234. * Changed; Make sure to only ensure indexes while connected
  1235. 1.1.9 / 2011-03-2
  1236. ==================
  1237. * Fixed; Mixed can now default to empty arrays
  1238. * Fixed; keys by the name 'type' are now valid
  1239. * Fixed; null values retrieved from the database are hydrated as null values.
  1240. * Fixed repeated atomic operations when saving a same document twice.
  1241. 1.1.8 / 2011-03-23
  1242. ==================
  1243. * Fixed 'id' overriding. [bnoguchi]
  1244. 1.1.7 / 2011-03-22
  1245. ==================
  1246. * Fixed RegExp query casting when querying against an Array of Strings [bnoguchi]
  1247. * Fixed getters/setters for nested virtualsl. [bnoguchi]
  1248. 1.1.6 / 2011-03-22
  1249. ==================
  1250. * Only doValidate when path exists in Schema [aheckmann]
  1251. * Allow function defaults for Array types [aheckmann]
  1252. * Fix validation hang [aheckmann]
  1253. * Fix setting of isRequired of SchemaType [aheckmann]
  1254. * Fix SchemaType#required(false) filter [aheckmann]
  1255. * More backwards compatibility [aheckmann]
  1256. * More tests [aheckmann]
  1257. 1.1.5 / 2011-03-14
  1258. ==================
  1259. * Added support for `uri, db, fn` and `uri, fn` signatures for replica sets.
  1260. * Improved/extended replica set tests.
  1261. 1.1.4 / 2011-03-09
  1262. ==================
  1263. * Fixed; running an empty Query doesn't throw. [aheckmann]
  1264. * Changed; Promise#addBack returns promise. [aheckmann]
  1265. * Added streaming cursor support. [aheckmann]
  1266. * Changed; Query#update defaults to use$SetOnSave now. [brian]
  1267. * Added more docs.
  1268. 1.1.3 / 2011-03-04
  1269. ==================
  1270. * Added Promise#resolve [aheckmann]
  1271. * Fixed backward compatibility with nulls [aheckmann]
  1272. * Changed; Query#{run,exec} return promises [aheckmann]
  1273. 1.1.2 / 2011-03-03
  1274. ==================
  1275. * Restored Query#exec and added notion of default operation [brian]
  1276. * Fixed ValidatorError messages [brian]
  1277. 1.1.1 / 2011-03-01
  1278. ==================
  1279. * Added SchemaType String `lowercase`, `uppercase`, `trim`.
  1280. * Public exports (`Model`, `Document`) and tests.
  1281. * Added ObjectId casting support for `Document`s.
  1282. 1.1.0 / 2011-02-25
  1283. ==================
  1284. * Added support for replica sets.
  1285. 1.0.16 / 2011-02-18
  1286. ===================
  1287. * Added $nin as another whitelisted $conditional for SchemaArray [brian]
  1288. * Changed #with to #where [brian]
  1289. * Added ability to use $in conditional with Array types [brian]
  1290. 1.0.15 / 2011-02-18
  1291. ===================
  1292. * Added `id` virtual getter for documents to easily access the hexString of
  1293. the `_id`.
  1294. 1.0.14 / 2011-02-17
  1295. ===================
  1296. * Fix for arrays within subdocuments [brian]
  1297. 1.0.13 / 2011-02-16
  1298. ===================
  1299. * Fixed embedded documents saving.
  1300. 1.0.12 / 2011-02-14
  1301. ===================
  1302. * Minor refactorings [brian]
  1303. 1.0.11 / 2011-02-14
  1304. ===================
  1305. * Query refactor and $ne, $slice, $or, $size, $elemMatch, $nin, $exists support [brian]
  1306. * Named scopes sugar [brian]
  1307. 1.0.10 / 2011-02-11
  1308. ===================
  1309. * Updated node-mongodb-native driver [thanks John Allen]
  1310. 1.0.9 / 2011-02-09
  1311. ==================
  1312. * Fixed single member arrays as defaults [brian]
  1313. 1.0.8 / 2011-02-09
  1314. ==================
  1315. * Fixed for collection-level buffering of commands [gitfy]
  1316. * Fixed `Document#toJSON` [dalejefferson]
  1317. * Fixed `Connection` authentication [robrighter]
  1318. * Fixed clash of accessors in getters/setters [eirikurn]
  1319. * Improved `Model#save` promise handling
  1320. 1.0.7 / 2011-02-05
  1321. ==================
  1322. * Fixed memory leak warnings for test suite on 0.3
  1323. * Fixed querying documents that have an array that contain at least one
  1324. specified member. [brian]
  1325. * Fixed default value for Array types (fixes GH-210). [brian]
  1326. * Fixed example code.
  1327. 1.0.6 / 2011-02-03
  1328. ==================
  1329. * Fixed `post` middleware
  1330. * Fixed; it's now possible to instantiate a model even when one of the paths maps
  1331. to an undefined value [brian]
  1332. 1.0.5 / 2011-02-02
  1333. ==================
  1334. * Fixed; combo $push and $pushAll auto-converts into a $pushAll [brian]
  1335. * Fixed; combo $pull and $pullAll auto-converts to a single $pullAll [brian]
  1336. * Fixed; $pullAll now removes said members from array before save (so it acts just
  1337. like pushAll) [brian]
  1338. * Fixed; multiple $pulls and $pushes become a single $pullAll and $pushAll.
  1339. Moreover, $pull now modifies the array before save to reflect the immediate
  1340. change [brian]
  1341. * Added tests for nested shortcut getters [brian]
  1342. * Added tests that show that Schemas with nested Arrays don't apply defaults
  1343. [brian]
  1344. 1.0.4 / 2011-02-02
  1345. ==================
  1346. * Added MongooseNumber#toString
  1347. * Added MongooseNumber unit tests
  1348. 1.0.3 / 2011-02-02
  1349. ==================
  1350. * Make sure safe mode works with Model#save
  1351. * Changed Schema options: safe mode is now the default
  1352. * Updated node-mongodb-native to HEAD
  1353. 1.0.2 / 2011-02-02
  1354. ==================
  1355. * Added a Model.create shortcut for creating documents. [brian]
  1356. * Fixed; we can now instantiate models with hashes that map to at least one
  1357. null value. [brian]
  1358. * Fixed Schema with more than 2 nested levels. [brian]
  1359. 1.0.1 / 2011-02-02
  1360. ==================
  1361. * Improved `MongooseNumber`, works almost like the native except for `typeof`
  1362. not being `'number'`.