1 | 5.12.14 / 2021-06-15
|
2 | ====================
|
3 | * fix(schema): check that schema type is an object when setting isUnderneathDocArray #10361 [vmo-khanus](https://github.com/vmo-khanus)
|
4 | * fix(document): avoid infinite recursion when setting single nested subdoc to array #10351
|
5 | * fix(populate): allow populating nested path in schema using `Model.populate()` #10335
|
6 | * fix(drivers): emit operation-start/operation-end events to allow inspecting when operations start and end
|
7 | * fix(index.d.ts): improve typings for virtuals #10350 [thiagokisaki](https://github.com/thiagokisaki)
|
8 | * fix(index.d.ts): correct constructor type for Document #10328
|
9 | * fix(index.d.ts): add `ValidationError` as a possible type for `ValidationError#errors` #10320 [IslandRhythms](https://github.com/IslandRhythms)
|
10 | * fix: remove unnecessary async devDependency that's causing npm audit warnings #10281
|
11 | * docs(typescript): add schemas guide #10308
|
12 | * docs(model): add options parameter description to `Model.exists()` #10336 [Aminoiz](https://github.com/Aminoiz)
|
13 |
|
14 | 5.12.13 / 2021-06-04
|
15 | ====================
|
16 | * perf(document): avoid creating nested paths when running `$getAllSubdocs()` #10275
|
17 | * fix: make returnDocument option work with `findOneAndUpdate()` #10232 #10231 [cnwangjie](https://github.com/cnwangjie)
|
18 | * fix(document): correctly reset subdocument when resetting a map subdocument underneath a single nested subdoc after save #10295
|
19 | * perf(query): avoid setting non-null sessions to avoid overhead from $getAllSubdocs() #10275
|
20 | * perf(document): pre split schematype paths when compiling schema to avoid extra overhead of splitting when hydrating documents #10275
|
21 | * perf(schema): pre-calculate mapPaths to avoid looping over every path for each path when initing doc #10275
|
22 | * fix(index.d.ts): drill down into nested arrays when creating LeanDocument type #10293
|
23 |
|
24 | 5.12.12 / 2021-05-28
|
25 | ====================
|
26 | * fix(documentarray): retain atomics when setting to a new array #10272
|
27 | * fix(query+model): fix deprecation warning for `returnOriginal` with `findOneAndUpdate()` #10298 #10297 #10292 #10285 [IslandRhythms](https://github.com/IslandRhythms)
|
28 | * fix(index.d.ts): make `map()` result an array if used over an array #10288 [quantumsheep](https://github.com/quantumsheep)
|
29 |
|
30 | 5.12.11 / 2021-05-24
|
31 | ====================
|
32 | * fix(populate): skip applying setters when casting arrays for populate() to avoid issues with arrays of immutable elements #10264
|
33 | * perf(schematype): avoid cloning setters every time we run setters #9588
|
34 | * perf(get): add benchmarks and extra cases to speed up get() #9588
|
35 | * perf(array): improve array constructor performance on small arrays to improve nested array perf #9588
|
36 | * fix(index.d.ts): allow using type: [String] with string[] when using SchemaDefinition with generic #10261
|
37 | * fix(index.d.ts): support ReadonlyArray as well as regular array where possible in schema definitions #10260
|
38 | * docs(connection): document noListener option to useDb #10278 [stuartpb](https://github.com/stuartpb)
|
39 | * docs: migrate raw tutorial content from pug / JS to markdown #10271
|
40 | * docs: fix typo #10269 [sanjib](https://github.com/sanjib)
|
41 |
|
42 | 5.12.10 / 2021-05-18
|
43 | ====================
|
44 | * fix(query): allow setting `defaults` option on result documents from query options #7287 [IslandRhythms](https://github.com/IslandRhythms)
|
45 | * fix(populate): handle populating embedded discriminator with custom tiedValue #10231
|
46 | * fix(document): allow passing space-delimited string of `pathsToValidate` to `validate()` and `validateSync()` #10258
|
47 | * fix(model+schema): support `loadClass()` on classes that have `collection` as a static property #10257 #10254 [IslandRhythms](https://github.com/IslandRhythms)
|
48 | * fix(SchemaArrayOptions): correct property name #10236
|
49 | * fix(index.d.ts): add any to all query operators to minimize likelihood of "type instantiation is excessively deep" when querying docs with 4-level deep subdocs #10189
|
50 | * fix(index.d.ts): add $parent() in addition to parent() in TS definitions
|
51 | * fix(index.d.ts): correct async iterator return type for QueryCursor #10253 #10252 #10251 [borfig](https://github.com/borfig)
|
52 | * fix(index.d.ts): add `virtualsOnly` parameter to `loadClass()` function signature [IslandRhythms](https://github.com/IslandRhythms)
|
53 | * docs(typescript): add typescript populate docs #10212
|
54 | * docs: switch from AWS to Azure Functions for search #10244
|
55 |
|
56 | 5.12.9 / 2021-05-13
|
57 | ===================
|
58 | * fix(schema): ensure add() overwrites existing schema paths by default #10208 #10203
|
59 | * fix(schema): support creating nested paths underneath document arrays #10193
|
60 | * fix(update): convert nested dotted paths in update to nested paths to avoid ending up with dotted properties in update #10200
|
61 | * fix(document): allow calling validate() and validateSync() with `options` as first parameter #10216
|
62 | * fix(schema): apply static properties to model when using loadClass() #10206
|
63 | * fix(index.d.ts): allow returning Promise<void> from middleware functions #10229
|
64 | * fix(index.d.ts): add pre('distinct') hooks to TypeScript #10192
|
65 |
|
66 | 5.12.8 / 2021-05-10
|
67 | ===================
|
68 | * fix(populate): handle populating immutable array paths #10159
|
69 | * fix(CastError): add `toJSON()` function to ensure `name` property always ends up in `JSON.stringify()` output #10166 [IslandRhythms](https://github.com/IslandRhythms)
|
70 | * fix(query): add allowDiskUse() method to improve setting MongoDB 4.4's new `allowDiskUse` option #10177
|
71 | * fix(populate): allow populating paths under mixed schematypes where some documents have non-object properties #10191
|
72 | * chore: remove unnecessary driver dynamic imports so Mongoose can work with Parcel #9603
|
73 | * fix(index.d.ts): allow any object as parameter to create() and `insertMany()` #10144
|
74 | * fix(index.d.ts): allow creating Model class with raw interface, no `extends Document` #10144
|
75 | * fix(index.d.ts): separate UpdateQuery from `UpdateWithAggregationPipeline` for cases when `UpdateQuery` is used as a function param #10186
|
76 | * fix(index.d.ts): don't require error value in pre/post hooks #10213 [michaln-q](https://github.com/michaln-q)
|
77 | * docs(typescript): add a typescript intro tutorial and statics tutorial #10021
|
78 | * docs(typescript): add query helpers tutorial #10021
|
79 | * docs(deprecations): add note that you can safely ignore `useFindAndModify` and `useCreateIndex` deprecation warnings #10155
|
80 | * chore(workflows): add node 16 to github actions #10201 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
81 |
|
82 | 5.12.7 / 2021-04-29
|
83 | ===================
|
84 | * fix(document): make $getPopulatedDocs() return populated virtuals #10148
|
85 | * fix(discriminator): take discriminator schema's single nested paths over base schema's #10157
|
86 | * fix(discriminator): allow numbers and ObjectIds as tied values for discriminators #10130
|
87 | * fix(document): avoid double validating paths underneath mixed objects in save() #10141
|
88 | * fix(schema): allow path() to return single nested paths within document arrays #10164
|
89 | * fix(model+query): consistently wrap query callbacks in `process.nextTick()` to avoid clean stack traces causing memory leak when using synchronous recursion like `async.whilst()` #9864
|
90 | * fix(cursor): correctly report CastError when using noCursorTimeout flag #10150
|
91 | * fix(index.d.ts): add CastError constructor #10176
|
92 | * fix(index.d.ts): allow setting mongoose.pluralize(null) in TypeScript #10185
|
93 | * docs: add link to transactions guide from nav bar #10143
|
94 | * docs(validation): add section about custom error messages #10140
|
95 | * docs: make headers linkable via clicking #10156
|
96 | * docs: broken link in document.js #10190 [joostdecock](https://github.com/joostdecock)
|
97 | * docs: make navbar responsive on legacy 2.x docs #10171 [ad99526](https://github.com/ad99526)
|
98 |
|
99 | 5.12.6 / 2021-04-27
|
100 | ===================
|
101 | * fix(query): allow setting `writeConcern` schema option to work around MongoDB driver's `writeConcern` deprecation warning #10083 #10009 [IslandRhythms](https://github.com/IslandRhythms)
|
102 | * fix(populate): dedupe when virtual populate foreignField is an array to avoid duplicate docs in result #10117
|
103 | * fix(populate): add `localField` filter to `$elemMatch` on virtual populate when custom `match` has a `$elemMatch` and `foreignField` is an array #10117
|
104 | * fix(query): convert projection string values to numbers as a workaround for #10142
|
105 | * fix(document): set version key filter on `save()` when using `optimisticConcurrency` if no changes in document #10128 [IslandRhythms](https://github.com/IslandRhythms)
|
106 | * fix(model): use `obj` as `context` in `Model.validate()` if `obj` is a document #10132
|
107 | * fix(connection): avoid db events deprecation warning when using `useDb()` with `useUnifiedTopology` #8267
|
108 | * fix: upgrade to sift@13.5.2 to work around transitive dev dependency security warning #10121
|
109 | * fix(index.d.ts): allow any object as parameter to `create()` and `insertMany()` #10144
|
110 | * fix(index.d.ts): clarify that `eachAsync()` callback receives a single doc rather than array of docs unless `batchSize` is set #10135
|
111 | * fix(index.d.ts): clarify that return value from `validateSync()` is a ValidationError #10147 [michaln-q](https://github.com/michaln-q)
|
112 | * fix(index.d.ts): add generic type for Model constructor #10074 [Duchynko](https://github.com/Duchynko)
|
113 | * fix(index.d.ts): add parameter type in merge #10168 [yoonhoGo](https://github.com/yoonhoGo)
|
114 |
|
115 | 5.12.5 / 2021-04-19
|
116 | ===================
|
117 | * fix(populate): handle populating underneath document array when document array property doesn't exist in db #10003
|
118 | * fix(populate): clear out dangling pointers to populated docs so query cursor with populate() can garbage collect populated subdocs #9864
|
119 | * fix(connection): pull correct `autoCreate` value from Mongoose global when creating new model before calling `connect()` #10091
|
120 | * fix(populate): handle populating paths on documents with discriminator keys that point to non-existent discriminators #10082
|
121 | * fix(index.d.ts): allow numbers as discriminator names #10115
|
122 | * fix(index.d.ts): allow `type: Boolean` in Schema definitions #10085
|
123 | * fix(index.d.ts): allow passing array of aggregation pipeline stages to `updateOne()` and `updateMany()` #10095
|
124 | * fix(index.d.ts): support legacy 2nd param callback syntax for `deleteOne()`, `deleteMany()` #10122
|
125 | * docs(mongoose): make `useCreateIndex` always `false` in docs #10033
|
126 | * docs(schema): fix incorrect links from schema API docs #10111
|
127 |
|
128 | 5.12.4 / 2021-04-15
|
129 | ===================
|
130 | * fix: upgrade mongodb driver -> 3.6.6 #10079
|
131 | * fix: store fields set with select:false at schema-level when saving a new document #10101 [ptantiku](https://github.com/ptantiku)
|
132 | * fix(populate): avoid turning already populated field to null when populating an existing lean document #10068 [IslandRhythms](https://github.com/IslandRhythms)
|
133 | * fix(populate): correctly populate lean subdocs with `_id` property #10069
|
134 | * fix(model): insertedDocs may contain docs that weren't inserted #10098 [olnazx](https://github.com/olnazx)
|
135 | * fix(schemaType): make type Mixed cast error objects to pojos #10131 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
136 | * fix(populate): support populating embedded discriminators in nested arrays #9984
|
137 | * fix(populate): handle populating map paths using trailing `.$*` #10123
|
138 | * fix(populate): allow returning primitive from `transform()` function for single conventional populate #10064
|
139 | * fix(index.d.ts): allow generic classes of `T` to use `T & Document` internally #10046
|
140 | * fix(index.d.ts): allow `$pull` with `$` paths #10075
|
141 | * fix(index.d.ts): use correct `Date` type for `$currentDate` #10058
|
142 | * fix(index.d.ts): add missing asyncInterator to Query type def #10094 [borfig](https://github.com/borfig)
|
143 | * fix(index.d.ts): allow RHS of `$unset` properties to be any value #10066
|
144 | * fix(index.d.ts): allow setting SchemaType `index` property to a string #10077
|
145 | * refactor(index.d.ts): move discriminator() to common interface #10109 [LoneRifle](https://github.com/LoneRifle)
|
146 |
|
147 | 5.12.3 / 2021-03-31
|
148 | ===================
|
149 | * fix: avoid setting schema-level collation on text indexes #10044 [IslandRhythms](https://github.com/IslandRhythms)
|
150 | * fix(query): add `writeConcern()` method to avoid writeConcern deprecation warning #10009
|
151 | * fix(connection): use queueing instead of event emitter for `createCollection()` and other helpers to avoid event emitter warning #9778
|
152 | * fix(connection): scope `Connection#id` to Mongoose instance so id always lines up with `mongoose.connections` index #10025 [IslandRhythms](https://github.com/IslandRhythms)
|
153 | * fix: avoid throwing in `promiseOrCallback()` if 3rd param isn't an EventEmitter #10055 [emrebass](https://github.com/emrebass)
|
154 | * fix(index.d.ts): add Model as 2nd generic param to `Model.discriminator()` #10054 [coro101](https://github.com/coro101)
|
155 | * fix(index.d.ts): add docs to `next()` callback for `pre('insertMany')` hooks #10078 #10072 [pezzu](https://github.com/pezzu)
|
156 | * fix(index.d.ts): add `transform` to PopulateOptions interface #10061
|
157 | * fix(index.d.ts): add DocumentQuery type for backwards compatibility #10036
|
158 |
|
159 | 5.12.2 / 2021-03-22
|
160 | ===================
|
161 | * fix(QueryCursor): consistently execute `post('find')` hooks with an array of docs #10015 #9982 [IslandRhythms](https://github.com/IslandRhythms)
|
162 | * fix(schema): support setting `ref` as an option on an array SchemaType #10029
|
163 | * fix(query): apply schema-level `select` option from array schematypes #10029
|
164 | * fix(schema): avoid possible prototype pollution with `Schema()` constructor #10035 [zpbrent](https://github.com/zpbrent)
|
165 | * fix(model): make bulkWrite skip timestamps with timestamps: false #10050 [SoftwareSing](https://github.com/SoftwareSing)
|
166 | * fix(index.d.ts): make query methods return `QueryWithHelpers` so query helpers pass through chaining #10040
|
167 | * fix(index.d.ts): add `upserted` array to `updateOne()`, `updateMany()`, `update()` result #10042
|
168 | * fix(index.d.ts): add back `Aggregate#project()` types that were mistakenly removed in 5.12.0 #10043
|
169 | * fix(index.d.ts): always allow setting `type` in Schema to a SchemaType class or a Schema instance #10030
|
170 | * docs(transactions): introduce `session.withTransaction()` before `session.startTransaction()` because `withTransaction()` is the recommended approach #10008
|
171 | * docs(mongoose+browser): fix broken links to info about `mongoose.Types` #10016
|
172 |
|
173 | 5.12.1 / 2021-03-18
|
174 | ===================
|
175 | * fix: update mongodb -> 3.6.5 to fix circular dependency warning #9900
|
176 | * fix(document): make `toObject()` use child schema `flattenMaps` option by default #9995
|
177 | * fix(ObjectId): make `isValidObjectId()` check that length 24 strings are hex chars only #10010 #9996 [IslandRhythms](https://github.com/IslandRhythms)
|
178 | * fix(query): correctly cast embedded discriminator paths when discriminator key is specified in array filter #9977
|
179 | * fix(schema): skip `populated()` check when calling `applyGetters()` with a POJO for mongoose-lean-getters support #9986
|
180 | * fix(populate): support populating dotted subpath of a populated doc that has the same id as a populated doc #10005
|
181 | * fix(index.d.ts): correct `this` for query helpers #10028 [francescov1](https://github.com/francescov1)
|
182 | * fix(index.d.ts): avoid omitting function property keys in LeanDocuments, because TS can't accurately infer what's a function if using generic functions #9989
|
183 | * fix(index.d.ts): correct type definition for `SchemaType#cast()` #10039 #9980
|
184 | * fix(index.d.ts): make SchemaTypeOptions a class, add missing `SchemaType#OptionsConstructor` #10001
|
185 | * fix(index.d.ts): support calling `findByIdAndUpdate()` with filter, update, callback params #9981
|
186 |
|
187 | 5.12.0 / 2021-03-11
|
188 | ===================
|
189 | * feat(populate): add `transform` option that Mongoose will call on every populated doc #3775
|
190 | * feat(query): make `Query#pre()` and `Query#post()` public #9784
|
191 | * feat(document): add `Document#getPopulatedDocs()` to return an array of all populated documents in a document #9702 [IslandRhythms](https://github.com/IslandRhythms)
|
192 | * feat(document): add `Document#getAllSubdocs()` to return an array of all single nested and array subdocuments #9764 [IslandRhythms](https://github.com/IslandRhythms)
|
193 | * feat(schema): allow `schema` as a schema path name #8798 [IslandRhythms](https://github.com/IslandRhythms)
|
194 | * feat(QueryCursor): Add batch processing for eachAsync #9902 [khaledosama999](https://github.com/khaledosama999)
|
195 | * feat(connection): add `noListener` option to help with use cases where you're using `useDb()` on every request #9961
|
196 | * feat(index): emit 'createConnection' event when user calls `mongoose.createConnection()` #9985
|
197 | * feat(connection+index): emit 'model' and 'deleteModel' events on connections when creating and deleting models #9983
|
198 | * feat(query): allow passing `explain` option to `Model.exists()` #8098 [IslandRhythms](https://github.com/IslandRhythms)
|
199 |
|
200 | 5.11.20 / 2021-03-11
|
201 | ====================
|
202 | * fix(query+populate): avoid unnecessarily projecting in subpath when populating a path that uses an elemMatch projection #9973
|
203 | * fix(connection): avoid `db` events deprecation warning with 'close' events #10004 #9930
|
204 | * fix(index.d.ts): make `$pull` more permissive to allow dotted paths #9993
|
205 |
|
206 | 5.11.19 / 2021-03-05
|
207 | ====================
|
208 | * fix(document): skip validating array elements that aren't modified when `validateModifiedOnly` is set #9963
|
209 | * fix(timestamps): apply timestamps on `findOneAndReplace()` #9951
|
210 | * fix(schema): correctly handle trailing array filters when looking up schema paths #9977
|
211 | * fix(schema): load child class getter for virtuals instead of base class when using `loadClass()` #9975
|
212 | * fix(index.d.ts): allow creating statics without passing generics to `Schema` constructor #9969
|
213 | * fix(index.d.ts): add QueryHelpers generic to schema and model, make all query methods instead return QueryWithHelpers #9850
|
214 | * fix(index.d.ts): support setting `type` to an array of schemas when using SchemaDefinitionType #9962
|
215 | * fix(index.d.ts): add generic to plugin schema definition #9968 [emiljanitzek](https://github.com/emiljanitzek)
|
216 | * docs: small typo fix #9964 [KrishnaMoorthy12](https://github.com/KrishnaMoorthy12)
|
217 |
|
218 | 5.11.18 / 2021-02-23
|
219 | ====================
|
220 | * fix(connection): set connection state to `disconnected` if connecting string failed to parse #9921
|
221 | * fix(connection): remove `db` events deprecation warning if `useUnifiedTopology = true` #9930
|
222 | * fix(connection): fix promise chaining for openUri #9960 [lantw44](https://github.com/lantw44)
|
223 | * fix(index.d.ts): add `PopulatedDoc` type to make it easier to define populated docs in interfaces #9818
|
224 | * fix(index.d.ts): allow explicitly overwriting `toObject()` return type for backwards compatibility #9944
|
225 | * fix(index.d.ts): correctly throw error when interface path type doesn't line up with schema path type #9958 [ShadiestGoat](https://github.com/ShadiestGoat)
|
226 | * fix(index.d.ts): remove `any` from `deleteX()` and `updateX()` query params and return values #9959 [btd](https://github.com/btd)
|
227 | * fix(index.d.ts): add non-generic versions of `Model.create()` for better autocomplete #9928
|
228 | * docs: correctly handle multiple `>` in API descriptions #9940
|
229 |
|
230 | 5.11.17 / 2021-02-17
|
231 | ====================
|
232 | * fix(populate): handle `perDocumentLimit` when multiple documents reference the same populated doc #9906
|
233 | * fix(document): handle directly setting embedded document array element with projection #9909
|
234 | * fix(map): cast ObjectId to string inside of MongooseMap #9938 [HunterKohler](https://github.com/HunterKohler)
|
235 | * fix(model): use schema-level default collation for indexes if index doesn't have collation #9912
|
236 | * fix(index.d.ts): make `SchemaTypeOptions#type` optional again to allow alternative typeKeys #9927
|
237 | * fix(index.d.ts): support `{ type: String }` in schema definition when using SchemaDefinitionType generic #9911
|
238 | * docs(populate+schematypes): document the `$*` syntax for populating every entry in a map #9907
|
239 | * docs(connection): clarify that `Connection#transaction()` promise resolves to a command result #9919
|
240 |
|
241 | 5.11.16 / 2021-02-12
|
242 | ====================
|
243 | * fix(document): skip applying array element setters when init-ing an array #9889
|
244 | * fix: upgrade to mongodb driver 3.6.4 #9893 [jooeycheng](https://github.com/jooeycheng)
|
245 | * fix: avoid copying Object.prototype properties when cloning #9876
|
246 | * fix(aggregate): automatically convert functions to strings when using `$function` operator #9897
|
247 | * fix: call pre-remove hooks for subdocuments #9895 #9885 [IslandRhythms](https://github.com/IslandRhythms)
|
248 | * docs: fix confusing sentence in Schema docs #9914 [namenyi](https://github.com/namenyi)
|
249 |
|
250 | 5.11.15 / 2021-02-03
|
251 | ====================
|
252 | * fix(document): fix issues with `isSelected` as an path in a nested schema #9884 #9873 [IslandRhythms](https://github.com/IslandRhythms)
|
253 | * fix(index.d.ts): better support for `SchemaDefinition` generics when creating schema #9863 #9862 #9789
|
254 | * fix(index.d.ts): allow required function in array definition #9888 [Ugzuzg](https://github.com/Ugzuzg)
|
255 | * fix(index.d.ts): reorder create typings to allow array desctructuring #9890 [Ugzuzg](https://github.com/Ugzuzg)
|
256 | * fix(index.d.ts): add missing overload to Model.validate #9878 #9877 [jonamat](https://github.com/jonamat)
|
257 | * fix(index.d.ts): throw compiler error if schema says path is a String, but interface says path is a number #9857
|
258 | * fix(index.d.ts): make `Query` a class, allow calling `Query#where()` with object argument and with no arguments #9856
|
259 | * fix(index.d.ts): support calling `Schema#pre()` and `Schema#post()` with options and array of hooked function names #9844
|
260 | * docs(faq): mention other debug options than console #9887 [dandv](https://github.com/dandv)
|
261 | * docs(connections): clarify that Mongoose can emit 'error' both during initial connection and after initial connection #9853
|
262 |
|
263 | 5.11.14 / 2021-01-28
|
264 | ====================
|
265 | * fix(populate): avoid inferring `justOne` from parent when populating a POJO with a manually populated path #9833 [IslandRhythms](https://github.com/IslandRhythms)
|
266 | * fix(document): apply setters on each element of the array when setting a populated array #9838
|
267 | * fix(map): handle change tracking on maps of subdocs #9811 [IslandRhythms](https://github.com/IslandRhythms)
|
268 | * fix(document): remove dependency on `documentIsSelected` symbol #9841 [IslandRhythms](https://github.com/IslandRhythms)
|
269 | * fix(error): make ValidationError.toJSON to include the error name correctly #9849 [hanzki](https://github.com/hanzki)
|
270 | * fix(index.d.ts): indicate that `Document#remove()` returns a promise, not a query #9826
|
271 | * fix(index.d.ts): allow setting `SchemaType#enum` to TypeScript enum with `required: true` #9546
|
272 |
|
273 | 5.11.13 / 2021-01-20
|
274 | ====================
|
275 | * fix(map): handle change tracking on map of arrays #9813
|
276 | * fix(connection): allow passing options to `Connection#transaction()` #9834 [pnutmath](https://github.com/pnutmath)
|
277 | * fix(index.d.ts): make `Query#options#rawResult` take precedence over `new`+`upsert` #9816
|
278 | * fix(index.d.ts): changed setOptions's 'overwrite' argument to optional #9824 [pierissimo](https://github.com/pierissimo)
|
279 | * fix(index.d.ts): allow setting `mongoose.Promise` #9820
|
280 | * fix(index.d.ts): add `Aggregate#replaceRoot()` #9814
|
281 | * fix(index.d.ts): make `Model.create()` with a spread return a promise of array rather than single doc #9817
|
282 | * fix(index.d.ts): use SchemaDefinitionProperty generic for SchemaTypeOptions if specified #9815
|
283 | * docs(populate): add note about setting `toObject` for populate virtuals #9822
|
284 |
|
285 | 5.11.12 / 2021-01-14
|
286 | ====================
|
287 | * fix(document): handle using `db` as a document path #9798
|
288 | * fix(collection): make sure to call `onOpen()` if `autoCreate === false` #9807
|
289 | * fix(index.d.ts): correct query type for `findOneAndUpdate()` and `findByIdAndUpdate()` with `rawResult = true` #9803
|
290 | * fix(index.d.ts): require setting `new: true` or `returnOriginal: false` to skip null check with `findOneAndUpdate()` #9654
|
291 | * fix(index.d.ts): make methods and statics optional on schema #9801
|
292 | * fix(index.d.ts): remove non backwards compatible methods restriction #9801
|
293 | * docs: removed the extra word on comment doc #9794 [HenriqueLBorges](https://github.com/HenriqueLBorges)
|
294 |
|
295 | 5.11.11 / 2021-01-08
|
296 | ====================
|
297 | * fix(model): support calling `create()` with `undefined` as first argument and no callback #9765
|
298 | * fix(index.d.ts): ensure TypeScript knows that `this` refers to `DocType` in schema methods with strict mode #9755
|
299 | * fix(index.d.ts): make SchemaDefinition accept a model generic #9761 [mroohian](https://github.com/mroohian)
|
300 | * fix(index.d.ts): add `Aggregate#addFields()` #9774
|
301 | * fix(index.d.ts): allow setting `min` and `max` to [number, string] and [Date, string] #9762
|
302 | * fix(index.d.ts): improve context and type bindings for `Schema#methods` and `Schema#statics` #9717
|
303 | * docs: add recommended connection option #9768 [Fernando-Lozano](https://github.com/Fernando-Lozano)
|
304 | * chore: correct improper date in History.md #9783 [botv](https://github.com/botv)
|
305 |
|
306 | 5.11.10 / 2021-01-04
|
307 | ====================
|
308 | * fix(model): support `populate` option for `insertMany()` as a workaround for mongoose-autopopulate #9720
|
309 | * perf(schema): avoid creating extra array when initializing array of arrays #9588
|
310 | * perf(schema): avoid setting `arrayPath` when casting to a non-array, avoid unnecessarily setting atomics #9588
|
311 | * perf(schema): avoid expensive `String#slice()` call when creating a new array #9588
|
312 | * fix(queryhelpers): avoid modifying `lean.virtuals` in place #9754
|
313 | * fix: fall back to legacy treatment for square brackets if square brackets contents aren't a number #9640
|
314 | * fix(document): make fix for #9396 handle null values more gracefully #9709
|
315 | * fix(index.d.ts): add missing overloaded function for Document#populate() #9744 [sahasayan](https://github.com/sahasayan)
|
316 | * fix(index.d.ts): allow Model.create param1 overwrite #9753 [hasezoey](https://github.com/hasezoey)
|
317 | * fix(index.d.ts): improve autocomplete for query middleware #9752 [3Aahmednaser94](https://github.com/3Aahmednaser94)
|
318 | * fix(index.d.ts): add missing function for Aggregate#group() #9750 [coro101](https://github.com/coro101)
|
319 | * fix(index.d.ts): add missing `Aggregate#project()` #9763 [vorticalbox](https://github.com/vorticalbox)
|
320 | * fix(index.d.ts): allow `null` as an enum value for schematypes #9746
|
321 | * docs(guide+schema): make schema API docs and guide docs' list of Schema options line up #9749
|
322 | * docs(documents): add some more details about what the `save()` promise resolves to #9689
|
323 | * docs(subdocs): add section about subdocument defaults #7291
|
324 | * chore: run GitHub CI on PRs and update badge #9760 [YC](https://github.com/YC)
|
325 |
|
326 | 5.11.9 / 2020-12-28
|
327 | ===================
|
328 | * fix(document): keeps atomics when assigning array to filtered array #9651
|
329 | * fix(document): apply `defaults` option to subdocument arrays #9736
|
330 | * fix(index.d.ts): allow passing generic parameter to overwrite `lean()` result type #9728
|
331 | * fix(index.d.ts): add missing pre hook for findOneAndUpdate #9743 [sahasayan](https://github.com/sahasayan)
|
332 | * fix(index.d.ts): schema methods & statics types #9725
|
333 | * fix(index.d.ts): allow `id` paths with non-string values in TypeScript #9723
|
334 | * fix(index.d.ts): support calling `createIndexes()` and `ensureIndexes()` with just callback #9706
|
335 | * fix(index.d.ts): include `__v` in LeanDocuments #9687
|
336 | * fix(index.d.ts): add missing `Aggregate#append()` #9714
|
337 | * chore: add eslint typescript support and lint index.d.ts file #9729 [simllll](https://github.com/simllll)
|
338 | * chore: add Github Actions #9688 [YC](https://github.com/YC)
|
339 |
|
340 | 5.11.8 / 2020-12-14
|
341 | ===================
|
342 | * fix(index.d.ts): add missing single document populate #9696 [YC](https://github.com/YC)
|
343 | * fix(index.d.ts): make options optional for `toObject` #9700
|
344 | * fix(index.d.ts): added missing match and model methods in Aggregate class #9710 [manekshms](https://github.com/manekshms)
|
345 | * fix(index.d.ts): make options optional for `createIndexes()` and `ensureIndexes()` #9706
|
346 | * fix(index.d.ts): support passing a function to `ValidateOpts.message` #9697
|
347 | * docs: add media query for ::before on headings #9705 #9704 [YC](https://github.com/YC)
|
348 |
|
349 | 5.11.7 / 2020-12-10
|
350 | ===================
|
351 | * fix(document): ensure calling `get()` with empty string returns undefined for mongoose-plugin-autoinc #9681
|
352 | * fix(model): set `isNew` to false for documents that were successfully inserted by `insertMany` with `ordered = false` when an error occurred #9677
|
353 | * fix(index.d.ts): add missing Aggregate#skip() & Aggregate#limit() #9692 [sahasayan](https://github.com/sahasayan)
|
354 | * fix(index.d.ts): make `Document#id` optional so types that use `id` can use `Model<IMyType & Document>` #9684
|
355 |
|
356 | 5.11.6 / 2020-12-09
|
357 | ===================
|
358 | * fix(middleware): ensure sync errors in pre hooks always bubble up to the calling code #9659
|
359 | * fix(index.d.ts): allow passing ObjectId properties as strings to `create()` and `findOneAndReplace()` #9676
|
360 | * fix(index.d.ts): allow calling `mongoose.model()` and `Connection#model()` with model as generic param #9685 #9678 [sahasayan](https://github.com/sahasayan)
|
361 | * fix(index.d.ts): Fix return type of Model#aggregate() #9680 [orgads](https://github.com/orgads)
|
362 | * fix(index.d.ts): optional next() parameter for post middleware #9683 [isengartz](https://github.com/isengartz)
|
363 | * fix(index.d.ts): allow array of validators in SchemaTypeOptions #9686 [cjroebuck](https://github.com/cjroebuck)
|
364 |
|
365 | 5.11.5 / 2020-12-07
|
366 | ===================
|
367 | * fix(map): support `null` in maps of subdocs #9628
|
368 | * fix(index.d.ts): support object syntax for `validate` #9667
|
369 | * fix(index.d.ts): Allow number for Schema expires #9670 [alecgibson](https://github.com/alecgibson)
|
370 | * fix(index.d.ts): allow definining arbitrary properties on SchemaTypeOpts for plugins like mongoose-autopopulate #9669
|
371 | * fix(index.d.ts): add mongoose.models #9661 #9660 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
372 | * fix(index.d.ts): allow the next() argument to be optional #9665 #9664 [sahasayan](https://github.com/sahasayan)
|
373 | * fix(index.d.ts): add missing `VirtualType#applyGetters()` and `applySetters()`, `Schema#virtuals`, `Schema#childSchemas`, `Query#_mongooseOptions` #9658
|
374 | * fix(index.d.ts): add `id` to LeanDocuments in case it is defined in the user's schema #9657
|
375 | * fix(index.d.ts): add missing types for hook functions #9653
|
376 | * fix(index.d.ts): improve support for strict null checks with `upsert` and `orFail()` #9654
|
377 | * fix(index.d.ts): make return values for `insertMany()` more consistent #9662
|
378 | * fix(index.d.ts): Change options in Connection#collection() to be optional #9663 [orgads](https://github.com/orgads)
|
379 | * fix(index.d.ts): add the missing generic declaration for Schema #9655 [sahasayan](https://github.com/sahasayan)
|
380 | * fix(index.d.ts): add missing `SchemaTypeOpts` and `ConnectionOptions` aliases for backwards compat
|
381 | * docs(populate): remove `sort()` from `limit` example to avoid potential confusion #9584
|
382 | * docs(compatibility): add MongoDB server 4.4 version compatibility #9641
|
383 |
|
384 | 5.11.4 / 2020-12-04
|
385 | ===================
|
386 | * fix(index.d.ts): add `Document#__v` so documents have a Version by default #9652 [sahasayan](https://github.com/sahasayan)
|
387 | * fix(index.d.ts): add missing `session` option to `SaveOptions` #9642
|
388 | * fix(index.d.ts): add `Schema#paths`, `Schema#static(obj)`, `Embedded#schema`, `DocumentArray#schema`, make Schema inherit from EventEmitter #9650
|
389 | * fix(index.d.ts): order when cb is optional in method #9647 [CatsMiaow](https://github.com/CatsMiaow)
|
390 | * fix(index.d.ts): use DocumentDefinition for `FilterQuery` #9649
|
391 | * fix(index.d.ts): correct callback result types for `find()`, `findOne()`, `findById()` #9648
|
392 | * fix(index.d.ts): remove `Document#parent()` method because it conflicts with existing user code #9645
|
393 | * fix(index.d.ts): add missing `Connection#db` property #9643
|
394 | * test(typescript): add `tsconfig.json` file for intellisense #9611 [alecgibson](https://github.com/alecgibson)
|
395 |
|
396 | 5.11.3 / 2020-12-03
|
397 | ===================
|
398 | * fix(index.d.ts): make Mongoose collection inherit MongoDB collection #9637 #9630 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
399 | * fix(index.d.ts): add `Document#_id` so documents have an id by default #9632
|
400 | * fix(index.d.ts): allow inline schema definitions for nested properties #9639 [Green-Cat](https://github.com/Green-Cat)
|
401 | * fix(index.d.ts): add support for missing error message definitions #9638 [SaifAlsabe](https://github.com/SaifAlsabe)
|
402 | * fix(schema+discriminator): support defining recursive embedded discriminators by passing document array schematype to discriminator #9600
|
403 | * fix(index.d.ts): make it possible to use `LeanDocument` with arrays #9620
|
404 | * fix(index.d.ts): add `ModelUpdateOptions` as alias for `QueryOptions` for backwards compat #9637
|
405 |
|
406 | 5.11.2 / 2020-12-02
|
407 | ===================
|
408 | * fix(index.d.ts): add missing query options and model `findById()` function #9626 #9620
|
409 | * fix(index.d.ts): support defining schema paths as arrays of functions #9617
|
410 | * fix(index.d.ts): add automatic `_id` for Document, support creating Mongoose globals and accessing collection name #9618
|
411 | * fix(index.d.ts): add missing global `get()` and `set()` #9616
|
412 | * fix(index.d.ts): add missing `new` and `returnOriginal` options to QueryOptions, add missing model static properties #9627 #9616 #9615
|
413 | * fix(index.d.ts): allow `useCreateIndex` in connection options #9621
|
414 |
|
415 | 5.11.1 / 2020-12-01
|
416 | ===================
|
417 | * fix(index.d.ts): add missing SchemaOptions #9606
|
418 | * fix(index.d.ts): allow using `$set` in updates #9609
|
419 | * fix(index.d.ts): add support for using return value of `createConnection()` as a connection as well as a promise #9612 #9610 [alecgibson](https://github.com/alecgibson)
|
420 | * fix(index.d.ts): allow using `Types.ObjectId()` without `new` in TypeScript #9608
|
421 |
|
422 | 5.11.0 / 2020-11-30
|
423 | ===================
|
424 | * feat: add official TypeScript definitions `index.d.ts` file #8108
|
425 | * feat(connection): add bufferTimeoutMS option that configures how long Mongoose will allow commands to buffer #9469
|
426 | * feat(populate): support populate virtuals with `localField` and `foreignField` as arrays #6608
|
427 | * feat(populate+virtual): feat: support getters on populate virtuals, including `get` option for `Schema#virtual()` #9343
|
428 | * feat(populate+schema): add support for `populate` schematype option that sets default populate options #6029
|
429 | * feat(QueryCursor): execute post find hooks for each doc in query cursor #9345
|
430 | * feat(schema): support overwriting cast logic for individual schematype instances #8407
|
431 | * feat(QueryCursor): make cursor `populate()` in batch when using `batchSize` #9366 [biomorgoth](https://github.com/biomorgoth)
|
432 | * chore: remove changelog from published bundle #9404
|
433 | * feat(model+mongoose): add `overwriteModels` option to bypass `OverwriteModelError` globally #9406
|
434 | * feat(model+query): allow defining middleware for all query methods or all document methods, but not other middleware types #9190
|
435 | * feat(document+model): make change tracking skip saving if new value matches last saved value #9396
|
436 | * perf(utils): major speedup for `deepEqual()` on documents and arrays #9396
|
437 | * feat(schema): support passing a TypeScript enum to `enum` validator in schema #9547 #9546 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
438 | * feat(debug): #8963 `shell` option for date format (ISODate) #9532 [FlameFractal](https://github.com/FlameFractal)
|
439 | * feat(document): support square bracket indexing for `get()`, `set()` #9375
|
440 | * feat(document): support array and space-delimited syntax for `Document#$isValid()`, `isDirectSelected()`, `isSelected()`, `$isDefault()` #9474
|
441 | * feat(string): make `minLength` and `maxLength` behave the same as `minlength` and `maxlength` #8777 [m-weeks](https://github.com/m-weeks)
|
442 | * feat(document): add `$parent()` as an alias for `parent()` for documents and subdocuments to avoid path name conflicts #9455
|
443 |
|
444 | 5.10.19 / 2020-11-30
|
445 | ====================
|
446 | * fix(query): support passing an array to `$type` in query filters #9577
|
447 | * perf(schema): avoid creating unnecessary objects when casting to array #9588
|
448 | * docs: make example gender neutral #9601 [rehatkathuria](https://github.com/rehatkathuria)
|
449 |
|
450 | 5.10.18 / 2020-11-29
|
451 | ====================
|
452 | * fix(connection): connect and disconnect can be used destructured #9598 #9597 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
453 |
|
454 | 5.10.17 / 2020-11-27
|
455 | ====================
|
456 | * fix(document): allow setting fields after an undefined field #9587 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
457 |
|
458 | 5.10.16 / 2020-11-25
|
459 | ====================
|
460 | * fix(connection): copy config options from connection rather than base connection when calling `useDb()` #9569
|
461 | * fix(schema): support `of` for array type definitions to be consistent with maps #9564
|
462 | * docs(dates): fix broken example reference #9557 [kertof](https://github.com/kertof)
|
463 | * docs(virtualtype): remove unintentional h2 tag re: tj/dox#60 #9568
|
464 |
|
465 | 5.10.15 / 2020-11-16
|
466 | ====================
|
467 | * fix(array): make sure `Array#toObject()` returns a vanilla JavaScript array in Node.js 6+ #9540
|
468 | * fix(connection): make `disconnect()` stop Mongoose if it is trying to reconnect #9531
|
469 | * fix: ensure `Document#overwrite()` correctly overwrites maps #9549
|
470 | * fix(document): make transform work with nested paths #9544 #9543 [jonathan-wilkinson](https://github.com/jonathan-wilkinson)
|
471 | * fix(query): maxTimeMS in count, countDocuments, distinct #9552 [FlameFractal](https://github.com/FlameFractal)
|
472 | * fix(schema): remove warning re: `increment` as a schema path name #9538
|
473 | * fix(model): automatically set `partialFilterExpression` for indexes in discriminator schemas #9542
|
474 |
|
475 | 5.10.14 / 2020-11-12
|
476 | ====================
|
477 | * fix(update): handle casting immutable object properties with `$setOnInsert` #9537
|
478 | * fix(discriminator): overwrite instead of merge if discriminator schema specifies a path is single nested but base schema has path as doc array #9534
|
479 | * docs(middleware): clarify that you need to set both `document` and `query` on `remove` hooks to get just document middleware #9530 [mustafaKamal-fe](https://github.com/mustafaKamal-fe)
|
480 | * docs(CONTRIBUTING): remove mmapv1 recommendation and clean up a few other details #9529
|
481 | * refactor: remove duplicate function definition #9527 [ksullivan](https://github.com/ksullivan)
|
482 |
|
483 | 5.10.13 / 2020-11-06
|
484 | ====================
|
485 | * fix: upgrade mongodb driver -> 3.6.3 for Lambda cold start fixes #9521 #9179 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
486 | * fix(document): correctly handle setting props to other nested props #9519
|
487 |
|
488 | 5.10.12 / 2020-11-04
|
489 | ====================
|
490 | * fix(connection): catch and report sync errors in connection wrappers like `startSession()` #9515
|
491 | * fix(document): ignore getters when diffing values for change tracking #9501
|
492 | * fix(connection): avoid executing promise handler unless it's a function #9507 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
493 | * fix(error): throw more helpful error when connecting to a non-SSL MongoDB server with SSL enabled #9511
|
494 | * docs(model+query): clarify that `deleteOne` and `deleteMany` trigger middleware #9504
|
495 | * docs(ssl): add note about `ssl` defaulting to `true` for srv connection strings #9511
|
496 |
|
497 | 5.10.11 / 2020-10-26
|
498 | ====================
|
499 | * fix(connection): when calling `mongoose.connect()` multiple times in parallel, make 2nd call wait for connection before resolving #9476
|
500 | * fix(map): make `save()` persist `Map#clear()` #9493
|
501 | * fix(document): avoid overwriting array subdocument when setting dotted path that isn't selected #9427
|
502 | * fix(connection): don't throw Atlas error if server discovery doesn't find any servers #9470
|
503 | * docs: update options for Model.findOneAndUpdate #9499 [radamson](https://github.com/radamson)
|
504 |
|
505 | 5.10.10 / 2020-10-23
|
506 | ====================
|
507 | * fix(schema): handle merging schemas from separate Mongoose module instances when schema has a virtual #9471
|
508 | * fix(connection): make connection.then(...) resolve to a connection instance #9497 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
509 | * fix(aggregate): when using $search with discriminators, add `$match` as the 2nd stage in pipeline rather than 1st #9487
|
510 | * fix(query): cast $nor within $elemMatch #9479
|
511 | * docs(connection): add note about 'error' event versus 'disconnected' event #9488 [tareqdayya](https://github.com/tareqdayya)
|
512 |
|
513 | 5.10.9 / 2020-10-09
|
514 | ===================
|
515 | * fix(update): strip out unused array filters to avoid "filter was not used in the update" error #9468
|
516 | * fix(mongoose): allow setting `autoCreate` as a global option to be consistent with `autoIndex` #9466
|
517 |
|
518 | 5.10.8 / 2020-10-05
|
519 | ===================
|
520 | * fix(schema): handle setting nested paths underneath single nested subdocs #9459
|
521 | * fix(schema+index): allow calling `mongoose.model()` with schema from a different Mongoose module instance #9449
|
522 | * fix(transaction): fix saving new documents w/ arrays in transactions #9457 [PenguinToast](https://github.com/PenguinToast)
|
523 | * fix(document): track `reason` on cast errors that occur while init-ing a document #9448
|
524 | * fix(model): make `createCollection()` not throw error when collection already exists to be consistent with v5.9 #9447
|
525 | * docs(connections): add SSL connections docs #9443
|
526 | * docs(query_casting): fix typo #9458 [craig-davis](https://github.com/craig-davis)
|
527 |
|
528 | 5.10.7 / 2020-09-24
|
529 | ===================
|
530 | * fix(schema): set correct path and schema on nested primitive arrays #9429
|
531 | * fix(document): pass document to required validator so `required` can use arrow functions #9435 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
532 | * fix(document): handle required when schema has property named `isSelected` #9438
|
533 | * fix(timestamps): allow using timestamps when schema has a property named 'set' #9428
|
534 | * fix(schema): make `Schema#clone()` use parent Mongoose instance's Schema constructor #9426
|
535 |
|
536 | 5.10.6 / 2020-09-18
|
537 | ===================
|
538 | * fix(populate): handle `options.perDocumentLimit` option same as `perDocumentLimit` when calling `populate()` #9418
|
539 | * fix(document): invalidate path if default function throws an error #9408
|
540 | * fix: ensure subdocument defaults run after initial values are set when initing #9408
|
541 | * docs(faq+queries): add more detail about duplicate queries, including an faq entry #9386
|
542 | * docs: replace var with let and const in docs and test files #9414 [jmadankumar](https://github.com/jmadankumar)
|
543 | * docs(model+query): document using array of strings as projection #9413
|
544 | * docs(middleware): add missing backtick #9425 [tphobe9312](https://github.com/tphobe9312)
|
545 |
|
546 | 5.10.5 / 2020-09-11
|
547 | ===================
|
548 | * fix: bump mongodb -> 3.6.2 #9411 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
549 | * fix(query+aggregate+cursor): support async iteration over a cursor instance as opposed to a Query or Aggregate instance #9403
|
550 | * fix(document): respect child schema `minimize` if `toObject()` is called without an explicit `minimize` #9405
|
551 | * docs(guide): use const instead of var #9394 [nainardev](https://github.com/nainardev)
|
552 | * docs(query): link to lean, findOneAndUpdate, query casting tutorials from query docs #9410
|
553 |
|
554 | 5.10.4 / 2020-09-09
|
555 | ===================
|
556 | * fix(document): allow setting nested path to instance of model #9392
|
557 | * fix: handle `findOneAndRemove()` with `orFail()` #9381
|
558 | * fix(schema): support setting `_id` option to `false` after instantiating schema #9390
|
559 | * docs(document): fix formatting on `getChanges()` #9376
|
560 |
|
561 | 5.10.3 / 2020-09-03
|
562 | ===================
|
563 | * fix: upgrade mongodb -> 3.6.1 #9380 [lamhieu-vk](https://github.com/lamhieu-vk)
|
564 | * fix(populate): allow populating paths underneath subdocument maps #9359
|
565 | * fix(update): handle casting map paths when map is underneath a single nested subdoc #9298
|
566 | * fix(discriminator): avoid removing nested path if both base and discriminator schema have the same nested path #9362
|
567 | * fix(schema): support `Schema#add()` with schematype instances with different paths #9370
|
568 | * docs(api): fix typo in `Query#get()` example #9372 [elainewlin](https://github.com/elainewlin)
|
569 |
|
570 | 5.10.2 / 2020-08-28
|
571 | ===================
|
572 | * fix(model): avoid uncaught error if `insertMany()` fails due to server selection error #9355
|
573 | * fix(aggregate): automatically convert accumulator function options to strings #9364
|
574 | * fix(document): handle `pull()` on a document array when `_id` is an alias #9319
|
575 | * fix(queryhelpers): avoid path collision error when projecting in discriminator key with `.$` #9361
|
576 | * fix: fix typo in error message thrown by unimplemented createIndex #9367 [timhaley94](https://github.com/timhaley94)
|
577 | * docs(plugins): note that plugins should be applied before you call `mongoose.model()` #7723
|
578 |
|
579 | 5.10.1 / 2020-08-26
|
580 | ===================
|
581 | * fix(mongoose): fix `.then()` is not a function error when calling `mongoose.connect()` multiple times #9358 #9335 #9331
|
582 | * fix: allow calling `create()` after `bulkWrite()` by clearing internal casting context #9350
|
583 | * fix(model): dont wipe out changes made while `save()` is in-flight #9327
|
584 | * fix(populate): skip checking `refPath` if the path to populate is undefined #9340
|
585 | * fix(document): allow accessing document values from function `default` on array #9351
|
586 | * fix(model): skip applying init hook if called with `schema.pre(..., { document: false })` #9316
|
587 | * fix(populate): support `retainNullValues` when setting `_id` to `false` for subdocument #9337 #9336 [FelixRe0](https://github.com/FelixRe0)
|
588 | * docs: update connect example to avoid deprecation warnings #9332 [moander](https://github.com/moander)
|
589 |
|
590 | 5.10.0 / 2020-08-14
|
591 | ===================
|
592 | * feat: upgrade to MongoDB driver 3.6 for full MongoDB 4.4 support
|
593 | * feat(connection): add `Connection#transaction()` helper that handles resetting Mongoose document state if the transaction fails #8380
|
594 | * feat(connection): make transaction() helper reset array atomics after failed transaction
|
595 | * feat(schema+model): add `optimisticConcurrency` option to use OCC for `save()` #9001 #5424
|
596 | * feat(aggregate): add `Aggregate#search()` for Atlas Text Search #9115
|
597 | * feat(mongoose): add support for setting `setDefaultsOnInsert` as a global option #9036 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
598 | * feat(mongoose): add support for setting `returnOriginal` as a global option #9189 #9183 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
599 | * feat(mongoose): allow global option mongoose.set('strictQuery', true) #9016 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
600 | * feat(document): add Document#getChanges #9097 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
601 | * feat(document): support `defaults` option to disable adding defaults to a single document #8271
|
602 | * feat(SingleNestedPath+DocumentArray): add static `set()` function for global options, support setting `_id` globally #8883
|
603 | * feat(query): handle casting `$or` when each clause contains a different discriminator key #9018
|
604 | * feat(query): add overwriteDiscriminatorKey option that allows changing the discriminator key in `findOneAndUpdate()`, `updateOne()`, etc. #6087
|
605 | * fix(connection): make calling `mongoose.connect()` while already connected a no-op #9203
|
606 | * feat(connection): add `getClient()` and `setClient()` function for interacting with a connection's underlying MongoClient instance #9164
|
607 | * feat(document+populate): add `parent()` function that allows you to get the parent document for populated docs #8092
|
608 | * feat(document): add `useProjection` option to `toObject()` and `toJSON()` for hiding deselected fields on newly created documents #9118
|
609 |
|
610 | 5.9.29 / 2020-08-13
|
611 | ===================
|
612 | * fix(document): support setting nested path to itself when it has nested subpaths #9313
|
613 | * fix(model): make `syncIndexes()` report error if it can't create an index #9303
|
614 | * fix: handle auth error when Atlas username is incorrect #9300
|
615 |
|
616 | 5.9.28 / 2020-08-07
|
617 | ===================
|
618 | * fix(connection): consistently stop buffering when "reconnected" is emitted #9295
|
619 | * fix(error): ensure `name` and `message` show up on individual ValidatorErrors when calling JSON.stringify() on a ValidationError #9296
|
620 | * fix(document): keeps manually populated paths when setting a nested path to itself #9293
|
621 | * fix(document): allow saving after setting document array to itself #9266
|
622 | * fix(schema): handle `match` schema validator with `/g` flag #9287
|
623 | * docs(guide): refactor transactions examples to async/await #9204
|
624 |
|
625 | 5.9.27 / 2020-07-31
|
626 | ===================
|
627 | * fix: upgrade mongodb driver -> 3.5.10 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
628 | * docs(transactions): make transactions docs use async/await for readability #9204
|
629 |
|
630 | 5.9.26 / 2020-07-27
|
631 | ===================
|
632 | * fix(document): allow unsetting boolean field by setting the field to `undefined` #9275
|
633 | * fix(document): throw error when overwriting a single nested subdoc changes an immutable path within the subdoc #9281
|
634 | * fix(timestamps): apply timestamps to `bulkWrite()` updates when not using `$set` #9268
|
635 | * fix(browser): upgrade babel to v7 to work around an issue with `extends Error` #9273
|
636 | * fix: make subdocument's `invalidate()` methods have the same return value as top-level document #9271
|
637 | * docs(model): make `create()` docs use async/await, and add another warning about how `create()` with options requires array syntax #9280
|
638 | * docs(connections): clarify that Mongoose can emit 'connected' when reconnecting after losing connectivity #9240
|
639 | * docs(populate): clarify that you can't filter based on foreign document properties when populating #9279
|
640 | * docs(document+model): clarify how `validateModifiedOnly` option works #9263
|
641 | * docs: remove extra poolSize option in comment #9270 [shahvicky](https://github.com/shahvicky)
|
642 | * docs: point bulkWrite() link to mongoose docs instead of localhost #9284
|
643 |
|
644 | 5.9.25 / 2020-07-17
|
645 | ===================
|
646 | * fix(discriminator): allow passing a compiled model's schema as a parameter to `discriminator()` #9238
|
647 | * fix(connection): throw more readable error when querying db before initial connection when `bufferCommands = false` #9239
|
648 | * fix(indexes): don't unnecessarily drop text indexes when running `syncIndexes()` #9225
|
649 | * fix: make Boolean _castNullish respect omitUndefined #9242 [ehpc](https://github.com/ehpc)
|
650 | * fix(populate): populate single nested discriminator underneath doc array when populated docs have different model but same id #9244
|
651 | * docs(mongoose): correct formatting typo #9247 [JNa0](https://github.com/JNa0)
|
652 |
|
653 | 5.9.24 / 2020-07-13
|
654 | ===================
|
655 | * fix(connection): respect connection-level `bufferCommands` option if `mongoose.connect()` is called after `mongoose.model()` #9179
|
656 | * fix(document): clear out `priorDoc` after overwriting single nested subdoc so changes after overwrite get persisted correctly #9208
|
657 | * fix(connection): dont overwrite user-specified `bufferMaxEntries` when setting `bufferCommands` #9218
|
658 | * fix(model): allow passing projection to `Model.hydrate()` #9209
|
659 | * fix(schema+document): support adding `null` to schema boolean's `convertToFalse` set #9223
|
660 | * docs(model): make `find` and `findOne()` examples use async/await and clarify `find({})` is find all #9210
|
661 |
|
662 | 4.13.21 / 2020-07-12
|
663 | ====================
|
664 | * fix(query): delete top-level `_bsontype` property in queries to prevent silent empty queries #8222
|
665 |
|
666 | 5.9.23 / 2020-07-10
|
667 | ===================
|
668 | * fix(model): fix `syncIndexes()` error when db index has a collation but Mongoose index does not #9224 [clhuang](https://github.com/clhuang)
|
669 | * fix(array): only cast array to proper depth if it contains an non-array value #9217 #9215 [cyrilgandon](https://github.com/cyrilgandon)
|
670 | * docs(schematype): document the `transform` option #9211
|
671 | * docs(mongoose): fix typo #9212 [JNa0](https://github.com/JNa0)
|
672 |
|
673 | 5.9.22 / 2020-07-06
|
674 | ===================
|
675 | * fix(schema): treat `{ type: mongoose.Schema.Types.Array }` as equivalent to `{ type: Array }` #9194
|
676 | * fix: revert fix for #9107 to avoid issues when calling `connect()` multiple times #9167
|
677 | * fix(update): respect storeSubdocValidationError option with update validators #9172
|
678 | * fix: upgrade to safe-buffer 5.2 #9198
|
679 | * docs: add a note about SSL validation to migration guide #9147
|
680 | * docs(schemas): fix inconsistent header #9196 [samtsai15](https://github.com/samtsai15)
|
681 |
|
682 | 5.9.21 / 2020-07-01
|
683 | ===================
|
684 | * fix: propagate `typeKey` option to implicitly created schemas from `typePojoToMixed` #9185 [joaoritter](https://github.com/joaoritter)
|
685 | * fix(populate): handle embedded discriminator `refPath` with multiple documents #9153
|
686 | * fix(populate): handle deselected foreign field with `perDocumentLimit` and multiple documents #9175
|
687 | * fix(document): disallow `transform` functions that return promises #9176 #9163 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
688 | * fix(document): use strict equality when checking mixed paths for modifications #9165
|
689 | * docs: add target="_blank" to all edit links #9058
|
690 |
|
691 | 5.9.20 / 2020-06-22
|
692 | ===================
|
693 | * fix(populate): handle populating primitive array under document array discriminator #9148
|
694 | * fix(connection): make sure to close previous connection when calling `openUri()` on an already open connection #9107
|
695 | * fix(model): fix conflicting $setOnInsert default values with `update` values in bulkWrite #9160 #9157 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
696 | * docs(validation): add note about validateBeforeSave and invalidate #9144 [dandv](https://github.com/dandv)
|
697 | * docs: specify the array field syntax for invalidate #9137 [dandv](https://github.com/dandv)
|
698 | * docs: fix several typos and broken references #9024 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
699 | * docs: fix minor typo #9143 [dandv](https://github.com/dandv)
|
700 |
|
701 | 5.9.19 / 2020-06-15
|
702 | ===================
|
703 | * fix: upgrade mongodb driver -> 3.5.9 #9124 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
704 | * fix: copy `required` validator on single nested subdoc correctly when calling `Schema#clone()` #8819
|
705 | * fix(discriminator): handle `tiedValue` when casting update on nested paths #9108
|
706 | * fix(model): allow empty arrays for bulkWrite #9132 #9131 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
707 | * fix(schema): correctly set partialFilterExpression for nested schema indexes #9091
|
708 | * fix(castArrayFilters): handle casting on all fields of array filter #9122 [lafeuil](https://github.com/lafeuil)
|
709 | * fix(update): handle nested path createdAt when overwriting parent path #9105
|
710 | * docs(subdocs): add some notes on the difference between single nested subdocs and nested paths #9085
|
711 | * docs(subdocs): improve docs on `typePojoToMixed` #9085
|
712 | * docs: add note about connections in `globalSetup` with Jest #9063
|
713 | * docs: add schema and how to set default sub-schema to schematype options #9111 [dfle](https://github.com/dfle)
|
714 | * docs(index): use `const` instead of `var` in examples #9125 [dmcgrouther](https://github.com/dmcgrouther)
|
715 | * docs: corrected markdown typo #9117
|
716 |
|
717 | 5.9.18 / 2020-06-05
|
718 | ===================
|
719 | * fix: improve atlas error in the event of incorrect password #9095
|
720 | * docs: add edit link for all docs pages #9058
|
721 | * fix(document): allow accessing `$locals` when initializing document #9099 #9098 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
722 | * fix(query): make `setDefaultsOnInsert` a mongoose option so it doesn't end up in debug output #9086
|
723 | * docs(connection+index): add serverSelectionTimeoutMS and heartbeatFrequencyMS to `connect()` and `openUri()` options #9071
|
724 | * docs(geojson): add notes about geojson 2dsphere indexes #9044
|
725 | * docs: make active page bold in navbar #9062
|
726 | * docs: correct a typo in a code snippet #9089 [Elvis-Sarfo](https://github.com/Elvis-Sarfo)
|
727 |
|
728 | 5.9.17 / 2020-06-02
|
729 | ===================
|
730 | * fix(document): avoid tracking changes like `splice()` on slice()-ed arrays #9011
|
731 | * fix(populate): make populating a nested path a no-op #9073
|
732 | * fix(document): clear nested cast errors when overwriting an array path #9080
|
733 | * fix: upgrade mongodb to v3.5.8 #9069 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
734 | * docs(document): add validateModifiedOnly to Document#save(), Document#validateSync() and Document#validate() #9078 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
735 | * docs(faq): fix typo #9075 [tigransimonyan](https://github.com/tigransimonyan)
|
736 | * docs: document all parameters to .debug #9029 [dandv](https://github.com/dandv)
|
737 | * docs: fix property value in Getters example #9061 [ismet](https://github.com/ismet)
|
738 |
|
739 | 5.9.16 / 2020-05-25
|
740 | ===================
|
741 | * perf(error): convert errors to classes extending Error for lower CPU overhead #9021 [zbjornson](https://github.com/zbjornson)
|
742 | * fix(query): throw CastError if filter `$and`, `$or`, `$nor` contain non-object values #8948
|
743 | * fix(bulkwrite): cast filter & update to schema after applying timestamps #9030 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
744 | * fix(document): don't overwrite defaults with undefined keys in nested documents #9039 [vitorhnn](https://github.com/vitorhnn)
|
745 | * fix(discriminator): remove discriminator schema nested paths pulled from base schema underneath a mixed path in discriminator schema #9042
|
746 | * fix(model): make syncIndexes() not drop index if all user-specified collation options are the same #8994
|
747 | * fix(document): make internal `$__.scope` property a symbol instead to work around a bug with fast-safe-stringify #8955
|
748 | * docs: model.findByIdAndUpdate() 'new' param fix #9026 [dandv](https://github.com/dandv)
|
749 |
|
750 | 5.9.15 / 2020-05-18
|
751 | ===================
|
752 | * fix(schema): treat creating dotted path with no parent as creating a nested path #9020
|
753 | * fix(documentarray): make sure you can call `unshift()` after `map()` #9012 [philippejer](https://github.com/philippejer)
|
754 | * fix(model): cast bulkwrite according to discriminator schema if discriminator key is present #8982 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
755 | * fix(schema): remove `db` from reserved keywords #8940
|
756 | * fix(populate): treat populating a doc array that doesn't have a `ref` as a no-op #8946
|
757 | * fix(timestamps): set createdAt and updatedAt on doubly nested subdocs when upserting #8894
|
758 | * fix(model): allow POJOs as schemas for model.discriminator(...) #8991 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
759 | * fix(model): report `insertedDocs` on `insertMany()` errors #8938
|
760 | * fix(model): ensure consistent `writeErrors` property on insertMany error with `ordered: false`, even if only one op failed #8938
|
761 | * docs: add anchor tag to strictQuery and strict #9014 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
762 | * docs(faq): remove faq ipv6 #9004
|
763 | * docs: add note about throwing error only after validation and fix broken reference to api/CastError #8993 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
764 | * docs: fix typos in documents.pug #9005 [dandv](https://github.com/dandv)
|
765 |
|
766 | 5.9.14 / 2020-05-13
|
767 | ===================
|
768 | * fix(cursor): add index as second parameter to eachAsync callback #8972 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
769 | * fix(query): cast filter according to discriminator schema if discriminator key in filter #8881
|
770 | * fix(model): fix throwing error when populating virtual path defined on child discriminator #8924 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
771 | * fix(errors): handle case when user has make `Error.prototype.toJSON` read only #8986 [osher](https://github.com/osher)
|
772 | * fix(model): add `kind` to cast errors thrown by query execution #8953 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
773 | * fix(update): use child schema strict on single nested updates if useNestedStrict not set #8922
|
774 | * docs(model): improve `save()` docs #8956 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
775 | * docs: add immutable type to Schema Types #8987 [Andrew5569](https://github.com/Andrew5569)
|
776 | * docs: sort schema reserved keys in documentation #8966 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
777 |
|
778 | 5.9.13 / 2020-05-08
|
779 | ===================
|
780 | * fix(schema): mark correct path as modified when setting a path underneath a nested array of documents #8926
|
781 | * fix(query): Query#select({ field: false }) should not overwrite schema selection options #8929 #8923
|
782 | * fix(update): handle immutable properties are ignored in bulk upserts #8952 [philippejer](https://github.com/philippejer)
|
783 | * docs(browser): add back sample webpack config #8890
|
784 | * docs(faq): fix broken reference in limit vs perDocumentLimit #8937
|
785 |
|
786 | 5.9.12 / 2020-05-04
|
787 | ===================
|
788 | * fix(document): report cast error on array elements with array index instead of just being a cast error for the whole array #8888
|
789 | * fix(connection): throw more helpful error in case of IP whitelisting issue with Atlas #8846
|
790 | * fix(schema): throw error on schema with reserved key with type of object #8869 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
791 | * fix(connection): inherit config for useDB from default connection #8267 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
792 | * fix(query): set mongodb options for `distinct()` #8906 [clhuang](https://github.com/clhuang)
|
793 | * fix(schema): allow adding descending indexes on schema #8895 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
794 | * fix(document): set defaults if setting nested path to empty object with `minimize: false` #8829
|
795 | * fix(populate): check discriminator existence before accessing schema in getModelsMapForPopulate #8837 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
796 | * docs: fix broken references to Mongoose#Document API, and prefer mongoose.model(...) over Document#model(...) #8914 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
797 | * docs(model): adds options.limit to Model.insertMany(...) #8864 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
798 | * docs: add flattenMaps and aliases to Document#toObject() #8901 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
799 | * docs(model): add options.overwrite to findOneAndUpdate #8865 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
800 | * docs(populate+faq): separate limit-vs-perDocumentLimit into its own section, add FAQ for populate and limit #8917 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
801 |
|
802 | 5.9.11 / 2020-04-30
|
803 | ===================
|
804 | * fix: upgrade mongodb driver -> 3.5.7 #8842 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
805 | * fix: validate nested paths on Model.validate(...) #8848 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
806 | * fix(populate): make doc.execPopulate(options) a shorthand for doc.populate(options).execPopulate() #8840 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
807 | * fix(model): return validation errors when all docs are invalid & rawResult set #8853 [tusharf5](https://github.com/tusharf5)
|
808 | * fix(schemaType): treat select: null or select: undefined as not specified #8850 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
809 | * fix: fix stream close event listener being called multiple times in Node 14 #8835 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
810 | * fix(populate): handle `clone` with `lean` when setting a path to `null` #8807
|
811 | * docs(faq): clarify setting paths under document arrays with `markModified()` #8854
|
812 | * docs: fix race condition in creating connection for lambda #8845 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
813 | * docs: add options.path for Model.populate(...) #8833 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
814 | * docs: use ES6 classes for custom schema type example #8802
|
815 |
|
816 | 5.9.10 / 2020-04-20
|
817 | ===================
|
818 | * fix: upgrade mongodb -> 3.5.6, bson -> 1.1.4 #8719
|
819 | * fix(document): avoid calling `$set()` on object keys if object path isn't in schema #8751
|
820 | * fix(timestamps): handle timestamps on doubly nested subdocuments #8799
|
821 | * fix(schematype): throw error if default is set to a schema instance #8751
|
822 | * fix: handle $elemMatch projection with `select: false` in schema #8818 #8806 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
823 | * docs: make FAQ questions more linkable #8825 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
824 | * docs(validation): use `init()` as opposed to `once('index')` in `unique` example #8816
|
825 | * docs: clarify `insertMany()` return value #8820 [dandv](https://github.com/dandv)
|
826 | * docs(populate+query): fix typos #8793 #8794 [dandv](https://github.com/dandv)
|
827 | * docs(model): document skipId parameter #8791 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
828 |
|
829 | 5.9.9 / 2020-04-13
|
830 | ==================
|
831 | * fix(model): make Model.bulkWrite accept `strict` option #8782 #8788 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
832 | * fix(virtual): make populated virtual getter return value when it is passed in #8775 #8774 [makinde](https://github.com/makinde)
|
833 | * fix(document): handle validating document array whose docs contain maps and nested paths #8767
|
834 | * fix(document): skip discriminator key when overwriting a document #8765
|
835 | * fix(populate): support `clone` option with `lean` #8761 #8760
|
836 | * docs(transactions): use `endSession()` in all transactions examples #8741
|
837 | * docs(queries): expand streaming section to include async iterators, cursor timeouts, and sesssion idle timeouts #8720
|
838 | * docs(model+query+findoneandupdate): add docs for `returnOriginal` option #8766
|
839 | * docs(model): fix punctuation #8788 [dandv](https://github.com/dandv)
|
840 | * docs: fix typos #8780 #8799 [dandv](https://github.com/dandv)
|
841 |
|
842 | 5.9.8 / 2020-04-06
|
843 | ==================
|
844 | * fix(map): run getters when calling `Map#get()` #8730
|
845 | * fix(populate): handle `refPath` function in embedded discriminator #8731
|
846 | * fix(model): allow setting timestamps to false for bulkWrite #8758 #8745 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
847 | * fix(model): pass custom options to `exists()` when no changes to save #8764 #8739 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
848 | * fix(update): respect `useNestedStrict: false` when updating a single nested path #8735
|
849 | * fix(schema): allow `modelName` as a schema path, since `modelName` is a static property on models #7967
|
850 | * docs(promises): add section about using `exec()` with queries and `await` #8747
|
851 | * docs(connections): clarify that `connectTimeoutMS` doesn't do anything with `useUnifiedTopology`, should use `serverSelectionTimeoutMS` #8721
|
852 | * chore: upgrade mpath -> 0.7.0 #8762 [roja548](https://github.com/roja548)
|
853 |
|
854 | 5.9.7 / 2020-03-30
|
855 | ==================
|
856 | * fix(map): avoid infinite loop when setting a map of documents to a document copied using spread operator #8722
|
857 | * fix(query): clean stack trace for filter cast errors so they include the calling file #8691
|
858 | * fix(model): make bulkWrite updates error if `strict` and `upsert` are set and `filter` contains a non-schema path #8698
|
859 | * fix(cast): make internal `castToNumber()` allow undefined #8725 [p3x-robot](https://github.com/p3x-robot)
|
860 |
|
861 | 5.9.6 / 2020-03-23
|
862 | ==================
|
863 | * fix(document): allow saving document with nested document array after setting `nestedArr.0` #8689
|
864 | * docs(connections): expand section about multiple connections to describe patterns for exporting schemas #8679
|
865 | * docs(populate): add note about `execPopulate()` to "populate an existing document" section #8671 #8275
|
866 | * docs: fix broken links #8690 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
867 | * docs(guide): fix typos #8704 [MateRyze](https://github.com/MateRyze)
|
868 | * docs(guide): fix minor typo #8683 [pkellz](https://github.com/pkellz)
|
869 |
|
870 | 5.9.5 / 2020-03-16
|
871 | ==================
|
872 | * fix: upgrade mongodb driver -> 3.5.5 #8667 #8664 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
873 | * fix(connection): emit "disconnected" after losing connectivity to every member of a replica set with `useUnifiedTopology: true` #8643
|
874 | * fix(array): allow calling `slice()` after `push()` #8668 #8655 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
875 | * fix(map): avoid marking map as modified if setting `key` to the same value #8652
|
876 | * fix(updateValidators): don't run `Mixed` update validator on dotted path underneath mixed type #8659
|
877 | * fix(populate): ensure top-level `limit` applies if one document being populated has more than `limit` results #8657
|
878 | * fix(populate): throw error if both `limit` and `perDocumentLimit` are set #8661 #8658 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
879 | * docs(findOneAndUpdate): add a section about the `rawResult` option #8662
|
880 | * docs(guide): add section about `loadClass()` #8623
|
881 | * docs(query): improve `Query#populate()` example to clarify that `sort` doesn't affect the original result's order #8647
|
882 |
|
883 | 5.9.4 / 2020-03-09
|
884 | ==================
|
885 | * fix(document): allow `new Model(doc)` to set immutable properties when doc is a mongoose document #8642
|
886 | * fix(array): make sure you can call `unshift()` after `slice()` #8482
|
887 | * fix(schema): propagate `typePojoToMixed` to implicitly created arrays #8627
|
888 | * fix(schema): also propagate `typePojoToMixed` option to schemas implicitly created because of `typePojoToMixed` #8627
|
889 | * fix(model): support passing `background` option to `syncIndexes()` #8645
|
890 | * docs(schema): add a section about the `_id` path in schemas #8625
|
891 | * docs(virtualtype+populate): document using `match` with virtual populate #8616
|
892 | * docs(guide): fix typo #8648 [sauzy34](https://github.com/sauzy34)
|
893 |
|
894 | 5.9.3 / 2020-03-02
|
895 | ==================
|
896 | * fix: upgrade mongodb driver -> 3.5.4 #8620
|
897 | * fix(document): set subpath defaults when overwriting single nested subdoc #8603
|
898 | * fix(document): make calling `validate()` with single nested subpath only validate that single nested subpath #8626
|
899 | * fix(browser): make `mongoose.model()` return a class in the browser to allow hydrating populated data in the browser #8605
|
900 | * fix(model): make `syncIndexes()` and `cleanIndexes()` drop compound indexes with `_id` that aren't in the schema #8559
|
901 | * docs(connection+index): add warnings to explain that bufferMaxEntries does nothing with `useUnifiedTopology` #8604
|
902 | * docs(document+model+query): add `options.timestamps` parameter docs to `findOneAndUpdate()` and `findByIdAndUpdate()` #8619
|
903 | * docs: fix out of date links to tumblr #8599
|
904 |
|
905 | 5.9.2 / 2020-02-21
|
906 | ==================
|
907 | * fix(model): add discriminator key to bulkWrite filters #8590
|
908 | * fix(document): when setting nested array path to non-nested array, wrap values top-down rather than bottom up when possible #8544
|
909 | * fix(document): dont leave nested key as undefined when setting nested key to empty object with minimize #8565
|
910 | * fix(document): avoid throwing error if setting path to Mongoose document with nullish `_doc` #8565
|
911 | * fix(update): handle Binary type correctly with `runValidators` #8580
|
912 | * fix(query): run `deleteOne` hooks only on `Document#deleteOne()` when setting `options.document = true` for `Schema#pre()` #8555
|
913 | * fix(document): allow calling `validate()` in post validate hook without causing parallel validation error #8597
|
914 | * fix(virtualtype): correctly copy options when cloning #8587
|
915 | * fix(collection): skip creating capped collection if `autoCreate` set to `false` #8566
|
916 | * docs(middleware): clarify that updateOne and deleteOne hooks are query middleware by default, not document middleware #8581
|
917 | * docs(aggregate): clarify that `Aggregate#unwind()` can take object parameters as well as strings #8594
|
918 |
|
919 | 5.9.1 / 2020-02-14
|
920 | ==================
|
921 | * fix(model): set session when calling `save()` with no changes #8571
|
922 | * fix(schema): return correct pathType when single nested path is embedded under a nested path with a numeric name #8583
|
923 | * fix(queryhelpers): remove `Object.values()` for Node.js 4.x-6.x support #8596
|
924 | * fix(cursor): respect sort order when using `eachAsync()` with `parallel` and a sync callback #8577
|
925 | * docs: update documentation of custom _id overriding in discriminators #8591 [sam-mfb](https://github.com/sam-mfb)
|
926 |
|
927 | 5.9.0 / 2020-02-13
|
928 | ==================
|
929 | * fix: upgrade to MongoDB driver 3.5 #8520 #8563
|
930 | * feat(schematype): support setting default options for schema type (`trim` on all strings, etc.) #8487
|
931 | * feat(populate): add `perDocumentLimit` option that limits per document in `find()` result, rather than across all documents #7318
|
932 | * feat(schematype): enable setting `transform` option on individual schematypes #8403
|
933 | * feat(timestamps): allow setting `currentTime` option for setting custom function to get the current time #3957
|
934 | * feat(connection): add `Connection#watch()` to watch for changes on an entire database #8425
|
935 | * feat(document): add `Document#$op` property to make it easier to tell what operation is running in middleware #8439
|
936 | * feat(populate): support `limit` as top-level populate option #8445
|
937 |
|
938 | 5.8.13 / 2020-02-13
|
939 | ===================
|
940 | * fix(populate): use safe get to avoid crash if schematype doesn't have options #8586
|
941 |
|
942 | 5.8.12 / 2020-02-12
|
943 | ===================
|
944 | * fix(query): correctly cast dbref `$id` with `$elemMatch` #8577
|
945 | * fix(populate): handle populating when some embedded discriminator schemas have `refPath` but none of the subdocs have `refPath` #8553
|
946 | * docs: add useUnifiedTopology to homepage example #8558 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
947 | * refactor(utils): moving promiseOrCallback to helpers/promiseOrCallback #8573 [hugosenari](https://github.com/hugosenari)
|
948 |
|
949 | 5.8.11 / 2020-01-31
|
950 | ===================
|
951 | * fix(document): allow calling `validate()` multiple times in parallel on subdocs to avoid errors if Mongoose double-validates [taxilian](https://github.com/taxilian) #8548 #8539
|
952 | * fix(connection): allow calling initial `mongoose.connect()` after connection helpers on the same tick #8534
|
953 | * fix(connection): throw helpful error when callback param to `mongoose.connect()` or `mongoose.createConnection()` is not a function #8556
|
954 | * fix(drivers): avoid unnecessary caught error when importing #8528
|
955 | * fix(discriminator): remove unnecessary `utils.merge()` [samgladstone](https://github.com/samgladstone) #8542
|
956 | * docs: add "built with mongoose" page #8540
|
957 |
|
958 | 5.8.10 / 2020-01-27
|
959 | ===================
|
960 | * perf(document): improve performance of document creation by skipping unnecessary split() calls #8533 [igrunert-atlassian](https://github.com/igrunert-atlassian)
|
961 | * fix(document): only call validate once for deeply nested subdocuments #8532 #8531 [taxilian](https://github.com/taxilian)
|
962 | * fix(document): create document array defaults in forward order, not reverse #8514
|
963 | * fix(document): allow function as message for date min/max validator #8512
|
964 | * fix(populate): don't try to populate embedded discriminator that has populated path but no `refPath` #8527
|
965 | * fix(document): plugins from base schema when creating a discriminator #8536 [samgladstone](https://github.com/samgladstone)
|
966 | * fix(document): ensure parent and ownerDocument are set for subdocs in document array defaults #8509
|
967 | * fix(document): dont set undefined keys to null if minimize is false #8504
|
968 | * fix(update): bump timestamps when using update aggregation pipelines #8524
|
969 | * fix(model): ensure `cleanIndexes()` drops indexes with different collations #8521
|
970 | * docs(model): document `insertMany` `lean` option #8522
|
971 | * docs(connections): document `authSource` option #8517
|
972 |
|
973 | 5.8.9 / 2020-01-17
|
974 | ==================
|
975 | * fix(populate): skip populating embedded discriminator array values that don't have a `refPath` #8499
|
976 | * docs(queries): clarify when to use queries versus aggregations #8494
|
977 |
|
978 | 5.8.8 / 2020-01-14
|
979 | ==================
|
980 | * fix(model): allow using `lean` with `insertMany()` #8507 #8234 [ntsekouras](https://github.com/ntsekouras)
|
981 | * fix(document): don't throw parallel validate error when validating subdoc underneath modified nested path #8486
|
982 | * fix: allow `typePojoToMixed` as top-level option #8501 #8500 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
983 | * docs(populate+schematypes): make note of `_id` getter for ObjectIds in populate docs #8483
|
984 |
|
985 | 5.8.7 / 2020-01-10
|
986 | ==================
|
987 | * fix(documentarray): modify ownerDocument when setting doc array to a doc array thats part of another document #8479
|
988 | * fix(document): ensure that you can call `splice()` after `slice()` on an array #8482
|
989 | * docs(populate): improve cross-db populate docs to include model refs #8497
|
990 |
|
991 | 5.8.6 / 2020-01-07
|
992 | ====================
|
993 | * chore: merge changes from 4.13.20 and override mistaken publish to latest tag
|
994 |
|
995 | 4.13.20 / 2020-01-07
|
996 | ====================
|
997 | * fix(schema): make aliases handle mongoose-lean-virtuals #6069
|
998 |
|
999 | 5.8.5 / 2020-01-06
|
1000 | ==================
|
1001 | * fix(document): throw error when running `validate()` multiple times on the same document #8468
|
1002 | * fix(model): ensure deleteOne() and deleteMany() set discriminator filter even if no conditions passed #8471
|
1003 | * fix(document): allow pre('validate') hooks to throw errors with `name = 'ValidationError'` #8466
|
1004 | * fix(update): move top level $set of immutable properties to $setOnInsert so upserting with immutable properties actually sets the property #8467
|
1005 | * fix(document): avoid double-running validators on single nested subdocs within single nested subdocs #8468
|
1006 | * fix(populate): support top-level match option for virtual populate #8475
|
1007 | * fix(model): avoid applying skip when populating virtual with count #8476
|
1008 |
|
1009 | 5.8.4 / 2020-01-02
|
1010 | ==================
|
1011 | * fix(populate): ensure populate virtual gets set to empty array if `localField` is undefined in the database #8455
|
1012 | * fix(connection): wrap `mongoose.connect()` server selection timeouts in MongooseTimeoutError for more readable stack traces #8451
|
1013 | * fix(populate): allow deselecting `foreignField` from projection by prefixing with `-` #8460
|
1014 | * fix(populate): support embedded discriminators with `refPath` when not all discriminator schemas have `refPath` #8452
|
1015 | * fix(array): allow defining `enum` on array if an array of numbers #8449
|
1016 |
|
1017 | 5.8.3 / 2019-12-23
|
1018 | ==================
|
1019 | * fix: upgrade mongodb -> 3.4.1 #8430 [jaschaio](https://github.com/jaschaio)
|
1020 | * fix(populate): don't add empty subdocument to array when populating path underneath a non-existent document array #8432
|
1021 | * fix(schema): handle `_id` option for document array schematypes #8450
|
1022 | * fix(update): call setters when updating mixed type #8444
|
1023 | * docs(connections): add note about MongoTimeoutError.reason #8402
|
1024 |
|
1025 | 5.8.2 / 2019-12-20
|
1026 | ==================
|
1027 | * fix(schema): copy `.add()`-ed paths when calling `.add()` with schema argument #8429
|
1028 | * fix(cursor): pull schema-level readPreference when using `Query#cursor()` #8421
|
1029 | * fix(cursor): wait for all promises to resolve if `parallel` is greater than number of documents #8422
|
1030 | * fix(document): depopulate entire array when setting array path to a partially populated array #8443
|
1031 | * fix: handle setDefaultsOnInsert with deeply nested subdocs #8392
|
1032 | * fix(document): report `DocumentNotFoundError` if underlying document deleted but no changes made #8428 #8371 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
1033 | * docs(populate): clarify limitations of `limit` option for populate and suggest workaround #8409
|
1034 | * docs(deprecations): explain which connection options are no longer relevant with useUnifiedTopology #8411
|
1035 | * chore: allow browser build to be published #8435 #8427 [captaincaius](https://github.com/captaincaius)
|
1036 |
|
1037 | 5.8.1 / 2019-12-12
|
1038 | ==================
|
1039 | * fix(documentarray): dont attempt to cast when modifying array returned from map() #8399
|
1040 | * fix(document): update single nested subdoc parent when setting to existing single nested doc #8400
|
1041 | * fix(schema): add `$embeddedSchemaType` property to arrays for consistency with document arrays #8389
|
1042 |
|
1043 | 5.8.0 / 2019-12-09
|
1044 | ==================
|
1045 | * feat: wrap server selection timeout errors in `MongooseTimeoutError` to retain original stack trace #8259
|
1046 | * feat(model): add `Model.validate()` function that validates a POJO against the model's schema #7587
|
1047 | * feat(schema): add `Schema#pick()` function to create a new schema with a picked subset of the original schema's paths #8207
|
1048 | * feat(schema): add ability to change CastError message using `cast` option to SchemaType #8300
|
1049 | * feat(schema): group indexes defined in schema path with the same name #6499
|
1050 | * fix(model): build all indexes even if one index fails #8185 [unusualbob](https://github.com/unusualbob)
|
1051 | * feat(browser): pre-compile mongoose/browser #8350 [captaincaius](https://github.com/captaincaius)
|
1052 | * fix(connection): throw error when setting unsupported option #8335 #6899 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
1053 | * feat(schema): support `enum` validator for number type #8139
|
1054 | * feat(update): allow using MongoDB 4.2 update aggregation pipelines, with no Mongoose casting #8225
|
1055 | * fix(update): make update validators run on all subpaths when setting a nested path, even omitted subpaths #3587
|
1056 | * feat(schema): support setting `_id` as an option to single nested schema paths #8137
|
1057 | * feat(query): add Query#mongooseOptions() function #8296
|
1058 | * feat(array): make `MongooseArray#push()` support using `$position` #4322
|
1059 | * feat(schema): make pojo paths optionally become subdoc instead of Mixed #8228 [captaincaius](https://github.com/captaincaius)
|
1060 | * feat(model): add Model.cleanIndexes() to drop non-schema indexes #6676
|
1061 | * feat(document): make `updateOne()` document middleware pass `this` to post hooks #8262
|
1062 | * feat(aggregate): run pre/post aggregate hooks on `explain()` #5887
|
1063 | * docs(model+query): add `session` option to docs for findOneAndX() methods #8396
|
1064 |
|
1065 | 5.7.14 / 2019-12-06
|
1066 | ===================
|
1067 | * fix(cursor): wait until all `eachAsync()` functions finish before resolving the promise #8352
|
1068 | * fix(update): handle embedded discriminator paths when discriminator key is defined in the update #8378
|
1069 | * fix(schematype): handle passing `message` function to `SchemaType#validate()` as positional arg #8360
|
1070 | * fix(map): handle cloning a schema that has a map of subdocuments #8357
|
1071 | * docs(schema): clarify that `uppercase`, `lowercase`, and `trim` options for SchemaString don't affect RegExp queries #8333
|
1072 |
|
1073 | 5.7.13 / 2019-11-29
|
1074 | ===================
|
1075 | * fix: upgrade mongodb driver -> 3.3.5 #8383
|
1076 | * fix(model): catch the error when insertMany fails to initialize the document #8365 #8363 [Fonger](https://github.com/Fonger)
|
1077 | * fix(schema): add array.$, array.$.$ subpaths for nested arrays #6405
|
1078 | * docs(error): add more detail about the ValidatorError class, including properties #8346
|
1079 | * docs(connection): document `Connection#models` property #8314
|
1080 |
|
1081 | 5.7.12 / 2019-11-19
|
1082 | ===================
|
1083 | * fix: avoid throwing error if calling `push()` on a doc array with no parent #8351 #8317 #8312 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
1084 | * fix(connection): only buffer for "open" events when calling connection helper while connecting #8319
|
1085 | * fix(connection): pull default database from connection string if specified #8355 #8354 [zachazar](https://github.com/zachazar)
|
1086 | * fix(populate+discriminator): handle populating document whose discriminator value is different from discriminator model name #8324
|
1087 | * fix: add `mongoose.isValidObjectId()` function to test whether Mongoose can cast a value to an objectid #3823
|
1088 | * fix(model): support setting `excludeIndexes` as schema option for subdocs #8343
|
1089 | * fix: add SchemaMapOptions class for options to map schematype #8318
|
1090 | * docs(query): remove duplicate omitUndefined options #8349 [mdumandag](https://github.com/mdumandag)
|
1091 | * docs(schema): add Schema#paths docs to public API docs #8340
|
1092 |
|
1093 | 5.7.11 / 2019-11-14
|
1094 | ===================
|
1095 | * fix: update mongodb driver -> 3.3.4 #8276
|
1096 | * fix(model): throw readable error when casting bulkWrite update without a 'filter' or 'update' #8332 #8331 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
1097 | * fix(connection): bubble up connected/disconnected events with unified topology #8338 #8337
|
1098 | * fix(model): delete $versionError after saving #8326 #8048 [Fonger](https://github.com/Fonger)
|
1099 | * test(model): add test for issue #8040 #8341 [Fonger](https://github.com/Fonger)
|
1100 |
|
1101 | 5.7.10 / 2019-11-11
|
1102 | ===================
|
1103 | * perf(cursor): remove unnecessary `setTimeout()` in `eachAsync()`, 4x speedup in basic benchmarks #8310
|
1104 | * docs(README): re-order sections for better readability #8321 [dandv](https://github.com/dandv)
|
1105 | * chore: make npm test not hard-code file paths #8322 [stieg](https://github.com/stieg)
|
1106 |
|
1107 | 5.7.9 / 2019-11-08
|
1108 | ==================
|
1109 | * fix(schema): support setting schema path to an instance of SchemaTypeOptions to fix integration with mongoose-i18n-localize #8297 #8292
|
1110 | * fix(populate): make `retainNullValues` set array element to `null` if foreign doc with that id was not found #8293
|
1111 | * fix(document): support getter setting virtual on manually populated doc when calling toJSON() #8295
|
1112 | * fix(model): allow objects with `toBSON()` to make it to `save()` #8299
|
1113 |
|
1114 | 5.7.8 / 2019-11-04
|
1115 | ==================
|
1116 | * fix(document): allow manually populating path within document array #8273
|
1117 | * fix(populate): update top-level `populated()` when updating document array with populated subpaths #8265
|
1118 | * fix(cursor): throw error when using aggregation cursor as async iterator #8280
|
1119 | * fix(schema): retain `_id: false` in schema after nesting in another schema #8274
|
1120 | * fix(document): make Document class an event emitter to support defining documents without models in node #8272
|
1121 | * docs: document return types for `.discriminator()` #8287
|
1122 | * docs(connection): add note about exporting schemas, not models, in multi connection paradigm #8275
|
1123 | * docs: clarify that transforms defined in `toObject()` options are applied to subdocs #8260
|
1124 |
|
1125 | 5.7.7 / 2019-10-24
|
1126 | ==================
|
1127 | * fix(populate): make populate virtual consistently an empty array if local field is only empty arrays #8230
|
1128 | * fix(query): allow findOne(objectid) and find(objectid) #8268
|
1129 |
|
1130 | 5.7.6 / 2019-10-21
|
1131 | ==================
|
1132 | * fix: upgrade mongodb driver -> 3.3.3 to fix issue with failing to connect to a replica set if one member is down #8209
|
1133 | * fix(document): fix TypeError when setting a single nested subdoc with timestamps #8251
|
1134 | * fix(cursor): fix issue with long-running `eachAsync()` cursor #8249 #8235
|
1135 | * fix(connection): ensure repeated `close` events from useUnifiedTopology don't disconnect Mongoose from replica set #8224
|
1136 | * fix(document): support calling `Document` constructor directly in Node.js #8237
|
1137 | * fix(populate): add document array subpaths to parent doc `populated()` when calling `DocumentArray#push()` #8247
|
1138 | * fix(options): add missing minlength and maxlength to SchemaStringOptions #8256
|
1139 | * docs: add documentarraypath to API docs, including DocumentArrayPath#discriminator() #8164
|
1140 | * docs(schematypes): add a section about the `type` property #8227
|
1141 | * docs(api): fix Connection.close return param #8258 [gosuhiman](https://github.com/gosuhiman)
|
1142 | * docs: update link to broken image on home page #8253 [krosenk729](https://github.com/krosenk729)
|
1143 |
|
1144 | 5.7.5 / 2019-10-14
|
1145 | ==================
|
1146 | * fix(query): delete top-level `_bsontype` property in queries to prevent silent empty queries #8222
|
1147 | * fix(update): handle subdocument pre('validate') errors in update validation #7187
|
1148 | * fix(subdocument): make subdocument#isModified use parent document's isModified #8223
|
1149 | * docs(index): add favicon to home page #8226
|
1150 | * docs: add schema options to API docs #8012
|
1151 | * docs(middleware): add note about accessing the document being updated in pre('findOneAndUpdate') #8218
|
1152 | * refactor: remove redundant code in ValidationError #8244 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
1153 |
|
1154 | 5.7.4 / 2019-10-09
|
1155 | ==================
|
1156 | * fix(schema): handle `required: null` and `required: undefined` as `required: false` #8219
|
1157 | * fix(update): support updating array embedded discriminator props if discriminator key in $elemMatch #8063
|
1158 | * fix(populate): allow accessing populate virtual prop underneath array when virtual defined on top level #8198
|
1159 | * fix(model): support passing `options` to `Model.remove()` #8211
|
1160 | * fix(document): handle `Document#set()` merge option when setting underneath single nested schema #8201
|
1161 | * fix: use options constructor class for all schematypes #8012
|
1162 |
|
1163 | 5.7.3 / 2019-09-30
|
1164 | ==================
|
1165 | * fix: make CoreMongooseArray#includes() handle `fromIndex` parameter #8203
|
1166 | * fix(update): cast right hand side of `$pull` as a query instead of an update for document arrays #8166
|
1167 | * fix(populate): handle virtual populate of an embedded discriminator nested path #8173
|
1168 | * docs(validation): remove deprecated `isAsync` from validation docs in favor of emphasizing promises #8184
|
1169 | * docs(documents): add overwriting section #8178
|
1170 | * docs(promises): add note about queries being thenable #8110
|
1171 | * perf: avoid update validators going into Mixed types #8192 [birdofpreyru](https://github.com/birdofpreyru)
|
1172 | * refactor: remove async as a prod dependency #8073
|
1173 |
|
1174 | 5.7.2 / 2019-09-23
|
1175 | ==================
|
1176 | * fix(mongoose): support `mongoose.set('autoIndex', false)` #8158
|
1177 | * fix(discriminator): support `tiedValue` parameter for embedded discriminators analagous to top-level discriminators #8164
|
1178 | * fix(query): handle `toConstructor()` with entries-style sort syntax #8159
|
1179 | * fix(populate): avoid converting mixed paths into arrays if populating an object path under `Mixed` #8157
|
1180 | * fix: use $wrapCallback when using promises for mongoose-async-hooks
|
1181 | * fix: handle queries with setter that converts value to Number instance #8150
|
1182 | * docs: add mongoosejs-cli to readme #8142
|
1183 | * docs: fix example typo for Schema.prototype.plugin() #8175 [anaethoss](https://github.com/anaethoss)
|
1184 |
|
1185 | 5.7.1 / 2019-09-13
|
1186 | ==================
|
1187 | * fix(query): fix TypeError when calling `findOneAndUpdate()` with `runValidators` #8151 [fernandolguevara](https://github.com/fernandolguevara)
|
1188 | * fix(document): throw strict mode error if setting an immutable path with strict mode: false #8149
|
1189 | * fix(mongoose): support passing options object to Mongoose constructor #8144
|
1190 | * fix(model): make syncIndexes() handle changes in index key order #8135
|
1191 | * fix(error): export StrictModeError as a static property of MongooseError #8148 [ouyuran](https://github.com/ouyuran)
|
1192 | * docs(connection+mongoose): add `useUnifiedTopology` option to `connect()` and `openUri()` docs #8146
|
1193 |
|
1194 | 5.7.0 / 2019-09-09
|
1195 | ==================
|
1196 | * feat(document+query): support conditionally immutable schema paths #8001
|
1197 | * perf(documentarray): refactor to use ES6 classes instead of mixins, ~30% speedup #7895
|
1198 | * feat: use MongoDB driver 3.3.x for MongoDB 4.2 support #8083 #8078
|
1199 | * feat(schema+query): add pre('validate') and post('validate') hooks for update validation #7984
|
1200 | * fix(timestamps): ensure updatedAt gets incremented consistently using update with and without $set #4768
|
1201 | * feat(query): add `Query#get()` to make writing custom setters that handle both queries and documents easier #7312
|
1202 | * feat(document): run setters on defaults #8012
|
1203 | * feat(document): add `aliases: false` option to `Document#toObject()` #7548
|
1204 | * feat(timestamps): support skipping updatedAt and createdAt for individual save() and update() #3934
|
1205 | * docs: fix index creation link in guide #8138 [joebowbeer](https://github.com/joebowbeer)
|
1206 |
|
1207 | 5.6.13 / 2019-09-04
|
1208 | ===================
|
1209 | * fix(parallel): fix parallelLimit when fns is empty #8130 #8128 [sibelius](https://github.com/sibelius)
|
1210 | * fix(document): ensure nested mixed validator gets called exactly once #8117
|
1211 | * fix(populate): handle `justOne = undefined` #8125 [taxilian](https://github.com/taxilian)
|
1212 |
|
1213 | 5.6.12 / 2019-09-03
|
1214 | ===================
|
1215 | * fix(schema): handle required validator correctly with `clone()` #8111
|
1216 | * fix(schema): copy schematype getters and setters when cloning #8124 [StphnDamon](https://github.com/StphnDamon)
|
1217 | * fix(discriminator): avoid unnecessarily cloning schema to avoid leaking memory on repeated `discriminator()` calls #2874
|
1218 | * docs(schematypes): clarify when Mongoose uses `toString()` to convert an object to a string #8112 [TheTrueRandom](https://github.com/TheTrueRandom)
|
1219 | * docs(plugins): fix out of date link to npm docs #8100
|
1220 | * docs(deprecations): fix typo #8109 [jgcmarins](https://github.com/jgcmarins)
|
1221 | * refactor(model): remove dependency on `async.parallelLimit()` for `insertMany()` #8073
|
1222 |
|
1223 | 5.6.11 / 2019-08-25
|
1224 | ===================
|
1225 | * fix(model): allow passing options to `exists()` #8075
|
1226 | * fix(document): make `validateUpdatedOnly` option handle pre-existing errors #8091
|
1227 | * fix: throw readable error if middleware callback isnt a function #8087
|
1228 | * fix: don't throw error if calling `find()` on a nested array #8089
|
1229 | * docs(middleware): clarify that you must add middleware before compiling your model #5087
|
1230 | * docs(query): add missing options to `setOptions()` #8099
|
1231 |
|
1232 | 5.6.10 / 2019-08-20
|
1233 | ===================
|
1234 | * fix(schema): fix require() path to work around yet another bug in Jest #8053
|
1235 | * fix(document): skip casting when initing a populated path #8062
|
1236 | * fix(document): prevent double-calling validators on mixed objects with nested properties #8067
|
1237 | * fix(query): handle schematype with `null` options when checking immutability #8070 [rich-earth](https://github.com/rich-earth)
|
1238 | * fix(schema): support `Schema#path()` to get schema path underneath doc array #8057
|
1239 | * docs(faq): add disable color instruction #8066
|
1240 |
|
1241 | 5.6.9 / 2019-08-07
|
1242 | ==================
|
1243 | * fix(model): delete versionError after saving to prevent memory leak #8048
|
1244 | * fix(cursor): correctly handle batchSize option with query cursor #8039
|
1245 | * fix(populate): handle virtual populate with count = 0 if virtual embedded in doc array #7573
|
1246 | * fix(schema): allow declaring ObjectId array with `{ type: 'ObjectID' }`, last 'D' case insensitive #8034
|
1247 |
|
1248 | 5.6.8 / 2019-08-02
|
1249 | ==================
|
1250 | * fix(aggregate): allow modifying pipeline in pre('aggregate') hooks #8017
|
1251 | * fix(query): make `findOneAndReplace()` work with `orFail()` #8030
|
1252 | * fix(document): allow saving an unchanged document if required populated path is null #8018
|
1253 | * fix(debug): support disabling colors in debug mode #8033 [Mangosteen-Yang](https://github.com/Mangosteen-Yang)
|
1254 | * docs: add async-await guide #8028 [Rossh87](https://github.com/Rossh87)
|
1255 | * docs(plugins): rewrite plugins docs to be more modern and not use strange `= exports` syntax #8026
|
1256 | * docs(transactions): clarify relationship between `session` in docs and MongoDB driver ClientSession class, link to driver docs #8009
|
1257 |
|
1258 | 5.6.7 / 2019-07-26
|
1259 | ==================
|
1260 | * fix(document): support validators on nested arrays #7926
|
1261 | * fix(timestamps): handle `timestamps: false` in child schema #8007
|
1262 | * fix(query): consistently support `new` option to `findOneAndX()` as an alternative to `returnOriginal` #7846
|
1263 | * fix(document): make `inspect()` never return `null`, because a document or nested path is never `== null` #7942
|
1264 | * docs(query+lean): add links to mongoose-lean-virtuals, mongoose-lean-getters, mongoose-lean-defaults #5606
|
1265 | * docs: add example for `Schema#pre(Array)` #8022 [Mangosteen-Yang](https://github.com/Mangosteen-Yang)
|
1266 | * docs(schematype): updated comment from Schema.path to proper s.path #8013 [chrisweilacker](https://github.com/chrisweilacker)
|
1267 | * chore: upgrade nyc #8015 [kolya182](https://github.com/kolya182)
|
1268 |
|
1269 | 5.6.6 / 2019-07-22
|
1270 | ==================
|
1271 | * fix(populate): handle refPath returning a virtual with `Query#populate()` #7341
|
1272 | * fix(populate): handle `refPath` in discriminator when populating top-level model #5109
|
1273 | * fix(mongoose): ensure destucturing and named imports work for Mongoose singleton methods like `set()`, etc. #6039
|
1274 | * fix(query): add missing options for deleteOne and deleteMany in Query #8004 [Fonger](https://github.com/Fonger)
|
1275 | * fix(schema): make embedded discriminators `instanceof` their parent types #5005
|
1276 | * fix(array): make `validators` a private property that doesn't show up in for/in #6572
|
1277 | * docs(api): fix array API docs that vanished because of #7798 #7979
|
1278 | * docs(discriminators+api): add single nested discriminator to discriminator docs and API docs #7983
|
1279 | * docs(connection+mongoose): make option lists consistent between `mongoose.connect()`, `mongoose.createConnection()`, and `conn.openUri()` #7976
|
1280 | * docs(validation): clarify resolve(false) vs reject() for promise-based async custom validators #7761
|
1281 | * docs(guide): use correct `mongoose.set()` instead of `mongoose.use()` #7998
|
1282 | * docs: add redis cache example #7997 [usama-asfar](https://github.com/usama-asfar)
|
1283 |
|
1284 | 5.6.5 / 2019-07-17
|
1285 | ==================
|
1286 | * fix(document): handle setting non-schema path to ObjectId or Decimal128 if strict: false #7973
|
1287 | * fix(connection): remove backwards-breaking multiple mongoose.connect() call for now #7977
|
1288 | * fix(schema): print invalid value in error message when a schema path is set to undefined or null #7956
|
1289 | * fix(model): throw readable error if calling `new Model.discriminator()` #7957
|
1290 | * fix(mongoose): export `cast()` function #7975 [perfectstorm88](https://github.com/perfectstorm88)
|
1291 | * docs(model): fix link to Model.inspect() and add example #7990
|
1292 | * docs: fix broken anchor links on validation tutorial #7966
|
1293 | * docs(api): fix broken links to split API pages #7978
|
1294 | * chore: create LICENSE.md #7989 [Fonger](https://github.com/Fonger)
|
1295 |
|
1296 | 5.6.4 / 2019-07-08
|
1297 | ==================
|
1298 | * fix(schema): support pre(Array, Function) and post(Array, Function) #7803
|
1299 | * fix(document): load docs with a `once` property successfully #7958
|
1300 | * fix(queryhelpers): ensure parent `select` overwrites child path `select` if parent is nested #7945
|
1301 | * fix(schema): make `clone()` correctly copy array embedded discriminators #7954
|
1302 | * fix(update): fix error when update property gets casted to null #7949
|
1303 | * fix(connection): bubble up attemptReconnect event for now #7872
|
1304 | * docs(tutorials): add virtuals tutorial #7965
|
1305 | * docs(connection): add section on connection handling #6997
|
1306 |
|
1307 | 5.6.3 / 2019-07-03
|
1308 | ==================
|
1309 | * fix(document): respect projection when running getters #7940
|
1310 | * fix(model): call createCollection() in syncIndexes() to ensure the collection exists #7931
|
1311 | * fix(document): consistently use post-order traversal for gathering subdocs for hooks #7929
|
1312 | * fix(schema): ensure `Schema#pathType()` returns correct path type given non-existent positional path #7935
|
1313 | * fix(ChangeStream): set `closed` if emitting close event #7930
|
1314 | * fix(connection): bubble up 'attemptReconnect' event from MongoDB connection #7872
|
1315 | * docs: fix broken .jade links on search page #7932
|
1316 | * docs: correct link to `Query#select()` #7953 [rayhatfield](https://github.com/rayhatfield)
|
1317 | * docs(README): add list of related projects #7773
|
1318 |
|
1319 | 4.13.19 / 2019-07-02
|
1320 | ====================
|
1321 | * fix(aggregate): make `setOptions()` work as advertised #7950 #6011 [cdimitroulas](https://github.com/cdimitroulas)
|
1322 |
|
1323 | 5.6.2 / 2019-06-28
|
1324 | ==================
|
1325 | * fix(update): allow using `update()` with immutable `createdAt` #7917
|
1326 | * fix(model): pass `doc` parameter to save() error handling middleware #7832
|
1327 | * fix(mongoose): add applyPluginsToChildSchemas option to allow opting out of global plugins for child schemas #7916
|
1328 | * docs(connection): document `useCache` option for `useDb()` #7923
|
1329 | * docs: fix broken link in FAQ #7925 [christophergeiger3](https://github.com/christophergeiger3)
|
1330 |
|
1331 | 5.6.1 / 2019-06-24
|
1332 | ==================
|
1333 | * fix(update): skip setting defaults for single embedded subdocs underneath maps #7909
|
1334 | * fix(document): copy date objects correctly when strict = false #7907
|
1335 | * feat(mongoose): throw an error if calling `mongoose.connect()` multiple times while connected #7905 [Fonger](https://github.com/Fonger)
|
1336 | * fix(document): copies virtuals from array subdocs when casting array of docs with same schema #7898
|
1337 | * fix(schema): ensure clone() copies single embedded discriminators correctly #7894
|
1338 | * fix(discriminator): merge instead of overwriting conflicting nested schemas in discriminator schema #7884
|
1339 | * fix(populate): ignore nullish arguments when calling `populate()` #7913 [rayhatfield](https://github.com/rayhatfield)
|
1340 | * docs: add getters/setters tutorial #7919
|
1341 | * docs: clean up error docs so they refer to `Error` rather than `MongooseError` #7867
|
1342 | * docs: fix a couple broken links #7921 [kizmo04](https://github.com/kizmo04)
|
1343 | * refactor: remove unnecessary if #7911 [rayhatfield](https://github.com/rayhatfield)
|
1344 |
|
1345 | 5.6.0 / 2019-06-14
|
1346 | ==================
|
1347 | * feat(schematype): add `immutable` option to disallow changing a given field #7671
|
1348 | * docs: split API docs into separate pages to make API documentation more Google-able #7812
|
1349 | * perf(array): remove all mixins in favor of ES6 classes, ~20% faster in basic benchmarks #7798
|
1350 | * feat(document): use promise rejection error message when async custom validator throws an error #4913
|
1351 | * feat(virtual): pass document as 3rd parameter to virtual getters and setters to enable using arrow functions #4143
|
1352 | * feat(model): add `Model.exists()` function to quickly check whether a document matching `filter` exists #6872
|
1353 | * feat(index+connection): support setting global and connection-level `maxTimeMS`
|
1354 | * feat(populate): support setting `ref` to a function for conventional populate #7669
|
1355 | * feat(document): add overwrite() function that overwrites all values in a document #7830
|
1356 | * feat(populate): support `PopulateOptions#connection` option to allow cross-db populate with refPath #6520
|
1357 | * feat(populate): add skipInvalidIds option to silently skip population if id is invalid, instead of throwing #7706
|
1358 | * feat(array): skip empty array default if there's a 2dsphere index on a geojson path #3233
|
1359 | * feat(query): add `getFilter()` as an alias of `getQuery()` to be more in line with API docs #7839
|
1360 | * feat(model): add Model.inspect() to make models not clutter `util.inspect()` #7836
|
1361 | * perf(discriminator): skip calling `createIndex()` on indexes that are defined in the base schema #7379
|
1362 | * docs: upgrade from Jade to latest Pug #7812
|
1363 | * docs(README): update reference to example schema.js #7899 [sharils](https://github.com/sharils)
|
1364 | * docs(README): improve variable name #7900 [sharils](https://github.com/sharils)
|
1365 | * chore: replace charAt(0) with startsWith #7897 [Fonger](https://github.com/Fonger)
|
1366 | * chore: replace indexOf with includes, startsWith and endsWith for String #7897 [Fonger](https://github.com/Fonger)
|
1367 |
|
1368 | 5.5.15 / 2019-06-12
|
1369 | ===================
|
1370 | * fix(connection): reject initial connect promise even if there is an on('error') listener #7850
|
1371 | * fix(map): make `of` automatically convert POJOs to schemas unless typeKey is set #7859
|
1372 | * fix(update): use discriminator schema to cast update if discriminator key specified in filter #7843
|
1373 | * fix(array): copy atomics from source array #7891 #7889 [jyrkive](https://github.com/jyrkive)
|
1374 | * fix(schema): return this when Schema.prototype.add is called with Schema #7887 [Mickael-van-der-Beek](https://github.com/Mickael-van-der-Beek)
|
1375 | * fix(document): add `numAffected` and `result` to DocumentNotFoundError for better debugging #7892 #7844
|
1376 |
|
1377 | 5.5.14 / 2019-06-08
|
1378 | ===================
|
1379 | * fix(query): correct this scope of setters in update query #7876 [Fonger](https://github.com/Fonger)
|
1380 | * fix(model): reset modifiedPaths after successful insertMany #7852 #7873 [Fonger](https://github.com/Fonger)
|
1381 | * fix(populate): allow using `refPath` with virtual populate #7848
|
1382 | * fix(document): prepend private methods getValue and setValue with $ #7870 [Fonger](https://github.com/Fonger)
|
1383 | * fix: update mongodb driver -> 3.2.7 #7871 [Fonger](https://github.com/Fonger)
|
1384 | * docs(tutorials): add tutorial about custom casting functions #7045
|
1385 | * docs(connection): fix outdated events document #7874 [Fonger](https://github.com/Fonger)
|
1386 | * docs: fix typo in lean docs #7875 [tannakartikey](https://github.com/tannakartikey)
|
1387 | * docs: move off of KeenIO for tracking and use self-hosted analytics instead
|
1388 |
|
1389 | 5.5.13 / 2019-06-05
|
1390 | ===================
|
1391 | * fix(model): support passing deleteOne options #7860 #7857 [Fonger](https://github.com/Fonger)
|
1392 | * fix(update): run setters on array elements when doing $addToSet, $push, etc #4185
|
1393 | * fix(model): support getting discriminator by value when creating a new model #7851
|
1394 | * docs(transactions): add section about the `withTransaction()` helper #7598
|
1395 | * docs(schema): clarify relationship between Schema#static() and Schema#statics #7827
|
1396 | * docs(model): fix typo `projetion` to `projection` #7868 [dfdeagle47](https://github.com/dfdeagle47)
|
1397 | * docs(schema): correct schema options lists #7828
|
1398 |
|
1399 | 5.5.12 / 2019-05-31
|
1400 | ===================
|
1401 | * fix(document): fix unexpected error when loading a document with a nested property named `schema` #7831
|
1402 | * fix(model): skip applying static hooks by default if static name conflicts with query middleware (re: mongoose-delete plugin) #7790
|
1403 | * fix(query): apply schema-level projections to the result of `findOneAndReplace()` #7654
|
1404 | * fix: upgrade mongodb driver -> 3.2.6
|
1405 | * docs(tutorials): add findOneAndUpdate() tutorial #7847
|
1406 | * docs(validation): add `updateOne()` and `updateMany()` to list of update validator operations #7845
|
1407 | * docs(model): make sure options lists in `update()` API line up #7842
|
1408 |
|
1409 | 5.5.11 / 2019-05-23
|
1410 | ===================
|
1411 | * fix(discriminator): allow numeric discriminator keys for embedded discriminators #7808
|
1412 | * chore: add Node.js 12 to travis build matrix #7784
|
1413 |
|
1414 | 5.5.10 / 2019-05-20
|
1415 | ===================
|
1416 | * fix(discriminator): allow user-defined discriminator path in schema #7807
|
1417 | * fix(query): ensure `findOneAndReplace()` sends `replacement` to server #7654
|
1418 | * fix(cast): allow `[]` as a value when casting `$nin` #7806
|
1419 | * docs(model): clarify that setters do run on `update()` by default #7801
|
1420 | * docs: fix typo in FAQ #7821 [jaona](https://github.com/jaona)
|
1421 |
|
1422 | 5.5.9 / 2019-05-16
|
1423 | ==================
|
1424 | * fix(query): skip schema setters when casting $regexp $options #7802 [Fonger](https://github.com/Fonger)
|
1425 | * fix(populate): don't skip populating doc array properties whose name conflicts with an array method #7782
|
1426 | * fix(populate): make populated virtual return undefined if not populated #7795
|
1427 | * fix(schema): handle custom setters in arrays of document arrays #7804 [Fonger](https://github.com/Fonger)
|
1428 | * docs(tutorials): add query casting tutorial #7789
|
1429 |
|
1430 | 5.5.8 / 2019-05-13
|
1431 | ==================
|
1432 | * fix(document): run pre save hooks on nested child schemas #7792
|
1433 | * fix(model): set $session() before validation middleware for bulkWrite/insertMany #7785 #7769 [Fonger](https://github.com/Fonger)
|
1434 | * fix(query): make `getPopulatedPaths()` return deeply populated paths #7757
|
1435 | * fix(query): suppress findAndModify deprecation warning when using `Model.findOneAndUpdate()` #7794
|
1436 | * fix: upgrade mongodb -> 3.2.4 #7794
|
1437 | * fix(document): handle a couple edge cases with atomics that happen when schema defines an array property named 'undefined' #7756
|
1438 | * docs(discriminator): correct function parameters #7786 [gfpacheco](https://github.com/gfpacheco)
|
1439 |
|
1440 | 5.5.7 / 2019-05-09
|
1441 | ==================
|
1442 | * fix(model): set $session() before pre save middleware runs when calling save() with options #7742
|
1443 | * fix(model): set $session before pre remove hooks run when calling remove() with options #7742
|
1444 | * fix(schema): support `remove()` on nested path #2398
|
1445 | * fix(map): handle setting populated map element to doc #7745
|
1446 | * fix(query): return rawResult when inserting with options `{new:false,upsert:true,rawResult:true}` #7774 #7770 [LiaanM](https://github.com/LiaanM)
|
1447 | * fix(schematype): remove internal `validators` option because it conflicts with Backbone #7720
|
1448 |
|
1449 | 5.5.6 / 2019-05-06
|
1450 | ==================
|
1451 | * fix(document): stop converting arrays to objects when setting non-schema path to array with strict: false #7733
|
1452 | * fix(array): make two Mongoose arrays `assert.deepEqual()` each other if they have the same values #7700
|
1453 | * fix(populate): support populating a path in a document array embedded in an array #7647
|
1454 | * fix(populate): set populate virtual count to 0 if local field is empty #7731
|
1455 | * fix(update): avoid throwing cast error if casting array filter that isn't in schema with strictQuery = false #7728
|
1456 | * docs: fix typo in `distinct()` description #7767 [phil-r](https://github.com/phil-r)
|
1457 |
|
1458 | 5.5.5 / 2019-04-30
|
1459 | ==================
|
1460 | * fix(document): ensure nested properties within single nested subdocs get set correctly when overwriting single nested subdoc #7748
|
1461 | * fix(document): skip non-object `validators` in schema types #7720
|
1462 | * fix: bump mongodb driver -> 3.2.3 #7752
|
1463 | * fix(map): disallow setting map key with special properties #7750 [Fonger](https://github.com/Fonger)
|
1464 |
|
1465 | 5.5.4 / 2019-04-25
|
1466 | ==================
|
1467 | * fix(document): avoid calling custom getters when saving #7719
|
1468 | * fix(timestamps): handle child schema timestamps correctly when reusing child schemas #7712
|
1469 | * fix(query): pass correct callback for _legacyFindAndModify #7736 [Fonger](https://github.com/Fonger)
|
1470 | * fix(model+query): allow setting `replacement` parameter for `findOneAndReplace()` #7654
|
1471 | * fix(map): make `delete()` unset the key in the database #7746 [Fonger](https://github.com/Fonger)
|
1472 | * fix(array): use symbol for `_schema` property to avoid confusing deep equality checks #7700
|
1473 | * fix(document): prevent `depopulate()` from removing fields with empty array #7741 #7740 [Fonger](https://github.com/Fonger)
|
1474 | * fix: make `MongooseArray#includes` support ObjectIds #7732 #6354 [hansemannn](https://github.com/hansemannn)
|
1475 | * fix(document): report correct validation error index when pushing onto doc array #7744 [Fonger](https://github.com/Fonger)
|
1476 |
|
1477 | 5.5.3 / 2019-04-22
|
1478 | ==================
|
1479 | * fix: add findAndModify deprecation warning that references the useFindAndModify option #7644
|
1480 | * fix(document): handle pushing a doc onto a discriminator that contains a doc array #7704
|
1481 | * fix(update): run setters on array elements when doing $set #7679
|
1482 | * fix: correct usage of arguments while buffering commands #7718 [rzymek](https://github.com/rzymek)
|
1483 | * fix(document): avoid error clearing modified subpaths if doc not defined #7715 [bitflower](https://github.com/bitflower)
|
1484 | * refactor(array): move `_parent` property behind a symbol #7726 #7700
|
1485 | * docs(model): list out all operations and options for `bulkWrite()` #7055
|
1486 | * docs(aggregate): use `eachAsync()` instead of nonexistent `each()` #7699
|
1487 | * docs(validation): add CastError validation example #7514
|
1488 | * docs(query+model): list out all options and callback details for Model.updateX() and Query#updateX() #7646
|
1489 |
|
1490 | 5.5.2 / 2019-04-16
|
1491 | ==================
|
1492 | * fix(document): support setting nested path to non-POJO object #7639
|
1493 | * perf(connection): remove leaked event handler in `Model.init()` so `deleteModel()` frees all memory #7682
|
1494 | * fix(timestamps): handle custom statics that conflict with built-in functions (like mongoose-delete plugin) #7698
|
1495 | * fix(populate): make `Document#populated()` work for populated subdocs #7685
|
1496 | * fix(document): support `.set()` on document array underneath embedded discriminator path #7656
|
1497 |
|
1498 | 5.5.1 / 2019-04-11
|
1499 | ==================
|
1500 | * fix(document): correctly overwrite all properties when setting a single nested subdoc #7660 #7681
|
1501 | * fix(array): allow customization of array required validator #7696 [freewil](https://github.com/freewil)
|
1502 | * fix(discriminator): handle embedded discriminators when casting array defaults #7687
|
1503 | * fix(collection): ensure collection functions return a promise even if disconnected #7676
|
1504 | * fix(schematype): avoid indexing properties with `{ unique: false, index: false }` #7620
|
1505 | * fix(aggregate): make `Aggregate#model()` with no arguments return the aggregation's model #7608
|
1506 |
|
1507 | 5.5.0 / 2019-04-08
|
1508 | ==================
|
1509 | * feat(model): support applying hooks to custom static functions #5982
|
1510 | * feat(populate): support specifying a function as `match` #7397
|
1511 | * perf(buffer): avoid calling `defineProperties()` in Buffer constructor #7331
|
1512 | * feat(connection): add `plugin()` for connection-scoped plugins #7378
|
1513 | * feat(model): add Model#deleteOne() and corresponding hooks #7538
|
1514 | * feat(query): support hooks for `Query#distinct()` #5938
|
1515 | * feat(model): print warning when calling create() incorrectly with a session #7535
|
1516 | * feat(document): add Document#isEmpty() and corresponding helpers for nested paths #5369
|
1517 | * feat(document): add `getters` option to Document#get() #7233
|
1518 | * feat(query): add Query#projection() to get or overwrite the current projection #7384
|
1519 | * fix(document): set full validator path on validatorProperties if `propsParameter` set on validator #7447
|
1520 | * feat(document): add Document#directModifiedPaths() #7373
|
1521 | * feat(document): add $locals property #7691
|
1522 | * feat(document): add validateUpdatedOnly option that only validates modified paths in `save()` #7492 [captaincaius](https://github.com/captaincaius)
|
1523 | * chore: upgrade MongoDB driver to v3.2.0 #7641
|
1524 | * fix(schematype): deprecate `isAsync` option for custom validators #6700
|
1525 | * chore(mongoose): deprecate global.MONGOOSE_DRIVER_PATH so we can be webpack-warning-free in 6.0 #7501
|
1526 |
|
1527 | 5.4.23 / 2019-04-08
|
1528 | ===================
|
1529 | * fix(document): report cast error when string path in schema is an array in MongoDB #7619
|
1530 | * fix(query): set deletedCount on result of remove() #7629
|
1531 | * docs(subdocs): add note about parent() and ownerDocument() to subdocument docs #7576
|
1532 |
|
1533 | 5.4.22 / 2019-04-04
|
1534 | ===================
|
1535 | * fix(aggregate): allow modifying options in pre('aggregate') hook #7606
|
1536 | * fix(map): correctly init maps of maps when loading from MongoDB #7630
|
1537 | * docs(model+query): add `omitUndefined` option to docs for updateX() and findOneAndX() #3486
|
1538 | * docs: removed duplicate Query.prototype.merge() reference from doc #7684 [shihabmridha](https://github.com/shihabmridha)
|
1539 | * docs(schema): fix shardKey type to object instead of bool #7668 [kyletsang](https://github.com/kyletsang)
|
1540 | * docs(api): fix `Model.prototypedelete` link #7665 [pixcai](https://github.com/pixcai)
|
1541 |
|
1542 | 5.4.21 / 2019-04-02
|
1543 | ===================
|
1544 | * fix(updateValidators): run update validators correctly on Decimal128 paths #7561
|
1545 | * fix(update): cast array filters in nested doc arrays correctly #7603
|
1546 | * fix(document): allow .get() + .set() with aliased paths #7592
|
1547 | * fix(document): ensure custom getters on single nested subdocs don't get persisted if toObject.getters = true #7601
|
1548 | * fix(document): support setting subdoc path to subdoc copied using object rest `{...doc}` #7645
|
1549 | * docs(schema): correct out-of-date list of reserved words #7593
|
1550 | * docs(model+query): add link to update results docs and examples of using results of updateOne(), etc. #7582
|
1551 | * docs: use atomic as opposed to $atomic consistently #7649 [720degreeLotus](https://github.com/720degreeLotus)
|
1552 |
|
1553 | 5.4.20 / 2019-03-25
|
1554 | ===================
|
1555 | * docs(tutorials): add tutorial about `lean()` #7640
|
1556 | * fix(discriminator): fix wrong modelName being used as value to partialFilterExpression index #7635 #7634 [egorovli](https://github.com/egorovli)
|
1557 | * fix(document): allow setters to modify `this` when overwriting single nested subdoc #7585
|
1558 | * fix(populate): handle count option correctly with multiple docs #7573
|
1559 | * fix(date): support declaring min/max validators as functions #7600 [ChienDevIT](https://github.com/ChienDevIT)
|
1560 | * fix(discriminator): avoid projecting in embedded discriminator if only auto-selected path is discriminator key #7574
|
1561 | * fix(discriminator): use discriminator model when using `new BaseModel()` with discriminator key #7586
|
1562 | * fix(timestamps): avoid throwing if doc array has timestamps and array is undefined #7625 [serg33v](https://github.com/serg33v)
|
1563 | * docs(document): explain DocumentNotFoundError in save() docs #7580
|
1564 | * docs(query): fix .all() param type and add example #7612 [720degreeLotus](https://github.com/720degreeLotus)
|
1565 | * docs: add useNewUrlParser to mongoose.connect for some pages #7615 [YC](https://github.com/YC)
|
1566 |
|
1567 | 5.4.19 / 2019-03-11
|
1568 | ===================
|
1569 | * fix(mongoose): ensure virtuals set on subdocs in global plugins get applied #7572
|
1570 | * docs(tutorials): add "Working With Dates" tutorial #7597
|
1571 | * docs(guide): clarify that versioning only affects array fields #7555
|
1572 | * docs(model): list out all bulkWrite() options #7550
|
1573 |
|
1574 | 5.4.18 / 2019-03-08
|
1575 | ===================
|
1576 | * fix(document): handle nested virtuals in populated docs when parent path is projected out #7491
|
1577 | * fix(model): make subclassed models handle discriminators correctly #7547
|
1578 | * fix(model): remove $versionError from save options for better debug output #7570
|
1579 |
|
1580 | 5.4.17 / 2019-03-03
|
1581 | ===================
|
1582 | * fix(update): handle all positional operator when casting array filters #7540
|
1583 | * fix(populate): handle populating nested path where top-level path is a primitive in the db #7545
|
1584 | * fix(update): run update validators on array filters #7536
|
1585 | * fix(document): clean modified subpaths when sorting an array #7556
|
1586 | * fix(model): cast $setOnInsert correctly with nested docs #7534
|
1587 | * docs: remove extra curly brace from example #7569 [kolya182](https://github.com/kolya182)
|
1588 |
|
1589 | 5.4.16 / 2019-02-26
|
1590 | ===================
|
1591 | * fix(schema): handle nested objects with `_id: false` #7524
|
1592 | * fix(schema): don't throw error if declaring a virtual that starts with a map path name #7464
|
1593 | * fix(browser): add stubbed `model()` function so code that uses model doesn't throw #7541 [caub](https://github.com/caub)
|
1594 | * fix(schema): merge virtuals correctly #7563 [yoursdearboy](https://github.com/yoursdearboy)
|
1595 | * docs(connections): add reconnectFailed to connection docs #7477
|
1596 | * docs(index): fix typo #7553 [DenrizSusam](https://github.com/DenrizSusam)
|
1597 | * refactor(schema): iterate over paths instead of depending on childSchemas #7554
|
1598 |
|
1599 | 5.4.15 / 2019-02-22
|
1600 | ===================
|
1601 | * fix(update): don't call schematype validators on array if using $pull with runValidators #6971
|
1602 | * fix(schema): clone all schema types when cloning an array #7537
|
1603 | * docs(connections): improve connectTimeoutMS docs and socketTimeoutMS docs to link to Node.js net.setTimeout() #5169
|
1604 | * docs: fix setters example in migration guide #7546 [freewil](https://github.com/freewil)
|
1605 |
|
1606 | 5.4.14 / 2019-02-19
|
1607 | ===================
|
1608 | * fix(populate): make `getters` option handle nested paths #7521
|
1609 | * fix(documentarray): report validation errors that occur in an array subdoc created using `create()` and then `set()` #7504
|
1610 | * docs(schema): add examples for schema functions that didn't have any #7525
|
1611 | * docs: add MongooseError to API docs and add list of error names
|
1612 | * docs(CONTRIBUTING): fix link #7530 [sarpik](https://github.com/sarpik)
|
1613 |
|
1614 | 5.4.13 / 2019-02-15
|
1615 | ===================
|
1616 | * fix(query): throw handy error when using updateOne() with overwrite: true and no dollar keys #7475
|
1617 | * fix(schema): support inheriting existing schema types using Node.js `util.inherits` like mongoose-float #7486
|
1618 | * docs(connections): add list of connection events #7477
|
1619 |
|
1620 | 5.4.12 / 2019-02-13
|
1621 | ===================
|
1622 | * fix(connection): dont emit reconnected due to socketTimeoutMS #7452
|
1623 | * fix(schema): revert check for `false` schema paths #7516 #7512
|
1624 | * fix(model): don't delete unaliased keys in translateAliases #7510 [chrischen](https://github.com/chrischen)
|
1625 | * fix(document): run single nested schematype validator if nested path has a default and subpath is modified #7493
|
1626 | * fix(query): copy mongoose options when using `Query#merge()` #1790
|
1627 | * fix(timestamps): don't call createdAt getters when setting updatedAt on new doc #7496
|
1628 | * docs: improve description of ValidationError #7515 [JulioJu](https://github.com/JulioJu)
|
1629 | * docs: add an asterisk before comment, otherwise the comment line is not generated #7513 [JulioJu](https://github.com/JulioJu)
|
1630 |
|
1631 | 5.4.11 / 2019-02-09
|
1632 | ===================
|
1633 | * fix(schema): handle `_id: false` in schema paths as a shortcut for setting the `_id` option to `false` #7480
|
1634 | * fix(update): handle $addToSet and $push with ObjectIds and castNonArrays=false #7479
|
1635 | * docs(model): document `session` option to `save()` #7484
|
1636 | * chore: fix gitignore syntax #7498 [JulioJu](https://github.com/JulioJu)
|
1637 | * docs: document that Document#validateSync returns ValidationError #7499
|
1638 | * refactor: use consolidated `isPOJO()` function instead of constructor checks #7500
|
1639 |
|
1640 | 5.4.10 / 2019-02-05
|
1641 | ===================
|
1642 | * docs: add search bar and /search page #6706
|
1643 | * fix: support dotted aliases #7478 [chrischen](https://github.com/chrischen)
|
1644 | * fix(document): copy atomics when setting document array to an existing document array #7472
|
1645 | * chore: upgrade to mongodb driver 3.1.13 #7488
|
1646 | * docs: remove confusing references to executing a query "immediately" #7461
|
1647 | * docs(guides+schematypes): link to custom schematypes docs #7407
|
1648 |
|
1649 | 5.4.9 / 2019-02-01
|
1650 | ==================
|
1651 | * fix(document): make `remove()`, `updateOne()`, and `update()` use the document's associated session #7455
|
1652 | * fix(document): support passing args to hooked custom methods #7456
|
1653 | * fix(document): avoid double calling single nested getters on `toObject()` #7442
|
1654 | * fix(discriminator): handle global plugins modifying top-level discriminator options with applyPluginsToDiscriminators: true #7458
|
1655 | * docs(documents): improve explanation of documents and use more modern syntax #7463
|
1656 | * docs(middleware+api): fix a couple typos in examples #7474 [arniu](https://github.com/arniu)
|
1657 |
|
1658 | 5.4.8 / 2019-01-30
|
1659 | ==================
|
1660 | * fix(query): fix unhandled error when casting object in array filters #7431
|
1661 | * fix(query): cast query $elemMatch to discriminator schema if discriminator key set #7449
|
1662 | * docs: add table of contents to all guides #7430
|
1663 |
|
1664 | 5.4.7 / 2019-01-26
|
1665 | ==================
|
1666 | * fix(populate): set `populated()` when using virtual populate #7440
|
1667 | * fix(discriminator): defer applying plugins to embedded discriminators until model compilation so global plugins work #7435
|
1668 | * fix(schema): report correct pathtype underneath map so setting dotted paths underneath maps works #7448
|
1669 | * fix: get debug from options using the get helper #7451 #7446 [LucGranato](https://github.com/LucGranato)
|
1670 | * fix: use correct variable name #7443 [esben-semmle](https://github.com/esben-semmle)
|
1671 | * docs: fix broken QueryCursor link #7438 [shihabmridha](https://github.com/shihabmridha)
|
1672 |
|
1673 | 5.4.6 / 2019-01-22
|
1674 | ==================
|
1675 | * fix(utils): make minimize leave empty objects in arrays instead of setting the array element to undefined #7322
|
1676 | * fix(document): support passing `{document, query}` options to Schema#pre(regex) and Schema#post(regex) #7423
|
1677 | * docs: add migrating to 5 guide to docs #7434
|
1678 | * docs(deprecations): add instructions for fixing `count()` deprecation #7419
|
1679 | * docs(middleware): add description and example for aggregate hooks #7402
|
1680 |
|
1681 | 4.13.18 / 2019-01-21
|
1682 | ====================
|
1683 | * fix(model): handle setting populated path set via `Document#populate()` #7302
|
1684 | * fix(cast): backport fix from #7290 to 4.x
|
1685 |
|
1686 | 5.4.5 / 2019-01-18
|
1687 | ==================
|
1688 | * fix(populate): handle nested array `foreignField` with virtual populate #7374
|
1689 | * fix(query): support not passing any arguments to `orFail()` #7409
|
1690 | * docs(query): document what the resolved value for `deleteOne()`, `deleteMany()`, and `remove()` contains #7324
|
1691 | * fix(array): allow opting out of converting non-arrays into arrays with `castNonArrays` option #7371
|
1692 | * fix(query): ensure updateOne() doesnt unintentionally double call Schema#post(regexp) #7418
|
1693 |
|
1694 | 5.4.4 / 2019-01-14
|
1695 | ==================
|
1696 | * fix(query): run casting on arrayFilters option #7079
|
1697 | * fix(document): support skipping timestamps on save() with `save({ timestamps: false })` #7357
|
1698 | * fix(model): apply custom where on `Document#remove()` so we attach the shardKey #7393
|
1699 | * docs(mongoose): document `mongoose.connections` #7338
|
1700 |
|
1701 | 5.4.3 / 2019-01-09
|
1702 | ==================
|
1703 | * fix(populate): handle `count` option when using `Document#populate()` on a virtual #7380
|
1704 | * fix(connection): set connection state to DISCONNECTED if replica set has no primary #7330
|
1705 | * fix(mongoose): apply global plugins to schemas nested underneath embedded discriminators #7370
|
1706 | * fix(document): make modifiedPaths() return nested paths 1 level down on initial set #7313
|
1707 | * fix(plugins): ensure sharding plugin works even if ObjectId has a `valueOf()` #7353
|
1708 |
|
1709 | 5.4.2 / 2019-01-03
|
1710 | ==================
|
1711 | * fix(document): ensure Document#updateOne() returns a query but still calls hooks #7366
|
1712 | * fix(query): allow explicitly projecting out populated paths that are automatically projected in #7383
|
1713 | * fix(document): support setting `flattenMaps` option for `toObject()` and `toJSON()` at schema level #7274
|
1714 | * fix(query): handle merging objectids with `.where()` #7360
|
1715 | * fix(schema): copy `.base` when cloning #7377
|
1716 | * docs: remove links to plugins.mongoosejs.com in favor of plugins.mongoosejs.io #7364
|
1717 |
|
1718 | 5.4.1 / 2018-12-26
|
1719 | ==================
|
1720 | * fix(document): ensure doc array defaults get casted #7337
|
1721 | * fix(document): make `save()` not crash if nested doc has a property 'get' #7316
|
1722 | * fix(schema): allow using Schema.Types.Map as well as Map to declare a map type #7305
|
1723 | * fix(map): make set after init mark correct path as modified #7321
|
1724 | * fix(mongoose): don't recompile model if same collection and schema passed in to `mongoose.model()` #5767
|
1725 | * fix(schema): improve error message when type is invalid #7303
|
1726 | * fix(schema): add `populated` to reserved property names #7317
|
1727 | * fix(model): don't run built-in middleware on custom methods and ensure timestamp hooks don't run if children don't have timestamps set #7342
|
1728 | * docs(schematypes): clarify that you can add arbitrary options to a SchemaType #7340
|
1729 | * docs(mongoose): clarify that passing same name+schema to `mongoose.model()` returns the model #5767
|
1730 | * docs(index): add useNewUrlParser to example #7368 [JIBIN-P](https://github.com/JIBIN-P)
|
1731 | * docs(connection): add useNewUrlParser to examples #7362 [JIBIN-P](https://github.com/JIBIN-P)
|
1732 | * docs(discriminators): add back missing example from 'recursive embedded discriminators section' #7349
|
1733 | * docs(schema): improve docs for string and boolean cast() #7351
|
1734 |
|
1735 | 5.4.0 / 2018-12-14
|
1736 | ==================
|
1737 | * feat(schematype): add `SchemaType.get()`, custom getters across all instances of a schematype #6912
|
1738 | * feat(schematype): add `SchemaType.cast()`, configure casting for individual schematypes #7045
|
1739 | * feat(schematype): add `SchemaType.checkRequired()`, configure what values pass `required` check for a schematype #7186 #7150
|
1740 | * feat(model): add `Model.findOneAndReplace()` #7162
|
1741 | * feat(model): add `Model.events` emitter that emits all `error`'s that occur with a given model #7125
|
1742 | * feat(populate): add `count` option to populate virtuals, support returning # of populated docs instead of docs themselves #4469
|
1743 | * feat(aggregate): add `.catch()` helper to make aggregations full thenables #7267
|
1744 | * feat(query): add hooks for `deleteOne()` and `deleteMany()` #7195
|
1745 | * feat(document): add hooks for `updateOne()` #7133
|
1746 | * feat(query): add `Query#map()` for synchronously transforming results before post middleware runs #7142
|
1747 | * feat(schema): support passing an array of objects or schemas to `Schema` constructor #7218
|
1748 | * feat(populate): add `clone` option to ensure multiple docs don't share the same populated doc #3258
|
1749 | * feat(query): add `Query#maxTimeMS()` helper #7254
|
1750 | * fix(query): deprecate broken `Aggregate#addCursorFlag()` #7120
|
1751 | * docs(populate): fix incorrect example #7335 [zcfan](https://github.com/zcfan)
|
1752 | * docs(middleware): add `findOneAndDelete` to middleware list #7327 [danielkesselberg](https://github.com/danielkesselberg)
|
1753 |
|
1754 | 5.3.16 / 2018-12-11
|
1755 | ===================
|
1756 | * fix(document): handle `__proto__` in queries #7290
|
1757 | * fix(document): use Array.isArray() instead of checking constructor name for arrays #7290
|
1758 | * docs(populate): add section about what happens when no document matches #7279
|
1759 | * fix(mongoose): avoid crash on `import mongoose, {Schema} from 'mongoose'` #5648
|
1760 |
|
1761 | 5.3.15 / 2018-12-05
|
1762 | ===================
|
1763 | * fix(query): handle `orFail()` with `findOneAndUpdate()` and `findOneAndDelete()` #7297 #7280
|
1764 | * fix(document): make `save()` succeed if strict: false with a `collection` property #7276
|
1765 | * fix(document): add `flattenMaps` option for toObject() #7274
|
1766 | * docs(document): document flattenMaps option #7274
|
1767 | * fix(populate): support populating individual subdoc path in document array #7273
|
1768 | * fix(populate): ensure `model` option overrides `refPath` #7273
|
1769 | * fix(map): don't call subdoc setters on init #7272
|
1770 | * fix(document): use internal get() helper instead of lodash.get to support `null` projection param #7271
|
1771 | * fix(document): continue running validateSync() for all elements in doc array after first error #6746
|
1772 |
|
1773 | 5.3.14 / 2018-11-27
|
1774 | ===================
|
1775 | * docs(api): use `openUri()` instead of legacy `open()` #7277 [artemjackson](https://github.com/artemjackson)
|
1776 | * fix(document): don't mark date underneath single nested as modified if setting to string #7264
|
1777 | * fix(update): set timestamps on subdocs if not using $set with no overwrite #7261
|
1778 | * fix(document): use symbol instead of `__parent` so user code doesn't conflict #7230
|
1779 | * fix(mongoose): allow using `mongoose.model()` without context, like `import {model} from 'mongoose'` #3768
|
1780 |
|
1781 | 5.3.13 / 2018-11-20
|
1782 | ===================
|
1783 | * fix: bump mongodb driver -> 3.1.10 #7266
|
1784 | * fix(populate): support setting a model as a `ref` #7253
|
1785 | * docs(schematype): add ref() function to document what is a valid `ref` path in a schematype #7253
|
1786 | * fix(array): clean modified subpaths when calling `splice()` #7249
|
1787 | * docs(compatibility): don't show Mongoose 4.11 as compatible with MongoDB 3.6 re: MongoDB's official compatibility table #7248 [a-harrison](https://github.com/a-harrison)
|
1788 | * fix(document): report correct validation error if doc array set to primitive #7242
|
1789 | * fix(mongoose): print warning when including server-side lib with jest jsdom environment #7240
|
1790 |
|
1791 | 5.3.12 / 2018-11-13
|
1792 | ===================
|
1793 | * docs(compatibility): don't show Mongoose 4.11 as compatible with MongoDB 3.6 re: MongoDB's official compatibility table #7238 [a-harrison](https://github.com/a-harrison)
|
1794 | * fix(populate): use `instanceof` rather than class name for comparison #7237 [ivanseidel](https://github.com/ivanseidel)
|
1795 | * docs(api): make options show up as a nested list #7232
|
1796 | * fix(document): don't mark array as modified on init if doc array has default #7227
|
1797 | * docs(api): link to bulk write result object in `bulkWrite()` docs #7225
|
1798 |
|
1799 | 5.3.11 / 2018-11-09
|
1800 | ===================
|
1801 | * fix(model): make parent pointers non-enumerable so they don't crash JSON.stringify() #7220
|
1802 | * fix(document): allow saving docs with nested props with '.' using `checkKeys: false` #7144
|
1803 | * docs(lambda): use async/await with lambda example #7019
|
1804 |
|
1805 | 5.3.10 / 2018-11-06
|
1806 | ===================
|
1807 | * fix(discriminator): support reusing a schema for multiple discriminators #7200
|
1808 | * fix(cursor): handle `lean(false)` correctly with query cursors #7197
|
1809 | * fix(document): avoid manual populate if `ref` not set #7193
|
1810 | * fix(schema): handle schema without `.base` for browser build #7170
|
1811 | * docs: add further reading section
|
1812 |
|
1813 | 5.3.9 / 2018-11-02
|
1814 | ==================
|
1815 | * fix: upgrade bson dep -> 1.1.0 to match mongodb-core #7213 [NewEraCracker](https://github.com/NewEraCracker)
|
1816 | * docs(api): fix broken anchor link #7210 [gfranco93](https://github.com/gfranco93)
|
1817 | * fix: don't set parent timestamps because a child has timestamps set to false #7203 #7202 [lineus](https://github.com/lineus)
|
1818 | * fix(document): run setter only once when doing `.set()` underneath a single nested subdoc #7196
|
1819 | * fix(document): surface errors in subdoc pre validate #7187
|
1820 | * fix(query): run default functions after hydrating the loaded document #7182
|
1821 | * fix(query): handle strictQuery: 'throw' with nested path correctly #7178
|
1822 | * fix(update): update timestamps on replaceOne() #7152
|
1823 | * docs(transactions): add example of aborting a transaction #7113
|
1824 |
|
1825 | 5.3.8 / 2018-10-30
|
1826 | ==================
|
1827 | * fix: bump mongodb driver -> 3.1.8 to fix connecting to +srv uri with no credentials #7191 #6881 [lineus](https://github.com/lineus)
|
1828 | * fix(document): sets defaults correctly in child docs with projection #7159
|
1829 | * fix(mongoose): handle setting custom type on a separate mongoose global #7158
|
1830 | * fix: add unnecessary files to npmignore #7157
|
1831 | * fix(model): set session when creating new subdoc #7104
|
1832 |
|
1833 | 5.3.7 / 2018-10-26
|
1834 | ==================
|
1835 | * fix(browser): fix buffer usage in browser build #7184 #7173 [lineus](https://github.com/lineus)
|
1836 | * fix(document): make depopulate() work on populate virtuals and unpopulated docs #7180 #6075 [lineus](https://github.com/lineus)
|
1837 | * fix(document): only pass properties as 2nd arg to custom validator if `propsParameter` set #7145
|
1838 | * docs(schematypes): add note about nested paths with `type` getting converted to mixed #7143
|
1839 | * fix(update): run update validators on nested doc when $set on an array #7135
|
1840 | * fix(update): copy exact errors from array subdoc validation into top-level update validator error #7135
|
1841 |
|
1842 | 5.3.6 / 2018-10-23
|
1843 | ==================
|
1844 | * fix(cursor): fix undefined transforms error
|
1845 |
|
1846 | 5.3.5 / 2018-10-22
|
1847 | ==================
|
1848 | * fix(model): make sure versionKey on `replaceOne()` always gets set at top level to prevent cast errors #7138
|
1849 | * fix(cursor): handle non-boolean lean option in `eachAsync()` #7137
|
1850 | * fix(update): correct cast update that overwrites a map #7111
|
1851 | * fix(schema): handle arrays of mixed correctly #7109
|
1852 | * fix(query): use correct path when getting schema for child timestamp update #7106
|
1853 | * fix(document): make `$session()` propagate sessions to child docs #7104
|
1854 | * fix(document): handle user setting `schema.options.strict = 'throw'` #7103
|
1855 | * fix(types): use core Node.js buffer prototype instead of safe-buffer because safe-buffer is broken for Node.js 4.x #7102
|
1856 | * fix(document): handle setting single doc with refPath to document #7070
|
1857 | * fix(model): handle array filters when updating timestamps for subdocs #7032
|
1858 |
|
1859 | 5.3.4 / 2018-10-15
|
1860 | ==================
|
1861 | * fix(schema): make `add()` and `remove()` return the schema instance #7131 [lineus](https://github.com/lineus)
|
1862 | * fix(query): don't require passing model to `cast()` #7118
|
1863 | * fix: support `useFindAndModify` as a connection-level option #7110 [lineus](https://github.com/lineus)
|
1864 | * fix(populate): handle plus path projection with virtual populate #7050
|
1865 | * fix(schema): allow using ObjectId type as schema path type #7049
|
1866 | * docs(schematypes): elaborate on how schematypes relate to types #7049
|
1867 | * docs(deprecations): add note about gridstore deprecation #6922
|
1868 | * docs(guide): add storeSubdocValidationError option to guide #6802
|
1869 |
|
1870 | 5.3.3 / 2018-10-12
|
1871 | ==================
|
1872 | * fix(document): enable storing mongoose validation error in MongoDB by removing `$isValidatorError` property #7127
|
1873 | * docs(api): clarify that aggregate triggers aggregate middleware #7126 [lineus](https://github.com/lineus)
|
1874 | * fix(connection): handle Model.init() when an index exists on schema + autoCreate == true #7122 [jesstelford](https://github.com/jesstelford)
|
1875 | * docs(middleware): explain how to switch between document and query hooks for `remove()` #7093
|
1876 | * docs(api): clean up encoding issues in SchemaType.prototype.validate docs #7091
|
1877 | * docs(schema): add schema types to api docs and update links on schematypes page #7080 #7076 [lineus](https://github.com/lineus)
|
1878 | * docs(model): expand model constructor docs with examples and `fields` param #7077
|
1879 | * docs(aggregate): remove incorrect description of noCursorTimeout and add description of aggregate options #7056
|
1880 | * docs: re-add array type to API docs #7027
|
1881 | * docs(connections): add note about `members.host` errors due to bad host names in replica set #7006
|
1882 |
|
1883 | 5.3.2 / 2018-10-07
|
1884 | ==================
|
1885 | * fix(query): make sure to return correct result from `orFail()` #7101 #7099 [gsandorx](https://github.com/gsandorx)
|
1886 | * fix(schema): handle `{ timestamps: false }` correctly #7088 #7074 [lineus](https://github.com/lineus)
|
1887 | * docs: fix markdown in options.useCreateIndex documentation #7085 [Cyral](https://github.com/Cyral)
|
1888 | * docs(schema): correct field name in timestamps example #7082 [kizmo04](https://github.com/kizmo04)
|
1889 | * docs(migrating_to_5): correct markdown syntax #7078 [gwuah](https://github.com/gwuah)
|
1890 | * fix(connection): add useFindAndModify option in connect #7059 [NormanPerrin](https://github.com/NormanPerrin)
|
1891 | * fix(document): dont mark single nested path as modified if setting to the same value #7048
|
1892 | * fix(populate): use WeakMap to track lean populate models rather than leanPopulateSymbol #7026
|
1893 | * fix(mongoose): avoid unhandled rejection when `mongoose.connect()` errors with a callback #6997
|
1894 | * fix(mongoose): isolate Schema.Types between custom Mongoose instances #6933
|
1895 |
|
1896 | 5.3.1 / 2018-10-02
|
1897 | ==================
|
1898 | * fix(ChangeStream): expose driver's `close()` function #7068 #7022 [lineus](https://github.com/lineus)
|
1899 | * fix(model): avoid printing warning if `_id` index is set to "hashed" #7053
|
1900 | * fix(populate): handle nested populate underneath lean array correctly #7052
|
1901 | * fix(update): make timestamps not crash on a null or undefined update #7041
|
1902 | * docs(schematypes+validation): clean up links from validation docs to schematypes docs #7040
|
1903 | * fix(model): apply timestamps to nested docs in bulkWrite() #7032
|
1904 | * docs(populate): rewrite refPath docs to be simpler and more direct #7013
|
1905 | * docs(faq): explain why destructuring imports are not supported in FAQ #7009
|
1906 |
|
1907 | 5.3.0 / 2018-09-28
|
1908 | ==================
|
1909 | * feat(mongoose): support `mongoose.set('debug', WritableStream)` so you can pipe debug to stderr, file, or network #7018
|
1910 | * feat(query): add useNestedStrict option #6973 #5144 [lineus](https://github.com/lineus)
|
1911 | * feat(query): add getPopulatedPaths helper to Query.prototype #6970 #6677 [lineus](https://github.com/lineus)
|
1912 | * feat(model): add `createCollection()` helper to make transactions easier #6948 #6711 [Fonger](https://github.com/Fonger)
|
1913 | * feat(schema): add ability to do `schema.add(otherSchema)` to merge hooks, virtuals, etc. #6897
|
1914 | * feat(query): add `orFail()` helper that throws an error if no documents match `filter` #6841
|
1915 | * feat(mongoose): support global toObject and toJSON #6815
|
1916 | * feat(connection): add deleteModel() to remove a model from a connection #6813
|
1917 | * feat(mongoose): add top-level mongoose.ObjectId, mongoose.Decimal128 for easier schema declarations #6760
|
1918 | * feat(aggregate+query): support for/await/of (async iterators) #6737
|
1919 | * feat(mongoose): add global `now()` function that you can stub for testing timestamps #6728
|
1920 | * feat(schema): support `schema.pre(RegExp, fn)` and `schema.post(RegExp, fn)` #6680
|
1921 | * docs(query): add better docs for the `mongooseOptions()` function #6677
|
1922 | * feat(mongoose): add support for global strict object #6858
|
1923 | * feat(schema+mongoose): add autoCreate option to automatically create collections #6489
|
1924 | * feat(update): update timestamps on nested subdocs when using `$set` #4412
|
1925 | * feat(query+schema): add query `remove` hook and ability to switch between query `remove` and document `remove` middleware #3054
|
1926 |
|
1927 | 5.2.18 / 2018-09-27
|
1928 | ===================
|
1929 | * docs(migrating_to_5): add note about overwriting filter properties #7030
|
1930 | * fix(query): correctly handle `select('+c')` if c is not in schema #7017
|
1931 | * fix(document): check path exists before checking for required #6974
|
1932 | * fix(document): retain user-defined key order on initial set with nested docs #6944
|
1933 | * fix(populate): handle multiple localFields + foreignFields using `localField: function() {}` syntax #5704
|
1934 |
|
1935 | 5.2.17 / 2018-09-21
|
1936 | ===================
|
1937 | * docs(guide): clarify that Mongoose only increments versionKey on `save()` and add a workaround for `findOneAndUpdate()` #7038
|
1938 | * fix(model): correctly handle `createIndex` option to `ensureIndexes()` #7036 #6922 [lineus](https://github.com/lineus)
|
1939 | * docs(migrating_to_5): add a note about changing debug output from stderr to stdout #7034 #7018 [lineus](https://github.com/lineus)
|
1940 | * fix(query): add `setUpdate()` to allow overwriting update without changing op #7024 #7012 [lineus](https://github.com/lineus)
|
1941 | * fix(update): find top-level version key even if there are `$` operators in the update #7003
|
1942 | * docs(model+query): explain which operators `count()` supports that `countDocuments()` doesn't #6911
|
1943 |
|
1944 | 5.2.16 / 2018-09-19
|
1945 | ===================
|
1946 | * fix(index): use dynamic require only when needed for better webpack support #7014 #7010 [jaydp17](https://github.com/jaydp17)
|
1947 | * fix(map): handle arrays of mixed maps #6995
|
1948 | * fix(populate): leave justOne as null if populating underneath a Mixed type #6985
|
1949 | * fix(populate): add justOne option to allow overriding any bugs with justOne #6985
|
1950 | * fix(query): add option to skip adding timestamps to an update #6980
|
1951 | * docs(model+schematype): improve docs about background indexes and init() #6966
|
1952 | * fix: bump mongodb -> 3.1.6 to allow connecting to srv url without credentials #6955 #6881 [lineus](https://github.com/lineus)
|
1953 | * fix(connection): allow specifying `useCreateIndex` at the connection level, overrides global-level #6922
|
1954 | * fix(schema): throw a helpful error if setting `ref` to an invalid value #6915
|
1955 |
|
1956 | 5.2.15 / 2018-09-15
|
1957 | ===================
|
1958 | * fix(populate): handle virtual justOne correctly if it isn't set #6988
|
1959 | * fix(populate): consistently use lowercase `model` instead of `Model` so double-populating works with existing docs #6978
|
1960 | * fix(model): allow calling `Model.init()` again after calling `dropDatabase()` #6967
|
1961 | * fix(populate): find correct justOne when double-populating underneath an array #6798
|
1962 | * docs(webpack): make webpack docs use es2015 preset for correct libs and use acorn to test output is valid ES5 #6740
|
1963 | * fix(populate): add selectPopulatedPaths option to opt out of auto-adding `populate()`-ed fields to `select()` #6546
|
1964 | * fix(model): set timestamps on bulkWrite `insertOne` and `replaceOne` #5708
|
1965 |
|
1966 | 5.2.14 / 2018-09-09
|
1967 | ===================
|
1968 | * docs: fix wording on promise docs to not imply queries only return promises #6983 #6982 [lineus](https://github.com/lineus)
|
1969 | * fix(map): throw TypeError if keys are not string #6956
|
1970 | * fix(document): ensure you can `validate()` a child doc #6931
|
1971 | * fix(populate): avoid cast error if refPath points to localFields with 2 different types #6870
|
1972 | * fix(populate): handle populating already-populated paths #6839
|
1973 | * fix(schematype): make ObjectIds handle refPaths when checking required #6714
|
1974 | * fix(model): set timestamps on bulkWrite() updates #5708
|
1975 |
|
1976 | 5.2.13 / 2018-09-04
|
1977 | ===================
|
1978 | * fix(map): throw TypeError if keys are not string #6968 [Fonger](https://github.com/Fonger)
|
1979 | * fix(update): make array op casting work with strict:false and {} #6962 #6952 [lineus](https://github.com/lineus)
|
1980 | * fix(document): add doc.deleteOne(), doc.updateOne(), doc.replaceOne() re: deprecation warnings #6959 #6940 [lineus](https://github.com/lineus)
|
1981 | * docs(faq+schematypes): add note about map keys needing to be strings #6957 #6956 [lineus](https://github.com/lineus)
|
1982 | * fix(schematype): remove unused if statement #6950 #6949 [cacothi](https://github.com/cacothi)
|
1983 | * docs: add /docs/deprecations.html for dealing with MongoDB driver deprecation warnings #6922
|
1984 | * fix(populate): handle refPath where first element in array has no refPath #6913
|
1985 | * fix(mongoose): allow setting useCreateIndex option after creating a model but before initial connection succeeds #6890
|
1986 | * fix(updateValidators): ensure $pull validators always get an array #6889
|
1987 |
|
1988 | 5.2.12 / 2018-08-30
|
1989 | ===================
|
1990 | * fix(document): disallow setting `constructor` and `prototype` if strict mode false
|
1991 |
|
1992 | 4.13.17 / 2018-08-30
|
1993 | ====================
|
1994 | * fix(document): disallow setting `constructor` and `prototype` if strict mode false
|
1995 |
|
1996 | 5.2.11 / 2018-08-30
|
1997 | ===================
|
1998 | * fix(document): disallow setting __proto__ if strict mode false
|
1999 | * fix(document): run document middleware on docs embedded in maps #6945 #6938 [Fonger](https://github.com/Fonger)
|
2000 | * fix(query): make castForQuery return a CastError #6943 #6927 [lineus](https://github.com/lineus)
|
2001 | * fix(query): use correct `this` scope when casting query with legacy 2dsphere pairs defined in schema #6939 #6937 [Fonger](https://github.com/Fonger)
|
2002 | * fix(document): avoid crash when calling `get()` on deeply nested subdocs #6929 #6925 [jakemccloskey](https://github.com/jakemccloskey)
|
2003 | * fix(plugins): make saveSubdocs execute child post save hooks _after_ the actual save #6926
|
2004 | * docs: add dbName to api docs for .connect() #6923 [p722](https://github.com/p722)
|
2005 | * fix(populate): convert to array when schema specifies array, even if doc doesn't have an array #6908
|
2006 | * fix(populate): handle `justOne` virtual populate underneath array #6867
|
2007 | * fix(model): dont set versionKey on upsert if it is already `$set` #5973
|
2008 |
|
2009 | 4.13.16 / 2018-08-30
|
2010 | ====================
|
2011 | * fix(document): disallow setting __proto__ if strict mode false
|
2012 | * feat(error): backport adding modified paths to VersionError #6928 [freewil](https://github.com/freewil)
|
2013 |
|
2014 | 5.2.10 / 2018-08-27
|
2015 | ===================
|
2016 | * fix: bump mongodb driver -> 3.1.4 #6920 #6903 #6884 #6799 #6741 [Fonger](https://github.com/Fonger)
|
2017 | * fix(model): track `session` option for `save()` as the document's `$session()` #6909
|
2018 | * fix(query): add Query.getOptions() helper #6907 [Fonger](https://github.com/Fonger)
|
2019 | * fix(document): ensure array atomics get cleared after save() #6900
|
2020 | * fix(aggregate): add missing redact and readConcern helpers #6895 [Fonger](https://github.com/Fonger)
|
2021 | * fix: add global option `mongoose.set('useCreateIndex', true)` to avoid ensureIndex deprecation warning #6890
|
2022 | * fix(query): use `projection` option to avoid deprecation warnings #6888 #6880 [Fonger](https://github.com/Fonger)
|
2023 | * fix(query): use `findOneAndReplace()` internally if using `overwrite: true` with `findOneAndUpdate()` #6888 [Fonger](https://github.com/Fonger)
|
2024 | * fix(document): ensure required cache gets cleared correctly between subsequent saves #6892
|
2025 | * fix(aggregate): support session chaining correctly #6886 #6885 [Fonger](https://github.com/Fonger)
|
2026 | * fix(query): use `projection` instead of `fields` internally for `find()` and `findOne()` to avoid deprecation warning #6880
|
2027 | * fix(populate): add `getters` option to opt in to calling getters on populate #6844
|
2028 |
|
2029 | 5.2.9 / 2018-08-17
|
2030 | ==================
|
2031 | * fix(document): correctly propagate write concern options in save() #6877 [Fonger](https://github.com/Fonger)
|
2032 | * fix: upgrade mongodb driver -> 3.1.3 for numerous fixes #6869 #6843 #6692 #6670 [simllll](https://github.com/simllll)
|
2033 | * fix: correct `this` scope of default functions for DocumentArray and Array #6868 #6840 [Fonger](https://github.com/Fonger)
|
2034 | * fix(types): support casting JSON form of buffers #6866 #6863 [Fonger](https://github.com/Fonger)
|
2035 | * fix(query): get global runValidators option correctly #6865 #6578
|
2036 | * fix(query): add Query.prototype.setQuery() analogous to `getQuery()` #6855 #6854
|
2037 | * docs(connections): add note about the `family` option for IPv4 vs IPv6 and add port to example URIs #6784
|
2038 | * fix(query): get global runValidators option correctly #6578
|
2039 |
|
2040 | 4.13.15 / 2018-08-14
|
2041 | ====================
|
2042 | * fix(mongoose): add global `usePushEach` option for easier Mongoose 4.x + MongoDB 3.6 #6858
|
2043 | * chore: fix flakey tests for 4.x #6853 [Fonger](https://github.com/Fonger)
|
2044 | * feat(error): add version number to VersionError #6852 [freewil](https://github.com/freewil)
|
2045 |
|
2046 | 5.2.8 / 2018-08-13
|
2047 | ==================
|
2048 | * docs: update `execPopulate()` code example #6851 [WJakub](https://github.com/WJakub)
|
2049 | * fix(document): allow passing callback to `execPopulate()` #6851
|
2050 | * fix(populate): populate with undefined fields without error #6848 #6845 [Fonger](https://github.com/Fonger)
|
2051 | * docs(migrating_to_5): Add `objectIdGetter` option docs #6842 [jwalton](https://github.com/jwalton)
|
2052 | * chore: run lint in parallel and only on Node.js v10 #6836 [Fonger](https://github.com/Fonger)
|
2053 | * fix(populate): throw helpful error if refPath excluded in query #6834
|
2054 | * docs(migrating_to_5): add note about removing runSettersOnQuery #6832
|
2055 | * fix: use safe-buffer to avoid buffer deprecation errors in Node.js 10 #6829 [Fonger](https://github.com/Fonger)
|
2056 | * docs(query): fix broken links #6828 [yaynick](https://github.com/yaynick)
|
2057 | * docs(defaults): clarify that defaults only run on undefined #6827
|
2058 | * chore: fix flakey tests #6824 [Fonger](https://github.com/Fonger)
|
2059 | * docs: fix custom inspect function deprecation warning in Node.js 10 #6821 [yelworc](https://github.com/yelworc)
|
2060 | * fix(document): ensure subdocs get set to init state after save() so validators can run again #6818
|
2061 | * fix(query): make sure embedded query casting always throws a CastError #6803
|
2062 | * fix(document): ensure `required` function only gets called once when validating #6801
|
2063 | * docs(connections): note that you must specify port if using `useNewUrlParser: true` #6789
|
2064 | * fix(populate): support `options.match` in virtual populate schema definition #6787
|
2065 | * fix(update): strip out virtuals from updates if strict: 'throw' rather than returning an error #6731
|
2066 |
|
2067 | 5.2.7 / 2018-08-06
|
2068 | ==================
|
2069 | * fix(model): check `expireAfterSeconds` option when diffing indexes in syncIndexes() #6820 #6819 [christopherhex](https://github.com/christopherhex)
|
2070 | * chore: fix some common test flakes in travis #6816 [Fonger](https://github.com/Fonger)
|
2071 | * chore: bump eslint and webpack to avoid bad versions of eslint-scope #6814
|
2072 | * test(model): add delay to session tests to improve pass rate #6811 [Fonger](https://github.com/Fonger)
|
2073 | * fix(model): support options in `deleteMany` #6810 [Fonger](https://github.com/Fonger)
|
2074 | * fix(query): don't use $each when pushing an array into an array #6809 [lineus](https://github.com/lineus)
|
2075 | * chore: bump mquery so eslint isn't a prod dependency #6800
|
2076 | * fix(populate): correctly get schema type when calling `populate()` on already populated path #6798
|
2077 | * fix(populate): propagate readConcern options in populate from parent query #6792 #6785 [Fonger](https://github.com/Fonger)
|
2078 | * docs(connection): add description of useNewUrlParser option #6789
|
2079 | * fix(query): make select('+path') a no-op if no select prop in schema #6785
|
2080 | * docs(schematype+validation): document using function syntax for custom validator message #6772
|
2081 | * fix(update): throw CastError if updating with `$inc: null` #6770
|
2082 | * fix(connection): throw helpful error when calling `createConnection(undefined)` #6763
|
2083 |
|
2084 | 5.2.6 / 2018-07-30
|
2085 | ==================
|
2086 | * fix(document): don't double-call deeply nested custom getters when using `get()` #6779 #6637
|
2087 | * fix(query): upgrade mquery for readConcern() helper #6777
|
2088 | * docs(schematypes): clean up typos #6773 [sajadtorkamani](https://github.com/sajadtorkamani)
|
2089 | * refactor(browser): fix webpack warnings #6771 #6705
|
2090 | * fix(populate): make error reported when no `localField` specified catchable #6767
|
2091 | * docs(connection): use correct form in createConnection example #6766 [lineus](https://github.com/lineus)
|
2092 | * fix(connection): throw helpful error when using legacy `mongoose.connect()` syntax #6756
|
2093 | * fix(document): handle overwriting `$session` in `execPopulate()` #6754
|
2094 | * fix(query): propagate top-level session down to `populate()` #6754
|
2095 | * fix(aggregate): add `session()` helper for consistency with query api #6752
|
2096 | * fix(map): avoid infinite recursion when update overwrites a map #6750
|
2097 | * fix(model): be consistent about passing noop callback to mongoose.model() `init()` as well as db.model() #6707
|
2098 |
|
2099 | 5.2.5 / 2018-07-23
|
2100 | ==================
|
2101 | * fix(boolean): expose `convertToTrue` and `convertToFalse` for custom boolean casting #6758
|
2102 | * docs(schematypes): add note about what values are converted to booleans #6758
|
2103 | * fix(document): fix(document): report castError when setting single nested doc to array #6753
|
2104 | * docs: prefix mongoose.Schema call with new operator #6751 [sajadtorkamani](https://github.com/sajadtorkamani)
|
2105 | * docs(query): add examples and links to schema writeConcern option for writeConcern helpers #6748
|
2106 | * docs(middleware): clarify that init middleware is sync #6747
|
2107 | * perf(model): create error rather than modifying stack for source map perf #6735
|
2108 | * fix(model): throw helpful error when passing object to aggregate() #6732
|
2109 | * fix(model): pass Model instance as context to applyGetters when calling getters for virtual populate #6726 [lineus](https://github.com/lineus)
|
2110 | * fix(documentarray): remove `isNew` and `save` listeners on CastError because otherwise they never get removed #6723
|
2111 | * docs(model+query): clarify when to use `countDocuments()` vs `estimatedDocumentCount()` #6713
|
2112 | * fix(populate): correctly set virtual nestedSchemaPath when calling populate() multiple times #6644
|
2113 | * docs(connections): add note about the `family` option for IPv4 vs IPv6 and add port to example URIs #6566
|
2114 |
|
2115 | 5.2.4 / 2018-07-16
|
2116 | ==================
|
2117 | * docs: Model.insertMany rawResult option in api docs #6724 [lineus](https://github.com/lineus)
|
2118 | * docs: fix typo on migrating to 5 guide #6722 [iagowp](https://github.com/iagowp)
|
2119 | * docs: update doc about keepalive #6719 #6718 [simllll](https://github.com/simllll)
|
2120 | * fix: ensure debug mode doesn't crash with sessions #6712
|
2121 | * fix(document): report castError when setting single nested doc to primitive value #6710
|
2122 | * fix(connection): throw helpful error if using `new db.model(foo)(bar)` #6698
|
2123 | * fix(model): throw readable error with better stack trace when non-cb passed to $wrapCallback() #6640
|
2124 |
|
2125 | 5.2.3 / 2018-07-11
|
2126 | ==================
|
2127 | * fix(populate): if a getter is defined on the localField, use it when populating #6702 #6618 [lineus](https://github.com/lineus)
|
2128 | * docs(schema): add example of nested aliases #6671
|
2129 | * fix(query): add `session()` function to queries to avoid positional argument mistakes #6663
|
2130 | * docs(transactions): use new session() helper to make positional args less confusing #6663
|
2131 | * fix(query+model+schema): add support for `writeConcern` option and writeConcern helpers #6620
|
2132 | * docs(guide): add `writeConcern` option and re-add description for `safe` option #6620
|
2133 | * docs(schema): fix broken API links #6619
|
2134 | * docs(connections): add information re: socketTimeoutMS and connectTimeoutMS #4789
|
2135 |
|
2136 | 5.2.2 / 2018-07-08
|
2137 | ==================
|
2138 | * fix(model+query): add missing estimatedDocumentCount() function #6697
|
2139 | * docs(faq): improve array-defaults section #6695 [lineus](https://github.com/lineus)
|
2140 | * docs(model): fix countDocuments() docs, bad copy/paste from count() docs #6694 #6643
|
2141 | * fix(connection): add `startSession()` helper to connection and mongoose global #6689
|
2142 | * fix: upgrade mongodb driver -> 3.1.1 for countDocuments() fix #6688 #6666
|
2143 | * docs(compatibility): add MongoDB 4 range #6685
|
2144 | * fix(populate): add ability to define refPath as a function #6683 [lineus](https://github.com/lineus)
|
2145 | * docs: add rudimentary transactions guide #6672
|
2146 | * fix(update): make setDefaultsOnInsert handle nested subdoc updates with deeply nested defaults #6665
|
2147 | * docs: use latest acquit-ignore to handle examples that start with acquit:ignore:start #6657
|
2148 | * fix(validation): format `properties.message` as well as `message` #6621
|
2149 |
|
2150 | 5.2.1 / 2018-07-03
|
2151 | ==================
|
2152 | * fix(connection): allow setting the mongodb driver's useNewUrlParser option, default to false #6656 #6648 #6647
|
2153 | * fix(model): only warn on custom _id index if index only has _id key #6650
|
2154 |
|
2155 | 5.2.0 / 2018-07-02
|
2156 | ==================
|
2157 | * feat(model): add `countDocuments()` #6643
|
2158 | * feat(model): make ensureIndexes() fail if specifying an index on _id #6605
|
2159 | * feat(mongoose): add `objectIdGetter` option to remove ObjectId.prototype._id #6588
|
2160 | * feat: upgrade mongodb -> 3.1.0 for full MongoDB 4.0 support #6579
|
2161 | * feat(query): support `runValidators` as a global option #6578
|
2162 | * perf(schema): use WeakMap instead of array for schema stack #6503
|
2163 | * feat(model): decorate unique discriminator indexes with partialFilterExpressions #6347
|
2164 | * feat(model): add `syncIndexes()`, drops indexes that aren't in schema #6281
|
2165 | * feat(document): add default getter/setter if virtual doesn't have one #6262
|
2166 | * feat(discriminator): support discriminators on nested doc arrays #6202
|
2167 | * feat(update): add `Query.prototype.set()` #5770
|
2168 |
|
2169 | 5.1.8 / 2018-07-02
|
2170 | ==================
|
2171 | * fix: don't throw TypeError if calling save() after original save() failed with push() #6638 [evanhenke](https://github.com/evanhenke)
|
2172 | * fix(query): add explain() helper and don't hydrate explain output #6625
|
2173 | * docs(query): fix `setOptions()` lists #6624
|
2174 | * docs: add geojson docs #6607
|
2175 | * fix: bump mongodb -> 3.0.11 to avoid cyclic dependency error with retryWrites #6109
|
2176 |
|
2177 | 5.1.7 / 2018-06-26
|
2178 | ==================
|
2179 | * docs: add npm badge to readme #6623 [VFedyk](https://github.com/VFedyk)
|
2180 | * fix(document): don't throw parallel save error if post save hooks in parallel #6614 #6611 [lineus](https://github.com/lineus)
|
2181 | * fix(populate): allow dynamic ref to handle >1 model getModelsMapForPopulate #6613 #6612 [jimmytsao](https://github.com/jimmytsao)
|
2182 | * fix(document): handle `push()` on triple nested document array #6602
|
2183 | * docs(validation): improve update validator doc headers #6577 [joeytwiddle](https://github.com/joeytwiddle)
|
2184 | * fix(document): handle document arrays in `modifiedPaths()` with includeChildren option #5904
|
2185 |
|
2186 | 5.1.6 / 2018-06-19
|
2187 | ==================
|
2188 | * fix: upgrade mongodb -> 3.0.10
|
2189 | * docs(model+document): clarify that `save()` returns `undefined` if passed a callback #6604 [lineus](https://github.com/lineus)
|
2190 | * fix(schema): apply alias when adding fields with .add() #6593
|
2191 | * docs: add full list of guides and streamline nav #6592
|
2192 | * docs(model): add `projection` option to `findOneAndUpdate()` #6590 [lineus](https://github.com/lineus)
|
2193 | * docs: support @static JSDoc declaration #6584
|
2194 | * fix(query): use boolean casting logic for $exists #6581
|
2195 | * fix(query): cast all $text options to correct values #6581
|
2196 | * fix(model): add support synchronous pre hooks for `createModel` #6552 [profbiss](https://github.com/profbiss)
|
2197 | * docs: add note about the `applyPluginsToDiscriminators` option #4965
|
2198 |
|
2199 | 5.1.5 / 2018-06-11
|
2200 | ==================
|
2201 | * docs(guide): rework query helper example #6575 [lineus](https://github.com/lineus)
|
2202 | * fix(populate): handle virtual populate with embedded discriminator under single nested subdoc #6571
|
2203 | * docs: add string option to projections that call query select #6563 [lineus](https://github.com/lineus)
|
2204 | * style: use ES6 in collection.js #6560 [l33ds](https://github.com/l33ds)
|
2205 | * fix(populate): add virtual ref function ability getModelsMapForPopulate #6559 #6554 [lineus](https://github.com/lineus)
|
2206 | * docs(queries): fix link #6557 [sun1x](https://github.com/sun1x)
|
2207 | * fix(schema): rename indexes -> getIndexes to avoid webpack duplicate declaration #6547
|
2208 | * fix(document): support `toString()` as custom method #6538
|
2209 | * docs: add @instance for instance methods to be more compliant with JSDoc #6516 [treble-snake](https://github.com/treble-snake)
|
2210 | * fix(populate): avoid converting to map when using mongoose-deep-populate #6460
|
2211 | * docs(browser): create new browser docs page #6061
|
2212 |
|
2213 | 5.1.4 / 2018-06-04
|
2214 | ==================
|
2215 | * docs(faq): add hr tags for parallel save error #6550 [lineus](https://github.com/lineus)
|
2216 | * docs(connection): fix broken link #6545 [iblamefish](https://github.com/iblamefish)
|
2217 | * fix(populate): honor subpopulate options #6539 #6528 [lineus](https://github.com/lineus)
|
2218 | * fix(populate): allow population of refpath under array #6537 #6509 [lineus](https://github.com/lineus)
|
2219 | * fix(query): dont treat $set the same as the other ops in update casting #6535 [lineus](https://github.com/lineus)
|
2220 | * fix: bump async -> 2.6.1 #6534 #6505 [lineus](https://github.com/lineus)
|
2221 | * fix: support using a function as validation error message #6530 [lucandrade](https://github.com/lucandrade)
|
2222 | * fix(populate): propagate `lean()` down to subpopulate #6498 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
2223 | * docs(lambda): add info on what happens if database does down between lambda function calls #6409
|
2224 | * fix(update): allow updating embedded discriminator path if discriminator key is in filter #5841
|
2225 |
|
2226 | 5.1.3 / 2018-05-28
|
2227 | ==================
|
2228 | * fix(document): support set() on path underneath array embedded discriminator #6526
|
2229 | * chore: update lodash and nsp dev dependencies #6514 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2230 | * fix(document): throw readable error when saving the same doc instance more than once in parallel #6511 #6456 #4064 [lineus](https://github.com/lineus)
|
2231 | * fix(populate): set correct nestedSchemaPath for virtual underneath embedded discriminator #6501 #6487 [lineus](https://github.com/lineus)
|
2232 | * docs(query): add section on promises and warning about not mixing promises and callbacks #6495
|
2233 | * docs(connection): add concrete example of connecting to multiple hosts #6492 [lineus](https://github.com/lineus)
|
2234 | * fix(populate): handle virtual populate under single nested doc under embedded discriminator #6488
|
2235 | * fix(schema): collect indexes from embedded discriminators for autoIndex build #6485
|
2236 | * fix(document): handle `doc.set()` underneath embedded discriminator #6482
|
2237 | * fix(document): handle set() on path under embedded discriminator with object syntax #6482
|
2238 | * fix(document): handle setting nested property to object with only non-schema properties #6436
|
2239 |
|
2240 | 4.13.14 / 2018-05-25
|
2241 | ====================
|
2242 | * fix(model): handle retainKeyOrder option in findOneAndUpdate() #6484
|
2243 |
|
2244 | 5.1.2 / 2018-05-21
|
2245 | ==================
|
2246 | * docs(guide): add missing SchemaTypes #6490 [distancesprinter](https://github.com/distancesprinter)
|
2247 | * fix(map): make MongooseMap.toJSON return a serialized object #6486 #6478 [lineus](https://github.com/lineus)
|
2248 | * fix(query): make CustomQuery inherit from model.Query for hooks #6483 #6455 [lineus](https://github.com/lineus)
|
2249 | * fix(document): prevent default falses from being skipped by $__dirty #6481 #6477 [lineus](https://github.com/lineus)
|
2250 | * docs(connection): document `useDb()` #6480
|
2251 | * fix(model): skip redundant clone in insertMany #6479 [d1manson](https://github.com/d1manson)
|
2252 | * fix(aggregate): let replaceRoot accept objects as well as strings #6475 #6474 [lineus](https://github.com/lineus)
|
2253 | * docs(model): clarify `emit()` in mapReduce and how map/reduce are run #6465
|
2254 | * fix(populate): flatten array to handle multi-level nested `refPath` #6457
|
2255 | * fix(date): cast small numeric strings as years #6444 [AbdelrahmanHafez](https://github.com/AbdelrahmanHafez)
|
2256 | * fix(populate): remove unmatched ids when using virtual populate on already hydrated document #6435
|
2257 | * fix(array): use custom array class to avoid clobbered property names #6431
|
2258 | * fix(model): handle hooks for custom methods that return promises #6385
|
2259 |
|
2260 | 4.13.13 / 2018-05-17
|
2261 | ====================
|
2262 | * fix(update): stop clobbering $in when casting update #6441 #6339
|
2263 | * fix: upgrade async -> 2.6.0 re: security warning
|
2264 |
|
2265 | 5.1.1 / 2018-05-14
|
2266 | ==================
|
2267 | * docs(schema): add notes in api and guide about schema.methods object #6470 #6440 [lineus](https://github.com/lineus)
|
2268 | * fix(error): add modified paths to VersionError #6464 #6433 [paglias](https://github.com/paglias)
|
2269 | * fix(populate): only call populate with full param signature when match is not present #6458 #6451 [lineus](https://github.com/lineus)
|
2270 | * docs: fix geoNear link in migration guide #6450 [kawache](https://github.com/kawache)
|
2271 | * fix(discriminator): throw readable error when `create()` with a non-existent discriminator key #6434
|
2272 | * fix(populate): add `retainNullValues` option to avoid stripping out null keys #6432
|
2273 | * fix(populate): handle populate in embedded discriminators underneath nested paths #6411
|
2274 | * docs(model): add change streams and ToC, make terminology more consistent #5888
|
2275 |
|
2276 | 5.1.0 / 2018-05-10
|
2277 | ==================
|
2278 | * feat(ObjectId): add `_id` getter so you can get a usable id whether or not the path is populated #6415 #6115
|
2279 | * feat(model): add Model.startSession() #6362
|
2280 | * feat(document): add doc.$session() and set session on doc after query #6362
|
2281 | * feat: add Map type that supports arbitrary keys #6287 #681
|
2282 | * feat: add `cloneSchemas` option to mongoose global to opt in to always cloning schemas before use #6274
|
2283 | * feat(model): add `findOneAndDelete()` and `findByIdAndDelete()` #6164
|
2284 | * feat(document): support `$ignore()` on single nested and array subdocs #6152
|
2285 | * feat(document): add warning about calling `save()` on subdocs #6152
|
2286 | * fix(model): make `save()` use `updateOne()` instead of `update()` #6031
|
2287 | * feat(error): add version number to VersionError #5966
|
2288 | * fix(query): allow `[]` as a value for `$in` when casting #5913
|
2289 | * fix(document): avoid running validators on single nested paths if only a child path is modified #5885
|
2290 | * feat(schema): print warning if method conflicts with mongoose internals #5860
|
2291 |
|
2292 | 5.0.18 / 2018-05-09
|
2293 | ===================
|
2294 | * fix(update): stop clobbering $in when casting update #6441 #6339 [lineus](https://github.com/lineus)
|
2295 | * fix: upgrade mongodb driver -> 3.0.8 to fix session issue #6437 #6357 [simllll](https://github.com/simllll)
|
2296 | * fix: upgrade bson -> 1.0.5 re: https://snyk.io/vuln/npm:bson:20180225 #6423 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2297 | * fix: look for `valueOf()` when casting to Decimal128 #6419 #6418 [lineus](https://github.com/lineus)
|
2298 | * fix: populate array of objects with space separated paths #6414 [lineus](https://github.com/lineus)
|
2299 | * test: add coverage for `mongoose.pluralize()` #6412 [FastDeath](https://github.com/FastDeath)
|
2300 | * fix(document): avoid running default functions on init() if path has value #6410
|
2301 | * fix(document): allow saving document with `null` id #6406
|
2302 | * fix: prevent casting of populated docs in document.init #6390 [lineus](https://github.com/lineus)
|
2303 | * fix: remove `toHexString()` helper that was added in 5.0.15 #6359
|
2304 |
|
2305 | 5.0.17 / 2018-04-30
|
2306 | ===================
|
2307 | * docs(migration): certain chars in passwords may cause connection failures #6401 [markstos](https://github.com/markstos)
|
2308 | * fix(document): don't throw when `push()` on a nested doc array #6398
|
2309 | * fix(model): apply hooks to custom methods if specified #6385
|
2310 | * fix(schema): support opting out of one timestamp field but not the other for `insertMany()` #6381
|
2311 | * fix(documentarray): handle `required: true` within documentarray definition #6364
|
2312 | * fix(document): ensure `isNew` is set before default functions run on init #3793
|
2313 |
|
2314 | 5.0.16 / 2018-04-23
|
2315 | ===================
|
2316 | * docs(api): sort api methods based on their string property #6374 [lineus](https://github.com/lineus)
|
2317 | * docs(connection): fix typo in `createCollection()` #6370 [mattc41190](https://github.com/mattc41190)
|
2318 | * docs(document): remove vestigial reference to `numAffected` #6367 [ekulabuhov](https://github.com/ekulabuhov)
|
2319 | * docs(schema): fix typo #6366 [dhritzkiv](https://github.com/dhritzkiv)
|
2320 | * docs(schematypes): add missing `minlength` and `maxlength` docs #6365 [treble-snake](https://github.com/treble-snake)
|
2321 | * docs(queries): fix formatting #6360 [treble-snake](https://github.com/treble-snake)
|
2322 | * docs(api): add cursors to API docs #6353 #6344 [lineus](https://github.com/lineus)
|
2323 | * docs(aggregate): remove reference to non-existent `.select()` method #6346
|
2324 | * fix(update): handle `required` array with update validators and $pull #6341
|
2325 | * fix(update): avoid setting __v in findOneAndUpdate if it is `$set` #5973
|
2326 |
|
2327 | 5.0.15 / 2018-04-16
|
2328 | ===================
|
2329 | * fix: add ability for casting from number to decimal128 #6336 #6331 [lineus](https://github.com/lineus)
|
2330 | * docs(middleware): enumerate the ways to error out in a hook #6315
|
2331 | * fix(document): respect schema-level depopulate option for toObject() #6313
|
2332 | * fix: bump mongodb driver -> 3.0.6 #6310
|
2333 | * fix(number): check for `valueOf()` function to support Decimal.js #6306 #6299 [lineus](https://github.com/lineus)
|
2334 | * fix(query): run array setters on query if input value is an array #6277
|
2335 | * fix(versioning): don't require matching version when using array.pull() #6190
|
2336 | * fix(document): add `toHexString()` function so you don't need to check whether a path is populated to get an id #6115
|
2337 |
|
2338 | 5.0.14 / 2018-04-09
|
2339 | ===================
|
2340 | * fix(schema): clone aliases and alternative option syntax correctly
|
2341 | * fix(query): call utils.toObject in query.count like in query.find #6325 [lineus](https://github.com/lineus)
|
2342 | * docs(populate): add middleware examples #6320 [BorntraegerMarc](https://github.com/BorntraegerMarc)
|
2343 | * docs(compatibility): fix dead link #6319 [lacivert](https://github.com/lacivert)
|
2344 | * docs(api): fix markdown parsing for parameters #6318 #6314 [lineus](https://github.com/lineus)
|
2345 | * fix(populate): handle space-delimited paths in array populate #6296 #6284 [lineus](https://github.com/lineus)
|
2346 | * fix(populate): support basic virtual populate underneath embedded discriminators #6273
|
2347 |
|
2348 | 5.0.13 / 2018-04-05
|
2349 | ===================
|
2350 | * docs(faq): add middleware to faq arrow function warning #6309 [lineus](https://github.com/lineus)
|
2351 | * docs(schema): add example to loadClass() docs #6308
|
2352 | * docs: clean up misc typos #6304 [sfrieson](https://github.com/sfrieson)
|
2353 | * fix(document): apply virtuals when calling `toJSON()` on a nested path #6294
|
2354 | * refactor(connection): use `client.db()` syntax rather than double-parsing the URI #6292 #6286
|
2355 | * docs: document new behavior of required validator for arrays #6288 [daltones](https://github.com/daltones)
|
2356 | * fix(schema): treat set() options as user-provided options #6274
|
2357 | * fix(schema): clone discriminators correctly #6274
|
2358 | * fix(update): make setDefaultsOnInsert not create subdoc if only default is id #6269
|
2359 | * docs(discriminator): clarify 3rd argument to Model.discriminator() #2596
|
2360 |
|
2361 | 5.0.12 / 2018-03-27
|
2362 | ===================
|
2363 | * docs(query): updating model name in query API docs #6280 [lineus](https://github.com/lineus)
|
2364 | * docs: fix typo in tests #6275 [styler](https://github.com/styler)
|
2365 | * fix: add missing `.hint()` to aggregate #6272 #6251 [lineus](https://github.com/lineus)
|
2366 | * docs(api): add headers to each API docs section for easer nav #6261
|
2367 | * fix(query): ensure hooked query functions always run on next tick for chaining #6250
|
2368 | * fix(populate): ensure populated array not set to null if it isn't set #6245
|
2369 | * fix(connection): set readyState to disconnected if initial connection fails #6244 #6131
|
2370 | * docs(model): make `create()` params show up correctly in docs #6242
|
2371 | * fix(model): make error handlers work with MongoDB server errors and `insertMany()` #6228
|
2372 | * fix(browser): ensure browser document builds defaults for embedded arrays correctly #6175
|
2373 | * fix(timestamps): set timestamps when using `updateOne()` and `updateMany()` #6282 [gualopezb](https://github.com/gualopezb)
|
2374 |
|
2375 | 5.0.11 / 2018-03-19
|
2376 | ===================
|
2377 | * fix(update): handle $pull with $in in update validators #6240
|
2378 | * fix(query): don't convert undefined to null when casting so driver `ignoreUndefined` option works #6236
|
2379 | * docs(middleware): add example of using async/await with middleware #6235
|
2380 | * fix(populate): apply justOne option before `completeMany()` so it works with lean() #6234
|
2381 | * fix(query): ensure errors in user callbacks aren't caught in init #6195 #6178
|
2382 | * docs(connections): document dbName option for Atlas connections #6179
|
2383 | * fix(discriminator): make child schema nested paths overwrite parent schema paths #6076
|
2384 |
|
2385 | 4.13.12 / 2018-03-13
|
2386 | ====================
|
2387 | * fix(document): make virtual get() return undefined instead of null if no getters #6223
|
2388 | * docs: fix url in useMongoClient error message #6219 #6217 [lineus](https://github.com/lineus)
|
2389 | * fix(discriminator): don't copy `discriminators` property from base schema #6122 #6064
|
2390 |
|
2391 | 5.0.10 / 2018-03-12
|
2392 | ===================
|
2393 | * docs(schematype): add notes re: running setters on queries #6209
|
2394 | * docs: fix typo #6208 [kamagatos](https://github.com/kamagatos)
|
2395 | * fix(query): only call setters once on query filter props for findOneAndUpdate and findOneAndRemove #6203
|
2396 | * docs: elaborate on connection string changes in migration guide #6193
|
2397 | * fix(document): skip applyDefaults if subdoc is null #6187
|
2398 | * docs: fix schematypes docs and link to them #6176
|
2399 | * docs(faq): add FAQs re: array defaults and casting aggregation pipelines #6184 #6176 #6170 [lineus](https://github.com/lineus)
|
2400 | * fix(document): ensure primitive defaults are set and built-in default functions run before setters #6155
|
2401 | * fix(query): handle single embedded embedded discriminators in castForQuery #6027
|
2402 |
|
2403 | 5.0.9 / 2018-03-05
|
2404 | ==================
|
2405 | * perf: bump mongodb -> 3.0.4 to fix SSL perf issue #6065
|
2406 |
|
2407 | 5.0.8 / 2018-03-03
|
2408 | ==================
|
2409 | * docs: remove obsolete references to `emitIndexErrors` #6186 [isaackwan](https://github.com/isaackwan)
|
2410 | * fix(query): don't cast findOne() until exec() so setters don't run twice #6157
|
2411 | * fix: remove document_provider.web.js file #6186
|
2412 | * fix(discriminator): support custom discriminator model names #6100 [wentout](https://github.com/wentout)
|
2413 | * fix: support caching calls to `useDb()` #6036 [rocketspacer](https://github.com/rocketspacer)
|
2414 | * fix(query): add omitUndefined option so setDefaultsOnInsert can kick in on undefined #6034
|
2415 | * fix: upgrade mongodb -> 3.0.3 for reconnectTries: 0 blocking process exit fix #6028
|
2416 |
|
2417 | 5.0.7 / 2018-02-23
|
2418 | ==================
|
2419 | * fix: support eachAsync options with aggregation cursor #6169 #6168 [vichle](https://github.com/vichle)
|
2420 | * docs: fix link to MongoDB compound indexes docs #6162 [br0p0p](https://github.com/br0p0p)
|
2421 | * docs(aggregate): use eachAsync instead of incorrect `each()` #6160 [simllll](https://github.com/simllll)
|
2422 | * chore: fix benchmarks #6158 [pradel](https://github.com/pradel)
|
2423 | * docs: remove dead link to old blog post #6154 [markstos](https://github.com/markstos)
|
2424 | * fix: don't convert dates to numbers when updating mixed path #6146 #6145 [s4rbagamble](https://github.com/s4rbagamble)
|
2425 | * feat(aggregate): add replaceRoot, count, sortByCount helpers #6142 [jakesjews](https://github.com/jakesjews)
|
2426 | * fix(document): add includedChildren flag to modifiedPaths() #6134
|
2427 | * perf: don't create wrapper function if no hooks specified #6126
|
2428 | * fix(schema): allow indexes on single nested subdocs for geoJSON #6113
|
2429 | * fix(document): allow depopulating all fields #6073
|
2430 | * feat(mongoose): add support for `useFindAndModify` option on singleton #5616
|
2431 |
|
2432 | 5.0.6 / 2018-02-15
|
2433 | ==================
|
2434 | * refactor(query.castUpdate): avoid creating error until necessary #6137
|
2435 | * docs(api): fix missing api docs #6136 [lineus](https://github.com/lineus)
|
2436 | * fix(schema): copy virtuals when using `clone()` #6133
|
2437 | * fix(update): avoid digging into buffers with upsert and replaceOne #6124
|
2438 | * fix(schema): support `enum` on arrays of strings #6102
|
2439 | * fix(update): cast `$addToSet: [1, 2]` -> `$addToSet: { $each: [1, 2] }` #6086
|
2440 |
|
2441 | 5.0.5 / 2018-02-13
|
2442 | ==================
|
2443 | * docs: make > show up correctly in API docs #6114
|
2444 | * fix(query): support `where()` overwriting primitive with object #6097
|
2445 | * fix(schematype): don't run internal `resetId` setter on queries with _id #6093
|
2446 | * fix(discriminator): don't copy `discriminators` property from base schema #6064
|
2447 | * fix(utils): respect `valueOf()` when merging object for update #6059
|
2448 | * docs(validation): fix typo 'maxLength' #4720
|
2449 | * fix(document): apply defaults after setting initial value so default functions don't see empty doc #3781
|
2450 |
|
2451 | 5.0.4 / 2018-02-08
|
2452 | ==================
|
2453 | * docs: add lambda guide #6107
|
2454 | * fix(connection): add `dbName` option to work around `mongodb+srv` not supporting db name in URI #6106
|
2455 | * fix(schematype): fix regexp typo in ObjectId #6098 [JoshuaWise](https://github.com/JoshuaWise)
|
2456 | * perf(document): re-use the modifiedPaths list #6092 [tarun1793](https://github.com/tarun1793)
|
2457 | * fix: use console.info() instead of console.error() for debug output #6088 [yuristsepaniuk](https://github.com/yuristsepaniuk)
|
2458 | * docs(validation): clean up runValidators and isAsync options docs for 5.x #6083
|
2459 | * docs(model): use array instead of spread consistently for aggregate() #6070
|
2460 | * fix(schema): make aliases handle mongoose-lean-virtuals #6069
|
2461 | * docs(layout): add link to subdocs guide #6056
|
2462 | * fix(query): make strictQuery: true strip out fields that aren't in the schema #6032
|
2463 | * docs(guide): add notes for `strictQuery` option #6032
|
2464 |
|
2465 | 4.13.11 / 2018-02-07
|
2466 | ====================
|
2467 | * docs: fix links in 4.x docs #6081
|
2468 | * chore: add release script that uses --tag for npm publish for 4.x releases #6063
|
2469 |
|
2470 | 5.0.3 / 2018-01-31
|
2471 | ==================
|
2472 | * fix: consistently use process.nextTick() to avoid sinon.useFakeTimers() causing ops to hang #6074
|
2473 | * docs(aggregate): fix typo #6072 [adursun](https://github.com/adursun)
|
2474 | * chore: add return type to `mongoose.model()` docs [bryant1410](https://github.com/bryant1410)
|
2475 | * fix(document): depopulate push()-ed docs when saving #6048
|
2476 | * fix: upgrade mongodb -> 3.0.2 #6019
|
2477 |
|
2478 | 5.0.2 / 2018-01-28
|
2479 | ==================
|
2480 | * fix(schema): do not overwrite default values in schema when nested timestamps are provided #6024 [cdeveas](https://github.com/cdeveas)
|
2481 | * docs: fix syntax highlighting in models.jade, schematypes.jade, subdocs.jade #6058 [lineus](https://github.com/lineus)
|
2482 | * fix: use lazy loading so we can build mongoose with webpack #5993 #5842
|
2483 | * docs(connections): clarify multi-mongos with useMongoClient for 4.x docs #5984
|
2484 | * fix(populate): handle populating embedded discriminator paths #5970
|
2485 |
|
2486 | 4.13.10 / 2018-01-28
|
2487 | ====================
|
2488 | * docs(model+query): add lean() option to Model helpers #5996 [aguyinmontreal](https://github.com/aguyinmontreal)
|
2489 | * fix: use lazy loading so we can build mongoose with webpack #5993 #5842
|
2490 | * docs(connections): clarify multi-mongos with useMongoClient for 4.x docs #5984
|
2491 | * fix(populate): handle populating embedded discriminator paths #5970
|
2492 | * docs(query+aggregate): add more detail re: maxTimeMS #4066
|
2493 |
|
2494 | 5.0.1 / 2018-01-19
|
2495 | ==================
|
2496 | * fix(document): make validate() not resolve to document #6014
|
2497 | * fix(model): make save() not return DocumentNotFoundError if using fire-and-forget writes #6012
|
2498 | * fix(aggregate): make options() work as advertised #6011 [spederiva](https://github.com/spederiva)
|
2499 | * docs(queries): fix code samples #6008
|
2500 |
|
2501 | 5.0.0 / 2018-01-17
|
2502 | ==================
|
2503 | * test: refactor tests to use start fewer connections #5985 [fenanquin](https://github.com/fenanquin)
|
2504 | * feat: add global bufferCommands option #5879
|
2505 | * docs: new docs site and build system #5976
|
2506 | * test: increase timeout on slow test cases #5968 [fenanquin](https://github.com/fenanquin)
|
2507 | * fix: avoid casting out array filter elements #5965
|
2508 | * feat: add Model.watch() wrapper #5964
|
2509 | * chore: replace istanbul with nyc #5962 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2510 |
|
2511 | 4.13.9 / 2018-01-07
|
2512 | ===================
|
2513 | * chore: update marked (dev dependency) re: security vulnerability #5951 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2514 | * fix: upgrade mongodb -> 2.2.34 for ipv6 and autoReconnect fixes #5794 #5760
|
2515 | * docs: use useMongooseAggCursor for aggregate docs #2955
|
2516 |
|
2517 | 5.0.0-rc2 / 2018-01-04
|
2518 | ======================
|
2519 | * fix: add cleaner warning about no longer needing `useMongoClient` in 5.x #5961
|
2520 | * chore: update acquit -> 0.5.1 for minor security patch #5961 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2521 | * docs: add docs for mongoose 4.x at http://mongoosejs.com/docs/4.x #5959
|
2522 | * docs: add link to migration guide #5957
|
2523 | * chore: update eslint to version 4.14.0 #5955 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2524 | * chore: update mocha to version 4.1.0 [ChristianMurphy](https://github.com/ChristianMurphy)
|
2525 |
|
2526 | 5.0.0-rc1 / 2018-01-02
|
2527 | ======================
|
2528 | * fix(index): use pluralize correctly for `mongoose.model()` #5958
|
2529 | * fix: make mquery use native promises by default #5945
|
2530 | * fix(connection): ensure 'joined' and 'left' events get bubbled up #5944
|
2531 |
|
2532 | 5.0.0-rc0 / 2017-12-28
|
2533 | ======================
|
2534 | * BREAKING CHANGE: always use mongoose aggregation cursor when using `.aggregate().cursor()` #5941
|
2535 | * BREAKING CHANGE: attach query middleware when compiling model #5939
|
2536 | * BREAKING CHANGE: `emitIndexErrors` is on by default, failing index build will throw uncaught error if not handled #5910
|
2537 | * BREAKING CHANGE: remove precompiled browser bundle #5895
|
2538 | * feat: add `mongoose.pluralize()` function #5877
|
2539 | * BREAKING CHANGE: remove `passRawResult` option for `findOneAndUpdate`, use `rawResult` #5869
|
2540 | * BREAKING CHANGE: implicit async validators (based on number of function args) are removed, return a promise instead #5824
|
2541 | * BREAKING CHANGE: fail fast if user sets a unique index on `_id` #5820 [varunjayaraman](https://github.com/varunjayaraman)
|
2542 | * BREAKING CHANGE: mapReduce resolves to an object with 2 keys rather than 2 separate args #5816
|
2543 | * BREAKING CHANGE: `mongoose.connect()` returns a promise, removed MongooseThenable #5796
|
2544 | * BREAKING CHANGE: query stream removed, use `cursor()` instead #5795
|
2545 | * BREAKING CHANGE: connection `open()` and `openSet()` removed, use `openUri()` instead #5795
|
2546 | * BREAKING CHANGE: use MongoDB driver 3.0.0, drop support for MongoDB server < 3.0.0 #5791 #4740
|
2547 | * BREAKING CHANGE: remove support for `$pushAll`, remove `usePushEach` option #5670
|
2548 | * BREAKING CHANGE: make date casting use native Date #5395 [varunjayaraman](https://github.com/varunjayaraman)
|
2549 | * BREAKING CHANGE: remove `runSettersOnQuery`, always run setters on query #5340
|
2550 | * BREAKING CHANGE: array of length 0 now satisfies `required: true` for arays #5139 [wlingke](https://github.com/wlingke)
|
2551 | * BREAKING CHANGE: remove `saveErrorIfNotFound`, always error out if `save()` did not update a document #4973
|
2552 | * BREAKING CHANGE: don't execute getters in reverse order #4835
|
2553 | * BREAKING CHANGE: make boolean casting more strict #4245
|
2554 | * BREAKING CHANGE: `toObject()` and `toJSON()` option parameter merges with defaults rather than overwriting #4131
|
2555 | * feat: allow setting `default` on `_id` #4069
|
2556 | * BREAKING CHANGE: `deleteX()` and `remove()` promise resolves to the write object result #4013
|
2557 | * feat: support returning a promise from middleware functions #3779
|
2558 | * BREAKING CHANGE: don't return a promise if callback specified #3670
|
2559 | * BREAKING CHANGE: only cast `update()`, `updateX()`, `replaceOne()`, `remove()`, `deleteX()` in exec #3529
|
2560 | * BREAKING CHANGE: sync errors in middleware functions are now handled #3483
|
2561 | * BREAKING CHANGE: post hooks get flow control #3232
|
2562 | * BREAKING CHANGE: deduplicate hooks when merging discriminator schema #2945
|
2563 | * BREAKING CHANGE: use native promises by default, remove support for mpromise #2917
|
2564 | * BREAKING CHANGE: remove `retainKeyOrder`, always use forward order when iterating through objects #2749
|
2565 | * BREAKING CHANGE: `aggregate()` no longer accepts a spread #2716
|
2566 |
|
2567 | 4.13.8 / 2017-12-27
|
2568 | ===================
|
2569 | * docs(guide): use more up-to-date syntax for autoIndex example #5933
|
2570 | * docs: fix grammar #5927 [abagh0703](https://github.com/abagh0703)
|
2571 | * fix: propagate lean options to child schemas #5914
|
2572 | * fix(populate): use correct model with discriminators + nested populate #5858
|
2573 |
|
2574 | 4.13.7 / 2017-12-11
|
2575 | ===================
|
2576 | * docs(schematypes): fix typo #5889 [gokaygurcan](https://github.com/gokaygurcan)
|
2577 | * fix(cursor): handle `reject(null)` with eachAsync callback #5875 #5874 [ZacharyRSmith](https://github.com/ZacharyRSmith)
|
2578 | * fix: disallow setting `mongoose.connection` to invalid values #5871 [jinasonlin](https://github.com/jinasonlin)
|
2579 | * docs(middleware): suggest using `return next()` to stop middleware execution #5866
|
2580 | * docs(connection): improve connection string query param docs #5864
|
2581 | * fix(document): run validate hooks on array subdocs even if not directly modified #5861
|
2582 | * fix(discriminator): don't treat $meta as defining projection when querying #5859
|
2583 | * fix(types): handle Decimal128 when using bson-ext on server side #5850
|
2584 | * fix(document): ensure projection with only $slice isn't treated as inclusive for discriminators #4991
|
2585 | * fix(model): throw error when passing non-object to create() #2037
|
2586 |
|
2587 | 4.13.6 / 2017-12-02
|
2588 | ===================
|
2589 | * fix(schema): support strictBool option in schema #5856 [ekulabuhov](https://github.com/ekulabuhov)
|
2590 | * fix(update): make upsert option consistently handle truthy values, not just booleans, for updateOne() #5839
|
2591 | * refactor: remove unnecessary constructor check #2057
|
2592 | * docs(query): correct function signature for .mod() helper #1806
|
2593 | * fix(query): report ObjectParameterError when passing non-object as filter to find() and findOne() #1698
|
2594 |
|
2595 | 4.13.5 / 2017-11-24
|
2596 | ===================
|
2597 | * fix(model): handle update cast errors correctly with bulkWrite #5845 [Michael77](https://github.com/Michael77)
|
2598 | * docs: add link to bufferCommands option #5844 [ralphite](https://github.com/ralphite)
|
2599 | * fix(model): allow virtual ref function to return arrays #5834 [brunohcastro](https://github.com/brunohcastro)
|
2600 | * fix(query): don't throw uncaught error if query filter too big #5812
|
2601 | * fix(document): if setting unselected nested path, don't overwrite nested path #5800
|
2602 | * fix(document): support calling `populate()` on nested document props #5703
|
2603 | * fix: add `strictBool` option for schema type boolean #5344 #5211 #4245
|
2604 | * docs(faq): add faq re: typeKey #1886
|
2605 | * docs(query): add more detailed docs re: options #1702
|
2606 |
|
2607 | 4.13.4 / 2017-11-17
|
2608 | ===================
|
2609 | * fix(aggregate): add chainable .option() helper for setting arbitrary options #5829
|
2610 | * fix(aggregate): add `.pipeline()` helper to get the current pipeline #5825
|
2611 | * docs: grammar fixes for `unique` FAQ #5823 [mfluehr](https://github.com/mfluehr)
|
2612 | * chore: add node 9 to travis #5822 [superheri](https://github.com/superheri)
|
2613 | * fix(model): fix infinite recursion with recursive embedded discriminators #5821 [Faibk](https://github.com/Faibk)
|
2614 |
|
2615 | 4.13.3 / 2017-11-15
|
2616 | ===================
|
2617 | * chore: add node 8 to travis #5818 [superheri](https://github.com/superheri)
|
2618 | * fix(document): don't apply transforms to nested docs when updating already saved doc #5807
|
2619 |
|
2620 | 4.13.2 / 2017-11-11
|
2621 | ===================
|
2622 | * feat(buffer): add support for subtype prop #5530
|
2623 |
|
2624 | 4.13.1 / 2017-11-08
|
2625 | ===================
|
2626 | * fix: accept multiple paths or array of paths to depopulate #5798 #5797 [adamreisnz](https://github.com/adamreisnz)
|
2627 | * fix(document): pass default array as actual array rather than taking first element #5780
|
2628 | * fix(model): increment version when $set-ing it in a save() that requires a version bump #5779
|
2629 | * fix(query): don't explicitly project in discriminator key if user projected in parent path #5775 #5754
|
2630 | * fix(model): cast query option to geoNear() #5765
|
2631 | * fix(query): don't treat projection with just $slice as inclusive #5737
|
2632 | * fix(discriminator): defer applying embedded discriminator hooks until top-level model is compiled #5706
|
2633 | * docs(discriminator): add warning to always attach hooks before calling discriminator() #5706
|
2634 |
|
2635 | 4.13.0 / 2017-11-02
|
2636 | ===================
|
2637 | * feat(aggregate): add $addFields helper #5740 [AyushG3112](https://github.com/AyushG3112)
|
2638 | * feat(connection): add connection-level bufferCommands #5720
|
2639 | * feat(connection): add createCollection() helper #5712
|
2640 | * feat(populate): support setting localField and foreignField to functions #5704 #5602
|
2641 | * feat(query): add multipleCastError option for aggregating cast errors when casting update #5609
|
2642 | * feat(populate): allow passing a function to virtual ref #5602
|
2643 | * feat(schema): add excludeIndexes option to optionally prevent collecting indexes from nested schemas #5575
|
2644 | * feat(model): report validation errors from `insertMany()` if using `ordered: false` and `rawResult: true` #5337
|
2645 | * feat(aggregate): add pre/post aggregate middleware #5251
|
2646 | * feat(schema): allow using `set` as a schema path #1939
|
2647 |
|
2648 | 4.12.6 / 2017-11-01
|
2649 | ===================
|
2650 | * fix(schema): make clone() copy query helpers correctly #5752
|
2651 | * fix: undeprecate `ensureIndex()` and use it by default #3280
|
2652 |
|
2653 | 4.12.5 / 2017-10-29
|
2654 | ===================
|
2655 | * fix(query): correctly handle `$in` and required for $pull and update validators #5744
|
2656 | * feat(aggegate): add $addFields pipeline operator #5740 [AyushG3112](https://github.com/AyushG3112)
|
2657 | * fix(document): catch sync errors in document pre hooks and report as error #5738
|
2658 | * fix(populate): handle slice projections correctly when automatically selecting populated fields #5737
|
2659 | * fix(discriminator): fix hooks for embedded discriminators #5706 [wlingke](https://github.com/wlingke)
|
2660 | * fix(model): throw sane error when customer calls `mongoose.Model()` over `mongoose.model()` #2005
|
2661 |
|
2662 | 4.12.4 / 2017-10-21
|
2663 | ===================
|
2664 | * test(plugins): add coverage for idGetter with id as a schema property #5713 [wlingke](https://github.com/wlingke)
|
2665 | * fix(model): avoid copying recursive $$context object when creating discriminator after querying #5721
|
2666 | * fix(connection): ensure connection promise helpers are removed before emitting 'connected' #5714
|
2667 | * docs(schema): add notes about runSettersOnQuery to schema setters #5705
|
2668 | * fix(collection): ensure queued operations run on the next tick #5562
|
2669 |
|
2670 | 4.12.3 / 2017-10-16
|
2671 | ===================
|
2672 | * fix(connection): emit 'reconnect' event as well as 'reconnected' for consistency with driver #5719
|
2673 | * fix: correctly bubble up left/joined events for replica set #5718
|
2674 | * fix(connection): allow passing in `autoIndex` as top-level option rather than requiring `config.autoIndex` #5711
|
2675 | * docs(connection): improve docs regarding reconnectTries, autoReconnect, and bufferMaxEntries #5711
|
2676 | * fix(query): handle null with addToSet/push/pull/pullAll update validators #5710
|
2677 | * fix(model): handle setDefaultsOnInsert option for bulkWrite updateOne and updateMany #5708
|
2678 | * fix(query): avoid infinite recursion edge case when cloning a buffer #5702
|
2679 |
|
2680 | 4.12.2 / 2017-10-14
|
2681 | ===================
|
2682 | * docs(faq): add FAQ about using arrow functions for getters/setters, virtuals, and methods #5700
|
2683 | * docs(schema): document the childSchemas property and add to public API #5695
|
2684 | * fix(query): don't project in populated field if parent field is already projected in #5669
|
2685 | * fix: bump mongodb -> 2.2.33 for issue with autoReconnect #4513
|
2686 |
|
2687 | 4.12.1 / 2017-10-08
|
2688 | ===================
|
2689 | * fix(document): create new doc when setting single nested, no more set() on copy of priorVal #5693
|
2690 | * fix(model): recursively call applyMethods on child schemas for global plugins #5690
|
2691 | * docs: fix bad promise lib example on home page #5686
|
2692 | * fix(query): handle false when checking for inclusive/exclusive projection #5685
|
2693 | * fix(discriminator): allow reusing child schema #5684
|
2694 | * fix: make addToSet() on empty array with subdoc trigger manual population #5504
|
2695 |
|
2696 | 4.12.0 / 2017-10-02
|
2697 | ===================
|
2698 | * docs(validation): add docs coverage for ValidatorError.reason #5681
|
2699 | * feat(discriminator): always add discriminatorKey to base schema to allow updating #5613
|
2700 | * fix(document): make nested docs no longer inherit parent doc's schema props #5586 #5546 #5470
|
2701 | * feat(query): run update validators on $pull and $pullAll #5555
|
2702 | * feat(query): add .error() helper to query to error out in pre hooks #5520
|
2703 | * feat(connection): add dropCollection() helper #5393
|
2704 | * feat(schema): add schema-level collation option #5295
|
2705 | * feat(types): add `discriminator()` function for single nested subdocs #5244
|
2706 | * feat(document): add $isDeleted() getter/setter for better support for soft deletes #4428
|
2707 | * feat(connection): bubble up reconnectFailed event when driver gives up reconnecting #4027
|
2708 | * fix(query): report error if passing array or other non-object as filter to update query #3677
|
2709 | * fix(collection): use createIndex() instead of deprecated ensureIndex() #3280
|
2710 |
|
2711 | 4.11.14 / 2017-09-30
|
2712 | ====================
|
2713 | * chore: add nsp check to the CI build #5679 [hairyhenderson](https://github.com/hairyhenderson)
|
2714 | * fix: bump mquery because of security issue with debug package #5677 #5675 [jonathanprl](https://github.com/jonathanprl)
|
2715 | * fix(populate): automatically select() populated()-ed fields #5669
|
2716 | * fix(connection): make force close work as expected #5664
|
2717 | * fix(document): treat $elemMatch as inclusive projection #5661
|
2718 | * docs(model/query): clarify which functions fire which middleware #5654
|
2719 | * fix(model): make `init()` public and return a promise that resolves when indexes are done building #5563
|
2720 |
|
2721 | 4.11.13 / 2017-09-24
|
2722 | ====================
|
2723 | * fix(query): correctly run replaceOne with update validators #5665 [sime1](https://github.com/sime1)
|
2724 | * fix(schema): replace mistype in setupTimestamp method #5656 [zipp3r](https://github.com/zipp3r)
|
2725 | * fix(query): avoid throwing cast error for strict: throw with nested id in query #5640
|
2726 | * fix(model): ensure class gets combined schema when using class syntax with discriminators #5635
|
2727 | * fix(document): handle setting doc array to array of top-level docs #5632
|
2728 | * fix(model): handle casting findOneAndUpdate() with overwrite and upsert #5631
|
2729 | * fix(update): correctly handle $ in updates #5628
|
2730 | * fix(types): handle manual population consistently for unshift() and splice() #5504
|
2731 |
|
2732 | 4.11.12 / 2017-09-18
|
2733 | ====================
|
2734 | * docs(model): asterisk should not render as markdown bullet #5644 [timkinnane](https://github.com/timkinnane)
|
2735 | * docs: use useMongoClient in connection example #5627 [GabrielNicolasAvellaneda](https://github.com/GabrielNicolasAvellaneda)
|
2736 | * fix(connection): call callback when initial connection failed #5626
|
2737 | * fix(query): apply select correctly if a given nested schema is used for 2 different paths #5603
|
2738 | * fix(document): add graceful fallback for setting a doc array value and `pull()`-ing a doc #3511
|
2739 |
|
2740 | 4.11.11 / 2017-09-10
|
2741 | ====================
|
2742 | * fix(connection): properly set readyState in response to driver 'close' and 'reconnect' events #5604
|
2743 | * fix(document): ensure single embedded doc setters only get called once, with correct value #5601
|
2744 | * fix(timestamps): allow enabling updatedAt without createdAt #5598
|
2745 | * test: improve unique validator test by making create run before ensureIndex #5595 #5562
|
2746 | * fix(query): ensure find callback only gets called once when post init hook throws error #5592
|
2747 |
|
2748 | 4.11.10 / 2017-09-03
|
2749 | ====================
|
2750 | * docs: add KeenIO tracking #5612
|
2751 | * fix(schema): ensure validators declared with `.validate()` get copied with clone() #5607
|
2752 | * fix: remove unnecessary jest warning #5480
|
2753 | * fix(discriminator): prevent implicit discriminator schema id from clobbering base schema custom id #5591
|
2754 | * fix(schema): hide schema objectid warning for non-hex strings of length 24 #5587
|
2755 | * docs(populate): use story schema defined key author instead of creator #5578 [dmric](https://github.com/dmric)
|
2756 | * docs(document): describe usage of `.set()` #5576
|
2757 | * fix(document): ensure correct scope in single nested validators #5569
|
2758 | * fix(populate): don't mark path as populated until populate() is done #5564
|
2759 | * fix(document): make push()-ing a doc onto an empty array act as manual population #5504
|
2760 | * fix(connection): emit timeout event on socket timeout #4513
|
2761 |
|
2762 | 4.11.9 / 2017-08-27
|
2763 | ===================
|
2764 | * fix(error): avoid using arguments.callee because that breaks strict mode #5572
|
2765 | * docs(schematypes): fix spacing #5567
|
2766 | * fix(query): enforce binary subtype always propagates to mongodb #5551
|
2767 | * fix(query): only skip castForQuery for mongoose arrays #5536
|
2768 | * fix(browser): rely on browser entrypoint to decide whether to use BrowserDocument or NodeDocument #5480
|
2769 |
|
2770 | 4.11.8 / 2017-08-23
|
2771 | ===================
|
2772 | * feat: add warning about using schema ObjectId as type ObjectId #5571 [efkan](https://github.com/efkan)
|
2773 | * fix(schema): allow setting `id` property after schema was created #5570 #5548
|
2774 | * docs(populate): remove confusing _ from populate docs #5560
|
2775 | * fix(connection): expose parsed uri fields (host, port, dbname) when using openUri() #5556
|
2776 | * docs: added type boolean to options documentation #5547 [ndabAP](https://github.com/ndabAP)
|
2777 | * test: add test coverage for stopping/starting server #5524
|
2778 | * fix(aggregate): pull read preference from schema by default #5522
|
2779 |
|
2780 | 4.11.7 / 2017-08-14
|
2781 | ===================
|
2782 | * fix: correct properties when calling toJSON() on populated virtual #5544 #5442 [davidwu226](https://github.com/davidwu226)
|
2783 | * docs: fix spelling #5535 [et](https://github.com/et)
|
2784 | * fix(error): always set name before stack #5533
|
2785 | * fix: add warning about running jest in jsdom environment #5532 #5513 #4943
|
2786 | * fix(document): ensure overwriting a doc array cleans out individual docs #5523
|
2787 | * fix(schema): handle creating arrays of single nested using type key #5521
|
2788 | * fix: upgrade mongodb -> 2.2.31 to support user/pass options #5419
|
2789 |
|
2790 | 4.11.6 / 2017-08-07
|
2791 | ===================
|
2792 | * fix: limiting number of async operations per time in insertMany #5529 [andresattler](https://github.com/andresattler)
|
2793 | * fix: upgrade mongodb -> 2.2.30 #5517
|
2794 | * fix(browserDocument): prevent stack overflow caused by double-wrapping embedded doc save() in jest #5513
|
2795 | * fix(document): clear single nested doc when setting to empty object #5506
|
2796 | * fix(connection): emit reconnected and disconnected events correctly with useMongoClient #5498
|
2797 | * fix(populate): ensure nested virtual populate gets set even if top-level property is null #5431
|
2798 |
|
2799 | 4.11.5 / 2017-07-30
|
2800 | ===================
|
2801 | * docs: fix link to $lookup #5516 [TalhaAwan](https://github.com/TalhaAwan)
|
2802 | * fix: better parallelization for eachAsync #5502 [lchenay](https://github.com/lchenay)
|
2803 | * docs(document): copy docs for save from model to doc #5493
|
2804 | * fix(document): handle dotted virtuals in toJSON output #5473
|
2805 | * fix(populate): restore user-provided limit after mutating so cursor() works with populate limit #5468
|
2806 | * fix(query): don't throw StrictModeError if geo query with upsert #5467
|
2807 | * fix(populate): propagate readPreference from query to populate queries by default #5460
|
2808 | * docs: warn not to use arrow functions for statics and methods #5458
|
2809 | * fix(query): iterate over all condition keys for setDefaultsOnInsert #5455
|
2810 | * docs(connection): clarify server/replset/mongos option deprecation with useMongoClient #5442
|
2811 |
|
2812 | 4.11.4 / 2017-07-23
|
2813 | ===================
|
2814 | * fix: handle next() errors in `eachAsync()` #5486 [lchenay](https://github.com/lchenay)
|
2815 | * fix(schema): propagate runSettersOnQuery option to implicitly created schemas #5479 [https://github.com/ValYouW]
|
2816 | * fix(query): run castConditions() correctly in update ops #5477
|
2817 | * fix(query): ensure castConditions called for findOne and findOneAnd* #5477
|
2818 | * docs: clarify relationship between $lookup and populate #5475 [TalhaAwan](https://github.com/TalhaAwan)
|
2819 | * test: add coverage for arrays of arrays [zbjornson](https://github.com/zbjornson)
|
2820 | * fix(middleware): ensure that error handlers for save get doc as 2nd param #5466
|
2821 | * fix: handle strict: false correctly #5454 #5453 [wookieb](https://github.com/wookieb)
|
2822 | * fix(query): apply schema excluded paths if only projection is a $slice #5450
|
2823 | * fix(query): correct discriminator handling for schema `select: false` fields in schema #5448
|
2824 | * fix(cursor): call next() in series when parallel option used #5446
|
2825 | * chore: load bundled driver first to avoid packaging problem #5443 [prototypeme](https://github.com/prototypeme)
|
2826 | * fix(query): defer condition casting until final exec #5434
|
2827 | * fix(aggregate): don't rely on mongodb aggregate to put a cursor in the callback #5394
|
2828 | * docs(aggregate): add useMongooseAggCursor docs #5394
|
2829 | * docs(middleware): clarify context for document, query, and model middleware #5381
|
2830 |
|
2831 | 4.11.3 / 2017-07-14
|
2832 | ===================
|
2833 | * fix(connection): remove .then() before resolving to prevent infinite recursion #5471
|
2834 |
|
2835 | 4.11.2 / 2017-07-13
|
2836 | ===================
|
2837 | * docs: fix comment typo in connect example #5435 [ConnorMcF](https://github.com/ConnorMcF)
|
2838 | * fix(update): correctly cast document array in update validators with exec() #5430
|
2839 | * fix(connection): handle autoIndex with useMongoClient #5423
|
2840 | * fix(schema): handle `type: [Array]` in schemas #5416
|
2841 | * fix(timestamps): if overwrite is set and there's a $set, use $set instead of top-level update #5413
|
2842 | * fix(document): don't double-validate deeply nested doc array elements #5411
|
2843 | * fix(schematype): clone default objects so default not shared across object instances unless `shared` specified #5407
|
2844 | * fix(document): reset down the nested subdocs when resetting parent doc #5406
|
2845 | * fix: don't pass error arg twice to error handlers #5405
|
2846 | * fix(connection): make openUri() return connection decorated with then() and catch() #5404
|
2847 | * fix: enforce $set on an array must be an array #5403
|
2848 | * fix(document): don't crash if calling `validateSync()` after overwriting doc array index #5389
|
2849 | * fix(discriminator): ensure discriminator key doesn't count as user-selected field for projection #4629
|
2850 |
|
2851 | 4.11.1 / 2017-07-02
|
2852 | ===================
|
2853 | * docs: populate virtuals fix justOne description #5427 [fredericosilva](https://github.com/fredericosilva)
|
2854 | * fix(connection): make sure to call onOpen in openUri() #5404
|
2855 | * docs(query): justOne is actually single, and it default to false #5402 [zbjornson](https://github.com/zbjornson)
|
2856 | * docs: fix small typo in lib/schema.js #5398 #5396 [pjo336](https://github.com/pjo336)
|
2857 | * fix: emit remove on single nested subdocs when removing parent #5388
|
2858 | * fix(update): handle update with defaults and overwrite but no update validators #5384
|
2859 | * fix(populate): handle undefined refPath values in middle of array #5377
|
2860 | * fix(document): ensure consistent setter context for single nested #5363
|
2861 | * fix(query): support runSettersOnQuery as query option #5350
|
2862 |
|
2863 | 4.11.0 / 2017-06-25
|
2864 | ===================
|
2865 | * feat(query): execute setters with query as context for `runSettersOnQuery` #5339
|
2866 | * feat(model): add translateAliases function #5338 [rocketspacer](https://github.com/rocketspacer)
|
2867 | * feat(connection): add `useMongoClient` and `openUri` functions, deprecate current connect logic #5304
|
2868 | * refactor(schema): make id virtual not access doc internals #5279
|
2869 | * refactor: handle non-boolean lean #5279
|
2870 | * feat(cursor): add addCursorFlag() support to query and agg cursors #4814
|
2871 | * feat(cursor): add parallel option to eachAsync #4244
|
2872 | * feat(schema): allow setting custom error constructor for custom validators #4009
|
2873 |
|
2874 | 4.10.8 / 2017-06-21
|
2875 | ===================
|
2876 | * docs: fix small formatting typo on schematypes #5374 [gianpaj](https://github.com/gianpaj)
|
2877 | * fix(model): allow null as an _id #5370
|
2878 | * fix(populate): don't throw async uncaught exception if model not found in populate #5364
|
2879 | * fix: correctly cast decimals in update #5361
|
2880 | * fix(error): don't use custom getter for ValidationError message #5359
|
2881 | * fix(query): handle runSettersOnQuery in built-in _id setter #5351
|
2882 | * fix(document): ensure consistent context for nested doc custom validators #5347
|
2883 |
|
2884 | 4.10.7 / 2017-06-18
|
2885 | ===================
|
2886 | * docs(validation): show overriding custom validator error with 2nd cb arg #5358
|
2887 | * fix: `parseOption` mutates user passed option map #5357 [igwejk](https://github.com/igwejk)
|
2888 | * docs: fix guide.jade typo #5356 [CalebAnderson2014](https://github.com/CalebAnderson2014)
|
2889 | * fix(populate): don't set populate virtual to ids when match fails #5336
|
2890 | * fix(query): callback with cast error if remove and delete* args have a cast error #5323
|
2891 |
|
2892 | 4.10.6 / 2017-06-12
|
2893 | ===================
|
2894 | * fix(cursor): handle custom model option for populate #5334
|
2895 | * fix(populate): handle empty virtual populate with Model.populate #5331
|
2896 | * fix(model): make ensureIndexes() run with autoIndex: false unless called internally #5328 #5324 #5317
|
2897 | * fix: wait for all connections to close before resolving disconnect() promise #5316
|
2898 | * fix(document): handle setting populated path with custom typeKey in schema #5313
|
2899 | * fix(error): add toJSON helper to ValidationError so `message` shows up with JSON.stringify #5309
|
2900 | * feat: add `getPromiseConstructor()` to prevent need for `mongoose.Promise.ES6` #5305
|
2901 | * fix(document): handle conditional required with undefined props #5296
|
2902 | * fix(model): clone options before inserting in save() #5294
|
2903 | * docs(populate): clarify that multiple populate() calls on same path overwrite #5274
|
2904 |
|
2905 | 4.10.5 / 2017-06-06
|
2906 | ===================
|
2907 | * chore: improve contrib guide for building docs #5312
|
2908 | * fix(populate): handle init-ing nested virtuals properly #5311
|
2909 | * fix(update): report update validator error if required path under single nested doc not set
|
2910 | * fix(schema): remove default validate pre hook that was causing issues with jest #4943
|
2911 |
|
2912 | 4.10.4 / 2017-05-29
|
2913 | ===================
|
2914 | * chore: dont store test data in same directory #5303
|
2915 | * chore: add data dirs to npmignore #5301 [Starfox64](https://github.com/Starfox64)
|
2916 | * docs(query): add docs about runSettersOnQuery #5300
|
2917 |
|
2918 | 4.10.3 / 2017-05-27
|
2919 | ===================
|
2920 | * docs: correct inconsistent references to updateOne and replaceOne #5297 [dhritzkiv](https://github.com/dhritzkiv)
|
2921 | * docs: fix dropdowns in docs #5292 [nathanallen](https://github.com/nathanallen)
|
2922 | * docs: add description of alias option #5287
|
2923 | * fix(document): prevent infinite loop if validating nested array #5282
|
2924 | * fix(schema): correctly handle ref ObjectIds from different mongoose libs #5259
|
2925 | * fix(schema): load child class methods after base class methods to allow override #5227
|
2926 |
|
2927 | 4.10.2 / 2017-05-22
|
2928 | ===================
|
2929 | * fix: bump ms -> 2.0.0 and mquery -> 2.3.1 for minor security vulnerability #5275
|
2930 |
|
2931 | 4.10.1 / 2017-05-21
|
2932 | ===================
|
2933 | * fix(aggregate): handle sorting by text score correctly #5258
|
2934 | * fix(populate): handle doc.populate() with virtuals #5240
|
2935 | * fix(schema): enforce that `_id` is never null #5236
|
2936 |
|
2937 | 4.10.0 / 2017-05-18
|
2938 | ===================
|
2939 | * fix(schema): update clone method to include indexes #5268 [clozanosanchez](https://github.com/clozanosanchez)
|
2940 | * feat(schema): support aliases #5184 [rocketspacer](https://github.com/rocketspacer)
|
2941 | * feat(aggregate): add mongoose-specific aggregation cursor option #5145
|
2942 | * refactor(model): make sharding into a plugin instead of core #5105
|
2943 | * fix(document): make nested doc mongoose internals not enumerable again #5078
|
2944 | * feat(model): pass params to pre hooks #5064
|
2945 | * feat(timestamps): support already defined timestamp paths in schema #4868
|
2946 | * feat(query): add runSettersOnQuery option #4569
|
2947 | * fix(query): add strictQuery option that throws when not querying on field not in schema #4136
|
2948 | * fix(update): more complete handling for overwrite option with update validators #3556
|
2949 | * feat: support `unique: true` in arrays via the mongoose-unique-array plugin #3347
|
2950 | * fix(model): always emit 'index', even if no indexes #3347
|
2951 | * fix(schema): set unique indexes on primitive arrays #3347
|
2952 | * feat(validation): include failed paths in error message and inspect output #3064 #2135
|
2953 | * fix(model): return saved docs when create() fails #2190
|
2954 |
|
2955 | 4.9.10 / 2017-05-17
|
2956 | ===================
|
2957 | * fix(connection): ensure callback arg to openSet() is handled properly #5249
|
2958 | * docs: remove dead plugins repo and add content links #5247
|
2959 | * fix(model): skip index build if connecting after model init and autoIndex false #5176
|
2960 |
|
2961 | 4.9.9 / 2017-05-13
|
2962 | ==================
|
2963 | * docs: correct value for Query#regex() #5230
|
2964 | * fix(connection): don't throw if .catch() on open() promise #5229
|
2965 | * fix(schema): allow update with $currentDate for updatedAt to succeed #5222
|
2966 | * fix(model): versioning doesn't fail if version key undefined #5221 [basileos](https://github.com/basileos)
|
2967 | * fix(document): don't emit model error if callback specified for consistency with docs #5216
|
2968 | * fix(document): handle errors in subdoc pre validate #5215
|
2969 |
|
2970 | 4.9.8 / 2017-05-07
|
2971 | ==================
|
2972 | * docs(subdocs): rewrite subdocs guide #5217
|
2973 | * fix(document): avoid circular JSON if error in doc array under single nested subdoc #5208
|
2974 | * fix(document): set intermediate empty objects for deeply nested undefined paths before path itself #5206
|
2975 | * fix(schema): throw error if first param to schema.plugin() is not a function #5201
|
2976 | * perf(document): major speedup in validating subdocs (50x in some cases) #5191
|
2977 |
|
2978 | 4.9.7 / 2017-04-30
|
2979 | ==================
|
2980 | * docs: fix typo #5204 [phutchins](https://github.com/phutchins)
|
2981 | * fix(schema): ensure correct path for deeply nested schema indexes #5199
|
2982 | * fix(schema): make remove a reserved name #5197
|
2983 | * fix(model): handle Decimal type in insertMany correctly #5190
|
2984 | * fix: upgrade kareem to handle async pre hooks correctly #5188
|
2985 | * docs: add details about unique not being a validator #5179
|
2986 | * fix(validation): handle returning a promise with isAsync: true #5171
|
2987 |
|
2988 | 4.9.6 / 2017-04-23
|
2989 | ==================
|
2990 | * fix: update `parentArray` references when directly assigning document arrays #5192 [jhob](https://github.com/jhob)
|
2991 | * docs: improve schematype validator docs #5178 [milesbarr](https://github.com/milesbarr)
|
2992 | * fix(model): modify discriminator() class in place #5175
|
2993 | * fix(model): handle bulkWrite updateMany casting #5172 [tzellman](https://github.com/tzellman)
|
2994 | * docs(model): fix replaceOne example for bulkWrite #5168
|
2995 | * fix(document): don't create a new array subdoc when creating schema array #5162
|
2996 | * fix(model): merge query hooks from discriminators #5147
|
2997 | * fix(document): add parent() function to subdocument to match array subdoc #5134
|
2998 |
|
2999 | 4.9.5 / 2017-04-16
|
3000 | ==================
|
3001 | * fix(query): correct $pullAll casting of null #5164 [Sebmaster](https://github.com/Sebmaster)
|
3002 | * docs: add advanced schemas docs for loadClass #5157
|
3003 | * fix(document): handle null/undefined gracefully in applyGetters() #5143
|
3004 | * fix(model): add resolveToObject option for mapReduce with ES6 promises #4945
|
3005 |
|
3006 | 4.9.4 / 2017-04-09
|
3007 | ==================
|
3008 | * fix(schema): clone query middleware correctly #5153 #5141 [clozanosanchez](https://github.com/clozanosanchez)
|
3009 | * docs(aggregate): fix typo #5142
|
3010 | * fix(query): cast .$ update to underlying array type #5130
|
3011 | * fix(populate): don't mutate populate result in place #5128
|
3012 | * fix(query): handle $setOnInsert consistent with $set #5126
|
3013 | * docs(query): add strict mode option for findOneAndUpdate #5108
|
3014 |
|
3015 | 4.9.3 / 2017-04-02
|
3016 | ==================
|
3017 | * docs: document.js fixes for functions prepended with `$` #5131 [krmannix](https://github.com/krmannix)
|
3018 | * fix: Avoid exception on constructor check #5129 [monkbroc](https://github.com/monkbroc)
|
3019 | * docs(schematype): explain how to use `isAsync` with validate() #5125
|
3020 | * docs(schematype): explain custom message with required function #5123
|
3021 | * fix(populate): only apply refPath duplicate id optimization if not array #5114
|
3022 | * fix(document): copy non-objects to doc when init() #5111
|
3023 | * perf(populate): dont clone whole options every time #5103
|
3024 | * feat(document): add isDirectSelected() to minimize isSelected() changes #5063
|
3025 | * docs(schematypes): explain some subtleties with arrays #5059
|
3026 |
|
3027 | 4.9.2 / 2017-03-26
|
3028 | ==================
|
3029 | * fix(discriminator): handle class names consistently #5104
|
3030 | * fix(schema): make clone() work with reusing discriminator schemas #5098
|
3031 | * fix(querycursor): run pre find hooks with .cursor() #5096
|
3032 | * fix(connection): throw error if username:password includes @ or : #5091
|
3033 | * fix(timestamps): handle overwriting createdAt+updatedAt consistently #5088
|
3034 | * fix(document): ensure subdoc post save runs after parent save #5085
|
3035 | * docs(model): improve update docs #5076 [bertolo1988](https://github.com/bertolo1988)
|
3036 |
|
3037 | 4.9.1 / 2017-03-19
|
3038 | ==================
|
3039 | * fix(query): handle $type for arrays #5080 #5079 [zoellner](https://github.com/zoellner)
|
3040 | * fix(model): handle ordered param for `insertMany` validation errors #5072 [sjorssnoeren](https://github.com/sjorssnoeren)
|
3041 | * fix(populate): avoid duplicate ids in dynref queries #5054
|
3042 | * fix(timestamps): dont set timestamps in update if user set it #5045
|
3043 | * fix(update): dont double-call setters on arrays #5041
|
3044 | * fix: upgrade driver -> 2.2.25 for jest fix #5033
|
3045 | * fix(model): get promise each time save() is called rather than once #5030
|
3046 | * fix(connection): make connect return value consistent #5006
|
3047 |
|
3048 | 4.9.0 / 2017-03-13
|
3049 | ==================
|
3050 | * feat(document): return this from `depopulate()` #5027
|
3051 | * fix(drivers): stop emitting timeouts as errors #5026
|
3052 | * feat(schema): add a clone() function for schemas #4983
|
3053 | * feat(query): add rawResult option to replace passRawResult, deprecate passRawResult #4977 #4925
|
3054 | * feat(schematype): support isAsync validator option and handle returning promises from validators, deprecate implicit async validators #4290
|
3055 | * feat(query): add `replaceOne()`, `deleteOne()`, `deleteMany()` #3998
|
3056 | * feat(model): add `bulkWrite()` #3998
|
3057 |
|
3058 | 4.8.7 / 2017-03-12
|
3059 | ==================
|
3060 | * fix(model): if last arg in spread is falsy, treat it as a callback #5061
|
3061 | * fix(document): use $hook instead of hook to enable 'hook' as a path name #5047
|
3062 | * fix(populate): dont select foreign field if parent field is selected #5037
|
3063 | * fix(populate): handle passing no args to query.populate #5036
|
3064 | * fix(update): use correct method for casting nested arrays #5032
|
3065 | * fix(discriminator): handle array discriminators when casting $push #5009
|
3066 |
|
3067 | 4.8.6 / 2017-03-05
|
3068 | ==================
|
3069 | * docs(document): remove text that implies that transform is false by default #5023
|
3070 | * fix(applyHooks): dont wrap a function if it is already wrapped #5019
|
3071 | * fix(document): ensure nested docs' toObject() clones #5008
|
3072 |
|
3073 | 4.8.5 / 2017-02-25
|
3074 | ==================
|
3075 | * fix: check for empty schemaPath before accessing property $isMongooseDocumentArray #5017 [https://github.com/randyhoulahan](randyhoulahan)
|
3076 | * fix(discriminators): handle create() and push() for embedded discriminators #5001
|
3077 | * fix(querycursor): ensure close emitted after last data event #4998
|
3078 | * fix(discriminators): remove fields not selected in child when querying by base model #4991
|
3079 |
|
3080 | 4.8.4 / 2017-02-19
|
3081 | ==================
|
3082 | * docs(discriminators): explain embedded discriminators #4997
|
3083 | * fix(query): fix TypeError when findOneAndUpdate errors #4990
|
3084 | * fix(update): handle nested single embedded in update validators correctly #4989
|
3085 | * fix(browser): make browser doc constructor not crash #4987
|
3086 |
|
3087 | 4.8.3 / 2017-02-15
|
3088 | ==================
|
3089 | * chore: upgrade mongodb driver -> 2.2.24
|
3090 | * docs(connections): addd some details about callbacks #4986
|
3091 | * fix: ensure class is created with new keyword #4972 #4947 [benhjames](https://github.com/benhjames)
|
3092 | * fix(discriminator): add applyPluginsToDiscriminators option #4965
|
3093 | * fix(update): properly cast array subdocs when casting update #4960
|
3094 | * fix(populate): ensure foreign field is selected for virtual populate #4959
|
3095 | * docs(query): document some query callback params #4949
|
3096 | * fix(document): ensure errors in validators get caught #2185
|
3097 |
|
3098 | 4.8.2 / 2017-02-10
|
3099 | ==================
|
3100 | * fix(update): actually run validators on addToSet #4953
|
3101 | * fix(update): improve buffer error handling #4944 [ValYouW](https://github.com/ValYouW)
|
3102 | * fix(discriminator): handle subclassing with loadClass correctly #4942
|
3103 | * fix(query): allow passing Map to sort() #4941
|
3104 | * fix(document): handle setting discriminator doc #4935
|
3105 | * fix(schema): return correct value from pre init hook #4928
|
3106 | * fix(query): ensure consistent params in error handlers if pre hook errors #4927
|
3107 |
|
3108 | 4.8.1 / 2017-01-30
|
3109 | ==================
|
3110 | * fix(query): handle $exists for arrays and embedded docs #4937
|
3111 | * fix(query): handle passing string to hint() #4931
|
3112 |
|
3113 | 4.8.0 / 2017-01-28
|
3114 | ==================
|
3115 | * feat(schema): add saveErrorIfNotFound option and $where property #4924 #4004
|
3116 | * feat(query): add $in implicitly if passed an array #4912 [QuotableWater7](https://github.com/QuotableWater7)
|
3117 | * feat(aggregate): helper for $facet #4904 [varunjayaraman](https://github.com/varunjayaraman)
|
3118 | * feat(query): add collation method #4839
|
3119 | * feat(schema): propogate strict option to implicit array subschemas #4831 [dkrosso](https://github.com/dkrosso)
|
3120 | * feat(aggregate): add helper for graphLookup #4819 [varunjayaraman](https://github.com/varunjayaraman)
|
3121 | * feat(types): support Decimal128 #4759
|
3122 | * feat(aggregate): add eachAsync() to aggregate cursor #4300
|
3123 | * feat(query): add updateOne and updateMany #3997
|
3124 | * feat(model): support options for insertMany #3893
|
3125 | * fix(document): run validation on single nested docs if not directly modified #3884
|
3126 | * feat(model): use discriminator constructor based on discriminatorKey in create() #3624
|
3127 | * feat: pass collection as context to debug function #3261
|
3128 | * feat(query): support push and addToSet for update validators #2933
|
3129 | * perf(document): refactor registerHooksFromSchema so hooks are defined on doc prototype #2754
|
3130 | * feat(types): add discriminator() function to doc arrays #2723 #1856
|
3131 | * fix(populate): return an error if sorting underneath a doc array #2202
|
3132 |
|
3133 | 4.7.9 / 2017-01-27
|
3134 | ==================
|
3135 | * fix(query): handle casting $exists under $not #4933
|
3136 | * chore: upgrade mongodb -> 2.2.22 re: #4931
|
3137 |
|
3138 | 4.7.8 / 2017-01-23
|
3139 | ==================
|
3140 | * fix(populate): better handling for virtual populate under arrays #4923
|
3141 | * docs: upgrade contributors count #4918 [AdamZaczek](https://github.com/AdamZaczek)
|
3142 | * fix(query): don't set nested path default if setting parent path #4911
|
3143 | * docs(promise): add missing bracket #4907
|
3144 | * fix(connection): ensure error handling is consistently async #4905
|
3145 | * fix: handle authMechanism in query string #4900
|
3146 | * fix(document): ensure error handlers run for validate #4885
|
3147 |
|
3148 | 4.7.7 / 2017-01-15
|
3149 | ==================
|
3150 | * fix(utils): don't crash if to[key] is null #4881
|
3151 | * fix: upgrade mongodb -> 2.2.21 #4867
|
3152 | * fix: add a toBSON to documents for easier querying #4866
|
3153 | * fix: suppress bluebird warning #4854 [davidwu226](https://github.com/davidwu226)
|
3154 | * fix(populate): handle nested virtuals in virtual populate #4851
|
3155 |
|
3156 | 4.7.6 / 2017-01-02
|
3157 | ==================
|
3158 | * fix(model): allow passing non-array to insertMany #4846
|
3159 | * fix(populate): use base model name if no discriminator for backwards compat #4843
|
3160 | * fix: allow internal validate callback to be optional #4842 [arciisine](https://github.com/arciisine)
|
3161 | * fix(document): don't skip pointCut if save not defined (like in browser doc) #4841
|
3162 | * chore: improve benchmarks #4838 [billouboq](https://github.com/billouboq)
|
3163 | * perf: remove some unused parameters #4837 [billouboq](https://github.com/billouboq)
|
3164 | * fix(query): don't call error handler if passRawResult is true and no error occurred #4836
|
3165 |
|
3166 | 4.7.5 / 2016-12-26
|
3167 | ==================
|
3168 | * docs(model): fix spelling mistake #4828 [paulinoj](https://github.com/paulinoj)
|
3169 | * fix(aggregate): remove unhandled rejection when using aggregate.then() #4824
|
3170 | * perf: remove try/catch that kills optimizer #4821
|
3171 | * fix(model): handles populating with discriminators that may not have a ref #4817
|
3172 | * fix(document): handle setting array of discriminators #3575
|
3173 |
|
3174 | 4.7.4 / 2016-12-21
|
3175 | ==================
|
3176 | * docs: fix typo #4810 [GEEKIAM](https://github.com/GEEKIAM)
|
3177 | * fix(query): timestamps with $push + $each #4805
|
3178 | * fix(document): handle buffers correctly in minimize #4800
|
3179 | * fix: don't disallow overwriting default and cast fns #4795 [pdspicer](https://github.com/pdspicer)
|
3180 | * fix(document): don't convert single nested docs to POJOs #4793
|
3181 | * fix(connection): handle reconnect to replica set correctly #4972 [gfzabarino](https://github.com/gfzabarino)
|
3182 |
|
3183 | 4.7.3 / 2016-12-16
|
3184 | ==================
|
3185 | * fix: upgrade mongodb driver -> 2.2.16 for several bug fixes and 3.4 support #4799
|
3186 | * fix(model): ensure discriminator key is correct for child schema on discriminator #4790
|
3187 | * fix(document): handle mark valid in subdocs correctly #4778
|
3188 | * fix(query): check for objects consistently #4775
|
3189 |
|
3190 | 4.7.2 / 2016-12-07
|
3191 | ==================
|
3192 | * test(populate): fix justOne test #4772 [cblanc](https://github.com/cblanc)
|
3193 | * chore: fix benchmarks #4769 [billouboq](https://github.com/billouboq)
|
3194 | * fix(document): handle setting subdoc to null after setting parent doc #4766
|
3195 | * fix(query): support passRawResult with lean #4762 #4761 [mhfrantz](https://github.com/mhfrantz)
|
3196 | * fix(query): throw StrictModeError if upsert with nonexisting field in condition #4757
|
3197 | * test: fix a couple of sort tests #4756 [japod](https://github.com/japod)
|
3198 | * chore: upgrade mongodb driver -> 2.2.12 #4753 [mdlavin](https://github.com/mdlavin)
|
3199 | * fix(query): handle update with upsert and overwrite correctly #4749
|
3200 |
|
3201 | 4.7.1 / 2016-11-30
|
3202 | ==================
|
3203 | * fix(schema): throw error if you use prototype as a schema path #4746
|
3204 | * fix(schema): throw helpful error if you define a virtual with the same path as a real path #4744
|
3205 | * fix(connection): make createConnection not throw rejected promises #4742
|
3206 | * fix(populate): allow specifiying options in model schema #4741
|
3207 | * fix(document): handle selected nested elements with defaults #4739
|
3208 | * fix(query): add model to cast error if possible #4729
|
3209 | * fix(query): handle timestamps with overwrite #4054
|
3210 |
|
3211 | 4.7.0 / 2016-11-23
|
3212 | ==================
|
3213 | * docs: clean up schematypes #4732 [kidlj](https://github.com/kidlj)
|
3214 | * perf: only get stack when necessary with VersionError #4726 [Sebmaster](https://github.com/Sebmaster)
|
3215 | * fix(query): ensure correct casting when setting array element #4724
|
3216 | * fix(connection): ensure db name gets set when you pass 4 params #4721
|
3217 | * fix: prevent TypeError in node v7 #4719 #4706
|
3218 | * feat(document): support .set() on virtual subpaths #4716
|
3219 | * feat(populate): support populate virtuals on nested schemas #4715
|
3220 | * feat(querycursor): support transform option and .map() #4714 #4705 [cblanc](https://github.com/cblanc)
|
3221 | * fix(document): dont set defaults on not-selected nested paths #4707
|
3222 | * fix(populate): don't throw if empty string passed to populate #4702
|
3223 | * feat(model): add `loadClass()` function for importing schema from ES6 class #4668 [rockmacaca](https://github.com/rockmacaca)
|
3224 |
|
3225 | 4.6.8 / 2016-11-14
|
3226 | ==================
|
3227 | * fix(querycursor): clear stack when iterating onto next doc #4697
|
3228 | * fix: handle null keys in validation error #4693 #4689 [arciisine](https://github.com/arciisine)
|
3229 | * fix(populate): handle pre init middleware correctly with populate virtuals #4683
|
3230 | * fix(connection): ensure consistent return value for open and openSet #4659
|
3231 | * fix(schema): handle falsy defaults for arrays #4620
|
3232 |
|
3233 | 4.6.7 / 2016-11-10
|
3234 | ==================
|
3235 | * fix(document): only invalidate in subdoc if using update validators #4681
|
3236 | * fix(document): don't create subdocs when excluded in projection #4669
|
3237 | * fix(document): ensure single embedded schema validator runs with correct context #4663
|
3238 | * fix(document): make sure to depopulate top level for sharding #4658
|
3239 | * fix(connection): throw more helpful error when .model() called incorrectly #4652
|
3240 | * fix(populate): throw more descriptive error when trying to populate a virtual that doesn't have proper options #4602
|
3241 | * fix(document): ensure subtype gets set properly when saving with a buffer id #4506
|
3242 | * fix(query): handle setDefaultsOnInsert with defaults on doc arrays #4456
|
3243 | * fix(drivers): make debug output better by calling toBSON() #4356
|
3244 |
|
3245 | 4.6.6 / 2016-11-03
|
3246 | ==================
|
3247 | * chore: upgrade deps #4674 [TrejGun](https://github.com/TrejGun)
|
3248 | * chore: run tests on node v7 #4673 [TrejGun](https://github.com/TrejGun)
|
3249 | * perf: make setDefaultsOnInsert more efficient if upsert is off #4672 [CamHenlin](https://github.com/CamHenlin)
|
3250 | * fix(populate): ensure document array is returned #4656
|
3251 | * fix(query): cast doc arrays with positionals correctly for update #4655
|
3252 | * fix(document): ensure single nested doc validators run with correct context #4654
|
3253 | * fix: handle reconnect failed error in new version of driver #4653 [loris](https://github.com/loris)
|
3254 | * fix(populate): if setting a populated doc, take its id #4632
|
3255 | * fix(populate): handle populated virtuals in init #4618
|
3256 |
|
3257 | 4.6.5 / 2016-10-23
|
3258 | ==================
|
3259 | * docs: fix grammar issues #4642 #4640 #4639 [silvermanj7](https://github.com/silvermanj7)
|
3260 | * fix(populate): filter out nonexistant values for dynref #4637
|
3261 | * fix(query): handle $type as a schematype operator #4632
|
3262 | * fix(schema): better handling for uppercase: false and lowercase: false #4622
|
3263 | * fix(query): don't run transforms on updateForExec() #4621
|
3264 | * fix(query): handle id = 0 in findById #4610
|
3265 | * fix(query): handle buffers in mergeClone #4609
|
3266 | * fix(document): handle undefined with conditional validator for validateSync #4607
|
3267 | * fix: upgrade to mongodb driver 2.2.11 #4581
|
3268 | * docs(schematypes): clarify schema.path() #4518
|
3269 | * fix(query): ensure path is defined before checking in timestamps #4514
|
3270 | * fix(model): set version key in upsert #4505
|
3271 | * fix(document): never depopulate top-level doc #3057
|
3272 | * refactor: ensure sync for setting non-capped collections #2690
|
3273 |
|
3274 | 4.6.4 / 2016-10-16
|
3275 | ==================
|
3276 | * fix(query): cast $not correctly #4616 #4592 [prssn](https://github.com/prssn)
|
3277 | * fix: address issue with caching global plugins #4608 #4601 [TrejGun](https://github.com/TrejGun)
|
3278 | * fix(model): make sure to depopulate in insertMany #4590
|
3279 | * fix(model): buffer autoIndex if bufferCommands disabled #4589
|
3280 | * fix(populate): copy ids array before modifying #4585
|
3281 | * feat(schema): add retainKeyOrder prop #4542
|
3282 | * fix(document): return isModified true for children of direct modified paths #4528
|
3283 | * fix(connection): add dropDatabase() helper #4490
|
3284 | * fix(model): add usePushEach option for schemas #4455
|
3285 | * docs(connections): add some warnings about buffering #4413
|
3286 | * fix: add ability to set promise implementation in browser #4395
|
3287 |
|
3288 | 4.6.3 / 2016-10-05
|
3289 | ==================
|
3290 | * fix(document): ensure single nested docs get initialized correctly when setting nested paths #4578
|
3291 | * fix: turn off transforms when writing nested docs to db #4574
|
3292 | * fix(document): don't set single nested subdocs to null when removing parent doc #4566
|
3293 | * fix(model): ensure versionKey gets set in insertMany #4561
|
3294 | * fix(schema): handle typeKey in arrays #4548
|
3295 | * feat(schema): set $implicitlyCreated on schema if created by interpretAsType #4443
|
3296 |
|
3297 | 4.6.2 / 2016-09-30
|
3298 | ==================
|
3299 | * chore: upgrade to async 2.0.1 internally #4579 [billouboq](https://github.com/billouboq)
|
3300 | * fix(types): ensure nested single doc schema errors reach update validators #4557 #4519
|
3301 | * fix(connection): handle rs names with leading numbers (muri 1.1.1) #4556
|
3302 | * fix(model): don't throw if method name conflicts with Object.prototype prop #4551
|
3303 | * docs: fix broken link #4544 [VFedyk](https://github.com/VFedyk)
|
3304 | * fix: allow overwriting model on mongoose singleton #4541 [Nainterceptor](https://github.com/Nainterceptor)
|
3305 | * fix(document): don't use init: true when building doc defaults #4540
|
3306 | * fix(connection): use replSet option if replset not specified #4535
|
3307 | * fix(query): cast $not objects #4495
|
3308 |
|
3309 | 4.6.1 / 2016-09-20
|
3310 | ==================
|
3311 | * fix(query): improve handling of $not with $elemMatch #4531 #3719 [timbowhite](https://github.com/timbowhite)
|
3312 | * fix: upgrade mongodb -> 2.2.10 #4517
|
3313 | * chore: fix webpack build issue #4512 [saiichihashimoto](https://github.com/saiichihashimoto)
|
3314 | * fix(query): emit error on next tick when exec callback errors #4500
|
3315 | * test: improve test case #4496 [isayme](https://github.com/isayme)
|
3316 | * fix(schema): use same check for array types and top-level types #4493
|
3317 | * style: fix indentation in docs #4489 [dhurlburtusa](https://github.com/dhurlburtusa)
|
3318 | * fix(schema): expose original object passed to constructor #4486
|
3319 | * fix(query): handle findOneAndUpdate with array of arrays #4484 #4470 [fedotov](https://github.com/fedotov)
|
3320 | * feat(document): add $ignore to make a path ignored #4480
|
3321 | * fix(query): properly handle setting single embedded in update #4475 #4466 #4465
|
3322 | * fix(updateValidators): handle single nested schema subpaths correctly #4479
|
3323 | * fix(model): throw handy error when method name conflicts with property name #4475
|
3324 | * fix(schema): handle .set() with array field #4472
|
3325 | * fix(query): check nested path when avoiding double-validating Mixed #4441
|
3326 | * fix(schema): handle calling path.trim() with no args correctly #4042
|
3327 |
|
3328 | 4.6.0 / 2016-09-02
|
3329 | ==================
|
3330 | * docs(document): clarify the findById and findByIdAndUpdate examples #4471 [mdcanham](https://github.com/mdcanham)
|
3331 | * docs(schematypes): add details re: options #4452
|
3332 | * docs(middleware): add docs for insertMany hooks #4451
|
3333 | * fix(schema): create new array when copying from existing object to preserve change tracking #4449
|
3334 | * docs: fix typo in index.jade #4448
|
3335 | * fix(query): allow array for populate options #4446
|
3336 | * fix(model): create should not cause unhandle reject promise #4439
|
3337 | * fix: upgrade to mongodb driver 2.2.9 #4363 #4341 #4311 (see [comments here](https://github.com/mongodb/js-bson/commit/aa0b54597a0af28cce3530d2144af708e4b66bf0#commitcomment-18850498) if you use node 0.10)
|
3338 |
|
3339 | 4.5.10 / 2016-08-23
|
3340 | ===================
|
3341 | * docs: fix typo on documents.jade #4444 [Gabri3l](https://github.com/Gabri3l)
|
3342 | * chore: upgrade mocha to 3.0.2 #4437 [TrejGun](https://github.com/TrejGun)
|
3343 | * fix: subdocuments causing error with parent timestamp on update #4434 [dyang108](https://github.com/dyang108)
|
3344 | * fix(query): don't crash if timestamps on and update doesn't have a path #4425 #4424 #4418
|
3345 | * fix(query): ensure single nested subdoc is hydrated when running update validators #4420
|
3346 | * fix(query): cast non-$geometry operators for $geoWithin #4419
|
3347 | * docs: update contributor count #4415 [AdamZaczek](https://github.com/AdamZaczek)
|
3348 | * docs: add more clarification re: the index event #4410
|
3349 | * fix(document): only skip modifying subdoc path if parent is direct modified #4405
|
3350 | * fix(schema): throw cast error if provided date invalid #4404
|
3351 | * feat(error): use util.inspect() so CastError never prints "[object Object]" #4398
|
3352 | * fix(model): dont error if the discriminator key is unchanged #4387
|
3353 | * fix(query): don't throw unhandled rejection with bluebird when using cbs #4379
|
3354 |
|
3355 | 4.5.9 / 2016-08-14
|
3356 | ==================
|
3357 | * docs: add mixed schema doc for Object literal #4400 [Kikobeats](https://github.com/Kikobeats)
|
3358 | * fix(query): cast $geoWithin and convert mongoose objects to POJOs before casting #4392
|
3359 | * fix(schematype): dont cast defaults without parent doc #4390
|
3360 | * fix(query): disallow passing empty string to findOne() #4378
|
3361 | * fix(document): set single nested doc isNew correctly #4369
|
3362 | * fix(types): checks field name correctly with nested arrays and populate #4365
|
3363 | * fix(drivers): make debug output copy-pastable into mongodb shell #4352
|
3364 | * fix(services): run update validators on nested paths #4332
|
3365 | * fix(model): handle typeKey with discriminators #4339
|
3366 | * fix(query): apply timestamps to child schemas when explicitly specified in update #4049
|
3367 | * fix(schema): set prefix as nested path with add() #1730
|
3368 |
|
3369 | 4.5.8 / 2016-08-01
|
3370 | ==================
|
3371 | * fix(model): make changing the discriminator key cause a cast error #4374
|
3372 | * fix(query): pass projection fields to cursor #4371 #4342 [Corei13](https://github.com/Corei13)
|
3373 | * fix(document): support multiple paths for isModified #4370 [adambuczynski](https://github.com/adambuczynski)
|
3374 | * fix(querycursor): always cast fields before returning cursor #4355
|
3375 | * fix(query): support projection as alias for fields in findOneAndUpdate #4315
|
3376 | * fix(schema): treat index false + unique false as no index #4304
|
3377 | * fix(types): dont mark single nested subpath as modified if whole doc already modified #4224
|
3378 |
|
3379 | 4.5.7 / 2016-07-25
|
3380 | ==================
|
3381 | * fix(document): ensure no unhandled rejections if callback specified for save #4364
|
3382 |
|
3383 | 4.5.6 / 2016-07-23
|
3384 | ==================
|
3385 | * fix(schema): don't overwrite createdAt if it isn't selected #4351 [tusbar](https://github.com/tusbar)
|
3386 | * docs(api): fix link to populate() and add a new one from depopulate() #4345 [Delapouite](https://github.com/Delapouite)
|
3387 | * fix(types): ownerDocument() works properly with single nested docs #4344 [vichle](https://github.com/vichle)
|
3388 | * fix(populate): dont use findOne when justOne option set #4329
|
3389 | * fix(document): dont trigger .then() deprecated warning when calling doc.remove() #4291
|
3390 | * docs(connection): add promiseLibrary option #4280
|
3391 | * fix(plugins): apply global plugins to subschemas #4271
|
3392 | * fix(model): ensure `ensureIndex()` never calls back in the same tick #4246
|
3393 | * docs(schema): improve post hook docs on schema #4238
|
3394 |
|
3395 | 4.5.5 / 2016-07-18
|
3396 | ==================
|
3397 | * fix(document): handle setting root to empty obj if minimize false #4337
|
3398 | * fix: downgrade to mongodb 2.1.18 #4335 #4334 #4328 #4323
|
3399 | * perf(types): remove defineProperty usage in documentarray #4333
|
3400 | * fix(query): correctly pass model in .toConstructor() #4318
|
3401 | * fix(services): avoid double-validating mixed types with update validators #4305
|
3402 | * docs(middleware): add docs describing error handling middleware #4229
|
3403 | * fix(types): throw correct error when invalidating doc array #3602
|
3404 |
|
3405 | 4.5.4 / 2016-07-11
|
3406 | ==================
|
3407 | * fix(types): fix removing embedded documents #4309 [RoCat](https://github.com/RoCat)
|
3408 | * docs: various docs improvements #4302 #4294 [simonxca](https://github.com/simonxca)
|
3409 | * fix: upgrade mongodb -> 2.1.21 #4295 #4202 [RoCat](https://github.com/RoCat)
|
3410 | * fix(populate): convert single result to array for virtual populate because of lean #4288
|
3411 | * fix(populate): handle empty results for populate virtuals properly #4285 #4284
|
3412 | * fix(query): dont cast $inc to number if type is long #4283
|
3413 | * fix(types): allow setting single nested doc to null #4281
|
3414 | * fix(populate): handle deeply nested virtual populate #4278
|
3415 | * fix(document): allow setting empty obj if strict mode is false #4274
|
3416 | * fix(aggregate): allow passing obj to .unwind() #4239
|
3417 | * docs(document): add return statements to transform examples #1963
|
3418 |
|
3419 | 4.5.3 / 2016-06-30
|
3420 | ==================
|
3421 | * fix(query): pass correct options to QueryCursor #4277 #4266
|
3422 | * fix(querycursor): handle lean option correctly #4276 [gchudnov](https://github.com/gchudnov)
|
3423 | * fix(document): fix error handling when no error occurred #4275
|
3424 | * fix(error): use strict mode for version error #4272
|
3425 | * docs(populate): fix crashing compilation for populate.jade #4267
|
3426 | * fix(populate): support `justOne` option for populate virtuals #4263
|
3427 | * fix(populate): ensure model param gets used for populate virtuals #4261 #4243
|
3428 | * fix(querycursor): add ability to properly close the cursor #4258
|
3429 | * docs(model): correct link to Document #4250
|
3430 | * docs(populate): correct path for refPath populate #4240
|
3431 | * fix(document): support validator.isEmail as validator #4064
|
3432 |
|
3433 | 4.5.2 / 2016-06-24
|
3434 | ==================
|
3435 | * fix(connection): add checks for collection presence for `onOpen` and `onClose` #4259 [nodkz](https://github.com/nodkz)
|
3436 | * fix(cast): allow strings for $type operator #4256
|
3437 | * fix(querycursor): support lean() #4255 [pyramation](https://github.com/pyramation)
|
3438 | * fix(aggregate): allow setting noCursorTimeout option #4241
|
3439 | * fix(document): handle undefined for Array.pull #4222 [Sebmaster](https://github.com/Sebmaster)
|
3440 | * fix(connection): ensure promise.catch() catches initial connection error #4135
|
3441 | * fix(document): show additional context for VersionError #2633
|
3442 |
|
3443 | 4.5.1 / 2016-06-18
|
3444 | ==================
|
3445 | * fix(model): ensure wrapped insertMany() returns a promise #4237
|
3446 | * fix(populate): dont overwrite populateVirtuals when populating multiple paths #4234
|
3447 | * docs(model): clarify relationship between create() and save() #4233
|
3448 | * fix(types): handle option param in subdoc remove() #4231 [tdebarochez](https://github.com/tdebarochez)
|
3449 | * fix(document): dedupe modified paths #4226 #4223 [adambuczynski](https://github.com/adambuczynski)
|
3450 | * fix(model): don't modify user-provided options object #4221
|
3451 | * fix(document): handle setting nested path to empty object #4218 #4182
|
3452 | * fix(document): clean subpaths when removing single nested #4216
|
3453 | * fix(document): don't force transform on subdocs with inspect #4213
|
3454 | * fix(error): allow setting .messages object #4207
|
3455 |
|
3456 | 4.5.0 / 2016-06-13
|
3457 | ==================
|
3458 | * feat(query): added Query.prototype.catch() #4215 #4173 [adambuczynski](https://github.com/adambuczynski)
|
3459 | * feat(query): add Query.prototype.cursor() as a .stream() alternative #4117 #3637 #1907
|
3460 | * feat(document): add markUnmodified() function #4092 [vincentcr](https://github.com/vincentcr)
|
3461 | * feat(aggregate): convert aggregate object to a thenable #3995 #3946 [megagon](https://github.com/megagon)
|
3462 | * 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
|
3463 | * feat(model): add hooks for insertMany() #3846
|
3464 | * feat(schema): add support for custom query methods #3740 #2372
|
3465 | * feat(drivers): emit error on 'serverClosed' because that means that reconnect failed #3615
|
3466 | * feat(model): emit error event when callback throws exception #3499
|
3467 | * feat(model): inherit options from discriminator base schema #3414 #1818
|
3468 | * feat(populate): expose mongoose-populate-virtuals inspired populate API #2562
|
3469 | * feat(document): trigger remove hooks on subdocs when removing parent #2348
|
3470 | * feat(schema): add support for express-style error handling middleware #2284
|
3471 | * fix(model): disallow setting discriminator key #2041
|
3472 | * feat(schema): add support for nested arrays #1361
|
3473 |
|
3474 | 4.4.20 / 2016-06-05
|
3475 | ===================
|
3476 | * docs: clarify command buffering when using driver directly #4195
|
3477 | * fix(promise): correct broken mpromise .catch() #4189
|
3478 | * fix(document): clean modified subpaths when set path to empty obj #4182
|
3479 | * fix(query): support minDistance with query casting and `.near()` #4179
|
3480 | * fix(model): remove unnecessary .save() promise #4177
|
3481 | * fix(schema): cast all valid ObjectId strings to object ids #3365
|
3482 | * docs: remove unclear "unsafe" term in query docs #3282
|
3483 |
|
3484 | 4.4.19 / 2016-05-21
|
3485 | ===================
|
3486 | * fix(model): handle insertMany if timestamps not set #4171
|
3487 |
|
3488 | 4.4.18 / 2016-05-21
|
3489 | ===================
|
3490 | * docs: add missing period #4170 [gitname](https://github.com/gitname)
|
3491 | * docs: change build badge to svg #4158 [a0viedo](https://github.com/a0viedo)
|
3492 | * fix(model): update timestamps when setting `createdAt` #4155
|
3493 | * fix(utils): make sure to require in document properly #4152
|
3494 | * fix(model): throw overwrite error when discriminator name conflicts #4148
|
3495 |
|
3496 | 4.4.17 / 2016-05-13
|
3497 | ===================
|
3498 | * docs: remove repetition in QueryStream docs #4147 [hugoabonizio](https://github.com/hugoabonizio)
|
3499 | * fix(document): dont double-validate doc array elements #4145
|
3500 | * fix(document): call required function with correct scope #4142 [JedWatson](https://github.com/JedWatson)
|
3501 |
|
3502 | 4.4.16 / 2016-05-09
|
3503 | ===================
|
3504 | * refactor(document): use function reference #4133 [dciccale](https://github.com/dciccale)
|
3505 | * docs(querystream): clarify `destroy()` and close event #4126 [AnthonyCC](https://github.com/AnthonyCC)
|
3506 | * test: make before hook fail fast if it can't connect #4121
|
3507 | * docs: add description of CastError constructor params #4120
|
3508 | * fix(schematype): ensure single embedded defaults have $parent #4115
|
3509 | * fix(document): mark nested paths for validation #4111
|
3510 | * fix(schema): make sure element is always a subdoc in doc array validation #3816
|
3511 |
|
3512 | 4.4.15 / 2016-05-06
|
3513 | ===================
|
3514 | * fix(schema): support overwriting array default #4109
|
3515 | * fix(populate): assign values when resolving each populate #4104
|
3516 | * fix(aggregate): dont send async option to server #4101
|
3517 | * fix(model): ensure isNew set to false after insertMany #4099
|
3518 | * fix(connection): emit on error if listeners and no callback #4098
|
3519 | * fix(document): treat required fn that returns false as required: false #4094
|
3520 |
|
3521 | 4.4.14 / 2016-04-27
|
3522 | ===================
|
3523 | * fix: upgrade mongodb -> 2.1.18 #4102
|
3524 | * feat(connection): allow setting mongos as a uri query param #4093 #4035 [burtonjc](https://github.com/burtonjc)
|
3525 | * fix(populate): make sure to use correct assignment order for each model #4073
|
3526 | * fix(schema): add complete set of geospatial operators for single embedded subdocs #4014
|
3527 |
|
3528 | 3.8.40 / 2016-04-24
|
3529 | ===================
|
3530 | * upgraded; mquery -> 1.10.0 #3989
|
3531 |
|
3532 | 4.4.13 / 2016-04-21
|
3533 | ===================
|
3534 | * docs: add docs favicons #4082 [robertjustjones](https://github.com/robertjustjones)
|
3535 | * docs(model): correct Model.remove() return value #4075 [Jokero](https://github.com/Jokero)
|
3536 | * fix(query): add $geoWithin query casting for single embedded docs #4044
|
3537 | * fix(schema): handle setting trim option to falsy #4042
|
3538 | * fix(query): handle setDefaultsOnInsert with empty update #3835
|
3539 |
|
3540 | 4.4.12 / 2016-04-08
|
3541 | ===================
|
3542 | * docs(query): document context option for update and findOneAndUpdate #4055
|
3543 | * docs(query): correct link to $geoWithin docs #4050
|
3544 | * fix(project): upgrade to mongodb driver 2.1.16 #4048 [schmalliso](https://github.com/schmalliso)
|
3545 | * docs(validation): fix validation docs #4028
|
3546 | * fix(types): improve .id() check for document arrays #4011
|
3547 | * fix(query): remove premature return when using $rename #3171
|
3548 | * docs(connection): clarify relationship between models and connections #2157
|
3549 |
|
3550 | 4.4.11 / 2016-04-03
|
3551 | ===================
|
3552 | * fix: upgrade to mongodb driver 2.1.14 #4036 #4030 #3945
|
3553 | * fix(connection): allow connecting with { mongos: true } to handle query params #4032 [burtonjc](https://github.com/burtonjc)
|
3554 | * docs(connection): add autoIndex example #4026 [tilleps](https://github.com/tilleps)
|
3555 | * fix(query): handle passRawResult option when zero results #4023
|
3556 | * fix(populate): clone options before modifying #4022
|
3557 | * docs: add missing whitespace #4019 [chenxsan](https://github.com/chenxsan)
|
3558 | * chore: upgrade to ESLint 2.4.0 #4015 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3559 | * fix(types): single nested subdocs get ids by default #4008
|
3560 | * chore(project): add dependency status badge #4007 [Maheshkumar-Kakade](http://github.com/Maheshkumar-Kakade)
|
3561 | * fix: make sure timestamps don't trigger unnecessary updates #4005 #3991 [tommarien](https://github.com/tommarien)
|
3562 | * fix(document): inspect inherits schema options #4001
|
3563 | * fix(populate): don't mark populated path as modified if setting to object w/ same id #3992
|
3564 | * fix(document): support kind argument to invalidate #3965
|
3565 |
|
3566 | 4.4.10 / 2016-03-24
|
3567 | ===================
|
3568 | * fix(document): copy isNew when copying a document #3982
|
3569 | * fix(document): don't override defaults with undefined keys #3981
|
3570 | * fix(populate): merge multiple deep populate options for the same path #3974
|
3571 |
|
3572 | 4.4.9 / 2016-03-22
|
3573 | ==================
|
3574 | * fix: upgrade mongodb -> 2.1.10 re https://jira.mongodb.org/browse/NODE-679 #4010
|
3575 | * docs: add syntax highlighting for acquit examples #3975
|
3576 |
|
3577 | 4.4.8 / 2016-03-18
|
3578 | ==================
|
3579 | * docs(aggregate): clarify promises #3990 [megagon](https://github.com/megagon)
|
3580 | * fix: upgrade mquery -> 1.10 #3988 [matskiv](https://github.com/matskiv)
|
3581 | * feat(connection): 'all' event for repl sets #3986 [xizhibei](https://github.com/xizhibei)
|
3582 | * docs(types): clarify Array.pull #3985 [seriousManual](https://github.com/seriousManual)
|
3583 | * feat(query): support array syntax for .sort() via mquery 1.9 #3980
|
3584 | * fix(populate): support > 3 level nested populate #3973
|
3585 | * fix: MongooseThenable exposes connection correctly #3972
|
3586 | * docs(connection): add note about reconnectTries and reconnectInterval #3969
|
3587 | * feat(document): invalidate returns the new validationError #3964
|
3588 | * fix(query): .eq() as shorthand for .equals #3953 [Fonger](https://github.com/Fonger)
|
3589 | * docs(connection): clarify connection string vs passed options #3941
|
3590 | * docs(query): select option for findOneAndUpdate #3933
|
3591 | * fix(error): ValidationError.properties no longer enumerable #3925
|
3592 | * docs(validation): clarify how required validators work with nested schemas #3915
|
3593 | * fix: upgrade mongodb driver -> 2.1.8 to make partial index errors more sane #3864
|
3594 |
|
3595 | 4.4.7 / 2016-03-11
|
3596 | ==================
|
3597 | * fix(query): stop infinite recursion caused by merging a mongoose buffer #3961
|
3598 | * fix(populate): handle deep populate array -> array #3954
|
3599 | * fix(schema): allow setting timestamps with .set() #3952 #3951 #3907 [Fonger](https://github.com/Fonger)
|
3600 | * fix: MongooseThenable doesn't overwrite constructors #3940
|
3601 | * fix(schema): don't cast boolean to date #3935
|
3602 | * fix(drivers): support sslValidate in connection string #3929
|
3603 | * fix(types): correct markModified() for single nested subdocs #3910
|
3604 | * fix(drivers): catch and report any errors that occur in driver methods #3906
|
3605 | * fix(populate): get subpopulate model correctly when array under nested #3904
|
3606 | * fix(document): allow fields named 'pre' and 'post' #3902
|
3607 | * docs(query): clarify runValidators and setDefaultsOnInsert options #3892
|
3608 | * docs(validation): show how to use custom required messages in schema #2616
|
3609 |
|
3610 | 4.4.6 / 2016-03-02
|
3611 | ==================
|
3612 | * fix: upgrade mongodb driver to 2.1.7 #3938
|
3613 | * docs: fix plugins link #3917 #3909 [fbertone](https://github.com/fbertone)
|
3614 | * fix(query): sort+select with count works #3914
|
3615 | * fix(query): improve mergeUpdate's ability to handle nested docs #3890
|
3616 |
|
3617 | 4.4.5 / 2016-02-24
|
3618 | ==================
|
3619 | * fix(query): ability to select a length field (upgrade to mquery 1.7.0) #3903
|
3620 | * fix: include nested CastError as reason for array CastError #3897 [kotarou3](https://github.com/kotarou3)
|
3621 | * fix(schema): check for doc existence before taking fields #3889
|
3622 | * feat(schema): useNestedStrict option to take nested strict mode for update #3883
|
3623 | * docs(validation): clarify relationship between required and checkRequired #3822
|
3624 | * docs(populate): dynamic reference docs #3809
|
3625 | * docs: expand dropdown when clicking on file name #3807
|
3626 | * docs: plugins.mongoosejs.io is up #3127
|
3627 | * fix(schema): ability to add a virtual with same name as removed path #2398
|
3628 |
|
3629 | 4.4.4 / 2016-02-17
|
3630 | ==================
|
3631 | * fix(schema): handle field selection when casting single nested subdocs #3880
|
3632 | * fix(populate): populating using base model with multiple child models in result #3878
|
3633 | * fix: ability to properly use return value of `mongoose.connect()` #3874
|
3634 | * fix(populate): dont hydrate populated subdoc if lean option set #3873
|
3635 | * fix(connection): dont re-auth if already connected with useDb #3871
|
3636 | * docs: cover how to set underlying driver's promise lib #3869
|
3637 | * fix(document): handle conflicting names in validation errors with subdocs #3867
|
3638 | * fix(populate): set undefined instead of null consistently when populate couldn't find results #3859
|
3639 | * docs: link to `execPopulate()` in `doc.populate()` docs #3836
|
3640 | * docs(plugin): link to the `mongoose.plugin()` function #3732
|
3641 |
|
3642 | 4.4.3 / 2016-02-09
|
3643 | ==================
|
3644 | * fix: upgrade to mongodb 2.1.6 to remove kerberos log output #3861 #3860 [cartuchogl](https://github.com/cartuchogl)
|
3645 | * fix: require('mongoose') is no longer a pseudo-promise #3856
|
3646 | * fix(query): update casting for single nested docs #3820
|
3647 | * fix(populate): deep populating multiple paths with same options #3808
|
3648 | * docs(middleware): clarify save/validate hook order #1149
|
3649 |
|
3650 | 4.4.2 / 2016-02-05
|
3651 | ==================
|
3652 | * fix(aggregate): handle calling .cursor() with no options #3855
|
3653 | * fix: upgrade mongodb driver to 2.1.5 for GridFS memory leak fix #3854
|
3654 | * docs: fix schematype.html conflict #3853 #3850 #3843
|
3655 | * fix(model): bluebird unhandled rejection with ensureIndexes() on init #3837
|
3656 | * docs: autoIndex option for createConnection #3805
|
3657 |
|
3658 | 4.4.1 / 2016-02-03
|
3659 | ==================
|
3660 | * fix: linting broke some cases where we use `== null` as shorthand #3852
|
3661 | * docs: fix up schematype.html conflict #3848 #3843 [mynameiscoffey](https://github.com/mynameiscoffey)
|
3662 | * fix: backwards breaking change with `.connect()` return value #3847
|
3663 | * docs: downgrade dox and highlight.js to fix docs build #3845
|
3664 | * docs: clean up typo #3842 [Flash-](https://github.com/Flash-)
|
3665 | * fix(document): storeShard handles undefined values #3841
|
3666 | * chore: more linting #3838 [TrejGun](https://github.com/TrejGun)
|
3667 | * fix(schema): handle `text: true` as a way to declare a text index #3824
|
3668 |
|
3669 | 4.4.0 / 2016-02-02
|
3670 | ==================
|
3671 | * docs: fix expireAfterSeconds index option name #3831 [Flash-](https://github.com/Flash-)
|
3672 | * chore: run lint after test #3829 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3673 | * chore: use power-assert instead of assert #3828 [TrejGun](https://github.com/TrejGun)
|
3674 | * chore: stricter lint #3827 [TrejGun](https://github.com/TrejGun)
|
3675 | * feat(types): casting moment to date #3813 [TrejGun](https://github.com/TrejGun)
|
3676 | * chore: comma-last lint for test folder #3810 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3677 | * fix: upgrade async mpath, mpromise, muri, and sliced #3801 [TrejGun](https://github.com/TrejGun)
|
3678 | * fix(query): geo queries now return proper ES2015 promises #3800 [TrejGun](https://github.com/TrejGun)
|
3679 | * perf(types): use `Object.defineProperties()` for array #3799 [TrejGun](https://github.com/TrejGun)
|
3680 | * fix(model): mapReduce, ensureIndexes, remove, and save properly return ES2015 promises #3795 #3628 #3595 [TrejGun](https://github.com/TrejGun)
|
3681 | * docs: fixed dates in History.md #3791 [Jokero](https://github.com/Jokero)
|
3682 | * feat: connect, open, openSet, and disconnect return ES2015 promises #3790 #3622 [TrejGun](https://github.com/TrejGun)
|
3683 | * feat: custom type for int32 via mongoose-int32 npm package #3652 #3102
|
3684 | * feat: basic custom schema type API #995
|
3685 | * feat(model): `insertMany()` for more performant bulk inserts #723
|
3686 |
|
3687 | 4.3.7 / 2016-01-23
|
3688 | ==================
|
3689 | * docs: grammar fix in timestamps docs #3786 [zclancy](https://github.com/zclancy)
|
3690 | * fix(document): setting nested populated docs #3783 [slamuu](https://github.com/slamuu)
|
3691 | * fix(document): don't call post save hooks twice for pushed docs #3780
|
3692 | * fix(model): handle `_id=0` correctly #3776
|
3693 | * docs(middleware): async post hooks #3770
|
3694 | * docs: remove confusing sentence #3765 [marcusmellis89](https://github.com/marcusmellis89)
|
3695 |
|
3696 | 3.8.39 / 2016-01-15
|
3697 | ===================
|
3698 | * fixed; casting a number to a buffer #3764
|
3699 | * fixed; enumerating virtual property with nested objects #3743 [kusold](https://github.com/kusold)
|
3700 |
|
3701 | 4.3.6 / 2016-01-15
|
3702 | ==================
|
3703 | * fix(types): casting a number to a buffer #3764
|
3704 | * fix: add "listener" to reserved keywords #3759
|
3705 | * chore: upgrade uglify #3757 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3706 | * fix: broken execPopulate() in 4.3.5 #3755 #3753
|
3707 | * fix: ability to remove() a single embedded doc #3754
|
3708 | * style: comma-last in test folder #3751 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3709 | * docs: clarify versionKey option #3747
|
3710 | * fix: improve colorization for arrays #3744 [TrejGun](https://github.com/TrejGun)
|
3711 | * fix: webpack build #3713
|
3712 |
|
3713 | 4.3.5 / 2016-01-09
|
3714 | ==================
|
3715 | * fix(query): throw when 4th parameter to update not a function #3741 [kasselTrankos](https://github.com/kasselTrankos)
|
3716 | * fix(document): separate error type for setting an object to a primitive #3735
|
3717 | * fix(populate): Model.populate returns ES6 promise #3734
|
3718 | * fix(drivers): re-register event handlers after manual reconnect #3729
|
3719 | * docs: broken links #3727
|
3720 | * fix(validation): update validators run array validation #3724
|
3721 | * docs: clarify the need to use markModified with in-place date ops #3722
|
3722 | * fix(document): mark correct path as populated when manually populating array #3721
|
3723 | * fix(aggregate): support for array pipeline argument to append #3718 [dbkup](https://github.com/dbkup)
|
3724 | * docs: clarify `.connect()` callback #3705
|
3725 | * fix(schema): properly validate nested single nested docs #3702
|
3726 | * fix(types): handle setting documentarray of wrong type #3701
|
3727 | * docs: broken links #3700
|
3728 | * fix(drivers): debug output properly displays '0' #3689
|
3729 |
|
3730 | 3.8.38 / 2016-01-07
|
3731 | ===================
|
3732 | * fixed; aggregate.append an array #3730 [dbkup](https://github.com/dbkup)
|
3733 |
|
3734 | 4.3.4 / 2015-12-23
|
3735 | ==================
|
3736 | * fix: upgrade mongodb driver to 2.1.2 for repl set error #3712 [sansmischevia](https://github.com/sansmischevia)
|
3737 | * docs: validation docs typo #3709 [ivanmaeder](https://github.com/ivanmaeder)
|
3738 | * style: remove unused variables #3708 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3739 | * fix(schema): duck-typing for schemas #3703 [mgcrea](https://github.com/mgcrea)
|
3740 | * docs: connection sample code issue #3697
|
3741 | * fix(schema): duck-typing for schemas #3693 [mgcrea](https://github.com/mgcrea)
|
3742 | * docs: clarify id schema option #3638
|
3743 |
|
3744 | 4.3.3 / 2015-12-18
|
3745 | ==================
|
3746 | * fix(connection): properly support 'replSet' as well as 'replset' #3688 [taxilian](https://github.com/taxilian)
|
3747 | * fix(document): single nested doc pre hooks called before nested doc array #3687 [aliatsis](https://github.com/aliatsis)
|
3748 |
|
3749 | 4.3.2 / 2015-12-17
|
3750 | ==================
|
3751 | * fix(document): .set() into single nested schemas #3686
|
3752 | * fix(connection): support 'replSet' as well as 'replset' option #3685
|
3753 | * fix(document): bluebird unhandled rejection when validating doc arrays #3681
|
3754 | * fix(document): hooks for doc arrays in single nested schemas #3680
|
3755 | * fix(document): post hooks for single nested schemas #3679
|
3756 | * fix: remove unused npm module #3674 [sybarite](https://github.com/sybarite)
|
3757 | * fix(model): don't swallow exceptions in nested doc save callback #3671
|
3758 | * docs: update keepAlive info #3667 [ChrisZieba](https://github.com/ChrisZieba)
|
3759 | * fix(document): strict 'throw' throws a specific mongoose error #3662
|
3760 | * fix: flakey test #3332
|
3761 | * fix(query): more robust check for RegExp #2969
|
3762 |
|
3763 | 4.3.1 / 2015-12-11
|
3764 | ==================
|
3765 | * feat(aggregate): `.sample()` helper #3665
|
3766 | * fix(query): bitwise query operators with buffers #3663
|
3767 | * docs(migration): clarify `new` option and findByIdAndUpdate #3661
|
3768 |
|
3769 | 4.3.0 / 2015-12-09
|
3770 | ==================
|
3771 | * feat(query): support for mongodb 3.2 bitwise query operators #3660
|
3772 | * style: use comma-last style consistently #3657 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3773 | * feat: upgrade mongodb driver to 2.1.0 for full MongoDB 3.2 support #3656
|
3774 | * feat(aggregate): `.lookup()` helper #3532
|
3775 |
|
3776 | 4.2.10 / 2015-12-08
|
3777 | ===================
|
3778 | * fixed; upgraded marked #3653 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3779 | * docs; cross-db populate #3648
|
3780 | * docs; update mocha URL #3646 [ojhaujjwal](https://github.com/ojhaujjwal)
|
3781 | * fixed; call close callback asynchronously #3645
|
3782 | * docs; virtuals.html issue #3644 [Psarna94](https://github.com/Psarna94)
|
3783 | * fixed; single embedded doc casting on init #3642
|
3784 | * docs; validation docs improvements #3640
|
3785 |
|
3786 | 4.2.9 / 2015-12-02
|
3787 | ==================
|
3788 | * docs; defaults docs #3625
|
3789 | * fix; nested numeric keys causing an embedded document crash #3623
|
3790 | * fix; apply path getters before virtual getters #3618
|
3791 | * fix; casting for arrays in single nested schemas #3616
|
3792 |
|
3793 | 4.2.8 / 2015-11-25
|
3794 | ==================
|
3795 | * docs; clean up README links #3612 [ReadmeCritic](https://github.com/ReadmeCritic)
|
3796 | * fix; ESLint improvements #3605 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3797 | * fix; assigning single nested subdocs #3601
|
3798 | * docs; describe custom logging functions in `mongoose.set()` docs #3557
|
3799 |
|
3800 | 4.2.7 / 2015-11-20
|
3801 | ==================
|
3802 | * fixed; readPreference connection string option #3600
|
3803 | * fixed; pulling from manually populated arrays #3598 #3579
|
3804 | * docs; FAQ about OverwriteModelError #3597 [stcruy](https://github.com/stcruy)
|
3805 | * fixed; setting single embedded schemas to null #3596
|
3806 | * fixed; indexes for single embedded schemas #3594
|
3807 | * docs; clarify projection for `findOne()` #3593 [gunar](https://github.com/gunar)
|
3808 | * fixed; .ownerDocument() method on single embedded schemas #3589
|
3809 | * fixed; properly throw casterror for query on single embedded schema #3580
|
3810 | * upgraded; mongodb driver -> 2.0.49 for reconnect issue fix #3481
|
3811 |
|
3812 | 4.2.6 / 2015-11-16
|
3813 | ==================
|
3814 | * fixed; ability to manually populate an array #3575
|
3815 | * docs; clarify `isAsync` parameter to hooks #3573
|
3816 | * fixed; use captureStackTrace if possible instead #3571
|
3817 | * fixed; crash with buffer and update validators #3565 [johnpeb](https://github.com/johnpeb)
|
3818 | * fixed; update casting with operators overwrite: true #3564
|
3819 | * fixed; validation with single embedded docs #3562
|
3820 | * fixed; inline docs inherit parents $type key #3560
|
3821 | * docs; bad grammar in populate docs #3559 [amaurymedeiros](https://github.com/amaurymedeiros)
|
3822 | * fixed; properly handle populate option for find() #2321
|
3823 |
|
3824 | 3.8.37 / 2015-11-16
|
3825 | ===================
|
3826 | * fixed; use retainKeyOrder for cloning update op #3572
|
3827 |
|
3828 | 4.2.5 / 2015-11-09
|
3829 | ==================
|
3830 | * fixed; handle setting fields in pre update hooks with exec #3549
|
3831 | * upgraded; ESLint #3547 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3832 | * fixed; bluebird unhandled rejections with cast errors and .exec #3543
|
3833 | * fixed; min/max validators handling undefined #3539
|
3834 | * fixed; standalone mongos connections #3537
|
3835 | * fixed; call `.toObject()` when setting a single nested doc #3535
|
3836 | * fixed; single nested docs now have methods #3534
|
3837 | * fixed; single nested docs with .create() #3533 #3521 [tusbar](https://github.com/tusbar)
|
3838 | * docs; deep populate docs #3528
|
3839 | * fixed; deep populate schema ref handling #3507
|
3840 | * upgraded; mongodb driver -> 2.0.48 for sort overflow issue #3493
|
3841 | * docs; clarify default ids for discriminators #3482
|
3842 | * fixed; properly support .update(doc) #3221
|
3843 |
|
3844 | 4.2.4 / 2015-11-02
|
3845 | ==================
|
3846 | * fixed; upgraded `ms` package for security vulnerability #3524 [fhemberger](https://github.com/fhemberger)
|
3847 | * fixed; ESlint rules #3517 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3848 | * docs; typo in aggregation docs #3513 [rafakato](https://github.com/rafakato)
|
3849 | * fixed; add `dontThrowCastError` option to .update() for promises #3512
|
3850 | * fixed; don't double-cast buffers in node 4.x #3510 #3496
|
3851 | * fixed; population with single embedded schemas #3501
|
3852 | * fixed; pre('set') hooks work properly #3479
|
3853 | * docs; promises guide #3441
|
3854 |
|
3855 | 4.2.3 / 2015-10-26
|
3856 | ==================
|
3857 | * docs; remove unreferenced function in middleware.jade #3506
|
3858 | * fixed; handling auth with no username/password #3500 #3498 #3484 [mleanos](https://github.com/mleanos)
|
3859 | * fixed; more ESlint rules #3491 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3860 | * fixed; swallowing exceptions in save callback #3478
|
3861 | * docs; fixed broken links in subdocs guide #3477
|
3862 | * fixed; casting booleans to numbers #3475
|
3863 | * fixed; report CastError for subdoc arrays in findOneAndUpdate #3468
|
3864 | * fixed; geoNear returns ES6 promise #3458
|
3865 |
|
3866 | 4.2.2 / 2015-10-22
|
3867 | ==================
|
3868 | * fixed; go back to old pluralization code #3490
|
3869 |
|
3870 | 4.2.1 / 2015-10-22
|
3871 | ==================
|
3872 | * fixed; pluralization issues #3492 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3873 |
|
3874 | 4.2.0 / 2015-10-22
|
3875 | ==================
|
3876 | * added; support for skipVersioning for document arrays #3467 [chazmo03](https://github.com/chazmo03)
|
3877 | * added; ability to customize schema 'type' key #3459 #3245
|
3878 | * fixed; writeConcern for index builds #3455
|
3879 | * added; emit event when individual index build starts #3440 [objectiveSee](https://github.com/objectiveSee)
|
3880 | * added; 'context' option for update validators #3430
|
3881 | * refactor; pluralization now in separate pluralize-mongoose npm module #3415 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3882 | * added; customizable error validation messages #3406 [geronime](https://github.com/geronime)
|
3883 | * added; support for passing 'minimize' option to update #3381
|
3884 | * added; ability to customize debug logging format #3261
|
3885 | * added; baseModelName property for discriminator models #3202
|
3886 | * added; 'emitIndexErrors' option #3174
|
3887 | * added; 'async' option for aggregation cursor to support buffering #3160
|
3888 | * added; ability to skip validation for individual save() calls #2981
|
3889 | * added; single embedded schema support #2689 #585
|
3890 | * added; depopulate function #2509
|
3891 |
|
3892 | 4.1.12 / 2015-10-19
|
3893 | ===================
|
3894 | * docs; use readPreference instead of slaveOk for Query.setOptions docs #3471 [buunguyen](https://github.com/buunguyen)
|
3895 | * fixed; more helpful error when regexp contains null bytes #3456
|
3896 | * fixed; x509 auth issue #3454 [NoxHarmonium](https://github.com/NoxHarmonium)
|
3897 |
|
3898 | 3.8.36 / 2015-10-18
|
3899 | ===================
|
3900 | * fixed; Make array props non-enumerable #3461 [boblauer](https://github.com/boblauer)
|
3901 |
|
3902 | 4.1.11 / 2015-10-12
|
3903 | ===================
|
3904 | * fixed; update timestamps for update() if they're enabled #3450 [isayme](https://github.com/isayme)
|
3905 | * fixed; unit test error on node 0.10 #3449 [isayme](https://github.com/isayme)
|
3906 | * docs; timestamp option docs #3448 [isayme](https://github.com/isayme)
|
3907 | * docs; fix unexpected indent #3443 [isayme](https://github.com/isayme)
|
3908 | * fixed; use ES6 promises for Model.prototype.remove() #3442
|
3909 | * fixed; don't use unused 'safe' option for index builds #3439
|
3910 | * fixed; elemMatch casting bug #3437 #3435 [DefinitelyCarter](https://github.com/DefinitelyCarter)
|
3911 | * docs; schema.index docs #3434
|
3912 | * fixed; exceptions in save() callback getting swallowed on mongodb 2.4 #3371
|
3913 |
|
3914 | 4.1.10 / 2015-10-05
|
3915 | ===================
|
3916 | * docs; improve virtuals docs to explain virtuals schema option #3433 [zoyaH](https://github.com/zoyaH)
|
3917 | * docs; MongoDB server version compatibility guide #3427
|
3918 | * docs; clarify that findById and findByIdAndUpdate fire hooks #3422
|
3919 | * docs; clean up Model.save() docs #3420
|
3920 | * fixed; properly handle projection with just id #3407 #3412
|
3921 | * fixed; infinite loop when database document is corrupted #3405
|
3922 | * docs; clarify remove middleware #3388
|
3923 |
|
3924 | 4.1.9 / 2015-09-28
|
3925 | ==================
|
3926 | * docs; minlength and maxlength string validation docs #3368 #3413 [cosmosgenius](https://github.com/cosmosgenius)
|
3927 | * fixed; linting for infix operators #3397 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3928 | * fixed; proper casting for $all #3394
|
3929 | * fixed; unhandled rejection warnings with .create() #3391
|
3930 | * docs; clarify update validators on paths that aren't explicitly set #3386
|
3931 | * docs; custom validator examples #2778
|
3932 |
|
3933 | 4.1.8 / 2015-09-21
|
3934 | ==================
|
3935 | * docs; fixed typo in example #3390 [kmctown](https://github.com/kmctown)
|
3936 | * fixed; error in toObject() #3387 [guumaster](https://github.com/guumaster)
|
3937 | * fixed; handling for casting null dates #3383 [alexmingoia](https://github.com/alexmingoia)
|
3938 | * fixed; passing composite ids to `findByIdAndUpdate` #3380
|
3939 | * fixed; linting #3376 #3375 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3940 | * fixed; added NodeJS v4 to Travis #3374 [ChristianMurphy](https://github.com/ChristianMurphy)
|
3941 | * fixed; casting $elemMatch inside of $not #3373 [gaguirre](https://github.com/gaguirre)
|
3942 | * fixed; handle case where $slice is 0 #3369
|
3943 | * fixed; avoid running getters if path is populated #3357
|
3944 | * fixed; cast documents to objects when setting to a nested path #3346
|
3945 |
|
3946 | 4.1.7 / 2015-09-14
|
3947 | ==================
|
3948 | * docs; typos in SchemaType documentation #3367 [jasson15](https://github.com/jasson15)
|
3949 | * fixed; MONGOOSE_DRIVER_PATH env variable again #3360
|
3950 | * docs; added validateSync docs #3353
|
3951 | * fixed; set findOne op synchronously in query #3344
|
3952 | * fixed; handling for `.pull()` on a documentarray without an id #3341
|
3953 | * fixed; use natural order for cloning update conditions #3338
|
3954 | * fixed; issue with strict mode casting for mixed type updates #3337
|
3955 |
|
3956 | 4.1.6 / 2015-09-08
|
3957 | ==================
|
3958 | * fixed; MONGOOSE_DRIVER_PATH env variable #3345 [g13013](https://github.com/g13013)
|
3959 | * docs; global autoIndex option #3335 [albertorestifo](https://github.com/albertorestifo)
|
3960 | * docs; model documentation typos #3330
|
3961 | * fixed; report reason for CastError #3320
|
3962 | * fixed; .populate() no longer returns true after re-assigning #3308
|
3963 | * fixed; discriminators with aggregation geoNear #3304
|
3964 | * docs; discriminator docs #2743
|
3965 |
|
3966 | 4.1.5 / 2015-09-01
|
3967 | ==================
|
3968 | * fixed; document.remove() removing all docs #3326 #3325
|
3969 | * fixed; connect() checks for rs_name in options #3299
|
3970 | * docs; examples for schema.set() #3288
|
3971 | * fixed; checkKeys issue with bluebird #3286 [gregthegeek](https://github.com/gregthegeek)
|
3972 |
|
3973 | 4.1.4 / 2015-08-31
|
3974 | ==================
|
3975 | * fixed; ability to set strict: false for update #3305
|
3976 | * fixed; .create() properly uses ES6 promises #3297
|
3977 | * fixed; pre hooks on nested subdocs #3291 #3284 [aliatsis](https://github.com/aliatsis)
|
3978 | * docs; remove unclear text in .remove() docs #3282
|
3979 | * fixed; pre hooks called twice for 3rd-level nested doc #3281
|
3980 | * fixed; nested transforms #3279
|
3981 | * upgraded; mquery -> 1.6.3 #3278 #3272
|
3982 | * fixed; don't swallow callback errors by default #3273 #3222
|
3983 | * fixed; properly get nested paths from nested schemas #3265
|
3984 | * fixed; remove() with id undefined deleting all docs #3260 [thanpolas](https://github.com/thanpolas)
|
3985 | * fixed; handling for non-numeric projections #3256
|
3986 | * fixed; findById with id undefined returning first doc #3255
|
3987 | * fixed; use retainKeyOrder for update #3215
|
3988 | * added; passRawResult option to findOneAndUpdate for backwards compat #3173
|
3989 |
|
3990 | 4.1.3 / 2015-08-16
|
3991 | ==================
|
3992 | * fixed; getUpdate() in pre update hooks #3520 [gregthegeek](https://github.com/gregthegeek)
|
3993 | * fixed; handleArray() ensures arg is an array #3238 [jloveridge](https://github.com/jloveridge)
|
3994 | * fixed; refresh required path cache when recreating docs #3199
|
3995 | * fixed; $ operator on unwind aggregation helper #3197
|
3996 | * fixed; findOneAndUpdate() properly returns raw result as third arg to callback #3173
|
3997 | * fixed; querystream with dynamic refs #3108
|
3998 |
|
3999 | 3.8.35 / 2015-08-14
|
4000 | ===================
|
4001 | * fixed; handling for minimize on nested objects #2930
|
4002 | * fixed; don't crash when schema.path.options undefined #1824
|
4003 |
|
4004 | 4.1.2 / 2015-08-10
|
4005 | ==================
|
4006 | * fixed; better handling for Jade templates #3241 [kbadk](https://github.com/kbadk)
|
4007 | * added; ESlint trailing spaces #3234 [ChristianMurphy](https://github.com/ChristianMurphy)
|
4008 | * added; ESlint #3191 [ChristianMurphy](https://github.com/ChristianMurphy)
|
4009 | * fixed; properly emit event on disconnect #3183
|
4010 | * fixed; copy options properly using Query.toConstructor() #3176
|
4011 | * fixed; setMaxListeners() issue in browser build #3170
|
4012 | * fixed; node driver -> 2.0.40 to not store undefined keys as null #3169
|
4013 | * fixed; update validators handle positional operator #3167
|
4014 | * fixed; handle $all + $elemMatch query casting #3163
|
4015 | * fixed; post save hooks don't swallow extra args #3155
|
4016 | * docs; spelling mistake in index.jade #3154
|
4017 | * fixed; don't crash when toObject() has no fields #3130
|
4018 | * fixed; apply toObject() recursively for find and update queries #3086 [naoina](https://github.com/naoina)
|
4019 |
|
4020 | 4.1.1 / 2015-08-03
|
4021 | ==================
|
4022 | * fixed; aggregate exec() crash with no callback #3212 #3198 [jpgarcia](https://github.com/jpgarcia)
|
4023 | * fixed; pre init hooks now properly synchronous #3207 [burtonjc](https://github.com/burtonjc)
|
4024 | * fixed; updateValidators doesn't flatten dates #3206 #3194 [victorkohl](https://github.com/victorkohl)
|
4025 | * fixed; default fields don't make document dirty between saves #3205 [burtonjc](https://github.com/burtonjc)
|
4026 | * fixed; save passes 0 as numAffected rather than undefined when no change #3195 [burtonjc](https://github.com/burtonjc)
|
4027 | * fixed; better handling for positional operator in update #3185
|
4028 | * fixed; use Travis containers #3181 [ChristianMurphy](https://github.com/ChristianMurphy)
|
4029 | * fixed; leaked variable #3180 [ChristianMurphy](https://github.com/ChristianMurphy)
|
4030 |
|
4031 | 4.1.0 / 2015-07-24
|
4032 | ==================
|
4033 | * added; `schema.queue()` now public #3193
|
4034 | * added; raw result as third parameter to findOneAndX callback #3173
|
4035 | * added; ability to run validateSync() on only certain fields #3153
|
4036 | * added; subPopulate #3103 [timbur](https://github.com/timbur)
|
4037 | * added; $isDefault function on documents #3077
|
4038 | * added; additional properties for built-in validator messages #3063 [KLicheR](https://github.com/KLicheR)
|
4039 | * added; getQuery() and getUpdate() functions for Query #3013
|
4040 | * added; export DocumentProvider #2996
|
4041 | * added; ability to remove path from schema #2993 [JohnnyEstilles](https://github.com/JohnnyEstilles)
|
4042 | * added; .explain() helper for aggregate #2714
|
4043 | * added; ability to specify which ES6-compatible promises library mongoose uses #2688
|
4044 | * added; export Aggregate #1910
|
4045 |
|
4046 | 4.0.8 / 2015-07-20
|
4047 | ==================
|
4048 | * fixed; assignment with document arrays #3178 [rosston](https://github.com/rosston)
|
4049 | * docs; remove duplicate paragraph #3164 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4050 | * docs; improve findOneAndXYZ parameter descriptions #3159 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4051 | * docs; add findOneAndRemove to list of supported middleware #3158
|
4052 | * docs; clarify ensureIndex #3156
|
4053 | * fixed; refuse to save/remove document without id #3118
|
4054 | * fixed; hooks next() no longer accidentally returns promise #3104
|
4055 | * fixed; strict mode for findOneAndUpdate #2947
|
4056 | * added; .min.js.gz file for browser component #2806
|
4057 |
|
4058 | 3.8.34 / 2015-07-20
|
4059 | ===================
|
4060 | * fixed; allow using $rename #3171
|
4061 | * fixed; no longer modifies update arguments #3008
|
4062 |
|
4063 | 4.0.7 / 2015-07-11
|
4064 | ==================
|
4065 | * fixed; documentarray id method when using object id #3157 [siboulet](https://github.com/siboulet)
|
4066 | * docs; improve findById docs #3147
|
4067 | * fixed; update validators handle null properly #3136 [odeke-em](https://github.com/odeke-em)
|
4068 | * docs; jsdoc syntax errors #3128 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4069 | * docs; fix typo #3126 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4070 | * docs; proper formatting in queries.jade #3121 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4071 | * docs; correct example for string maxlength validator #3111 [rhmeeuwisse](https://github.com/rhmeeuwisse)
|
4072 | * fixed; setDefaultsOnInsert with arrays #3107
|
4073 | * docs; LearnBoost -> Automattic in package.json #3099
|
4074 | * docs; pre update hook example #3094 [danpe](https://github.com/danpe)
|
4075 | * docs; clarify query middleware example #3051
|
4076 | * fixed; ValidationErrors in strict mode #3046
|
4077 | * fixed; set findOneAndUpdate properties before hooks run #3024
|
4078 |
|
4079 | 3.8.33 / 2015-07-10
|
4080 | ===================
|
4081 | * upgraded; node driver -> 1.4.38
|
4082 | * fixed; dont crash when `match` validator undefined
|
4083 |
|
4084 | 4.0.6 / 2015-06-21
|
4085 | ==================
|
4086 | * upgraded; node driver -> 2.0.34 #3087
|
4087 | * fixed; apply setters on addToSet, etc #3067 [victorkohl](https://github.com/victorkohl)
|
4088 | * fixed; missing semicolons #3065 [sokolikp](https://github.com/sokolikp)
|
4089 | * fixed; proper handling for async doc hooks #3062 [gregthegeek](https://github.com/gregthegeek)
|
4090 | * fixed; dont set failed populate field to null if other docs are successfully populated #3055 [eloytoro](https://github.com/eloytoro)
|
4091 | * fixed; setDefaultsOnInsert with document arrays #3034 [taxilian](https://github.com/taxilian)
|
4092 | * fixed; setters fired on array items #3032
|
4093 | * fixed; stop validateSync() on first error #3025 [victorkohl](https://github.com/victorkohl)
|
4094 | * docs; improve query docs #3016
|
4095 | * fixed; always exclude _id when its deselected #3010
|
4096 | * fixed; enum validator kind property #3009
|
4097 | * fixed; mquery collection names #3005
|
4098 | * docs; clarify mongos option #3000
|
4099 | * docs; clarify that query builder has a .then() #2995
|
4100 | * fixed; race condition in dynamic ref #2992
|
4101 |
|
4102 | 3.8.31 / 2015-06-20
|
4103 | ===================
|
4104 | * fixed; properly handle text search with discriminators and $meta #2166
|
4105 |
|
4106 | 4.0.5 / 2015-06-05
|
4107 | ==================
|
4108 | * fixed; ObjectIds and buffers when mongodb driver is a sibling dependency #3050 #3048 #3040 #3031 #3020 #2988 #2951
|
4109 | * fixed; warn user when 'increment' is used in schema #3039
|
4110 | * fixed; setDefaultsOnInsert with array in schema #3035
|
4111 | * fixed; dont use default Object toString to cast to string #3030
|
4112 | * added; npm badge #3020 [odeke-em](https://github.com/odeke-em)
|
4113 | * fixed; proper handling for calling .set() with a subdoc #2782
|
4114 | * fixed; dont throw cast error when using $rename on non-string path #1845
|
4115 |
|
4116 | 3.8.30 / 2015-06-05
|
4117 | ===================
|
4118 | * fixed; enable users to set all options with tailable() #2883
|
4119 |
|
4120 | 4.0.4 / 2015-05-28
|
4121 | ==================
|
4122 | * docs; findAndModify new parameter correct default value #3012 [JonForest](https://github.com/JonForest)
|
4123 | * docs; clarify pluralization rules #2999 [anonmily](https://github.com/anonmily)
|
4124 | * fix; discriminators with schema methods #2978
|
4125 | * fix; make `isModified` a schema reserved keyword #2975
|
4126 | * fix; properly fire setters when initializing path with object #2943
|
4127 | * fix; can use `setDefaultsOnInsert` without specifying `runValidators` #2938
|
4128 | * fix; always set validation errors `kind` property #2885
|
4129 | * upgraded; node driver -> 2.0.33 #2865
|
4130 |
|
4131 | 3.8.29 / 2015-05-27
|
4132 | ===================
|
4133 | * fixed; Handle JSON.stringify properly for nested docs #2990
|
4134 |
|
4135 | 4.0.3 / 2015-05-13
|
4136 | ==================
|
4137 | * upgraded; mquery -> 1.5.1 #2983
|
4138 | * docs; clarify context for query middleware #2974
|
4139 | * docs; fix missing type -> kind rename in History.md #2961
|
4140 | * fixed; broken ReadPreference include on Heroku #2957
|
4141 | * docs; correct form for cursor aggregate option #2955
|
4142 | * fixed; sync post hooks now properly called after function #2949 #2925
|
4143 | * fixed; fix sub-doc validate() function #2929
|
4144 | * upgraded; node driver -> 2.0.30 #2926
|
4145 | * docs; retainKeyOrder for save() #2924
|
4146 | * docs; fix broken class names #2913
|
4147 | * fixed; error when using node-clone on a doc #2909
|
4148 | * fixed; no more hard references to bson #2908 #2906
|
4149 | * fixed; dont overwrite array values #2907 [naoina](https://github.com/naoina)
|
4150 | * fixed; use readPreference=primary for findOneAndUpdate #2899 #2823
|
4151 | * docs; clarify that update validators only run on $set and $unset #2889
|
4152 | * fixed; set kind consistently for built-in validators #2885
|
4153 | * docs; single field populated documents #2884
|
4154 | * fixed; nested objects are now enumerable #2880 [toblerpwn](https://github.com/toblerpwn)
|
4155 | * fixed; properly populate field when ref, lean, stream used together #2841
|
4156 | * docs; fixed migration guide jade error #2807
|
4157 |
|
4158 | 3.8.28 / 2015-05-12
|
4159 | ===================
|
4160 | * fixed; proper handling for toJSON options #2910
|
4161 | * fixed; dont attach virtuals to embedded docs in update() #2046
|
4162 |
|
4163 | 4.0.2 / 2015-04-23
|
4164 | ==================
|
4165 | * fixed; error thrown when calling .validate() on subdoc not in an array #2902
|
4166 | * fixed; rename define() to play nice with webpack #2900 [jspears](https://github.com/jspears)
|
4167 | * fixed; pre validate called twice with discriminators #2892
|
4168 | * fixed; .inspect() on mongoose.Types #2875
|
4169 | * docs; correct callback params for Model.update #2872
|
4170 | * fixed; setDefaultsOnInsert now works when runValidators not specified #2870
|
4171 | * fixed; Document now wraps EventEmitter.addListener #2867
|
4172 | * fixed; call non-hook functions in schema queue #2856
|
4173 | * fixed; statics can be mocked out for tests #2848 [ninelb](https://github.com/ninelb)
|
4174 | * upgraded; mquery 1.4.0 for bluebird bug fix #2846
|
4175 | * fixed; required validators run first #2843
|
4176 | * docs; improved docs for new option to findAndMody #2838
|
4177 | * docs; populate example now uses correct field #2837 [swilliams](https://github.com/swilliams)
|
4178 | * fixed; pre validate changes causing VersionError #2835
|
4179 | * fixed; get path from correct place when setting CastError #2832
|
4180 | * docs; improve docs for Model.update() function signature #2827 [irnc](https://github.com/irnc)
|
4181 | * fixed; populating discriminators #2825 [chetverikov](https://github.com/chetverikov)
|
4182 | * fixed; discriminators with nested schemas #2821
|
4183 | * fixed; CastErrors with embedded docs #2819
|
4184 | * fixed; post save hook context #2816
|
4185 | * docs; 3.8.x -> 4.x migration guide #2807
|
4186 | * fixed; proper _distinct copying for query #2765 [cdelauder](https://github.com/cdelauder)
|
4187 |
|
4188 | 3.8.27 / 2015-04-22
|
4189 | ===================
|
4190 | * fixed; dont duplicate db calls on Q.ninvoke() #2864
|
4191 | * fixed; Model.find arguments naming in docs #2828
|
4192 | * fixed; Support ipv6 in connection strings #2298
|
4193 |
|
4194 | 3.8.26 / 2015-04-07
|
4195 | ===================
|
4196 | * fixed; TypeError when setting date to undefined #2833
|
4197 | * fixed; handle CastError properly in distinct() with no callback #2786
|
4198 | * fixed; broken links in queries docs #2779
|
4199 | * fixed; dont mark buffer as modified when setting type initially #2738
|
4200 | * fixed; dont crash when using slice with populate #1934
|
4201 |
|
4202 | 4.0.1 / 2015-03-28
|
4203 | ==================
|
4204 | * fixed; properly handle empty cast doc in update() with promises #2796
|
4205 | * fixed; unstable warning #2794
|
4206 | * fixed; findAndModify docs now show new option is false by default #2793
|
4207 |
|
4208 | 4.0.0 / 2015-03-25
|
4209 | ==================
|
4210 | * fixed; on-the-fly schema docs typo #2783 [artiifix](https://github.com/artiifix)
|
4211 | * fixed; cast error validation handling #2775 #2766 #2678
|
4212 | * fixed; discriminators with populate() #2773 #2719 [chetverikov](https://github.com/chetverikov)
|
4213 | * fixed; increment now a reserved path #2709
|
4214 | * fixed; avoid sending duplicate object ids in populate() #2683
|
4215 | * upgraded; mongodb to 2.0.24 to properly emit reconnect event multiple times #2656
|
4216 |
|
4217 | 4.0.0-rc4 / 2015-03-14
|
4218 | ======================
|
4219 | * fixed; toObject virtuals schema option handled properly #2751
|
4220 | * fixed; update validators work on document arrays #2733
|
4221 | * fixed; check for cast errors on $set #2729
|
4222 | * fixed; instance field set for all schema types #2727 [csdco](https://github.com/csdco)
|
4223 | * fixed; dont run other validators if required fails #2725
|
4224 | * fixed; custom getters execute on ref paths #2610
|
4225 | * fixed; save defaults if they were set when doc was loaded from db #2558
|
4226 | * fixed; pre validate now runs before pre save #2462
|
4227 | * fixed; no longer throws errors with --use_strict #2281
|
4228 |
|
4229 | 3.8.25 / 2015-03-13
|
4230 | ===================
|
4231 | * fixed; debug output reverses order of aggregation keys #2759
|
4232 | * fixed; $eq is a valid query selector in 3.0 #2752
|
4233 | * fixed; upgraded node driver to 1.4.32 for handling non-numeric poolSize #2682
|
4234 | * fixed; update() with overwrite sets _id for nested docs #2658
|
4235 | * fixed; casting for operators in $elemMatch #2199
|
4236 |
|
4237 | 4.0.0-rc3 / 2015-02-28
|
4238 | ======================
|
4239 | * fixed; update() pre hooks run before validators #2706
|
4240 | * fixed; setters not called on arrays of refs #2698 [brandom](https://github.com/brandom)
|
4241 | * fixed; use node driver 2.0.18 for nodejs 0.12 support #2685
|
4242 | * fixed; comments reference file that no longer exists #2681
|
4243 | * fixed; populated() returns _id of manually populated doc #2678
|
4244 | * added; ability to exclude version key in toObject() #2675
|
4245 | * fixed; dont allow setting nested path to a string #2592
|
4246 | * fixed; can cast objects with _id field to ObjectIds #2581
|
4247 | * fixed; on-the-fly schema getters #2360
|
4248 | * added; strict option for findOneAndUpdate() #1967
|
4249 |
|
4250 | 3.8.24 / 2015-02-25
|
4251 | ===================
|
4252 | * fixed; properly apply child schema transforms #2691
|
4253 | * fixed; make copy of findOneAndUpdate options before modifying #2687
|
4254 | * fixed; apply defaults when parent path is selected #2670 #2629
|
4255 | * fixed; properly get ref property for nested paths #2665
|
4256 | * fixed; node driver makes copy of authenticate options before modifying them #2619
|
4257 | * fixed; dont block process exit when auth fails #2599
|
4258 | * fixed; remove redundant clone in update() #2537
|
4259 |
|
4260 | 4.0.0-rc2 / 2015-02-10
|
4261 | ======================
|
4262 | * added; io.js to travis build
|
4263 | * removed; browser build dependencies not installed by default
|
4264 | * added; dynamic refpaths #2640 [chetverikov](https://github.com/chetverikov)
|
4265 | * fixed; dont call child schema transforms on parent #2639 [chetverikov](https://github.com/chetverikov)
|
4266 | * fixed; get rid of remove option if new is set in findAndModify #2598
|
4267 | * fixed; aggregate all document array validation errors #2589
|
4268 | * fixed; custom setters called when setting value to undefined #1892
|
4269 |
|
4270 | 3.8.23 / 2015-02-06
|
4271 | ===================
|
4272 | * fixed; unset opts.remove when upsert is true #2519
|
4273 | * fixed; array saved as object when path is object in array #2442
|
4274 | * fixed; inline transforms #2440
|
4275 | * fixed; check for callback in count() #2204
|
4276 | * fixed; documentation for selecting fields #1534
|
4277 |
|
4278 | 4.0.0-rc1 / 2015-02-01
|
4279 | ======================
|
4280 | * fixed; use driver 2.0.14
|
4281 | * changed; use transform: true by default #2245
|
4282 |
|
4283 | 4.0.0-rc0 / 2015-01-31
|
4284 | ===================
|
4285 | * fixed; wrong order for distinct() params #2628
|
4286 | * fixed; handling no query argument to remove() #2627
|
4287 | * fixed; createModel and discriminators #2623 [ashaffer](https://github.com/ashaffer)
|
4288 | * added; pre('count') middleware #2621
|
4289 | * fixed; double validation calls on document arrays #2618
|
4290 | * added; validate() catches cast errors #2611
|
4291 | * fixed; respect replicaSet parameter in connection string #2609
|
4292 | * added; can explicitly exclude paths from versioning #2576 [csabapalfi](https://github.com/csabapalfi)
|
4293 | * upgraded; driver to 2.0.15 #2552
|
4294 | * fixed; save() handles errors more gracefully in ES6 #2371
|
4295 | * fixed; undefined is now a valid argument to findOneAndUpdate #2272
|
4296 | * changed; `new` option to findAndModify ops is false by default #2262
|
4297 |
|
4298 | 3.8.22 / 2015-01-24
|
4299 | ===================
|
4300 | * upgraded; node-mongodb-native to 1.4.28 #2587 [Climax777](https://github.com/Climax777)
|
4301 | * added; additional documentation for validators #2449
|
4302 | * fixed; stack overflow when creating massive arrays #2423
|
4303 | * fixed; undefined is a valid id for queries #2411
|
4304 | * fixed; properly create nested schema index when same schema used twice #2322
|
4305 | * added; link to plugin generator in docs #2085 [huei90](https://github.com/huei90)
|
4306 | * fixed; optional arguments documentation for findOne() #1971 [nachinius](https://github.com/nachinius)
|
4307 |
|
4308 | 3.9.7 / 2014-12-19
|
4309 | ===================
|
4310 | * added; proper cursors for aggregate #2539 [changyy](https://github.com/changyy)
|
4311 | * added; min/max built-in validators for dates #2531 [bshamblen](https://github.com/bshamblen)
|
4312 | * fixed; save and validate are now reserved keywords #2380
|
4313 | * added; basic documentation for browser component #2256
|
4314 | * added; find and findOne hooks (query middleware) #2138
|
4315 | * fixed; throw a DivergentArrayError when saving positional operator queries #2031
|
4316 | * added; ability to use options as a document property #1416
|
4317 | * fixed; document no longer inherits from event emitter and so domain and _events are no longer reserved #1351
|
4318 | * removed; setProfiling #1349
|
4319 |
|
4320 | 3.8.21 / 2014-12-18
|
4321 | ===================
|
4322 | * fixed; syntax in index.jade #2517 [elderbas](https://github.com/elderbas)
|
4323 | * fixed; writable statics #2510 #2528
|
4324 | * fixed; overwrite and explicit $set casting #2515
|
4325 |
|
4326 | 3.9.6 / 2014-12-05
|
4327 | ===================
|
4328 | * added; correctly run validators on each element of array when entire array is modified #661 #1227
|
4329 | * added; castErrors in validation #1013 [jondavidjohn](https://github.com/jondavidjohn)
|
4330 | * added; specify text indexes in schema fields #1401 [sr527](https://github.com/sr527)
|
4331 | * added; ability to set field with validators to undefined #1594 [alabid](https://github.com/alabid)
|
4332 | * added; .create() returns an array when passed an array #1746 [alabid](https://github.com/alabid)
|
4333 | * added; test suite and docs for use with co and yield #2177 #2474
|
4334 | * fixed; subdocument toObject() transforms #2447 [chmanie](https://github.com/chmanie)
|
4335 | * fixed; Model.create() with save errors #2484
|
4336 | * added; pass options to .save() and .remove() #2494 [jondavidjohn](https://github.com/jondavidjohn)
|
4337 |
|
4338 | 3.8.20 / 2014-12-01
|
4339 | ===================
|
4340 | * fixed; recursive readPref #2490 [kjvalencik](https://github.com/kjvalencik)
|
4341 | * fixed; make sure to copy parameters to update() before modifying #2406 [alabid](https://github.com/alabid)
|
4342 | * fixed; unclear documentation about query callbacks #2319
|
4343 | * fixed; setting a schema-less field to an empty object #2314 [alabid](https://github.com/alabid)
|
4344 | * fixed; registering statics and methods for discriminators #2167 [alabid](https://github.com/alabid)
|
4345 |
|
4346 | 3.9.5 / 2014-11-10
|
4347 | ===================
|
4348 | * added; ability to disable autoIndex on a per-connection basis #1875 [sr527](https://github.com/sr527)
|
4349 | * fixed; `geoNear()` no longer enforces legacy coordinate pairs - supports GeoJSON #1987 [alabid](https://github.com/alabid)
|
4350 | * fixed; browser component works when minified with mangled variable names #2302
|
4351 | * fixed; `doc.errors` now cleared before `validate()` called #2302
|
4352 | * added; `execPopulate()` function to make `doc.populate()` compatible with promises #2317
|
4353 | * fixed; `count()` no longer throws an error when used with `sort()` #2374
|
4354 | * fixed; `save()` no longer recursively calls `save()` on populated fields #2418
|
4355 |
|
4356 | 3.8.19 / 2014-11-09
|
4357 | ===================
|
4358 | * fixed; make sure to not override subdoc _ids on find #2276 [alabid](https://github.com/alabid)
|
4359 | * fixed; exception when comparing two documents when one lacks _id #2333 [slawo](https://github.com/slawo)
|
4360 | * fixed; getters for properties with non-strict schemas #2439 [alabid](https://github.com/alabid)
|
4361 | * fixed; inconsistent URI format in docs #2414 [sr527](https://github.com/sr527)
|
4362 |
|
4363 | 3.9.4 / 2014-10-25
|
4364 | ==================
|
4365 | * fixed; statics no longer can be overwritten #2343 [nkcmr](https://github.com/chetverikov)
|
4366 | * added; ability to set single populated paths to documents #1530
|
4367 | * added; setDefaultsOnInsert and runValidator options for findOneAndUpdate() #860
|
4368 |
|
4369 | 3.8.18 / 2014-10-22
|
4370 | ==================
|
4371 | * fixed; Dont use all toObject options in save #2340 [chetverikov](https://github.com/chetverikov)
|
4372 |
|
4373 | 3.9.3 / 2014-10-01
|
4374 | =================
|
4375 | * added; support for virtuals that return objects #2294
|
4376 | * added; ability to manually hydrate POJOs into mongoose objects #2292
|
4377 | * added; setDefaultsOnInsert and runValidator options for update() #860
|
4378 |
|
4379 | 3.8.17 / 2014-09-29
|
4380 | ==================
|
4381 | * fixed; use schema options retainKeyOrder in save() #2274
|
4382 | * fixed; fix skip in populate when limit is set #2252
|
4383 | * fixed; fix stack overflow when passing MongooseArray to findAndModify #2214
|
4384 | * fixed; optimize .length usage in populate #2289
|
4385 |
|
4386 | 3.9.2 / 2014-09-08
|
4387 | ==================
|
4388 | * added; test coverage for browser component #2255
|
4389 | * added; in-order execution of validators #2243
|
4390 | * added; custom fields for validators #2132
|
4391 | * removed; exception thrown when find() used with count() #1950
|
4392 |
|
4393 | 3.8.16 / 2014-09-08
|
4394 | ==================
|
4395 | * fixed; properly remove modified array paths if array has been overwritten #1638
|
4396 | * fixed; key check errors #1884
|
4397 | * fixed; make sure populate on an array always returns a Mongoose array #2214
|
4398 | * fixed; SSL connections with node 0.11 #2234
|
4399 | * fixed; return sensible strings for promise errors #2239
|
4400 |
|
4401 | 3.9.1 / 2014-08-17
|
4402 | ==================
|
4403 | * added; alpha version of browser-side schema validation #2254
|
4404 | * added; support passing a function to schemas `required` field #2247
|
4405 | * added; support for setting updatedAt and createdAt timestamps #2227
|
4406 | * added; document.validate() returns a promise #2131
|
4407 |
|
4408 | 3.8.15 / 2014-08-17
|
4409 | ==================
|
4410 | * fixed; Replica set connection string example in docs #2246
|
4411 | * fixed; bubble up parseError event #2229
|
4412 | * fixed; removed buggy populate cache #2176
|
4413 | * fixed; dont $inc versionKey if its being $set #1933
|
4414 | * fixed; cast $or and $and in $pull #1932
|
4415 | * fixed; properly cast to schema in stream() #1862
|
4416 | * fixed; memory leak in nested objects #1565 #2211 [devongovett](https://github.com/devongovett)
|
4417 |
|
4418 | 3.8.14 / 2014-07-26
|
4419 | ==================
|
4420 | * fixed; stringifying MongooseArray shows nested arrays #2002
|
4421 | * fixed; use populated doc schema in toObject and toJSON by default #2035
|
4422 | * fixed; dont crash on arrays containing null #2140
|
4423 | * fixed; model.update w/ upsert has same return values on .exec and promise #2143
|
4424 | * fixed; better handling for populate limit with multiple documents #2151
|
4425 | * fixed; dont prevent users from adding weights to text index #2183
|
4426 | * fixed; helper for aggregation cursor #2187
|
4427 | * updated; node-mongodb-native to 1.4.7
|
4428 |
|
4429 | 3.8.13 / 2014-07-15
|
4430 | ==================
|
4431 | * fixed; memory leak with isNew events #2159
|
4432 | * fixed; docs for overwrite option for update() #2144
|
4433 | * fixed; storeShard() handles dates properly #2127
|
4434 | * fixed; sub-doc changes not getting persisted to db after save #2082
|
4435 | * fixed; populate with _id: 0 actually removes _id instead of setting to undefined #2123
|
4436 | * fixed; save versionKey on findOneAndUpdate w/ upsert #2122
|
4437 | * fixed; fix typo in 2.8 docs #2120 [shakirullahi](https://github.com/shakirullahi)
|
4438 | * fixed; support maxTimeMs #2102 [yuukinajima](https://github.com/yuukinajima)
|
4439 | * fixed; support $currentDate #2019
|
4440 | * fixed; $addToSet handles objects without _ids properly #1973
|
4441 | * fixed; dont crash on invalid nearSphere query #1874
|
4442 |
|
4443 | 3.8.12 / 2014-05-30
|
4444 | ==================
|
4445 | * fixed; single-server reconnect event fires #1672
|
4446 | * fixed; sub-docs not saved when pushed into populated array #1794
|
4447 | * fixed; .set() sometimes converts embedded docs to pojos #1954 [archangel-irk](https://github.com/archangel-irk)
|
4448 | * fixed; sub-doc changes not getting persisted to db after save #2082
|
4449 | * fixed; custom getter might cause mongoose to mistakenly think a path is dirty #2100 [pgherveou](https://github.com/pgherveou)
|
4450 | * fixed; chainable helper for allowDiskUse option in aggregation #2114
|
4451 |
|
4452 | 3.9.0 (unstable) / 2014-05-22
|
4453 | ==================
|
4454 | * changed; added `domain` to reserved keywords #1338 #2052 [antoinepairet](https://github.com/antoinepairet)
|
4455 | * added; asynchronous post hooks #1977 #2081 [chopachom](https://github.com/chopachom) [JasonGhent](https://github.com/JasonGhent)
|
4456 | * added; using model for population, cross-db populate [mihai-chiorean](https://github.com/mihai-chiorean)
|
4457 | * added; can define a type for schema validators
|
4458 | * added; `doc.remove()` returns a promise #1619 [refack](https://github.com/refack)
|
4459 | * added; internal promises for hooks, pre-save hooks run in parallel #1732 [refack](https://github.com/refack)
|
4460 | * fixed; geoSearch hanging when no results returned #1846 [ghartnett](https://github.com/ghartnett)
|
4461 | * fixed; do not set .type property on ValidationError, use .kind instead #1323
|
4462 |
|
4463 | 3.8.11 / 2014-05-22
|
4464 | ==================
|
4465 | * updated; node-mongodb-native to 1.4.5
|
4466 | * reverted; #2052, fixes #2097
|
4467 |
|
4468 | 3.8.10 / 2014-05-20
|
4469 | ==================
|
4470 |
|
4471 | * updated; node-mongodb-native to 1.4.4
|
4472 | * fixed; _.isEqual false negatives bug in js-bson #2070
|
4473 | * fixed; missing check for schema.options #2014
|
4474 | * fixed; missing support for $position #2024
|
4475 | * fixed; options object corruption #2049
|
4476 | * fixed; improvements to virtuals docs #2055
|
4477 | * fixed; added `domain` to reserved keywords #2052 #1338
|
4478 |
|
4479 | 3.8.9 / 2014-05-08
|
4480 | ==================
|
4481 |
|
4482 | * updated; mquery to 0.7.0
|
4483 | * updated; node-mongodb-native to 1.4.3
|
4484 | * fixed; $near failing against MongoDB 2.6
|
4485 | * fixed; relying on .options() to determine if collection exists
|
4486 | * fixed; $out aggregate helper
|
4487 | * fixed; all test failures against MongoDB 2.6.1, with caveat #2065
|
4488 |
|
4489 | 3.8.8 / 2014-02-22
|
4490 | ==================
|
4491 |
|
4492 | * fixed; saving Buffers #1914
|
4493 | * updated; expose connection states for user-land #1926 [yorkie](https://github.com/yorkie)
|
4494 | * updated; mquery to 0.5.3
|
4495 | * updated; added get / set to reserved path list #1903 [tstrimple](https://github.com/tstrimple)
|
4496 | * docs; README code highlighting, syntax fixes #1930 [IonicaBizau](https://github.com/IonicaBizau)
|
4497 | * docs; fixes link in the doc at #1925 [kapeels](https://github.com/kapeels)
|
4498 | * docs; add a missed word 'hook' for the description of the post-hook api #1924 [ipoval](https://github.com/ipoval)
|
4499 |
|
4500 | 3.8.7 / 2014-02-09
|
4501 | ==================
|
4502 |
|
4503 | * fixed; sending safe/read options in Query#exec #1895
|
4504 | * fixed; findOneAnd..() with sort #1887
|
4505 |
|
4506 | 3.8.6 / 2014-01-30
|
4507 | ==================
|
4508 |
|
4509 | * fixed; setting readPreferences #1895
|
4510 |
|
4511 | 3.8.5 / 2014-01-23
|
4512 | ==================
|
4513 |
|
4514 | * fixed; ssl setting when using URI #1882
|
4515 | * fixed; findByIdAndUpdate now respects the overwrite option #1809 [owenallenaz](https://github.com/owenallenaz)
|
4516 |
|
4517 | 3.8.4 / 2014-01-07
|
4518 | ==================
|
4519 |
|
4520 | * updated; mongodb driver to 1.3.23
|
4521 | * updated; mquery to 0.4.1
|
4522 | * updated; mpromise to 0.4.3
|
4523 | * fixed; discriminators now work when selecting fields #1820 [daemon1981](https://github.com/daemon1981)
|
4524 | * fixed; geoSearch with no results timeout #1846 [ghartnett](https://github.com/ghartnett)
|
4525 | * fixed; infitite recursion in ValidationError #1834 [chetverikov](https://github.com/chetverikov)
|
4526 |
|
4527 | 3.8.3 / 2013-12-17
|
4528 | ==================
|
4529 |
|
4530 | * fixed; setting empty array with model.update #1838
|
4531 | * docs; fix url
|
4532 |
|
4533 | 3.8.2 / 2013-12-14
|
4534 | ==================
|
4535 |
|
4536 | * fixed; enum validation of multiple values #1778 [heroicyang](https://github.com/heroicyang)
|
4537 | * fixed; global var leak #1803
|
4538 | * fixed; post remove now fires on subdocs #1810
|
4539 | * fixed; no longer set default empty array for geospatial-indexed fields #1668 [shirish87](https://github.com/shirish87)
|
4540 | * fixed; model.stream() not hydrating discriminators correctly #1792 [j](https://github.com/j)
|
4541 | * docs: Stablility -> Stability [nikmartin](https://github.com/nikmartin)
|
4542 | * tests; improve shard error handling
|
4543 |
|
4544 | 3.8.1 / 2013-11-19
|
4545 | ==================
|
4546 |
|
4547 | * fixed; mishandling of Dates with minimize/getters #1764
|
4548 | * fixed; Normalize bugs.email, so `npm` will shut up #1769 [refack](https://github.com/refack)
|
4549 | * docs; Improve the grammar where "lets us" was used #1777 [alexyoung](https://github.com/alexyoung)
|
4550 | * docs; Fix some grammatical issues in the documentation #1777 [alexyoung](https://github.com/alexyoung)
|
4551 | * docs; fix Query api exposure
|
4552 | * docs; fix return description
|
4553 | * docs; Added Notes on findAndUpdate() #1750 [sstadelman](https://github.com/sstadelman)
|
4554 | * docs; Update version number in README #1762 [Fodi69](https://github.com/Fodi69)
|
4555 |
|
4556 | 3.8.0 / 2013-10-31
|
4557 | ==================
|
4558 |
|
4559 | * updated; warn when using an unstable version
|
4560 | * updated; error message returned in doc.save() #1595
|
4561 | * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
|
4562 | * updated; mquery to 0.3.2
|
4563 | * updated; mocha to 1.12.0
|
4564 | * updated; mpromise 0.3.0
|
4565 | * updated; sliced 0.0.5
|
4566 | * removed; mongoose.Error.DocumentError (never used)
|
4567 | * removed; namedscope (undocumented and broken) #679 #642 #455 #379
|
4568 | * changed; no longer offically supporting node 0.6.x
|
4569 | * changed; query.within getter is now a method -> query.within()
|
4570 | * changed; query.intersects getter is now a method -> query.intersects()
|
4571 | * added; custom error msgs for built-in validators #747
|
4572 | * added; discriminator support #1647 #1003 [j](https://github.com/j)
|
4573 | * added; support disabled collection name pluralization #1350 #1707 [refack](https://github.com/refack)
|
4574 | * added; support for GeoJSON to Query#near [ebensing](https://github.com/ebensing)
|
4575 | * added; stand-alone base query support - query.toConstructor() [ebensing](https://github.com/ebensing)
|
4576 | * added; promise support to geoSearch #1614 [ebensing](https://github.com/ebensing)
|
4577 | * added; promise support for geoNear #1614 [ebensing](https://github.com/ebensing)
|
4578 | * added; connection.useDb() #1124 [ebensing](https://github.com/ebensing)
|
4579 | * added; promise support to model.mapReduce()
|
4580 | * added; promise support to model.ensureIndexes()
|
4581 | * added; promise support to model.populate()
|
4582 | * added; benchmarks [ebensing](https://github.com/ebensing)
|
4583 | * added; publicly exposed connection states #1585
|
4584 | * added; $geoWithin support #1529 $1455 [ebensing](https://github.com/ebensing)
|
4585 | * added; query method chain validation
|
4586 | * added; model.update `overwrite` option
|
4587 | * added; model.geoNear() support #1563 [ebensing](https://github.com/ebensing)
|
4588 | * added; model.geoSearch() support #1560 [ebensing](https://github.com/ebensing)
|
4589 | * added; MongooseBuffer#subtype()
|
4590 | * added; model.create() now returns a promise #1340
|
4591 | * added; support for `awaitdata` query option
|
4592 | * added; pass the doc to doc.remove() callback #1419 [JoeWagner](https://github.com/JoeWagner)
|
4593 | * added; aggregation query builder #1404 [njoyard](https://github.com/njoyard)
|
4594 | * fixed; document.toObject when using `minimize` and `getters` options #1607 [JedWatson](https://github.com/JedWatson)
|
4595 | * fixed; Mixed types can now be required #1722 [Reggino](https://github.com/Reggino)
|
4596 | * fixed; do not pluralize model names not ending with letters #1703 [refack](https://github.com/refack)
|
4597 | * fixed; repopulating modified populated paths #1697
|
4598 | * fixed; doc.equals() when _id option is set to false #1687
|
4599 | * fixed; strict mode warnings #1686
|
4600 | * fixed; $near GeoJSON casting #1683
|
4601 | * fixed; nearSphere GeoJSON query builder
|
4602 | * fixed; population field selection w/ strings #1669
|
4603 | * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
|
4604 | * fixed; handle another versioning edge case #1520
|
4605 | * fixed; excluding subdocument fields #1280 [ebensing](https://github.com/ebensing)
|
4606 | * fixed; allow array properties to be set to null with findOneAndUpdate [aheuermann](https://github.com/aheuermann)
|
4607 | * fixed; subdocuments now use own toJSON opts #1376 [ebensing](https://github.com/ebensing)
|
4608 | * fixed; model#geoNear fulfills promise when results empty #1658 [ebensing](https://github.com/ebensing)
|
4609 | * fixed; utils.merge no longer overrides props and methods #1655 [j](https://github.com/j)
|
4610 | * fixed; subdocuments now use their own transform #1412 [ebensing](https://github.com/ebensing)
|
4611 | * fixed; model.remove() removes only what is necessary #1649
|
4612 | * fixed; update() now only runs with cb or explicit true #1644
|
4613 | * fixed; casting ref docs on creation #1606 [ebensing](https://github.com/ebensing)
|
4614 | * fixed; model.update "overwrite" option works as documented
|
4615 | * fixed; query#remove() works as documented
|
4616 | * fixed; "limit" correctly applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
|
4617 | * fixed; issue with positional operator on ref docs #1572 [ebensing](https://github.com/ebensing)
|
4618 | * fixed; benchmarks to actually output valid json
|
4619 | * deprecated; promise#addBack (use promise#onResolve)
|
4620 | * deprecated; promise#complete (use promise#fulfill)
|
4621 | * deprecated; promise#addCallback (use promise#onFulFill)
|
4622 | * deprecated; promise#addErrback (use promise#onReject)
|
4623 | * deprecated; query.nearSphere() (use query.near)
|
4624 | * deprecated; query.center() (use query.circle)
|
4625 | * deprecated; query.centerSphere() (use query.circle)
|
4626 | * deprecated; query#slaveOk (use query#read)
|
4627 | * docs; custom validator messages
|
4628 | * docs; 10gen -> MongoDB
|
4629 | * docs; add Date method caveats #1598
|
4630 | * docs; more validation details
|
4631 | * docs; state which branch is stable/unstable
|
4632 | * docs; mention that middleware does not run on Models
|
4633 | * docs; promise.fulfill()
|
4634 | * docs; fix readme spelling #1483 [yorchopolis](https://github.com/yorchopolis)
|
4635 | * docs; fixed up the README and examples [ebensing](https://github.com/ebensing)
|
4636 | * website; add "show code" for properties
|
4637 | * website; move "show code" links down
|
4638 | * website; update guide
|
4639 | * website; add unstable docs
|
4640 | * website; many improvements
|
4641 | * website; fix copyright #1439
|
4642 | * website; server.js -> static.js #1546 [nikmartin](https://github.com/nikmartin)
|
4643 | * tests; refactor 1703
|
4644 | * tests; add test generator
|
4645 | * tests; validate formatMessage() throws
|
4646 | * tests; add script for continuously running tests
|
4647 | * tests; fixed versioning tests
|
4648 | * tests; race conditions in tests
|
4649 | * tests; added for nested and/or queries
|
4650 | * tests; close some test connections
|
4651 | * tests; validate db contents
|
4652 | * tests; remove .only
|
4653 | * tests; close some test connections
|
4654 | * tests; validate db contents
|
4655 | * tests; remove .only
|
4656 | * tests; replace deprecated method names
|
4657 | * tests; convert id to string
|
4658 | * tests; fix sharding tests for MongoDB 2.4.5
|
4659 | * tests; now 4-5 seconds faster
|
4660 | * tests; fix race condition
|
4661 | * make; suppress warning msg in test
|
4662 | * benchmarks; updated for pull requests
|
4663 | * examples; improved and expanded [ebensing](https://github.com/ebensing)
|
4664 |
|
4665 | 3.7.4 (unstable) / 2013-10-01
|
4666 | =============================
|
4667 |
|
4668 | * updated; mquery to 0.3.2
|
4669 | * removed; mongoose.Error.DocumentError (never used)
|
4670 | * added; custom error msgs for built-in validators #747
|
4671 | * added; discriminator support #1647 #1003 [j](https://github.com/j)
|
4672 | * added; support disabled collection name pluralization #1350 #1707 [refack](https://github.com/refack)
|
4673 | * fixed; do not pluralize model names not ending with letters #1703 [refack](https://github.com/refack)
|
4674 | * fixed; repopulating modified populated paths #1697
|
4675 | * fixed; doc.equals() when _id option is set to false #1687
|
4676 | * fixed; strict mode warnings #1686
|
4677 | * fixed; $near GeoJSON casting #1683
|
4678 | * fixed; nearSphere GeoJSON query builder
|
4679 | * fixed; population field selection w/ strings #1669
|
4680 | * docs; custom validator messages
|
4681 | * docs; 10gen -> MongoDB
|
4682 | * docs; add Date method caveats #1598
|
4683 | * docs; more validation details
|
4684 | * website; add "show code" for properties
|
4685 | * website; move "show code" links down
|
4686 | * tests; refactor 1703
|
4687 | * tests; add test generator
|
4688 | * tests; validate formatMessage() throws
|
4689 |
|
4690 | 3.7.3 (unstable) / 2013-08-22
|
4691 | =============================
|
4692 |
|
4693 | * updated; warn when using an unstable version
|
4694 | * updated; mquery to 0.3.1
|
4695 | * updated; mocha to 1.12.0
|
4696 | * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
|
4697 | * changed; no longer offically supporting node 0.6.x
|
4698 | * added; support for GeoJSON to Query#near [ebensing](https://github.com/ebensing)
|
4699 | * added; stand-alone base query support - query.toConstructor() [ebensing](https://github.com/ebensing)
|
4700 | * added; promise support to geoSearch #1614 [ebensing](https://github.com/ebensing)
|
4701 | * added; promise support for geoNear #1614 [ebensing](https://github.com/ebensing)
|
4702 | * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
|
4703 | * fixed; handle another versioning edge case #1520
|
4704 | * fixed; excluding subdocument fields #1280 [ebensing](https://github.com/ebensing)
|
4705 | * fixed; allow array properties to be set to null with findOneAndUpdate [aheuermann](https://github.com/aheuermann)
|
4706 | * fixed; subdocuments now use own toJSON opts #1376 [ebensing](https://github.com/ebensing)
|
4707 | * fixed; model#geoNear fulfills promise when results empty #1658 [ebensing](https://github.com/ebensing)
|
4708 | * fixed; utils.merge no longer overrides props and methods #1655 [j](https://github.com/j)
|
4709 | * fixed; subdocuments now use their own transform #1412 [ebensing](https://github.com/ebensing)
|
4710 | * make; suppress warning msg in test
|
4711 | * docs; state which branch is stable/unstable
|
4712 | * docs; mention that middleware does not run on Models
|
4713 | * tests; add script for continuously running tests
|
4714 | * tests; fixed versioning tests
|
4715 | * benchmarks; updated for pull requests
|
4716 |
|
4717 | 3.7.2 (unstable) / 2013-08-15
|
4718 | ==================
|
4719 |
|
4720 | * fixed; model.remove() removes only what is necessary #1649
|
4721 | * fixed; update() now only runs with cb or explicit true #1644
|
4722 | * tests; race conditions in tests
|
4723 | * website; update guide
|
4724 |
|
4725 | 3.7.1 (unstable) / 2013-08-13
|
4726 | =============================
|
4727 |
|
4728 | * updated; driver to 1.3.18 (fixes memory leak)
|
4729 | * added; connection.useDb() #1124 [ebensing](https://github.com/ebensing)
|
4730 | * added; promise support to model.mapReduce()
|
4731 | * added; promise support to model.ensureIndexes()
|
4732 | * added; promise support to model.populate()
|
4733 | * fixed; casting ref docs on creation #1606 [ebensing](https://github.com/ebensing)
|
4734 | * fixed; model.update "overwrite" option works as documented
|
4735 | * fixed; query#remove() works as documented
|
4736 | * fixed; "limit" correctly applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
|
4737 | * fixed; issue with positional operator on ref docs #1572 [ebensing](https://github.com/ebensing)
|
4738 | * fixed; benchmarks to actually output valid json
|
4739 | * tests; added for nested and/or queries
|
4740 | * tests; close some test connections
|
4741 | * tests; validate db contents
|
4742 | * tests; remove .only
|
4743 | * tests; close some test connections
|
4744 | * tests; validate db contents
|
4745 | * tests; remove .only
|
4746 | * tests; replace deprecated method names
|
4747 | * tests; convert id to string
|
4748 | * docs; promise.fulfill()
|
4749 |
|
4750 | 3.7.0 (unstable) / 2013-08-05
|
4751 | ===================
|
4752 |
|
4753 | * changed; query.within getter is now a method -> query.within()
|
4754 | * changed; query.intersects getter is now a method -> query.intersects()
|
4755 | * deprecated; promise#addBack (use promise#onResolve)
|
4756 | * deprecated; promise#complete (use promise#fulfill)
|
4757 | * deprecated; promise#addCallback (use promise#onFulFill)
|
4758 | * deprecated; promise#addErrback (use promise#onReject)
|
4759 | * deprecated; query.nearSphere() (use query.near)
|
4760 | * deprecated; query.center() (use query.circle)
|
4761 | * deprecated; query.centerSphere() (use query.circle)
|
4762 | * deprecated; query#slaveOk (use query#read)
|
4763 | * removed; namedscope (undocumented and broken) #679 #642 #455 #379
|
4764 | * added; benchmarks [ebensing](https://github.com/ebensing)
|
4765 | * added; publicly exposed connection states #1585
|
4766 | * added; $geoWithin support #1529 $1455 [ebensing](https://github.com/ebensing)
|
4767 | * added; query method chain validation
|
4768 | * added; model.update `overwrite` option
|
4769 | * added; model.geoNear() support #1563 [ebensing](https://github.com/ebensing)
|
4770 | * added; model.geoSearch() support #1560 [ebensing](https://github.com/ebensing)
|
4771 | * added; MongooseBuffer#subtype()
|
4772 | * added; model.create() now returns a promise #1340
|
4773 | * added; support for `awaitdata` query option
|
4774 | * added; pass the doc to doc.remove() callback #1419 [JoeWagner](https://github.com/JoeWagner)
|
4775 | * added; aggregation query builder #1404 [njoyard](https://github.com/njoyard)
|
4776 | * updated; integrate mquery #1562 [ebensing](https://github.com/ebensing)
|
4777 | * updated; error msg in doc.save() #1595
|
4778 | * updated; bump driver to 1.3.15
|
4779 | * updated; mpromise 0.3.0
|
4780 | * updated; sliced 0.0.5
|
4781 | * tests; fix sharding tests for MongoDB 2.4.5
|
4782 | * tests; now 4-5 seconds faster
|
4783 | * tests; fix race condition
|
4784 | * docs; fix readme spelling #1483 [yorchopolis](https://github.com/yorchopolis)
|
4785 | * docs; fixed up the README and examples [ebensing](https://github.com/ebensing)
|
4786 | * website; add unstable docs
|
4787 | * website; many improvements
|
4788 | * website; fix copyright #1439
|
4789 | * website; server.js -> static.js #1546 [nikmartin](https://github.com/nikmartin)
|
4790 | * examples; improved and expanded [ebensing](https://github.com/ebensing)
|
4791 |
|
4792 | 3.6.20 (stable) / 2013-09-23
|
4793 | ===================
|
4794 |
|
4795 | * fixed; repopulating modified populated paths #1697
|
4796 | * fixed; doc.equals w/ _id false #1687
|
4797 | * fixed; strict mode warning #1686
|
4798 | * docs; near/nearSphere
|
4799 |
|
4800 | 3.6.19 (stable) / 2013-09-04
|
4801 | ==================
|
4802 |
|
4803 | * fixed; population field selection w/ strings #1669
|
4804 | * docs; Date method caveats #1598
|
4805 |
|
4806 | 3.6.18 (stable) / 2013-08-22
|
4807 | ===================
|
4808 |
|
4809 | * updated; warn when using an unstable version of mongoose
|
4810 | * updated; mocha to 1.12.0
|
4811 | * updated; mongodb driver to 1.3.19 (fix error swallowing behavior)
|
4812 | * fixed; setters not firing on null values #1445 [ebensing](https://github.com/ebensing)
|
4813 | * fixed; properly exclude subdocument fields #1280 [ebensing](https://github.com/ebensing)
|
4814 | * fixed; cast error in findAndModify #1643 [aheuermann](https://github.com/aheuermann)
|
4815 | * website; update guide
|
4816 | * website; added documentation for safe:false and versioning interaction
|
4817 | * docs; mention that middleware dont run on Models
|
4818 | * docs; fix indexes link
|
4819 | * make; suppress warning msg in test
|
4820 | * tests; moar
|
4821 |
|
4822 | 3.6.17 / 2013-08-13
|
4823 | ===================
|
4824 |
|
4825 | * updated; driver to 1.3.18 (fixes memory leak)
|
4826 | * fixed; casting ref docs on creation #1606
|
4827 | * docs; query options
|
4828 |
|
4829 | 3.6.16 / 2013-08-08
|
4830 | ===================
|
4831 |
|
4832 | * added; publicly expose connection states #1585
|
4833 | * fixed; limit applies to individual items on population #1490 [ebensing](https://github.com/ebensing)
|
4834 | * fixed; positional operator casting in updates #1572 [ebensing](https://github.com/ebensing)
|
4835 | * updated; MongoDB driver to 1.3.17
|
4836 | * updated; sliced to 0.0.5
|
4837 | * website; tweak homepage
|
4838 | * tests; fixed + added
|
4839 | * docs; fix some examples
|
4840 | * docs; multi-mongos support details
|
4841 | * docs; auto open browser after starting static server
|
4842 |
|
4843 | 3.6.15 / 2013-07-16
|
4844 | ==================
|
4845 |
|
4846 | * added; mongos failover support #1037
|
4847 | * updated; make schematype return vals return self #1580
|
4848 | * docs; add note to model.update #571
|
4849 | * docs; document third param to document.save callback #1536
|
4850 | * tests; tweek mongos test timeout
|
4851 |
|
4852 | 3.6.14 / 2013-07-05
|
4853 | ===================
|
4854 |
|
4855 | * updated; driver to 1.3.11
|
4856 | * fixed; issue with findOneAndUpdate not returning null on upserts #1533 [ebensing](https://github.com/ebensing)
|
4857 | * fixed; missing return statement in SchemaArray#$geoIntersects() #1498 [bsrykt](https://github.com/bsrykt)
|
4858 | * fixed; wrong isSelected() behavior #1521 [kyano](https://github.com/kyano)
|
4859 | * docs; note about toObject behavior during save()
|
4860 | * docs; add callbacks details #1547 [nikmartin](https://github.com/nikmartin)
|
4861 |
|
4862 | 3.6.13 / 2013-06-27
|
4863 | ===================
|
4864 |
|
4865 | * fixed; calling model.distinct without conditions #1541
|
4866 | * fixed; regression in Query#count() #1542
|
4867 | * now working on 3.6.13
|
4868 |
|
4869 | 3.6.12 / 2013-06-25
|
4870 | ===================
|
4871 |
|
4872 | * updated; driver to 1.3.10
|
4873 | * updated; clearer capped collection error message #1509 [bitmage](https://github.com/bitmage)
|
4874 | * fixed; MongooseBuffer subtype loss during casting #1517 [zedgu](https://github.com/zedgu)
|
4875 | * fixed; docArray#id when doc.id is disabled #1492
|
4876 | * fixed; docArray#id now supports matches on populated arrays #1492 [pgherveou](https://github.com/pgherveou)
|
4877 | * website; fix example
|
4878 | * website; improve _id disabling example
|
4879 | * website; fix typo #1494 [dejj](https://github.com/dejj)
|
4880 | * docs; added a 'Requesting new features' section #1504 [shovon](https://github.com/shovon)
|
4881 | * docs; improve subtypes description
|
4882 | * docs; clarify _id disabling
|
4883 | * docs: display by alphabetical order the methods list #1508 [nicolasleger](https://github.com/nicolasleger)
|
4884 | * tests; refactor isSelected checks
|
4885 | * tests; remove pointless test
|
4886 | * tests; fixed timeouts
|
4887 |
|
4888 | 3.6.11 / 2013-05-15
|
4889 | ===================
|
4890 |
|
4891 | * updated; driver to 1.3.5
|
4892 | * fixed; compat w/ Object.create(null) #1484 #1485
|
4893 | * fixed; cloning objects w/ missing constructors
|
4894 | * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
|
4895 | * docs; add doc.increment() example
|
4896 | * docs; add $size example
|
4897 | * docs; add "distinct" example
|
4898 |
|
4899 | 3.6.10 / 2013-05-09
|
4900 | ==================
|
4901 |
|
4902 | * update driver to 1.3.3
|
4903 | * fixed; increment() works without other changes #1475
|
4904 | * website; fix links to posterous
|
4905 | * docs; fix link #1472
|
4906 |
|
4907 | 3.6.9 / 2013-05-02
|
4908 | ==================
|
4909 |
|
4910 | * fixed; depopulation of mixed documents #1471
|
4911 | * fixed; use of $options in array #1462
|
4912 | * tests; fix race condition
|
4913 | * docs; fix default example
|
4914 |
|
4915 | 3.6.8 / 2013-04-25
|
4916 | ==================
|
4917 |
|
4918 | * updated; driver to 1.3.0
|
4919 | * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
|
4920 | * tests; 4-5 seconds faster
|
4921 |
|
4922 | 3.6.7 / 2013-04-19
|
4923 | ==================
|
4924 |
|
4925 | * fixed; population regression in 3.6.6 #1444
|
4926 |
|
4927 | 3.6.6 / 2013-04-18
|
4928 | ==================
|
4929 |
|
4930 | * fixed; saving populated new documents #1442
|
4931 | * fixed; population regession in 3.6.5 #1441
|
4932 | * website; fix copyright #1439
|
4933 |
|
4934 | 3.6.5 / 2013-04-15
|
4935 | ==================
|
4936 |
|
4937 | * fixed; strict:throw edge case using .set(path, val)
|
4938 | * fixed; schema.pathType() on some numbericAlpha paths
|
4939 | * fixed; numbericAlpha path versioning
|
4940 | * fixed; setting nested mixed paths #1418
|
4941 | * fixed; setting nested objects with null prop #1326
|
4942 | * fixed; regression in v3.6 population performance #1426 [vedmalex](https://github.com/vedmalex)
|
4943 | * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
|
4944 | * docs; fix method example
|
4945 | * website; update faq
|
4946 | * website; add more deep links
|
4947 | * website; update poolSize docs
|
4948 | * website; add 3.6 release notes
|
4949 | * website; note about keepAlive
|
4950 |
|
4951 | 3.6.4 / 2013-04-03
|
4952 | ==================
|
4953 |
|
4954 | * fixed; +field conflict with $slice #1370
|
4955 | * fixed; nested deselection conflict #1333
|
4956 | * fixed; RangeError in ValidationError.toString() #1296
|
4957 | * fixed; do not save user defined transforms #1415
|
4958 | * tests; fix race condition
|
4959 |
|
4960 | 3.6.3 / 2013-04-02
|
4961 | ==================
|
4962 |
|
4963 | * fixed; setting subdocuments deeply nested fields #1394
|
4964 | * fixed; regression: populated streams #1411
|
4965 | * docs; mention hooks/validation with findAndModify
|
4966 | * docs; mention auth
|
4967 | * docs; add more links
|
4968 | * examples; add document methods example
|
4969 | * website; display "see" links for properties
|
4970 | * website; clean up homepage
|
4971 |
|
4972 | 3.6.2 / 2013-03-29
|
4973 | ==================
|
4974 |
|
4975 | * fixed; corrupted sub-doc array #1408
|
4976 | * fixed; document#update returns a Query #1397
|
4977 | * docs; readpref strategy
|
4978 |
|
4979 | 3.6.1 / 2013-03-27
|
4980 | ==================
|
4981 |
|
4982 | * added; populate support to findAndModify varients #1395
|
4983 | * added; text index type to schematypes
|
4984 | * expose allowed index types as Schema.indexTypes
|
4985 | * fixed; use of `setMaxListeners` as path
|
4986 | * fixed; regression in node 0.6 on docs with > 10 arrays
|
4987 | * fixed; do not alter schema arguments #1364
|
4988 | * fixed; subdoc#ownerDocument() #1385
|
4989 | * website; change search id
|
4990 | * website; add search from google [jackdbernier](https://github.com/jackdbernier)
|
4991 | * website; fix link
|
4992 | * website; add 3.5.x docs release
|
4993 | * website; fix link
|
4994 | * docs; fix geometry
|
4995 | * docs; hide internal constructor
|
4996 | * docs; aggregation does not cast arguments #1399
|
4997 | * docs; querystream options
|
4998 | * examples; added for population
|
4999 |
|
5000 | 3.6.0 / 2013-03-18
|
5001 | ==================
|
5002 |
|
5003 | * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
|
5004 | * changed; Buffer arrays can now contain nulls
|
5005 | * added; QueryStream transform option
|
5006 | * added; support for authSource driver option
|
5007 | * added; {mongoose,db}.modelNames()
|
5008 | * added; $push w/ $slice,$sort support (MongoDB 2.4)
|
5009 | * added; hashed index type (MongoDB 2.4)
|
5010 | * added; support for mongodb 2.4 geojson (MongoDB 2.4)
|
5011 | * added; value at time of validation error
|
5012 | * added; support for object literal schemas
|
5013 | * added; bufferCommands schema option
|
5014 | * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
|
5015 | * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
|
5016 | * added; allow adding uncasted docs to populated arrays and properties #570
|
5017 | * added; doc#populated(path) stores original populated _ids
|
5018 | * added; lean population #1260
|
5019 | * added; query.populate() now accepts an options object
|
5020 | * added; document#populate(opts, callback)
|
5021 | * added; Model.populate(docs, opts, callback)
|
5022 | * added; support for rich nested path population
|
5023 | * added; doc.array.remove(value) subdoc with _id value support #1278
|
5024 | * added; optionally allow non-strict sets and updates
|
5025 | * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
|
5026 | * added; promise#then
|
5027 | * added; promise#end
|
5028 | * fixed; use of `model` as doc property
|
5029 | * fixed; lean population #1382
|
5030 | * fixed; empty object mixed defaults #1380
|
5031 | * fixed; populate w/ deselected _id using string syntax
|
5032 | * fixed; attempted save of divergent populated arrays #1334 related
|
5033 | * fixed; better error msg when attempting toObject as property name
|
5034 | * fixed; non population buffer casting from doc
|
5035 | * fixed; setting populated paths #570
|
5036 | * fixed; casting when added docs to populated arrays #570
|
5037 | * fixed; prohibit updating arrays selected with $elemMatch #1334
|
5038 | * fixed; pull / set subdoc combination #1303
|
5039 | * fixed; multiple bg index creation #1365
|
5040 | * fixed; manual reconnection to single mongod
|
5041 | * fixed; Constructor / version exposure #1124
|
5042 | * fixed; CastError race condition
|
5043 | * fixed; no longer swallowing misuse of subdoc#invalidate()
|
5044 | * fixed; utils.clone retains RegExp opts
|
5045 | * fixed; population of non-schema property
|
5046 | * fixed; allow updating versionKey #1265
|
5047 | * fixed; add EventEmitter props to reserved paths #1338
|
5048 | * fixed; can now deselect populated doc _ids #1331
|
5049 | * fixed; properly pass subtype to Binary in MongooseBuffer
|
5050 | * fixed; casting _id from document with non-ObjectId _id
|
5051 | * fixed; specifying schema type edge case { path: [{type: "String" }] }
|
5052 | * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
|
5053 | * updated; driver to 1.2.14
|
5054 | * updated; muri to 0.3.1
|
5055 | * updated; mpromise to 0.2.1
|
5056 | * updated; mocha 1.8.1
|
5057 | * updated; mpath to 0.1.1
|
5058 | * deprecated; pluralization will die in 4.x
|
5059 | * refactor; rename private methods to something unusable as doc properties
|
5060 | * refactor MongooseArray#remove
|
5061 | * refactor; move expires index to SchemaDate #1328
|
5062 | * refactor; internal document properties #1171 #1184
|
5063 | * tests; added
|
5064 | * docs; indexes
|
5065 | * docs; validation
|
5066 | * docs; populate
|
5067 | * docs; populate
|
5068 | * docs; add note about stream compatibility with node 0.8
|
5069 | * docs; fix for private names
|
5070 | * docs; Buffer -> mongodb.Binary #1363
|
5071 | * docs; auth options
|
5072 | * docs; improved
|
5073 | * website; update FAQ
|
5074 | * website; add more api links
|
5075 | * website; add 3.5.x docs to prior releases
|
5076 | * website; Change mongoose-types to an active repo [jackdbernier](https://github.com/jackdbernier)
|
5077 | * website; compat with node 0.10
|
5078 | * website; add news section
|
5079 | * website; use T for generic type
|
5080 | * benchmark; make adjustable
|
5081 |
|
5082 | 3.6.0rc1 / 2013-03-12
|
5083 | ======================
|
5084 |
|
5085 | * refactor; rename private methods to something unusable as doc properties
|
5086 | * added; {mongoose,db}.modelNames()
|
5087 | * added; $push w/ $slice,$sort support (MongoDB 2.4)
|
5088 | * added; hashed index type (MongoDB 2.4)
|
5089 | * added; support for mongodb 2.4 geojson (MongoDB 2.4)
|
5090 | * added; value at time of validation error
|
5091 | * added; support for object literal schemas
|
5092 | * added; bufferCommands schema option
|
5093 | * added; allow auth option in connections #1360 [geoah](https://github.com/geoah)
|
5094 | * fixed; lean population #1382
|
5095 | * fixed; empty object mixed defaults #1380
|
5096 | * fixed; populate w/ deselected _id using string syntax
|
5097 | * fixed; attempted save of divergent populated arrays #1334 related
|
5098 | * fixed; better error msg when attempting toObject as property name
|
5099 | * fixed; non population buffer casting from doc
|
5100 | * fixed; setting populated paths #570
|
5101 | * fixed; casting when added docs to populated arrays #570
|
5102 | * fixed; prohibit updating arrays selected with $elemMatch #1334
|
5103 | * fixed; pull / set subdoc combination #1303
|
5104 | * fixed; multiple bg index creation #1365
|
5105 | * fixed; manual reconnection to single mongod
|
5106 | * fixed; Constructor / version exposure #1124
|
5107 | * fixed; CastError race condition
|
5108 | * fixed; no longer swallowing misuse of subdoc#invalidate()
|
5109 | * fixed; utils.clone retains RegExp opts
|
5110 | * fixed; population of non-schema property
|
5111 | * fixed; allow updating versionKey #1265
|
5112 | * fixed; add EventEmitter props to reserved paths #1338
|
5113 | * fixed; can now deselect populated doc _ids #1331
|
5114 | * updated; muri to 0.3.1
|
5115 | * updated; driver to 1.2.12
|
5116 | * updated; mpromise to 0.2.1
|
5117 | * deprecated; pluralization will die in 4.x
|
5118 | * docs; Buffer -> mongodb.Binary #1363
|
5119 | * docs; auth options
|
5120 | * docs; improved
|
5121 | * website; add news section
|
5122 | * benchmark; make adjustable
|
5123 |
|
5124 | 3.6.0rc0 / 2013-02-03
|
5125 | ======================
|
5126 |
|
5127 | * changed; cast 'true'/'false' to boolean #1282 [mgrach](https://github.com/mgrach)
|
5128 | * changed; Buffer arrays can now contain nulls
|
5129 | * fixed; properly pass subtype to Binary in MongooseBuffer
|
5130 | * fixed; casting _id from document with non-ObjectId _id
|
5131 | * fixed; specifying schema type edge case { path: [{type: "String" }] }
|
5132 | * fixed; typo in schemdate #1329 [jplock](https://github.com/jplock)
|
5133 | * refactor; move expires index to SchemaDate #1328
|
5134 | * refactor; internal document properties #1171 #1184
|
5135 | * added; performance improvements to populate() [263ece9](https://github.com/LearnBoost/mongoose/commit/263ece9)
|
5136 | * added; allow adding uncasted docs to populated arrays and properties #570
|
5137 | * added; doc#populated(path) stores original populated _ids
|
5138 | * added; lean population #1260
|
5139 | * added; query.populate() now accepts an options object
|
5140 | * added; document#populate(opts, callback)
|
5141 | * added; Model.populate(docs, opts, callback)
|
5142 | * added; support for rich nested path population
|
5143 | * added; doc.array.remove(value) subdoc with _id value support #1278
|
5144 | * added; optionally allow non-strict sets and updates
|
5145 | * added; promises/A+ comformancy with [mpromise](https://github.com/aheckmann/mpromise)
|
5146 | * added; promise#then
|
5147 | * added; promise#end
|
5148 | * updated; mocha 1.8.1
|
5149 | * updated; muri to 0.3.0
|
5150 | * updated; mpath to 0.1.1
|
5151 | * updated; docs
|
5152 |
|
5153 | 3.5.16 / 2013-08-13
|
5154 | ===================
|
5155 |
|
5156 | * updated; driver to 1.3.18
|
5157 |
|
5158 | 3.5.15 / 2013-07-26
|
5159 | ==================
|
5160 |
|
5161 | * updated; sliced to 0.0.5
|
5162 | * updated; driver to 1.3.12
|
5163 | * fixed; regression in Query#count() due to driver change
|
5164 | * tests; fixed timeouts
|
5165 | * tests; handle differing test uris
|
5166 |
|
5167 | 3.5.14 / 2013-05-15
|
5168 | ===================
|
5169 |
|
5170 | * updated; driver to 1.3.5
|
5171 | * fixed; compat w/ Object.create(null) #1484 #1485
|
5172 | * fixed; cloning objects missing constructors
|
5173 | * fixed; prevent multiple min number validators #1481 [nrako](https://github.com/nrako)
|
5174 |
|
5175 | 3.5.13 / 2013-05-09
|
5176 | ==================
|
5177 |
|
5178 | * update driver to 1.3.3
|
5179 | * fixed; use of $options in array #1462
|
5180 |
|
5181 | 3.5.12 / 2013-04-25
|
5182 | ===================
|
5183 |
|
5184 | * updated; driver to 1.3.0
|
5185 | * fixed; connection.model should retain options #1458 [vedmalex](https://github.com/vedmalex)
|
5186 | * fixed; read pref typos #1422 [kyano](https://github.com/kyano)
|
5187 |
|
5188 | 3.5.11 / 2013-04-03
|
5189 | ==================
|
5190 |
|
5191 | * fixed; +field conflict with $slice #1370
|
5192 | * fixed; RangeError in ValidationError.toString() #1296
|
5193 | * fixed; nested deselection conflict #1333
|
5194 | * remove time from Makefile
|
5195 |
|
5196 | 3.5.10 / 2013-04-02
|
5197 | ==================
|
5198 |
|
5199 | * fixed; setting subdocuments deeply nested fields #1394
|
5200 | * fixed; do not alter schema arguments #1364
|
5201 |
|
5202 | 3.5.9 / 2013-03-15
|
5203 | ==================
|
5204 |
|
5205 | * updated; driver to 1.2.14
|
5206 | * added; support for authSource driver option (mongodb 2.4)
|
5207 | * added; QueryStream transform option (node 0.10 helper)
|
5208 | * fixed; backport for saving required populated buffers
|
5209 | * fixed; pull / set subdoc combination #1303
|
5210 | * fixed; multiple bg index creation #1365
|
5211 | * test; added for saveable required populated buffers
|
5212 | * test; added for #1365
|
5213 | * test; add authSource test
|
5214 |
|
5215 | 3.5.8 / 2013-03-12
|
5216 | ==================
|
5217 |
|
5218 | * added; auth option in connection [geoah](https://github.com/geoah)
|
5219 | * fixed; CastError race condition
|
5220 | * docs; add note about stream compatibility with node 0.8
|
5221 |
|
5222 | 3.5.7 / 2013-02-22
|
5223 | ==================
|
5224 |
|
5225 | * updated; driver to 1.2.13
|
5226 | * updated; muri to 0.3.1 #1347
|
5227 | * fixed; utils.clone retains RegExp opts #1355
|
5228 | * fixed; deepEquals RegExp support
|
5229 | * tests; fix a connection test
|
5230 | * website; clean up docs [afshinm](https://github.com/afshinm)
|
5231 | * website; update homepage
|
5232 | * website; migragtion: emphasize impact of strict docs #1264
|
5233 |
|
5234 | 3.5.6 / 2013-02-14
|
5235 | ==================
|
5236 |
|
5237 | * updated; driver to 1.2.12
|
5238 | * fixed; properly pass Binary subtype
|
5239 | * fixed; add EventEmitter props to reserved paths #1338
|
5240 | * fixed; use correct node engine version
|
5241 | * fixed; display empty docs as {} in log output #953 follow up
|
5242 | * improved; "bad $within $box argument" error message
|
5243 | * populate; add unscientific benchmark
|
5244 | * website; add stack overflow to help section
|
5245 | * website; use better code font #1336 [risseraka](https://github.com/risseraka)
|
5246 | * website; clarify where help is available
|
5247 | * website; fix source code links #1272 [floatingLomas](https://github.com/floatingLomas)
|
5248 | * docs; be specific about _id schema option #1103
|
5249 | * docs; add ensureIndex error handling example
|
5250 | * docs; README
|
5251 | * docs; CONTRIBUTING.md
|
5252 |
|
5253 | 3.5.5 / 2013-01-29
|
5254 | ==================
|
5255 |
|
5256 | * updated; driver to 1.2.11
|
5257 | * removed; old node < 0.6x shims
|
5258 | * fixed; documents with Buffer _ids equality
|
5259 | * fixed; MongooseBuffer properly casts numbers
|
5260 | * fixed; reopening closed connection on alt host/port #1287
|
5261 | * docs; fixed typo in Readme #1298 [rened](https://github.com/rened)
|
5262 | * docs; fixed typo in migration docs [Prinzhorn](https://github.com/Prinzhorn)
|
5263 | * docs; fixed incorrect annotation in SchemaNumber#min [bilalq](https://github.com/bilalq)
|
5264 | * docs; updated
|
5265 |
|
5266 | 3.5.4 / 2013-01-07
|
5267 | ==================
|
5268 |
|
5269 | * changed; "_pres" & "_posts" are now reserved pathnames #1261
|
5270 | * updated; driver to 1.2.8
|
5271 | * fixed; exception when reopening a replica set. #1263 [ethankan](https://github.com/ethankan)
|
5272 | * website; updated
|
5273 |
|
5274 | 3.5.3 / 2012-12-26
|
5275 | ==================
|
5276 |
|
5277 | * added; support for geo object notation #1257
|
5278 | * fixed; $within query casting with arrays
|
5279 | * fixed; unix domain socket support #1254
|
5280 | * updated; driver to 1.2.7
|
5281 | * updated; muri to 0.0.5
|
5282 |
|
5283 | 3.5.2 / 2012-12-17
|
5284 | ==================
|
5285 |
|
5286 | * fixed; using auth with replica sets #1253
|
5287 |
|
5288 | 3.5.1 / 2012-12-12
|
5289 | ==================
|
5290 |
|
5291 | * fixed; regression when using subdoc with `path` as pathname #1245 [daeq](https://github.com/daeq)
|
5292 | * fixed; safer db option checks
|
5293 | * updated; driver to 1.2.5
|
5294 | * website; add more examples
|
5295 | * website; clean up old docs
|
5296 | * website; fix prev release urls
|
5297 | * docs; clarify streaming with HTTP responses
|
5298 |
|
5299 | 3.5.0 / 2012-12-10
|
5300 | ==================
|
5301 |
|
5302 | * added; paths to CastErrors #1239
|
5303 | * added; support for mongodb connection string spec #1187
|
5304 | * added; post validate event
|
5305 | * added; Schema#get (to retrieve schema options)
|
5306 | * added; VersionError #1071
|
5307 | * added; npmignore [hidekiy](https://github.com/hidekiy)
|
5308 | * update; driver to 1.2.3
|
5309 | * fixed; stackoverflow in setter #1234
|
5310 | * fixed; utils.isObject()
|
5311 | * fixed; do not clobber user specified driver writeConcern #1227
|
5312 | * fixed; always pass current document to post hooks
|
5313 | * fixed; throw error when user attempts to overwrite a model
|
5314 | * fixed; connection.model only caches on connection #1209
|
5315 | * fixed; respect conn.model() creation when matching global model exists #1209
|
5316 | * fixed; passing model name + collection name now always honors collection name
|
5317 | * fixed; setting virtual field to an empty object #1154
|
5318 | * fixed; subclassed MongooseErrors exposure, now available in mongoose.Error.xxxx
|
5319 | * fixed; model.remove() ignoring callback when executed twice [daeq](https://github.com/daeq) #1210
|
5320 | * docs; add collection option to schema api docs #1222
|
5321 | * docs; NOTE about db safe options
|
5322 | * docs; add post hooks docs
|
5323 | * docs; connection string options
|
5324 | * docs; middleware is not executed with Model.remove #1241
|
5325 | * docs; {g,s}etter introspection #777
|
5326 | * docs; update validation docs
|
5327 | * docs; add link to plugins page
|
5328 | * docs; clarify error returned by unique indexes #1225
|
5329 | * docs; more detail about disabling autoIndex behavior
|
5330 | * docs; add homepage section to package (npm docs mongoose)
|
5331 | * docs; more detail around collection name pluralization #1193
|
5332 | * website; add .important css
|
5333 | * website; update models page
|
5334 | * website; update getting started
|
5335 | * website; update quick start
|
5336 |
|
5337 | 3.4.0 / 2012-11-10
|
5338 | ==================
|
5339 |
|
5340 | * added; support for generic toJSON/toObject transforms #1160 #1020 #1197
|
5341 | * added; doc.set() merge support #1148 [NuORDER](https://github.com/NuORDER)
|
5342 | * added; query#add support #1188 [aleclofabbro](https://github.com/aleclofabbro)
|
5343 | * changed; adding invalid nested paths to non-objects throws 4216f14
|
5344 | * changed; fixed; stop invalid function cloning (internal fix)
|
5345 | * fixed; add query $and casting support #1180 [anotheri](https://github.com/anotheri)
|
5346 | * fixed; overwriting of query arguments #1176
|
5347 | * docs; fix expires examples
|
5348 | * docs; transforms
|
5349 | * docs; schema `collection` option docs [hermanjunge](https://github.com/hermanjunge)
|
5350 | * website; updated
|
5351 | * tests; added
|
5352 |
|
5353 | 3.3.1 / 2012-10-11
|
5354 | ==================
|
5355 |
|
5356 | * fixed; allow goose.connect(uris, dbname, opts) #1144
|
5357 | * docs; persist API private checked state across page loads
|
5358 |
|
5359 | 3.3.0 / 2012-10-10
|
5360 | ==================
|
5361 |
|
5362 | * fixed; passing options as 2nd arg to connect() #1144
|
5363 | * fixed; race condition after no-op save #1139
|
5364 | * fixed; schema field selection application in findAndModify #1150
|
5365 | * fixed; directly setting arrays #1126
|
5366 | * updated; driver to 1.1.11
|
5367 | * updated; collection pluralization rules [mrickard](https://github.com/mrickard)
|
5368 | * tests; added
|
5369 | * docs; updated
|
5370 |
|
5371 | 3.2.2 / 2012-10-08
|
5372 | ==================
|
5373 |
|
5374 | * updated; driver to 1.1.10 #1143
|
5375 | * updated; use sliced 0.0.3
|
5376 | * fixed; do not recast embedded docs unnecessarily
|
5377 | * fixed; expires schema option helper #1132
|
5378 | * fixed; built in string setters #1131
|
5379 | * fixed; debug output for Dates/ObjectId properties #1129
|
5380 | * docs; fixed Javascript syntax error in example [olalonde](https://github.com/olalonde)
|
5381 | * docs; fix toJSON example #1137
|
5382 | * docs; add ensureIndex production notes
|
5383 | * docs; fix spelling
|
5384 | * docs; add blogposts about v3
|
5385 | * website; updated
|
5386 | * removed; undocumented inGroupsOf util
|
5387 | * tests; added
|
5388 |
|
5389 | 3.2.1 / 2012-09-28
|
5390 | ==================
|
5391 |
|
5392 | * fixed; remove query batchSize option default of 1000 https://github.com/learnboost/mongoose/commit/3edaa8651
|
5393 | * docs; updated
|
5394 | * website; updated
|
5395 |
|
5396 | 3.2.0 / 2012-09-27
|
5397 | ==================
|
5398 |
|
5399 | * added; direct array index assignment with casting support `doc.array.set(index, value)`
|
5400 | * fixed; QueryStream#resume within same tick as pause() #1116
|
5401 | * fixed; default value validatation #1109
|
5402 | * fixed; array splice() not casting #1123
|
5403 | * fixed; default array construction edge case #1108
|
5404 | * fixed; query casting for inequalities in arrays #1101 [dpatti](https://github.com/dpatti)
|
5405 | * tests; added
|
5406 | * website; more documentation
|
5407 | * website; fixed layout issue #1111 [SlashmanX](https://github.com/SlashmanX)
|
5408 | * website; refactored [guille](https://github.com/guille)
|
5409 |
|
5410 | 3.1.2 / 2012-09-10
|
5411 | ==================
|
5412 |
|
5413 | * added; ReadPreferrence schema option #1097
|
5414 | * updated; driver to 1.1.7
|
5415 | * updated; default query batchSize to 1000
|
5416 | * fixed; we now cast the mapReduce query option #1095
|
5417 | * fixed; $elemMatch+$in with field selection #1091
|
5418 | * fixed; properly cast $elemMatch+$in conditions #1100
|
5419 | * fixed; default field application of subdocs #1027
|
5420 | * fixed; querystream prematurely dying #1092
|
5421 | * fixed; querystream never resumes when paused at getMore boundries #1092
|
5422 | * fixed; querystream occasionally emits data events after destroy #1092
|
5423 | * fixed; remove unnecessary ObjectId creation in querystream
|
5424 | * fixed; allow ne(boolean) again #1093
|
5425 | * docs; add populate/field selection syntax notes
|
5426 | * docs; add toObject/toJSON options detail
|
5427 | * docs; `read` schema option
|
5428 |
|
5429 | 3.1.1 / 2012-08-31
|
5430 | ==================
|
5431 |
|
5432 | * updated; driver to 1.1.6
|
5433 |
|
5434 | 3.1.0 / 2012-08-29
|
5435 | ==================
|
5436 |
|
5437 | * changed; fixed; directly setting nested objects now overwrites entire object (previously incorrectly merged them)
|
5438 | * added; read pref support (mongodb 2.2) 205a709c
|
5439 | * added; aggregate support (mongodb 2.2) f3a5bd3d
|
5440 | * added; virtual {g,s}etter introspection (#1070)
|
5441 | * updated; docs [brettz9](https://github.com/brettz9)
|
5442 | * updated; driver to 1.1.5
|
5443 | * fixed; retain virtual setter return values (#1069)
|
5444 |
|
5445 | 3.0.3 / 2012-08-23
|
5446 | ==================
|
5447 |
|
5448 | * fixed; use of nested paths beginning w/ numbers #1062
|
5449 | * fixed; query population edge case #1053 #1055 [jfremy](https://github.com/jfremy)
|
5450 | * fixed; simultaneous top and sub level array modifications #1073
|
5451 | * added; id and _id schema option aliases + tests
|
5452 | * improve debug formatting to allow copy/paste logged queries into mongo shell [eknkc](https://github.com/eknkc)
|
5453 | * docs
|
5454 |
|
5455 | 3.0.2 / 2012-08-17
|
5456 | ==================
|
5457 |
|
5458 | * added; missing support for v3 sort/select syntax to findAndModify helpers (#1058)
|
5459 | * fixed; replset fullsetup event emission
|
5460 | * fixed; reconnected event for replsets
|
5461 | * fixed; server reconnection setting discovery
|
5462 | * fixed; compat with non-schema path props using positional notation (#1048)
|
5463 | * fixed; setter/casting order (#665)
|
5464 | * docs; updated
|
5465 |
|
5466 | 3.0.1 / 2012-08-11
|
5467 | ==================
|
5468 |
|
5469 | * fixed; throw Error on bad validators (1044)
|
5470 | * fixed; typo in EmbeddedDocument#parentArray [lackac]
|
5471 | * fixed; repair mongoose.SchemaTypes alias
|
5472 | * updated; docs
|
5473 |
|
5474 | 3.0.0 / 2012-08-07
|
5475 | ==================
|
5476 |
|
5477 | * removed; old subdocument#commit method
|
5478 | * fixed; setting arrays of matching docs [6924cbc2]
|
5479 | * fixed; doc!remove event now emits in save order as save for consistency
|
5480 | * fixed; pre-save hooks no longer fire on subdocuments when validation fails
|
5481 | * added; subdoc#parent() and subdoc#parentArray() to access subdocument parent objects
|
5482 | * added; query#lean() helper
|
5483 |
|
5484 | 3.0.0rc0 / 2012-08-01
|
5485 | =====================
|
5486 |
|
5487 | * fixed; allow subdoc literal declarations containing "type" pathname (#993)
|
5488 | * fixed; unsetting a default array (#758)
|
5489 | * fixed; boolean $in queries (#998)
|
5490 | * fixed; allow use of `options` as a pathname (#529)
|
5491 | * fixed; `model` is again a permitted schema path name
|
5492 | * fixed; field selection option on subdocs (#1022)
|
5493 | * fixed; handle another edge case with subdoc saving (#975)
|
5494 | * added; emit save err on model if listening
|
5495 | * added; MongoDB TTL collection support (#1006)
|
5496 | * added; $center options support
|
5497 | * added; $nearSphere and $polygon support
|
5498 | * updated; driver version to 1.1.2
|
5499 |
|
5500 | 3.0.0alpha2 / 2012-07-18
|
5501 | =========================
|
5502 |
|
5503 | * changed; index errors are now emitted on their model and passed to an optional callback (#984)
|
5504 | * fixed; specifying index along with sparse/unique option no longer overwrites (#1004)
|
5505 | * fixed; never swallow connection errors (#618)
|
5506 | * fixed; creating object from model with emded object no longer overwrites defaults [achurkin] (#859)
|
5507 | * fixed; stop needless validation of unchanged/unselected fields (#891)
|
5508 | * fixed; document#equals behavior of objectids (#974)
|
5509 | * fixed; honor the minimize schema option (#978)
|
5510 | * fixed; provide helpful error msgs when reserved schema path is used (#928)
|
5511 | * fixed; callback to conn#disconnect is optional (#875)
|
5512 | * fixed; handle missing protocols in connection urls (#987)
|
5513 | * fixed; validate args to query#where (#969)
|
5514 | * fixed; saving modified/removed subdocs (#975)
|
5515 | * fixed; update with $pull from Mixed array (#735)
|
5516 | * fixed; error with null shard key value
|
5517 | * fixed; allow unsetting enums (#967)
|
5518 | * added; support for manual index creation (#984)
|
5519 | * added; support for disabled auto-indexing (#984)
|
5520 | * added; support for preserving MongooseArray#sort changes (#752)
|
5521 | * added; emit state change events on connection
|
5522 | * added; support for specifying BSON subtype in MongooseBuffer#toObject [jcrugzz]
|
5523 | * added; support for disabled versioning (#977)
|
5524 | * added; implicit "new" support for models and Schemas
|
5525 |
|
5526 | 3.0.0alpha1 / 2012-06-15
|
5527 | =========================
|
5528 |
|
5529 | * removed; doc#commit (use doc#markModified)
|
5530 | * removed; doc.modified getter (#950)
|
5531 | * removed; mongoose{connectSet,createSetConnection}. use connect,createConnection instead
|
5532 | * removed; query alias methods 1149804c
|
5533 | * removed; MongooseNumber
|
5534 | * changed; now creating indexes in background by default
|
5535 | * changed; strict mode now enabled by default (#952)
|
5536 | * changed; doc#modifiedPaths is now a method (#950)
|
5537 | * changed; getters no longer cast (#820); casting happens during set
|
5538 | * fixed; no need to pass updateArg to findOneAndUpdate (#931)
|
5539 | * fixed: utils.merge bug when merging nested non-objects. [treygriffith]
|
5540 | * fixed; strict:throw should produce errors in findAndModify (#963)
|
5541 | * fixed; findAndUpdate no longer overwrites document (#962)
|
5542 | * fixed; setting default DocumentArrays (#953)
|
5543 | * fixed; selection of _id with schema deselection (#954)
|
5544 | * fixed; ensure promise#error emits instanceof Error
|
5545 | * fixed; CursorStream: No stack overflow on any size result (#929)
|
5546 | * fixed; doc#remove now passes safe options
|
5547 | * fixed; invalid use of $set during $pop
|
5548 | * fixed; array#{$pop,$shift} mirror MongoDB behavior
|
5549 | * fixed; no longer test non-required vals in string match (#934)
|
5550 | * fixed; edge case with doc#inspect
|
5551 | * fixed; setter order (#665)
|
5552 | * fixed; setting invalid paths in strict mode (#916)
|
5553 | * fixed; handle docs without id in DocumentArray#id method (#897)
|
5554 | * fixed; do not save virtuals during model.update (#894)
|
5555 | * fixed; sub doc toObject virtuals application (#889)
|
5556 | * fixed; MongooseArray#pull of ObjectId (#881)
|
5557 | * fixed; handle passing db name with any repl set string
|
5558 | * fixed; default application of selected fields (#870)
|
5559 | * fixed; subdoc paths reported in validation errors (#725)
|
5560 | * fixed; incorrect reported num of affected docs in update ops (#862)
|
5561 | * fixed; connection assignment in Model#model (#853)
|
5562 | * fixed; stringifying arrays of docs (#852)
|
5563 | * fixed; modifying subdoc and parent array works (#842)
|
5564 | * fixed; passing undefined to next hook (#785)
|
5565 | * fixed; Query#{update,remove}() works without callbacks (#788)
|
5566 | * fixed; set/updating nested objects by parent pathname (#843)
|
5567 | * fixed; allow null in number arrays (#840)
|
5568 | * fixed; isNew on sub doc after insertion error (#837)
|
5569 | * fixed; if an insert fails, set isNew back to false [boutell]
|
5570 | * fixed; isSelected when only _id is selected (#730)
|
5571 | * fixed; setting an unset default value (#742)
|
5572 | * fixed; query#sort error messaging (#671)
|
5573 | * fixed; support for passing $options with $regex
|
5574 | * added; array of object literal notation in schema creates DocumentArrays
|
5575 | * added; gt,gte,lt,lte query support for arrays (#902)
|
5576 | * added; capped collection support (#938)
|
5577 | * added; document versioning support
|
5578 | * added; inclusion of deselected schema path (#786)
|
5579 | * added; non-atomic array#pop
|
5580 | * added; EmbeddedDocument constructor is now exposed in DocArray#create 7cf8beec
|
5581 | * added; mapReduce support (#678)
|
5582 | * added; support for a configurable minimize option #to{Object,JSON}(option) (#848)
|
5583 | * added; support for strict: `throws` [regality]
|
5584 | * added; support for named schema types (#795)
|
5585 | * added; to{Object,JSON} schema options (#805)
|
5586 | * added; findByIdAnd{Update,Remove}()
|
5587 | * added; findOneAnd{Update,Remove}()
|
5588 | * added; query.setOptions()
|
5589 | * added; instance.update() (#794)
|
5590 | * added; support specifying model in populate() [DanielBaulig]
|
5591 | * added; `lean` query option [gitfy]
|
5592 | * added; multi-atomic support to MongooseArray#nonAtomicPush
|
5593 | * added; support for $set + other $atomic ops on single array
|
5594 | * added; tests
|
5595 | * updated; driver to 1.0.2
|
5596 | * updated; query.sort() syntax to mirror query.select()
|
5597 | * updated; clearer cast error msg for array numbers
|
5598 | * updated; docs
|
5599 | * updated; doc.clone 3x faster (#950)
|
5600 | * updated; only create _id if necessary (#950)
|
5601 |
|
5602 | 2.7.3 / 2012-08-01
|
5603 | ==================
|
5604 |
|
5605 | * fixed; boolean $in queries (#998)
|
5606 | * fixed field selection option on subdocs (#1022)
|
5607 |
|
5608 | 2.7.2 / 2012-07-18
|
5609 | ==================
|
5610 |
|
5611 | * fixed; callback to conn#disconnect is optional (#875)
|
5612 | * fixed; handle missing protocols in connection urls (#987)
|
5613 | * fixed; saving modified/removed subdocs (#975)
|
5614 | * updated; tests
|
5615 |
|
5616 | 2.7.1 / 2012-06-26
|
5617 | ===================
|
5618 |
|
5619 | * fixed; sharding: when a document holds a null as a value of the shard key
|
5620 | * fixed; update() using $pull on an array of Mixed (gh-735)
|
5621 | * deprecated; MongooseNumber#{inc, increment, decrement} methods
|
5622 | * tests; now using mocha
|
5623 |
|
5624 | 2.7.0 / 2012-06-14
|
5625 | ===================
|
5626 |
|
5627 | * added; deprecation warnings to methods being removed in 3.x
|
5628 |
|
5629 | 2.6.8 / 2012-06-14
|
5630 | ===================
|
5631 |
|
5632 | * fixed; edge case when using 'options' as a path name (#961)
|
5633 |
|
5634 | 2.6.7 / 2012-06-08
|
5635 | ===================
|
5636 |
|
5637 | * fixed; ensure promise#error always emits instanceof Error
|
5638 | * fixed; selection of _id w/ another excluded path (#954)
|
5639 | * fixed; setting default DocumentArrays (#953)
|
5640 |
|
5641 | 2.6.6 / 2012-06-06
|
5642 | ===================
|
5643 |
|
5644 | * fixed; stack overflow in query stream with large result sets (#929)
|
5645 | * added; $gt, $gte, $lt, $lte support to arrays (#902)
|
5646 | * fixed; pass option `safe` along to doc#remove() calls
|
5647 |
|
5648 | 2.6.5 / 2012-05-24
|
5649 | ===================
|
5650 |
|
5651 | * fixed; do not save virtuals in Model.update (#894)
|
5652 | * added; missing $ prefixed query aliases (going away in 3.x) (#884) [timoxley]
|
5653 | * fixed; setting invalid paths in strict mode (#916)
|
5654 | * fixed; resetting isNew after insert failure (#837) [boutell]
|
5655 |
|
5656 | 2.6.4 / 2012-05-15
|
5657 | ===================
|
5658 |
|
5659 | * updated; backport string regex $options to 2.x
|
5660 | * updated; use driver 1.0.2 (performance improvements) (#914)
|
5661 | * fixed; calling MongooseDocumentArray#id when the doc has no _id (#897)
|
5662 |
|
5663 | 2.6.3 / 2012-05-03
|
5664 | ===================
|
5665 |
|
5666 | * fixed; repl-set connectivity issues during failover on MongoDB 2.0.1
|
5667 | * updated; driver to 1.0.0
|
5668 | * fixed; virtuals application of subdocs when using toObject({ virtuals: true }) (#889)
|
5669 | * fixed; MongooseArray#pull of ObjectId correctly updates the array itself (#881)
|
5670 |
|
5671 | 2.6.2 / 2012-04-30
|
5672 | ===================
|
5673 |
|
5674 | * fixed; default field application of selected fields (#870)
|
5675 |
|
5676 | 2.6.1 / 2012-04-30
|
5677 | ===================
|
5678 |
|
5679 | * fixed; connection assignment in mongoose#model (#853, #877)
|
5680 | * fixed; incorrect reported num of affected docs in update ops (#862)
|
5681 |
|
5682 | 2.6.0 / 2012-04-19
|
5683 | ===================
|
5684 |
|
5685 | * updated; hooks.js to 0.2.1
|
5686 | * fixed; issue with passing undefined to a hook callback. thanks to [chrisleishman] for reporting.
|
5687 | * fixed; updating/setting nested objects in strict schemas (#843) as reported by [kof]
|
5688 | * fixed; Query#{update,remove}() work without callbacks again (#788)
|
5689 | * fixed; modifying subdoc along with parent array $atomic op (#842)
|
5690 |
|
5691 | 2.5.14 / 2012-04-13
|
5692 | ===================
|
5693 |
|
5694 | * fixed; setting an unset default value (#742)
|
5695 | * fixed; doc.isSelected(otherpath) when only _id is selected (#730)
|
5696 | * updated; docs
|
5697 |
|
5698 | 2.5.13 / 2012-03-22
|
5699 | ===================
|
5700 |
|
5701 | * fixed; failing validation of unselected required paths (#730,#713)
|
5702 | * fixed; emitting connection error when only one listener (#759)
|
5703 | * fixed; MongooseArray#splice was not returning values (#784) [chrisleishman]
|
5704 |
|
5705 | 2.5.12 / 2012-03-21
|
5706 | ===================
|
5707 |
|
5708 | * fixed; honor the `safe` option in all ensureIndex calls
|
5709 | * updated; node-mongodb-native driver to 0.9.9-7
|
5710 |
|
5711 | 2.5.11 / 2012-03-15
|
5712 | ===================
|
5713 |
|
5714 | * added; introspection for getters/setters (#745)
|
5715 | * updated; node-mongodb-driver to 0.9.9-5
|
5716 | * added; tailable method to Query (#769) [holic]
|
5717 | * fixed; Number min/max validation of null (#764) [btamas]
|
5718 | * added; more flexible user/password connection options (#738) [KarneAsada]
|
5719 |
|
5720 | 2.5.10 / 2012-03-06
|
5721 | ===================
|
5722 |
|
5723 | * updated; node-mongodb-native driver to 0.9.9-4
|
5724 | * added; Query#comment()
|
5725 | * fixed; allow unsetting arrays
|
5726 | * fixed; hooking the set method of subdocuments (#746)
|
5727 | * fixed; edge case in hooks
|
5728 | * fixed; allow $id and $ref in queries (fixes compatibility with mongoose-dbref) (#749) [richtera]
|
5729 | * added; default path selection to SchemaTypes
|
5730 |
|
5731 | 2.5.9 / 2012-02-22
|
5732 | ===================
|
5733 |
|
5734 | * fixed; properly cast nested atomic update operators for sub-documents
|
5735 |
|
5736 | 2.5.8 / 2012-02-21
|
5737 | ===================
|
5738 |
|
5739 | * added; post 'remove' middleware includes model that was removed (#729) [timoxley]
|
5740 |
|
5741 | 2.5.7 / 2012-02-09
|
5742 | ===================
|
5743 |
|
5744 | * fixed; RegExp validators on node >= v0.6.x
|
5745 |
|
5746 | 2.5.6 / 2012-02-09
|
5747 | ===================
|
5748 |
|
5749 | * fixed; emit errors returned from db.collection() on the connection (were being swallowed)
|
5750 | * added; can add multiple validators in your schema at once (#718) [diogogmt]
|
5751 | * fixed; strict embedded documents (#717)
|
5752 | * updated; docs [niemyjski]
|
5753 | * added; pass number of affected docs back in model.update/save
|
5754 |
|
5755 | 2.5.5 / 2012-02-03
|
5756 | ===================
|
5757 |
|
5758 | * fixed; RangeError: maximum call stack exceed error when removing docs with Number _id (#714)
|
5759 |
|
5760 | 2.5.4 / 2012-02-03
|
5761 | ===================
|
5762 |
|
5763 | * fixed; RangeError: maximum call stack exceed error (#714)
|
5764 |
|
5765 | 2.5.3 / 2012-02-02
|
5766 | ===================
|
5767 |
|
5768 | * added; doc#isSelected(path)
|
5769 | * added; query#equals()
|
5770 | * added; beta sharding support
|
5771 | * added; more descript error msgs (#700) [obeleh]
|
5772 | * added; document.modifiedPaths (#709) [ljharb]
|
5773 | * fixed; only functions can be added as getters/setters (#707,704) [ljharb]
|
5774 |
|
5775 | 2.5.2 / 2012-01-30
|
5776 | ===================
|
5777 |
|
5778 | * fixed; rollback -native driver to 0.9.7-3-5 (was causing timeouts and other replica set weirdness)
|
5779 | * deprecated; MongooseNumber (will be moved to a separate repo for 3.x)
|
5780 | * added; init event is emitted on schemas
|
5781 |
|
5782 | 2.5.1 / 2012-01-27
|
5783 | ===================
|
5784 |
|
5785 | * fixed; honor strict schemas in Model.update (#699)
|
5786 |
|
5787 | 2.5.0 / 2012-01-26
|
5788 | ===================
|
5789 |
|
5790 | * added; doc.toJSON calls toJSON on embedded docs when exists [jerem]
|
5791 | * added; populate support for refs of type Buffer (#686) [jerem]
|
5792 | * added; $all support for ObjectIds and Dates (#690)
|
5793 | * fixed; virtual setter calling on instantiation when strict: true (#682) [hunterloftis]
|
5794 | * fixed; doc construction triggering getters (#685)
|
5795 | * fixed; MongooseBuffer check in deepEquals (#688)
|
5796 | * fixed; range error when using Number _ids with `instance.save()` (#691)
|
5797 | * fixed; isNew on embedded docs edge case (#680)
|
5798 | * updated; driver to 0.9.8-3
|
5799 | * updated; expose `model()` method within static methods
|
5800 |
|
5801 | 2.4.10 / 2012-01-10
|
5802 | ===================
|
5803 |
|
5804 | * added; optional getter application in .toObject()/.toJSON() (#412)
|
5805 | * fixed; nested $operators in $all queries (#670)
|
5806 | * added; $nor support (#674)
|
5807 | * fixed; bug when adding nested schema (#662) [paulwe]
|
5808 |
|
5809 | 2.4.9 / 2012-01-04
|
5810 | ===================
|
5811 |
|
5812 | * updated; driver to 0.9.7-3-5 to fix Linux performance degradation on some boxes
|
5813 |
|
5814 | 2.4.8 / 2011-12-22
|
5815 | ===================
|
5816 |
|
5817 | * updated; bump -native to 0.9.7.2-5
|
5818 | * fixed; compatibility with date.js (#646) [chrisleishman]
|
5819 | * changed; undocumented schema "lax" option to "strict"
|
5820 | * fixed; default value population for strict schemas
|
5821 | * updated; the nextTick helper for small performance gain. 1bee2a2
|
5822 |
|
5823 | 2.4.7 / 2011-12-16
|
5824 | ===================
|
5825 |
|
5826 | * fixed; bug in 2.4.6 with path setting
|
5827 | * updated; bump -native to 0.9.7.2-1
|
5828 | * added; strict schema option [nw]
|
5829 |
|
5830 | 2.4.6 / 2011-12-16
|
5831 | ===================
|
5832 |
|
5833 | * fixed; conflicting mods on update bug [sirlantis]
|
5834 | * improved; doc.id getter performance
|
5835 |
|
5836 | 2.4.5 / 2011-12-14
|
5837 | ===================
|
5838 |
|
5839 | * fixed; bad MongooseArray behavior in 2.4.2 - 2.4.4
|
5840 |
|
5841 | 2.4.4 / 2011-12-14
|
5842 | ===================
|
5843 |
|
5844 | * fixed; MongooseArray#doAtomics throwing after sliced
|
5845 |
|
5846 | 2.4.3 / 2011-12-14
|
5847 | ===================
|
5848 |
|
5849 | * updated; system.profile schema for MongoDB 2x
|
5850 |
|
5851 | 2.4.2 / 2011-12-12
|
5852 | ===================
|
5853 |
|
5854 | * fixed; partially populating multiple children of subdocs (#639) [kenpratt]
|
5855 | * fixed; allow Update of numbers to null (#640) [jerem]
|
5856 |
|
5857 | 2.4.1 / 2011-12-02
|
5858 | ===================
|
5859 |
|
5860 | * added; options support for populate() queries
|
5861 | * updated; -native driver to 0.9.7-1.4
|
5862 |
|
5863 | 2.4.0 / 2011-11-29
|
5864 | ===================
|
5865 |
|
5866 | * added; QueryStreams (#614)
|
5867 | * added; debug print mode for development
|
5868 | * added; $within support to Array queries (#586) [ggoodale]
|
5869 | * added; $centerSphere query support
|
5870 | * fixed; $within support
|
5871 | * added; $unset is now used when setting a path to undefined (#519)
|
5872 | * added; query#batchSize support
|
5873 | * updated; docs
|
5874 | * updated; -native driver to 0.9.7-1.3 (provides Windows support)
|
5875 |
|
5876 | 2.3.13 / 2011-11-15
|
5877 | ===================
|
5878 |
|
5879 | * fixed; required validation for Refs (#612) [ded]
|
5880 | * added; $nearSphere support for Arrays (#610)
|
5881 |
|
5882 | 2.3.12 / 2011-11-09
|
5883 | ===================
|
5884 |
|
5885 | * fixed; regression, objects passed to Model.update should not be changed (#605)
|
5886 | * fixed; regression, empty Model.update should not be executed
|
5887 |
|
5888 | 2.3.11 / 2011-11-08
|
5889 | ===================
|
5890 |
|
5891 | * fixed; using $elemMatch on arrays of Mixed types (#591)
|
5892 | * fixed; allow using $regex when querying Arrays (#599)
|
5893 | * fixed; calling Model.update with no atomic keys (#602)
|
5894 |
|
5895 | 2.3.10 / 2011-11-05
|
5896 | ===================
|
5897 |
|
5898 | * fixed; model.update casting for nested paths works (#542)
|
5899 |
|
5900 | 2.3.9 / 2011-11-04
|
5901 | ==================
|
5902 |
|
5903 | * fixed; deepEquals check for MongooseArray returned false
|
5904 | * fixed; reset modified flags of embedded docs after save [gitfy]
|
5905 | * fixed; setting embedded doc with identical values no longer marks modified [gitfy]
|
5906 | * updated; -native driver to 0.9.6.23 [mlazarov]
|
5907 | * fixed; Model.update casting (#542, #545, #479)
|
5908 | * fixed; populated refs no longer fail required validators (#577)
|
5909 | * fixed; populating refs of objects with custom ids works
|
5910 | * fixed; $pop & $unset work with Model.update (#574)
|
5911 | * added; more helpful debugging message for Schema#add (#578)
|
5912 | * fixed; accessing .id when no _id exists now returns null (#590)
|
5913 |
|
5914 | 2.3.8 / 2011-10-26
|
5915 | ==================
|
5916 |
|
5917 | * added; callback to query#findOne is now optional (#581)
|
5918 |
|
5919 | 2.3.7 / 2011-10-24
|
5920 | ==================
|
5921 |
|
5922 | * fixed; wrapped save/remove callbacks in nextTick to mitigate -native swallowing thrown errors
|
5923 |
|
5924 | 2.3.6 / 2011-10-21
|
5925 | ==================
|
5926 |
|
5927 | * fixed; exclusion of embedded doc _id from query results (#541)
|
5928 |
|
5929 | 2.3.5 / 2011-10-19
|
5930 | ==================
|
5931 |
|
5932 | * fixed; calling queries without passing a callback works (#569)
|
5933 | * fixed; populate() works with String and Number _ids too (#568)
|
5934 |
|
5935 | 2.3.4 / 2011-10-18
|
5936 | ==================
|
5937 |
|
5938 | * added; Model.create now accepts an array as a first arg
|
5939 | * fixed; calling toObject on a DocumentArray with nulls no longer throws
|
5940 | * fixed; calling inspect on a DocumentArray with nulls no longer throws
|
5941 | * added; MongooseArray#unshift support
|
5942 | * fixed; save hooks now fire on embedded documents [gitfy] (#456)
|
5943 | * updated; -native driver to 0.9.6-22
|
5944 | * fixed; correctly pass $addToSet op instead of $push
|
5945 | * fixed; $addToSet properly detects dates
|
5946 | * fixed; $addToSet with multiple items works
|
5947 | * updated; better node 0.6 Buffer support
|
5948 |
|
5949 | 2.3.3 / 2011-10-12
|
5950 | ==================
|
5951 |
|
5952 | * fixed; population conditions in multi-query settings [vedmalex] (#563)
|
5953 | * fixed; now compatible with Node v0.5.x
|
5954 |
|
5955 | 2.3.2 / 2011-10-11
|
5956 | ==================
|
5957 |
|
5958 | * fixed; population of null subdoc properties no longer hangs (#561)
|
5959 |
|
5960 | 2.3.1 / 2011-10-10
|
5961 | ==================
|
5962 |
|
5963 | * added; support for Query filters to populate() [eneko]
|
5964 | * fixed; querying with number no longer crashes mongodb (#555) [jlbyrey]
|
5965 | * updated; version of -native driver to 0.9.6-21
|
5966 | * fixed; prevent query callbacks that throw errors from corrupting -native connection state
|
5967 |
|
5968 | 2.3.0 / 2011-10-04
|
5969 | ==================
|
5970 |
|
5971 | * fixed; nulls as default values for Boolean now works as expected
|
5972 | * updated; version of -native driver to 0.9.6-20
|
5973 |
|
5974 | 2.2.4 / 2011-10-03
|
5975 | ==================
|
5976 |
|
5977 | * fixed; populate() works when returned array contains undefined/nulls
|
5978 |
|
5979 | 2.2.3 / 2011-09-29
|
5980 | ==================
|
5981 |
|
5982 | * updated; version of -native driver to 0.9.6-19
|
5983 |
|
5984 | 2.2.2 / 2011-09-28
|
5985 | ==================
|
5986 |
|
5987 | * added; $regex support to String [davidandrewcope]
|
5988 | * added; support for other contexts like repl etc (#535)
|
5989 | * fixed; clear modified state properly after saving
|
5990 | * added; $addToSet support to Array
|
5991 |
|
5992 | 2.2.1 / 2011-09-22
|
5993 | ==================
|
5994 |
|
5995 | * more descript error when casting undefined to string
|
5996 | * updated; version of -native driver to 0.9.6-18
|
5997 |
|
5998 | 2.2.0 / 2011-09-22
|
5999 | ==================
|
6000 |
|
6001 | * fixed; maxListeners warning on schemas with many arrays (#530)
|
6002 | * changed; return / apply defaults based on fields selected in query (#423)
|
6003 | * fixed; correctly detect Mixed types within schema arrays (#532)
|
6004 |
|
6005 | 2.1.4 / 2011-09-20
|
6006 | ==================
|
6007 |
|
6008 | * fixed; new private methods that stomped on users code
|
6009 | * changed; finished removing old "compat" support which did nothing
|
6010 |
|
6011 | 2.1.3 / 2011-09-16
|
6012 | ==================
|
6013 |
|
6014 | * updated; version of -native driver to 0.9.6-15
|
6015 | * added; emit `error` on connection when open fails [edwardhotchkiss]
|
6016 | * added; index support to Buffers (thanks justmoon for helping track this down)
|
6017 | * fixed; passing collection name via schema in conn.model() now works (thanks vedmalex for reporting)
|
6018 |
|
6019 | 2.1.2 / 2011-09-07
|
6020 | ==================
|
6021 |
|
6022 | * fixed; Query#find with no args no longer throws
|
6023 |
|
6024 | 2.1.1 / 2011-09-07
|
6025 | ==================
|
6026 |
|
6027 | * added; support Model.count(fn)
|
6028 | * fixed; compatibility with node >=0.4.0 < 0.4.3
|
6029 | * added; pass model.options.safe through with .save() so w:2, wtimeout:5000 options work [andrewjstone]
|
6030 | * added; support for $type queries
|
6031 | * added; support for Query#or
|
6032 | * added; more tests
|
6033 | * optimized populate queries
|
6034 |
|
6035 | 2.1.0 / 2011-09-01
|
6036 | ==================
|
6037 |
|
6038 | * changed; document#validate is a public method
|
6039 | * fixed; setting number to same value no longer marks modified (#476) [gitfy]
|
6040 | * fixed; Buffers shouldn't have default vals
|
6041 | * added; allow specifying collection name in schema (#470) [ixti]
|
6042 | * fixed; reset modified paths and atomics after saved (#459)
|
6043 | * fixed; set isNew on embedded docs to false after save
|
6044 | * fixed; use self to ensure proper scope of options in doOpenSet (#483) [andrewjstone]
|
6045 |
|
6046 | 2.0.4 / 2011-08-29
|
6047 | ==================
|
6048 |
|
6049 | * Fixed; Only send the depopulated ObjectId instead of the entire doc on save (DBRefs)
|
6050 | * Fixed; Properly cast nested array values in Model.update (the data was stored in Mongo incorrectly but recast on document fetch was "fixing" it)
|
6051 |
|
6052 | 2.0.3 / 2011-08-28
|
6053 | ==================
|
6054 |
|
6055 | * Fixed; manipulating a populated array no longer causes infinite loop in BSON serializer during save (#477)
|
6056 | * Fixed; populating an empty array no longer hangs foreeeeeeeever (#481)
|
6057 |
|
6058 | 2.0.2 / 2011-08-25
|
6059 | ==================
|
6060 |
|
6061 | * Fixed; Maintain query option key order (fixes 'bad hint' error from compound query hints)
|
6062 |
|
6063 | 2.0.1 / 2011-08-25
|
6064 | ==================
|
6065 |
|
6066 | * Fixed; do not over-write the doc when no valide props exist in Model.update (#473)
|
6067 |
|
6068 | 2.0.0 / 2011-08-24
|
6069 | ===================
|
6070 |
|
6071 | * Added; support for Buffers [justmoon]
|
6072 | * Changed; improved error handling [maelstrom]
|
6073 | * Removed: unused utils.erase
|
6074 | * Fixed; support for passing other context object into Schemas (#234) [Sija]
|
6075 | * Fixed; getters are no longer circular refs to themselves (#366)
|
6076 | * Removed; unused compat.js
|
6077 | * Fixed; getter/setter scopes are set properly
|
6078 | * Changed; made several private properties more obvious by prefixing _
|
6079 | * Added; DBRef support [guille]
|
6080 | * Changed; removed support for multiple collection names per model
|
6081 | * Fixed; no longer applying setters when document returned from db
|
6082 | * Changed; default auto_reconnect to true
|
6083 | * Changed; Query#bind no longer clones the query
|
6084 | * Fixed; Model.update now accepts $pull, $inc and friends (#404)
|
6085 | * Added; virtual type option support [nw]
|
6086 |
|
6087 | 1.8.4 / 2011-08-21
|
6088 | ===================
|
6089 |
|
6090 | * Fixed; validation bug when instantiated with non-schema properties (#464) [jmreidy]
|
6091 |
|
6092 | 1.8.3 / 2011-08-19
|
6093 | ===================
|
6094 |
|
6095 | * Fixed; regression in connection#open [jshaw86]
|
6096 |
|
6097 | 1.8.2 / 2011-08-17
|
6098 | ===================
|
6099 |
|
6100 | * fixed; reset connection.readyState after failure [tomseago]
|
6101 | * fixed; can now query positionally for non-embedded docs (arrays of numbers/strings etc)
|
6102 | * fixed; embedded document query casting
|
6103 | * added; support for passing options to node-mongo-native db, server, and replsetserver [tomseago]
|
6104 |
|
6105 | 1.8.1 / 2011-08-10
|
6106 | ===================
|
6107 |
|
6108 | * fixed; ObjectIds were always marked modified
|
6109 | * fixed; can now query using document instances
|
6110 | * fixed; can now query/update using documents with subdocs
|
6111 |
|
6112 | 1.8.0 / 2011-08-04
|
6113 | ===================
|
6114 |
|
6115 | * fixed; can now use $all with String and Number
|
6116 | * fixed; can query subdoc array with $ne: null
|
6117 | * fixed; instance.subdocs#id now works with custom _ids
|
6118 | * fixed; do not apply setters when doc returned from db (change in bad behavior)
|
6119 |
|
6120 | 1.7.4 / 2011-07-25
|
6121 | ===================
|
6122 |
|
6123 | * fixed; sparse now a valid seperate schema option
|
6124 | * fixed; now catching cast errors in queries
|
6125 | * fixed; calling new Schema with object created in vm.runInNewContext now works (#384) [Sija]
|
6126 | * fixed; String enum was disallowing null
|
6127 | * fixed; Find by nested document _id now works (#389)
|
6128 |
|
6129 | 1.7.3 / 2011-07-16
|
6130 | ===================
|
6131 |
|
6132 | * fixed; MongooseArray#indexOf now works with ObjectIds
|
6133 | * fixed; validation scope now set properly (#418)
|
6134 | * fixed; added missing colors dependency (#398)
|
6135 |
|
6136 | 1.7.2 / 2011-07-13
|
6137 | ===================
|
6138 |
|
6139 | * changed; node-mongodb-native driver to v0.9.6.7
|
6140 |
|
6141 | 1.7.1 / 2011-07-12
|
6142 | ===================
|
6143 |
|
6144 | * changed; roll back node-mongodb-native driver to v0.9.6.4
|
6145 |
|
6146 | 1.7.0 / 2011-07-12
|
6147 | ===================
|
6148 |
|
6149 | * fixed; collection name misspelling [mathrawka]
|
6150 | * fixed; 2nd param is required for ReplSetServers [kevinmarvin]
|
6151 | * fixed; MongooseArray behaves properly with Object.keys
|
6152 | * changed; node-mongodb-native driver to v0.9.6.6
|
6153 | * fixed/changed; Mongodb segfault when passed invalid ObjectId (#407)
|
6154 | - This means invalid data passed to the ObjectId constructor will now error
|
6155 |
|
6156 | 1.6.0 / 2011-07-07
|
6157 | ===================
|
6158 |
|
6159 | * changed; .save() errors are now emitted on the instances db instead of the instance 9782463fc
|
6160 | * fixed; errors occurring when creating indexes now properly emit on db
|
6161 | * added; $maxDistance support to MongooseArrays
|
6162 | * fixed; RegExps now work with $all
|
6163 | * changed; node-mongodb-native driver to v0.9.6.4
|
6164 | * fixed; model names are now accessible via .modelName
|
6165 | * added; Query#slaveOk support
|
6166 |
|
6167 | 1.5.0 / 2011-06-27
|
6168 | ===================
|
6169 |
|
6170 | * changed; saving without a callback no longer ignores the error (@bnoguchi)
|
6171 | * changed; hook-js version bump to 0.1.9
|
6172 | * changed; node-mongodb-native version bumped to 0.9.6.1 - When .remove() doesn't
|
6173 | return an error, null is no longer passed.
|
6174 | * fixed; two memory leaks (@justmoon)
|
6175 | * added; sparse index support
|
6176 | * added; more ObjectId conditionals (gt, lt, gte, lte) (@phillyqueso)
|
6177 | * added; options are now passed in model#remote (@JerryLuke)
|
6178 |
|
6179 | 1.4.0 / 2011-06-10
|
6180 | ===================
|
6181 |
|
6182 | * bumped hooks-js dependency (fixes issue passing null as first arg to next())
|
6183 | * fixed; document#inspect now works properly with nested docs
|
6184 | * fixed; 'set' now works as a schema attribute (GH-365)
|
6185 | * fixed; _id is now set properly within pre-init hooks (GH-289)
|
6186 | * added; Query#distinct / Model#distinct support (GH-155)
|
6187 | * fixed; embedded docs now can use instance methods (GH-249)
|
6188 | * fixed; can now overwrite strings conflicting with schema type
|
6189 |
|
6190 | 1.3.7 / 2011-06-03
|
6191 | ===================
|
6192 |
|
6193 | * added MongooseArray#splice support
|
6194 | * fixed; 'path' is now a valid Schema pathname
|
6195 | * improved hooks (utilizing https://github.com/bnoguchi/hooks-js)
|
6196 | * fixed; MongooseArray#$shift now works (never did)
|
6197 | * fixed; Document.modified no longer throws
|
6198 | * fixed; modifying subdoc property sets modified paths for subdoc and parent doc
|
6199 | * fixed; marking subdoc path as modified properly persists the value to the db
|
6200 | * fixed; RexExps can again be saved ( #357 )
|
6201 |
|
6202 | 1.3.6 / 2011-05-18
|
6203 | ===================
|
6204 |
|
6205 | * fixed; corrected casting for queries against array types
|
6206 | * added; Document#set now accepts Document instances
|
6207 |
|
6208 | 1.3.5 / 2011-05-17
|
6209 | ===================
|
6210 |
|
6211 | * fixed; $ne queries work properly with single vals
|
6212 | * added; #inspect() methods to improve console.log output
|
6213 |
|
6214 | 1.3.4 / 2011-05-17
|
6215 | ===================
|
6216 |
|
6217 | * fixed; find by Date works as expected (#336)
|
6218 | * added; geospatial 2d index support
|
6219 | * added; support for $near (#309)
|
6220 | * updated; node-mongodb-native driver
|
6221 | * fixed; updating numbers work (#342)
|
6222 | * added; better error msg when try to remove an embedded doc without an _id (#307)
|
6223 | * added; support for 'on-the-fly' schemas (#227)
|
6224 | * changed; virtual id getters can now be skipped
|
6225 | * fixed; .index() called on subdoc schema now works as expected
|
6226 | * fixed; db.setProfile() now buffers until the db is open (#340)
|
6227 |
|
6228 | 1.3.3 / 2011-04-27
|
6229 | ===================
|
6230 |
|
6231 | * fixed; corrected query casting on nested mixed types
|
6232 |
|
6233 | 1.3.2 / 2011-04-27
|
6234 | ===================
|
6235 |
|
6236 | * fixed; query hints now retain key order
|
6237 |
|
6238 | 1.3.1 / 2011-04-27
|
6239 | ===================
|
6240 |
|
6241 | * fixed; setting a property on an embedded array no longer overwrites entire array (GH-310)
|
6242 | * fixed; setting nested properties works when sibling prop is named "type"
|
6243 | * fixed; isModified is now much finer grained when .set() is used (GH-323)
|
6244 | * fixed; mongoose.model() and connection.model() now return the Model (GH-308, GH-305)
|
6245 | * fixed; can now use $gt, $lt, $gte, $lte with String schema types (GH-317)
|
6246 | * fixed; .lowercase() -> .toLowerCase() in pluralize()
|
6247 | * fixed; updating an embedded document by index works (GH-334)
|
6248 | * changed; .save() now passes the instance to the callback (GH-294, GH-264)
|
6249 | * added; can now query system.profile and system.indexes collections
|
6250 | * added; db.model('system.profile') is now included as a default Schema
|
6251 | * added; db.setProfiling(level, ms, callback)
|
6252 | * added; Query#hint() support
|
6253 | * added; more tests
|
6254 | * updated node-mongodb-native to 0.9.3
|
6255 |
|
6256 | 1.3.0 / 2011-04-19
|
6257 | ===================
|
6258 |
|
6259 | * changed; save() callbacks now fire only once on failed validation
|
6260 | * changed; Errors returned from save() callbacks now instances of ValidationError
|
6261 | * fixed; MongooseArray#indexOf now works properly
|
6262 |
|
6263 | 1.2.0 / 2011-04-11
|
6264 | ===================
|
6265 |
|
6266 | * changed; MongooseNumber now casts empty string to null
|
6267 |
|
6268 | 1.1.25 / 2011-04-08
|
6269 | ===================
|
6270 |
|
6271 | * fixed; post init now fires at proper time
|
6272 |
|
6273 | 1.1.24 / 2011-04-03
|
6274 | ===================
|
6275 |
|
6276 | * fixed; pushing an array onto an Array works on existing docs
|
6277 |
|
6278 | 1.1.23 / 2011-04-01
|
6279 | ===================
|
6280 |
|
6281 | * Added Model#model
|
6282 |
|
6283 | 1.1.22 / 2011-03-31
|
6284 | ===================
|
6285 |
|
6286 | * Fixed; $in queries on mixed types now work
|
6287 |
|
6288 | 1.1.21 / 2011-03-31
|
6289 | ===================
|
6290 |
|
6291 | * Fixed; setting object root to null/undefined works
|
6292 |
|
6293 | 1.1.20 / 2011-03-31
|
6294 | ===================
|
6295 |
|
6296 | * Fixed; setting multiple props on null field works
|
6297 |
|
6298 | 1.1.19 / 2011-03-31
|
6299 | ===================
|
6300 |
|
6301 | * Fixed; no longer using $set on paths to an unexisting fields
|
6302 |
|
6303 | 1.1.18 / 2011-03-30
|
6304 | ===================
|
6305 |
|
6306 | * Fixed; non-mixed type object setters work after initd from null
|
6307 |
|
6308 | 1.1.17 / 2011-03-30
|
6309 | ===================
|
6310 |
|
6311 | * Fixed; nested object property access works when root initd with null value
|
6312 |
|
6313 | 1.1.16 / 2011-03-28
|
6314 | ===================
|
6315 |
|
6316 | * Fixed; empty arrays are now saved
|
6317 |
|
6318 | 1.1.15 / 2011-03-28
|
6319 | ===================
|
6320 |
|
6321 | * Fixed; `null` and `undefined` are set atomically.
|
6322 |
|
6323 | 1.1.14 / 2011-03-28
|
6324 | ===================
|
6325 |
|
6326 | * Changed; more forgiving date casting, accepting '' as null.
|
6327 |
|
6328 | 1.1.13 / 2011-03-26
|
6329 | ===================
|
6330 |
|
6331 | * Fixed setting values as `undefined`.
|
6332 |
|
6333 | 1.1.12 / 2011-03-26
|
6334 | ===================
|
6335 |
|
6336 | * Fixed; nested objects now convert to JSON properly
|
6337 | * Fixed; setting nested objects directly now works
|
6338 | * Update node-mongodb-native
|
6339 |
|
6340 | 1.1.11 / 2011-03-25
|
6341 | ===================
|
6342 |
|
6343 | * Fixed for use of `type` as a key.
|
6344 |
|
6345 | 1.1.10 / 2011-03-23
|
6346 | ===================
|
6347 |
|
6348 | * Changed; Make sure to only ensure indexes while connected
|
6349 |
|
6350 | 1.1.9 / 2011-03-2
|
6351 | ==================
|
6352 |
|
6353 | * Fixed; Mixed can now default to empty arrays
|
6354 | * Fixed; keys by the name 'type' are now valid
|
6355 | * Fixed; null values retrieved from the database are hydrated as null values.
|
6356 | * Fixed repeated atomic operations when saving a same document twice.
|
6357 |
|
6358 | 1.1.8 / 2011-03-23
|
6359 | ==================
|
6360 |
|
6361 | * Fixed 'id' overriding. [bnoguchi]
|
6362 |
|
6363 | 1.1.7 / 2011-03-22
|
6364 | ==================
|
6365 |
|
6366 | * Fixed RegExp query casting when querying against an Array of Strings [bnoguchi]
|
6367 | * Fixed getters/setters for nested virtualsl. [bnoguchi]
|
6368 |
|
6369 | 1.1.6 / 2011-03-22
|
6370 | ==================
|
6371 |
|
6372 | * Only doValidate when path exists in Schema [aheckmann]
|
6373 | * Allow function defaults for Array types [aheckmann]
|
6374 | * Fix validation hang [aheckmann]
|
6375 | * Fix setting of isRequired of SchemaType [aheckmann]
|
6376 | * Fix SchemaType#required(false) filter [aheckmann]
|
6377 | * More backwards compatibility [aheckmann]
|
6378 | * More tests [aheckmann]
|
6379 |
|
6380 | 1.1.5 / 2011-03-14
|
6381 | ==================
|
6382 |
|
6383 | * Added support for `uri, db, fn` and `uri, fn` signatures for replica sets.
|
6384 | * Improved/extended replica set tests.
|
6385 |
|
6386 | 1.1.4 / 2011-03-09
|
6387 | ==================
|
6388 |
|
6389 | * Fixed; running an empty Query doesn't throw. [aheckmann]
|
6390 | * Changed; Promise#addBack returns promise. [aheckmann]
|
6391 | * Added streaming cursor support. [aheckmann]
|
6392 | * Changed; Query#update defaults to use$SetOnSave now. [brian]
|
6393 | * Added more docs.
|
6394 |
|
6395 | 1.1.3 / 2011-03-04
|
6396 | ==================
|
6397 |
|
6398 | * Added Promise#resolve [aheckmann]
|
6399 | * Fixed backward compatibility with nulls [aheckmann]
|
6400 | * Changed; Query#{run,exec} return promises [aheckmann]
|
6401 |
|
6402 | 1.1.2 / 2011-03-03
|
6403 | ==================
|
6404 |
|
6405 | * Restored Query#exec and added notion of default operation [brian]
|
6406 | * Fixed ValidatorError messages [brian]
|
6407 |
|
6408 | 1.1.1 / 2011-03-01
|
6409 | ==================
|
6410 |
|
6411 | * Added SchemaType String `lowercase`, `uppercase`, `trim`.
|
6412 | * Public exports (`Model`, `Document`) and tests.
|
6413 | * Added ObjectId casting support for `Document`s.
|
6414 |
|
6415 | 1.1.0 / 2011-02-25
|
6416 | ==================
|
6417 |
|
6418 | * Added support for replica sets.
|
6419 |
|
6420 | 1.0.16 / 2011-02-18
|
6421 | ===================
|
6422 |
|
6423 | * Added $nin as another whitelisted $conditional for SchemaArray [brian]
|
6424 | * Changed #with to #where [brian]
|
6425 | * Added ability to use $in conditional with Array types [brian]
|
6426 |
|
6427 | 1.0.15 / 2011-02-18
|
6428 | ===================
|
6429 |
|
6430 | * Added `id` virtual getter for documents to easily access the hexString of
|
6431 | the `_id`.
|
6432 |
|
6433 | 1.0.14 / 2011-02-17
|
6434 | ===================
|
6435 |
|
6436 | * Fix for arrays within subdocuments [brian]
|
6437 |
|
6438 | 1.0.13 / 2011-02-16
|
6439 | ===================
|
6440 |
|
6441 | * Fixed embedded documents saving.
|
6442 |
|
6443 | 1.0.12 / 2011-02-14
|
6444 | ===================
|
6445 |
|
6446 | * Minor refactorings [brian]
|
6447 |
|
6448 | 1.0.11 / 2011-02-14
|
6449 | ===================
|
6450 |
|
6451 | * Query refactor and $ne, $slice, $or, $size, $elemMatch, $nin, $exists support [brian]
|
6452 | * Named scopes sugar [brian]
|
6453 |
|
6454 | 1.0.10 / 2011-02-11
|
6455 | ===================
|
6456 |
|
6457 | * Updated node-mongodb-native driver [thanks John Allen]
|
6458 |
|
6459 | 1.0.9 / 2011-02-09
|
6460 | ==================
|
6461 |
|
6462 | * Fixed single member arrays as defaults [brian]
|
6463 |
|
6464 | 1.0.8 / 2011-02-09
|
6465 | ==================
|
6466 |
|
6467 | * Fixed for collection-level buffering of commands [gitfy]
|
6468 | * Fixed `Document#toJSON` [dalejefferson]
|
6469 | * Fixed `Connection` authentication [robrighter]
|
6470 | * Fixed clash of accessors in getters/setters [eirikurn]
|
6471 | * Improved `Model#save` promise handling
|
6472 |
|
6473 | 1.0.7 / 2011-02-05
|
6474 | ==================
|
6475 |
|
6476 | * Fixed memory leak warnings for test suite on 0.3
|
6477 | * Fixed querying documents that have an array that contain at least one
|
6478 | specified member. [brian]
|
6479 | * Fixed default value for Array types (fixes GH-210). [brian]
|
6480 | * Fixed example code.
|
6481 |
|
6482 | 1.0.6 / 2011-02-03
|
6483 | ==================
|
6484 |
|
6485 | * Fixed `post` middleware
|
6486 | * Fixed; it's now possible to instantiate a model even when one of the paths maps
|
6487 | to an undefined value [brian]
|
6488 |
|
6489 | 1.0.5 / 2011-02-02
|
6490 | ==================
|
6491 |
|
6492 | * Fixed; combo $push and $pushAll auto-converts into a $pushAll [brian]
|
6493 | * Fixed; combo $pull and $pullAll auto-converts to a single $pullAll [brian]
|
6494 | * Fixed; $pullAll now removes said members from array before save (so it acts just
|
6495 | like pushAll) [brian]
|
6496 | * Fixed; multiple $pulls and $pushes become a single $pullAll and $pushAll.
|
6497 | Moreover, $pull now modifies the array before save to reflect the immediate
|
6498 | change [brian]
|
6499 | * Added tests for nested shortcut getters [brian]
|
6500 | * Added tests that show that Schemas with nested Arrays don't apply defaults
|
6501 | [brian]
|
6502 |
|
6503 | 1.0.4 / 2011-02-02
|
6504 | ==================
|
6505 |
|
6506 | * Added MongooseNumber#toString
|
6507 | * Added MongooseNumber unit tests
|
6508 |
|
6509 | 1.0.3 / 2011-02-02
|
6510 | ==================
|
6511 |
|
6512 | * Make sure safe mode works with Model#save
|
6513 | * Changed Schema options: safe mode is now the default
|
6514 | * Updated node-mongodb-native to HEAD
|
6515 |
|
6516 | 1.0.2 / 2011-02-02
|
6517 | ==================
|
6518 |
|
6519 | * Added a Model.create shortcut for creating documents. [brian]
|
6520 | * Fixed; we can now instantiate models with hashes that map to at least one
|
6521 | null value. [brian]
|
6522 | * Fixed Schema with more than 2 nested levels. [brian]
|
6523 |
|
6524 | 1.0.1 / 2011-02-02
|
6525 | ==================
|
6526 |
|
6527 | * Improved `MongooseNumber`, works almost like the native except for `typeof`
|
6528 | not being `'number'`.
|