1 | # Dynamoose Changelog
|
2 |
|
3 | ---
|
4 |
|
5 | ## Version 2.0.0
|
6 |
|
7 | Version 2.0 is here!! This is a **full** rewrite of Dynamoose from the ground up. This means that the changelog listed below is not necessarily complete, but attempts to cover a lot of the high level items of this release. There are a lot of minor bug fixes and improvements that went into this rewrite that will not be covered, as well as potientally some breaking changes that are not included in the changelog below.
|
8 |
|
9 | Although version 2.0 is a full rewrite, the underlying API hasn't changed very much. Things like `Model.scan` or `Model.get` have not changed seamingly at all. The foundational syntax is indentical to version 1.0. This means the majority of breaking changes won't effect most users or will require only minor tweaks.
|
10 |
|
11 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions or problems with this release.
|
12 |
|
13 | ### General
|
14 |
|
15 | - Complete rewrite of the codebase!!!
|
16 | - Better conditional support with new `dynamoose.Condition` class
|
17 | - Same familiar API
|
18 | - Entirely new [website](https://dynamoosejs.com)
|
19 | - Dark mode 🌑
|
20 | - Edit links on each page to contribute changes and improve documentation
|
21 | - Improved sidebar with easier orgainzation
|
22 | - Links to navigate to next/previous pages on website
|
23 | - License has been changed to The Unlicense from MIT
|
24 |
|
25 | ### 🚨 Breaking Changes 🚨
|
26 |
|
27 | - `dynamoose.setDefaults` has been renamed to `dynamoose.model.defaults.set`
|
28 | - `dynamoose.local` has been renamed to `dynamoose.aws.ddb.local`
|
29 | - `dynamoose.setDDB` has been renamed to `dynamoose.aws.ddb.set`
|
30 | - `dynamoose.revertDDB` has been renamed to `dynamoose.aws.ddb.revert`
|
31 | - `dynamoose.AWS.config.update` has been renamed to `dynamoose.aws.sdk.config.update`
|
32 | - `dynamoose.ddb` has been renamed to `dynamoose.aws.ddb`
|
33 | - `Map` attribute type has been replaced with `Object`
|
34 | - `List` attribute type has been replaced with `Array`
|
35 | - DynamoDB set types are now returned as JavaScript Set's instead of Array's
|
36 | - DynamoDB set types are now defined as `{"type": Set, "schema": [String]}` as opposed to the former `[String]` or `{"type": [String]}`. This is more explict and makes it more clear that the type is a set.
|
37 | - Trying to save a Document with a property set to `null` will now throw an error. If you would like to remove the property set it to `dynamoose.UNDEFINED` to set it to undefined without taking into account the `default` setting, or `undefined` to set it to undefined while taking into account the `default` setting.
|
38 | - Model `update` setting now includes more update actions. To use the v1 update behavior change the value of `update` setting to be `["ttl", "indexes"]`.
|
39 | - Schema `default` value does not pass the model instance into `default` functions any more.
|
40 | - `Model.update`
|
41 | - `$LISTAPPEND` has been removed, and `$ADD` now includes the behavior of `$LISTAPPEND`
|
42 | - `$DELETE` has been renamed to `$REMOVE`
|
43 | - `$REMOVE` (previously `$DELETE`) now maps to the correct underlying DynamoDB method instead of the previous behavior of mapping to `$REMOVE`
|
44 | - `$PUT` has been replaced with `$SET`
|
45 | - `Model.getTableReq` has been renamed to `Model.table.create.request`
|
46 | - `Model.table.create.request` (formerly `Model.getTableReq`) is now an async function
|
47 | - `model.originalItem` has been renamed to `model.original` (or `Document.original`)
|
48 | - `Document.original` formerly (`model.originalItem`) no longer returns the last item saved, but the item first retrieved from DynamoDB
|
49 | - The following Schema settings have been moved to Model settings:
|
50 | - `expires`
|
51 | - `throughput`
|
52 | - `expires.ttl` now accepts a number representing milliseconds as opposed to seconds
|
53 | - `expires.defaultExpires` is no longer an option (most behavior from this option can be replicated by using the new `dynamoose.UNDEFINED` feature)
|
54 | - `expires.returnExpiredItems` has been renamed to `expires.items.returnExpired`
|
55 | - `Model.transaction.conditionCheck` has been renamed to `Model.transaction.condition`
|
56 | - `Model.transaction.condition` now accepts a conditional instance instead of an object to specify the conditional you wish to run
|
57 | - In the past the `saveUnknown` option for attribute names would handle all nested properties. Now you must use `*` to indicate one level of wildcard or `**` to indicate infinate levels of wildcard. So if you have an object property (`address`) and want to parse one level of values (no sub objects) you can use `address.*`, or `address.**` to all for infinate levels of values (including sub objects)
|
58 | - `useNativeBooleans` & `useDocumentTypes` have been removed from the Model settings
|
59 | - `scan.count()` has been removed, and `scan.counts()` has been renamed to `scan.count()`.
|
60 | - The attribute types `Array` & `Object` in Dynamoose v1 don't work without a `schema` option in v2
|
61 | - `Scan.null` & `Query.null` have been removed. In most cases this can be replaced with `.not().exists()`.
|
62 | - Expires TTL value is set to be a default value. In Dynamoose v1 there were cases where expires TTL wouldn't be set, in Dynamoose v2, the behavior of if the Expires TTL is set behaves the same as any default value
|
63 | - Custom methods have changed behavior:
|
64 | - `schema.method` is now `model.methods.document`
|
65 | - `schema.statics` is now `model.methods`
|
66 | - Both `model.methods` & `model.methods` have two functions that you call to add & remove methods. `set` & `delete` methods exist on both objects that you can use to add your methods. This is compared to the old system of calling the function for `schema.method` or setting the object for `schema.statics`.
|
67 |
|
68 | #### Features Removed to be Readded Later
|
69 |
|
70 | - TypeScript Support (v2.1.0) (coming soon, see more information [here](https://github.com/dynamoose/dynamoose/issues/836))
|
71 | - `Model.populate`
|
72 | - Plugin Support
|
73 |
|
74 | ### Bug Fixes
|
75 |
|
76 | - Fixed issue where objects would get stored as a string `[object Object]` instead of the actual object
|
77 |
|
78 | ### Documentation
|
79 |
|
80 | - Documentation has been rewritten from the ground up to be more clear and provide more examples
|
81 |
|
82 | ### Other
|
83 |
|
84 | - Dynamoose logo now included in `internal` folder
|
85 | - More automated tests which leads to more stablity for Dynamoose (100% code coverage)
|
86 | - More resources/documentation have been added regarding project structure
|
87 | - Code of Conduct (CODE_OF_CONDUCT.md)
|
88 | - Contributing Guidelines (CONTRIBUTING.md)
|
89 | - Improvements to README
|
90 | - More badges about project state
|
91 | - More information relevant to repository (branch strategy, etc)
|
92 |
|
93 | ---
|
94 |
|
95 | ## [1.11.1](https://github.com/dynamoose/dynamoose/compare/v1.11.0...v1.11.1) (2019-09-05)
|
96 |
|
97 |
|
98 | ### Bug Fixes
|
99 |
|
100 | * fixing model.transaction.conditioncheck ([cc04bee](https://github.com/dynamoose/dynamoose/commit/cc04bee)), closes [#539](https://github.com/dynamoose/dynamoose/issues/539)
|
101 |
|
102 | # [1.11.0](https://github.com/dynamoose/dynamoose/compare/v1.10.0...v1.11.0) (2019-08-25)
|
103 |
|
104 |
|
105 | ### Bug Fixes
|
106 |
|
107 | * **plugin:** solve problem with rejecting during batchput:called ([be01f8c](https://github.com/dynamoose/dynamoose/commit/be01f8c))
|
108 | * **plugin:** solve problem with rejecting during update:called ([959ba8c](https://github.com/dynamoose/dynamoose/commit/959ba8c))
|
109 |
|
110 |
|
111 | ### Features
|
112 |
|
113 | * **plugin:** add batchPut events ([501c689](https://github.com/dynamoose/dynamoose/commit/501c689))
|
114 | * **plugin:** add update events ([78e8538](https://github.com/dynamoose/dynamoose/commit/78e8538))
|
115 |
|
116 | # [1.10.0](https://github.com/dynamoose/dynamoose/compare/v1.9.0...v1.10.0) (2019-06-28)
|
117 |
|
118 |
|
119 | ### Features
|
120 |
|
121 | * **scan:** add Scan.using() for scanning sparse secondary indexes ([cfb5614](https://github.com/dynamoose/dynamoose/commit/cfb5614))
|
122 |
|
123 | # [1.9.0](https://github.com/dynamoose/dynamoose/compare/v1.8.5...v1.9.0) (2019-06-27)
|
124 |
|
125 |
|
126 | ### Features
|
127 |
|
128 | * **schema:** change the way attributes are set by parseDynamo function ([b8d1737](https://github.com/dynamoose/dynamoose/commit/b8d1737))
|
129 |
|
130 | ## [1.8.5](https://github.com/dynamoose/dynamoose/compare/v1.8.4...v1.8.5) (2019-06-25)
|
131 |
|
132 |
|
133 | ### Bug Fixes
|
134 |
|
135 | * **schema:** fixed circular reference with `JSON.stringify` in Schema ([3f614f0](https://github.com/dynamoose/dynamoose/commit/3f614f0))
|
136 |
|
137 | ## [1.8.4](https://github.com/dynamoose/dynamoose/compare/v1.8.3...v1.8.4) (2019-06-23)
|
138 |
|
139 |
|
140 | ### Bug Fixes
|
141 |
|
142 | * change originalItem from being static ([44a5b6b](https://github.com/dynamoose/dynamoose/commit/44a5b6b))
|
143 |
|
144 | ## [1.8.3](https://github.com/dynamoose/dynamoose/compare/v1.8.2...v1.8.3) (2019-06-22)
|
145 |
|
146 |
|
147 | ### Bug Fixes
|
148 |
|
149 | * **types:** add property to interface ([0c05751](https://github.com/dynamoose/dynamoose/commit/0c05751)), closes [#617](https://github.com/dynamoose/dynamoose/issues/617)
|
150 |
|
151 | ## [1.8.2](https://github.com/dynamoose/dynamoose/compare/v1.8.1...v1.8.2) (2019-06-22)
|
152 |
|
153 |
|
154 | ### Bug Fixes
|
155 |
|
156 | * **dynamoose.ts.d:** Add/fix TypeScript types ([e7472a7](https://github.com/dynamoose/dynamoose/commit/e7472a7))
|
157 |
|
158 | ## [1.8.1](https://github.com/dynamoose/dynamoose/compare/v1.8.0...v1.8.1) (2019-06-22)
|
159 |
|
160 |
|
161 | ### Bug Fixes
|
162 |
|
163 | * **types:** added streamOptions to ModelOption ([a85780a](https://github.com/dynamoose/dynamoose/commit/a85780a))
|
164 |
|
165 | # [1.8.0](https://github.com/dynamoose/dynamoose/compare/v1.7.3...v1.8.0) (2019-06-11)
|
166 |
|
167 |
|
168 | ### Features
|
169 |
|
170 | * **plugin:** item prop for model:put put:called ([5043cf3](https://github.com/dynamoose/dynamoose/commit/5043cf3))
|
171 |
|
172 | ## [1.7.3](https://github.com/dynamoose/dynamoose/compare/v1.7.2...v1.7.3) (2019-05-15)
|
173 |
|
174 |
|
175 | ### Bug Fixes
|
176 |
|
177 | * **model:** allows string for array attribute in contains condition ([f68c13a](https://github.com/dynamoose/dynamoose/commit/f68c13a))
|
178 |
|
179 | ## [1.7.2](https://github.com/dynamoose/dynamoose/compare/v1.7.1...v1.7.2) (2019-03-18)
|
180 |
|
181 |
|
182 | ### Bug Fixes
|
183 |
|
184 | * **types:** minor updates to typings ([63bb60d](https://github.com/dynamoose/dynamoose/commit/63bb60d)), closes [#599](https://github.com/dynamoose/dynamoose/issues/599) [#600](https://github.com/dynamoose/dynamoose/issues/600)
|
185 |
|
186 | ## [1.7.1](https://github.com/dynamoose/dynamoose/compare/v1.7.0...v1.7.1) (2019-03-18)
|
187 |
|
188 |
|
189 | ### Bug Fixes
|
190 |
|
191 | * **naming:** remove extension from name ([ca346d0](https://github.com/dynamoose/dynamoose/commit/ca346d0))
|
192 |
|
193 | # [1.7.0](https://github.com/dynamoose/dynamoose/compare/v1.6.5...v1.7.0) (2019-03-18)
|
194 |
|
195 |
|
196 | ### Features
|
197 |
|
198 | * **ts:** adding ts testing, compiling and exports ([0d2ef68](https://github.com/dynamoose/dynamoose/commit/0d2ef68))
|
199 | * **ts:** fix ci script to also lint typescript ([992c7ff](https://github.com/dynamoose/dynamoose/commit/992c7ff))
|
200 | * **ts:** fixing spelling ([e087570](https://github.com/dynamoose/dynamoose/commit/e087570))
|
201 |
|
202 | ## [1.6.5](https://github.com/dynamoose/dynamoose/compare/v1.6.4...v1.6.5) (2019-03-03)
|
203 |
|
204 |
|
205 | ### Bug Fixes
|
206 |
|
207 | * **comment:** fix comments in pr ([68d757b](https://github.com/dynamoose/dynamoose/commit/68d757b))
|
208 | * **index:** fixing styling and content ([75ea512](https://github.com/dynamoose/dynamoose/commit/75ea512))
|
209 |
|
210 | ## [1.6.4](https://github.com/dynamoose/dynamoose/compare/v1.6.3...v1.6.4) (2019-02-19)
|
211 |
|
212 |
|
213 | ### Bug Fixes
|
214 |
|
215 | * stop conditions being overwritten ([966d7bc](https://github.com/dynamoose/dynamoose/commit/966d7bc))
|
216 | * **lint:** increase limit for Model test file ([907b8a6](https://github.com/dynamoose/dynamoose/commit/907b8a6))
|
217 |
|
218 | ## [1.6.3](https://github.com/dynamoose/dynamoose/compare/v1.6.2...v1.6.3) (2019-02-18)
|
219 |
|
220 |
|
221 | ### Bug Fixes
|
222 |
|
223 | * **model:** fixing batchDelete syntax bug ([dfb448f](https://github.com/dynamoose/dynamoose/commit/dfb448f))
|
224 | * **model:** fixing update and condition check syntax bug ([74623bf](https://github.com/dynamoose/dynamoose/commit/74623bf))
|
225 |
|
226 | ## [1.6.2](https://github.com/dynamoose/dynamoose/compare/v1.6.1...v1.6.2) (2019-02-13)
|
227 |
|
228 |
|
229 | ### Bug Fixes
|
230 |
|
231 | * **saveunknown:** fixing saveunknown toDynamo for maps ([873a6ed](https://github.com/dynamoose/dynamoose/commit/873a6ed)), closes [#323](https://github.com/dynamoose/dynamoose/issues/323)
|
232 |
|
233 | ## Version 1.5.2
|
234 |
|
235 | This is a minor bug fix for Plugins, and also adds some other improvements for plugins and other parts of the app.
|
236 |
|
237 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
238 |
|
239 | ### General
|
240 |
|
241 | - **[Plugin shouldContinue Fix & Other Improvements](https://github.com/dynamoose/dynamoose/pull/564)** #564
|
242 |
|
243 | ---
|
244 |
|
245 | ## Version 1.5.1
|
246 |
|
247 | This is a minor release with documentation and project improvements.
|
248 |
|
249 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
250 |
|
251 | ### Documentation
|
252 |
|
253 | - **[Add constructor for model schema types in TypeScript](https://github.com/dynamoose/dynamoose/pull/547)** #547
|
254 | - **[Defined dynamoose transaction in dynamoose.d.ts](https://github.com/dynamoose/dynamoose/pull/540)** #540
|
255 | - **[Documentation Improvements](https://github.com/dynamoose/dynamoose/pull/561)** #561
|
256 |
|
257 | ### Other
|
258 |
|
259 | - **[ESLint](https://github.com/dynamoose/dynamoose/pull/557)** #557
|
260 | - **[Project Improvements](https://github.com/dynamoose/dynamoose/pull/558)** #558
|
261 | - **[Updating issue template with warning about not filling out fields](https://github.com/dynamoose/dynamoose/pull/538)** #538
|
262 | - **[Updating Dependencies](https://github.com/dynamoose/dynamoose/pull/562)** #562
|
263 | - **[Refactor transactions tests to use DynamoDB Local tests](https://github.com/dynamoose/dynamoose/pull/563)** #563
|
264 |
|
265 | ---
|
266 |
|
267 | ## Version 1.5.0
|
268 |
|
269 | This release adds support for `list_append` when adding elements to a list using the `Model.update` method.
|
270 |
|
271 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
272 |
|
273 | ### General
|
274 |
|
275 | - **[Adding support for list_append](https://github.com/dynamoose/dynamoose/pull/544)** #544
|
276 |
|
277 | ---
|
278 |
|
279 | ## Version 1.4.0
|
280 |
|
281 | This version adds some more options to the model and schema options objects.
|
282 |
|
283 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
284 |
|
285 | ### General
|
286 |
|
287 | - **[errorUnknown](https://github.com/dynamoose/dynamoose/pull/531)** #531
|
288 | - **[defaultReturnValues](https://github.com/dynamoose/dynamoose/pull/533)** #533
|
289 |
|
290 | ---
|
291 |
|
292 | ## Version 1.3.1
|
293 |
|
294 | Just a simple bug fix release!
|
295 |
|
296 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
297 |
|
298 | ### Bug Fixes
|
299 |
|
300 | - **[Make saveUnknown work recursively](https://github.com/dynamoose/dynamoose/pull/522)** #522
|
301 | - **[Always use Array.isArray to check if array](https://github.com/dynamoose/dynamoose/pull/521)** #521
|
302 | - **[Fix error logging for data/schema mismatch](https://github.com/dynamoose/dynamoose/pull/518)** #518
|
303 | - **[Changing to not update timestamps when scaning or querying with filter](https://github.com/dynamoose/dynamoose/pull/510)** #510
|
304 |
|
305 | ### Documentation
|
306 |
|
307 | - **[dynamoose.d.ts allow validate property on schema to return promise as well as raw boolean](https://github.com/dynamoose/dynamoose/pull/520)** #520
|
308 | - **[update typescript typings to allow `ON_DEMAND` throughput in SchemaOptions](https://github.com/dynamoose/dynamoose/pull/530)** #530
|
309 |
|
310 | ### Other
|
311 |
|
312 | - **[Add error when not missing hash key for Model.get](https://github.com/dynamoose/dynamoose/pull/524)** #524
|
313 |
|
314 | ---
|
315 |
|
316 | ## Version 1.3.0
|
317 |
|
318 | Dynamoose Version 1.3.0 finishes implementation of some important features (DynamoDB transaction support, and pay per request billing mode), improves the overall stability of the project (reduces NPM package size, bug fixes, throwing more errors), along many more improvements.
|
319 |
|
320 | Please comment or contact me if you have any questions about this release.
|
321 |
|
322 | ### General
|
323 |
|
324 | - **[RAW DynamoDB Transaction Item Support](https://github.com/dynamoose/dynamoose/pull/486)** #486
|
325 | - **[Model.transaction.conditionCheck](https://github.com/dynamoose/dynamoose/pull/485)** #485
|
326 | - **[Async Schema Methods](https://github.com/dynamoose/dynamoose/pull/492)** #492
|
327 | - **[Reducing Size of NPM Package](https://github.com/dynamoose/dynamoose/pull/484)** #484
|
328 | - **[Raise error if list or map not provided](https://github.com/dynamoose/dynamoose/pull/443)** #443
|
329 |
|
330 | ### Bug Fixes
|
331 |
|
332 | - **[Fix support for PAY_PER_REQUEST BillingMode when Model includes Global Secondary Indexes](https://github.com/dynamoose/dynamoose/pull/504)** #504
|
333 | - **[Fixing problem where if primary key starts with underscore Model.create doesn’t work](https://github.com/dynamoose/dynamoose/pull/502)** #502
|
334 |
|
335 | ### Other
|
336 |
|
337 | - **[Pin & Update Dependency Versions](https://github.com/dynamoose/dynamoose/pull/487)** #487
|
338 | - **[Creating release notes template](https://github.com/dynamoose/dynamoose/pull/482)** #482
|
339 | - **[Project Cleanup](https://github.com/dynamoose/dynamoose/pull/483)** #483
|
340 |
|
341 | ### Documentation
|
342 |
|
343 | - **[Adding documentation for query.using method](https://github.com/dynamoose/dynamoose/pull/489)** #489
|
344 | - **[Adding documentation for populating an array of items](https://github.com/dynamoose/dynamoose/pull/493)** #493
|
345 | - **[Fixes a typo in Model.update documentation](https://github.com/dynamoose/dynamoose/pull/506)** #506
|
346 |
|
347 | ---
|
348 |
|
349 | ## Version 1.2.0
|
350 |
|
351 | AWS reInvent 2018 has wrapped up, and this release includes support for all of the DynamoDB goodies announced. This version also includes beta support for plugins! Plugin support has the potential to have breaking changes in the future with no warning, so please be aware of that when using the system. Please give feedback on plugins by creating issues on the Dynamoose repository.
|
352 |
|
353 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
354 |
|
355 | ### Major New Features
|
356 |
|
357 | - **[DynamoDB Transaction Support](https://github.com/dynamoose/dynamoose/pull/472)** #472
|
358 | - **[DynamoDB On-Demand Support](https://github.com/dynamoose/dynamoose/pull/471)** #471
|
359 | - **[Plugins - BETA](https://github.com/dynamoose/dynamoose/pull/325)** #325
|
360 |
|
361 | ### General
|
362 |
|
363 | - **[ES6 Template Literals](https://github.com/dynamoose/dynamoose/pull/465)** #465
|
364 |
|
365 | ### Bug Fixes
|
366 |
|
367 | - **[Return LastKey when using RAW Scan](https://github.com/dynamoose/dynamoose/pull/475)** #475
|
368 | - **[Sorting index project array before comparing](https://github.com/dynamoose/dynamoose/pull/455)** #455
|
369 |
|
370 | ### Other
|
371 |
|
372 | - **[Adding Node.js version 11 to Travis CI test suite](https://github.com/dynamoose/dynamoose/pull/468)** #468
|
373 | - **[Adding more NPM Keywords](https://github.com/dynamoose/dynamoose/pull/469)** #469
|
374 | - **[Updating NPM Dependencies](https://github.com/dynamoose/dynamoose/pull/466)** #466 #473
|
375 |
|
376 | ---
|
377 |
|
378 | ## Version 1.1.0
|
379 |
|
380 | Dynamoose version 1.1.0 has a few improvements for debugging Dynamoose as well as a few new features.
|
381 |
|
382 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
383 |
|
384 | ### General
|
385 |
|
386 | - **[Update batchPut to work with timestamps](https://github.com/automategreen/dynamoose/pull/449)** #449
|
387 | - **[Adding expires defaultExpires function](https://github.com/automategreen/dynamoose/pull/452)** #452
|
388 | - **[Make debugging index creation dramatically easier](https://github.com/automategreen/dynamoose/pull/440)** #440
|
389 | - **[Adding debug messages for setDDB and revertDDB](https://github.com/dynamoose/dynamoose/pull/451)** #451
|
390 |
|
391 | ---
|
392 |
|
393 | ## Version 1.0.1
|
394 |
|
395 | Dynamoose version 1.0.1 comes with some minor bug fixes to solve problems with Dynamoose version 1.0.0. We are actively monitoring the [GitHub Issues](https://github.com/dynamoose/dynamoose/issues) and will continue to work to provide bug fixes as fast as possible. Please create a [GitHub Issue](https://github.com/dynamoose/dynamoose/issues) or [contact me](https://charlie.fish/contact) if you are having problems and we will work to address it as fast as possible.
|
396 |
|
397 | ### Bug Fixes
|
398 |
|
399 | - **[Fix saveUnknown throwing errors when value where falsy](https://github.com/automategreen/dynamoose/pull/442)** #442
|
400 |
|
401 | ### Documentation
|
402 |
|
403 | - **[Fix model update add documentation](https://github.com/automategreen/dynamoose/pull/438)** #438
|
404 |
|
405 | ---
|
406 |
|
407 | ## Version 1.0.0
|
408 |
|
409 | Dynamoose version 1.0.0 is here. This is a **massive** release, and will also be the first official breaking update to Dynamoose. You can view the details about the release below.
|
410 |
|
411 | This version officially removes support for Node.js versions below 8.0. Versions below 8.0 _might_ work, but we do not make guarantees. Even if Node.js versions below 8.0 work with Dynamoose 1.0+ we might add features that break support for older Node.js versions _without_ a SEMVER major version release.
|
412 |
|
413 | The one major thing about the release notes below that is a bit confusing is the fact that `ES6/Future Changes` are in the `Breaking changes` section. That section is directly related to `Requiring Node.js version 8.0 and higher`. Therefor although the breaking change is technically the fact that Node.js versions less than 8.0 won't be supported, they are directly related, therefor they are both in the `Breaking changes` section. In future 1.x we might add more ES6/Future Changes, but those will not be considered breaking changes due to the fact that it will only break if you are running on a Node.js version less than version 8.0.
|
414 |
|
415 | Please comment or [contact me](https://charlie.fish/contact) if you have any questions about this release.
|
416 |
|
417 | ### 🚨 Breaking changes 🚨
|
418 |
|
419 | - **[Requiring Node.js version 8.0 and higher](https://github.com/automategreen/dynamoose/pull/366)** #366
|
420 | - **[Toggle useDocumentTypes and useNativeBooleans defaults to true](https://github.com/dynamoose/dynamoose/pull/376)** #376
|
421 | - **[Query.all and Scan.all Delay Seconds to Milliseconds](https://github.com/automategreen/dynamoose/pull/287)** #287
|
422 | - **[Fix data corruption when storing binary data](https://github.com/automategreen/dynamoose/pull/386)** #386
|
423 |
|
424 | ### Major New Features
|
425 |
|
426 | - **[Adding updateTimestamps option to Model.save](https://github.com/automategreen/dynamoose/pull/317)** #317
|
427 | - **[Feature/add enum attribute](https://github.com/automategreen/dynamoose/pull/274)** #274
|
428 | - **[`model.originalItem() `](https://github.com/automategreen/dynamoose/pull/338)** #338
|
429 |
|
430 | ### General
|
431 |
|
432 | - **[Adding support for saveUnknown being an array](https://github.com/automategreen/dynamoose/pull/333)** #333
|
433 | - **[DynamoDB Document Client/DAX Support](https://github.com/automategreen/dynamoose/pull/330)** #330
|
434 | - **[Adding better error handling for parsing invalid data from DynamoDB](https://github.com/automategreen/dynamoose/pull/331)** #331
|
435 | - **[Adding support for SSESpecification](https://github.com/automategreen/dynamoose/pull/306)** #306
|
436 | - **[Adding support for DynamoDB table streams](https://github.com/automategreen/dynamoose/pull/332)** #332
|
437 | - **[`Model.getTableReq()`](https://github.com/automategreen/dynamoose/pull/308)** #308 #151
|
438 | - **[Static methods are automatically bound with the context of their Model](https://github.com/automategreen/dynamoose/pull/361)** #361
|
439 | - **[Recreate dynamo db instance on .local()](https://github.com/automategreen/dynamoose/pull/354)** #354
|
440 | - **[added support for specifying the ReturnValues option in update](https://github.com/automategreen/dynamoose/pull/350)** #350
|
441 | - **[Expose Model classes to Schema methods](https://github.com/automategreen/dynamoose/pull/400)** #400 #397
|
442 | - **[Refactoring custom error code](https://github.com/automategreen/dynamoose/pull/414)** #414
|
443 | - **[Saying which table is effected by Error](https://github.com/automategreen/dynamoose/pull/356)** #356
|
444 | - **[Adding expires returnExpiredItems property](https://github.com/automategreen/dynamoose/pull/426)** #426
|
445 | - **[DDB Functions](https://github.com/automategreen/dynamoose/pull/429)** #429
|
446 | - **[Updates Expires attribute on Model Updates Option](https://github.com/automategreen/dynamoose/pull/420)** #420
|
447 | - ES6/Future Changes
|
448 | - **[`let`/`const`](https://github.com/automategreen/dynamoose/pull/410)** #410
|
449 | - **[Removing Lodash](https://github.com/automategreen/dynamoose/pull/411)** #411
|
450 | - **[Removing self = this in favor of arrow functions](https://github.com/automategreen/dynamoose/pull/412)** #412
|
451 |
|
452 | ### Bug Fixes
|
453 |
|
454 | - **[Fix saveUnknown throwing errors when value where falsy](https://github.com/automategreen/dynamoose/pull/336)** #336
|
455 | - **[Fix scanByRawFilter containing - Select: 'COUNT'](https://github.com/automategreen/dynamoose/pull/341)** #341
|
456 | - **[Fix loading document type attributes from DynamoDB when when saveUnknown=true](https://github.com/automategreen/dynamoose/pull/339)** #339
|
457 | - **[Fix the ModelError type](https://github.com/automategreen/dynamoose/pull/374)** #374
|
458 | - **[Fixes falsy key value for batch get](https://github.com/automategreen/dynamoose/pull/379)** #379
|
459 | - **[Fix serverSideEncryption option](https://github.com/automategreen/dynamoose/pull/383)** #383
|
460 | - **[Using Buffer.from instead of new Buffer](https://github.com/automategreen/dynamoose/pull/413)** #413
|
461 | - **[Fixing issue with query with multiple indexes](https://github.com/automategreen/dynamoose/pull/344)** #344 #343
|
462 | - **[Save unknown update](https://github.com/automategreen/dynamoose/pull/431)** #431 #403
|
463 | - **[Fixing typo related to stream options](https://github.com/automategreen/dynamoose/pull/432)** #432 #430
|
464 |
|
465 | ### Documentation
|
466 |
|
467 | - **[Improving Model.delete documentation](https://github.com/automategreen/dynamoose/pull/309)** #309
|
468 | - **Updated TypeScript types** #358 #357
|
469 | - **[Updating typescript documentation for create vs put overwrite default](https://github.com/automategreen/dynamoose/pull/377)** #377 #359
|
470 | - **[GitHub issue and PR templates](https://github.com/automategreen/dynamoose/pull/394)** #394 #405
|
471 | - **[Updating metadata](https://github.com/automategreen/dynamoose/pull/369)** #369
|
472 | - **[Change QueryKey and ScanKey type to any](https://github.com/automategreen/dynamoose/pull/419)** #419
|
473 |
|
474 | ### Other
|
475 |
|
476 | - **[General project work](https://github.com/automategreen/dynamoose/pull/409)** #409
|
477 |
|
478 | ---
|
479 |
|
480 | ## Version 0.8.7
|
481 |
|
482 | Version 0.8.7 is here! Below is a list of the changes released in Version 0.8.7. Huge **THANK YOU** to everyone who submitted pull requests and issues in this release. As always keep the issues and pull requests coming, only makes this package better!!
|
483 |
|
484 | ### Major New Features
|
485 |
|
486 | - **[Adding support for `Query.all()`](https://github.com/dynamoose/dynamoose/pull/223)** #223
|
487 | - **[Adding `Query.all()` to documentation](https://github.com/dynamoose/dynamoose/pull/285)** #285
|
488 | - **[Changing `Query.all()` timesScanned to timesQueried](https://github.com/dynamoose/dynamoose/pull/286)** #286
|
489 | - **[Suffix Option](https://github.com/dynamoose/dynamoose/pull/321)** #321
|
490 |
|
491 | ### General
|
492 |
|
493 | - **[Catch corrupted JSON error](https://github.com/dynamoose/dynamoose/pull/243)** #243 #242
|
494 | - **[Pass model instance directly to schema::attributeFromDynamo](https://github.com/dynamoose/dynamoose/pull/257)** #257
|
495 | - **[Fix range key on queries](https://github.com/dynamoose/dynamoose/pull/225)** #225
|
496 | - **[Provide model when converting keys .toDynamo](https://github.com/dynamoose/dynamoose/pull/217)** #217
|
497 | - **[Normalise Scan response shape when using "RawAWSFilter"](https://github.com/dynamoose/dynamoose/pull/320)** #320
|
498 | - **[Remove JSON.stringify for model in Debug message](https://github.com/dynamoose/dynamoose/pull/277)** #277
|
499 | - **[Set NewModel.name to include table name](https://github.com/dynamoose/dynamoose/pull/300)** #300
|
500 | - **[Allow unknown types to be populated as native dynamo types](https://github.com/dynamoose/dynamoose/pull/240)** #240
|
501 | - **[Competition of `.populate` method](https://github.com/dynamoose/dynamoose/pull/250)** #250
|
502 |
|
503 |
|
504 | ### Documentation
|
505 |
|
506 | - **[Adding Model.queryOne to docs](https://github.com/dynamoose/dynamoose/pull/298)** #298
|
507 | - **[Schema Get Function Clarification](https://github.com/dynamoose/dynamoose/pull/291)** #291
|
508 | - **[Fixed Typo in README](https://github.com/dynamoose/dynamoose/pull/282)** #282
|
509 | - **[Better Static method example (`getAll`)](https://github.com/dynamoose/dynamoose/pull/284)** #284
|
510 | - **[Added Dynamoose Gitter chat badge to README](https://github.com/dynamoose/dynamoose/pull/247)** #247
|
511 | - **[Improving README badges on retina displays](https://github.com/dynamoose/dynamoose/pull/229)** #229
|
512 | - **[Moving ChangeLog and Roadmap to separate files](https://github.com/dynamoose/dynamoose/pull/305)** #305
|
513 | - **[Moving Examples to Website](https://github.com/dynamoose/dynamoose/pull/304)** #304
|
514 | - **[Adding AWS X-Ray Support documentation](https://github.com/dynamoose/dynamoose/pull/307)** #307 #144
|
515 | - **[Throughput is only respected on table creation](https://github.com/dynamoose/dynamoose/pull/316)** #316 #311
|
516 |
|
517 |
|
518 | ### Testing
|
519 |
|
520 | - **[More Query tests](https://github.com/dynamoose/dynamoose/pull/290)** #290
|
521 | - **[Even more Query tests](https://github.com/dynamoose/dynamoose/pull/310)** #310
|
522 | - **[Fixing issue where some scan tests weren't being run correctly](https://github.com/dynamoose/dynamoose/pull/289)** #289
|
523 | - **[Switch to NYC (istanbul) for unit test coverage](https://github.com/dynamoose/dynamoose/pull/219)** #219
|
524 | - **[Enable unit test code coverage reporting](https://github.com/dynamoose/dynamoose/pull/215)** #215
|
525 | - **[Scan test to ensure all with delay and limit works correctly](https://github.com/dynamoose/dynamoose/pull/314)** #314
|
526 |
|
527 |
|
528 | ### TypeScript Improvements
|
529 |
|
530 | - **[Nested Properties Schema Support](https://github.com/dynamoose/dynamoose/pull/258)** #258
|
531 | - **[Option fields optional, and added overloaded create function](https://github.com/dynamoose/dynamoose/pull/245)** #245
|
532 | - **[Improve the typing support for `.model()`](https://github.com/dynamoose/dynamoose/pull/234)** #234 #233
|
533 | - **[Allow update partial data](https://github.com/dynamoose/dynamoose/pull/319)** #319
|
534 | - **[Adds `ddb` interface](https://github.com/dynamoose/dynamoose/pull/280)** #280
|
535 |
|
536 | ---
|
537 |
|
538 | ## 0.8.0
|
539 |
|
540 | - useNativeBooleans [#55](//github.com/dynamoose/dynamoose/issues/55)
|
541 | - saveUnknown [#125](//github.com/dynamoose/dynamoose/issues/125)
|
542 | - Support for multiple indexes defined on the hashkey attribute of the table
|
543 | - scan.all() [#93](//github.com/dynamoose/dynamoose/issues/93) [#140](//github.com/dynamoose/dynamoose/issues/140)
|
544 | - scan.parallel [d7f7f77](//github.com/dynamoose/dynamoose/commit/d7f7f77)
|
545 | - TTL support [92994f1](//github.com/dynamoose/dynamoose/commit/92994f1)
|
546 | - added schema parsing overrides [#145](//github.com/dynamoose/dynamoose/issues/145)
|
547 | - populate [#137](//github.com/dynamoose/dynamoose/issues/137)
|
548 | - Added consistent() to scan. [#15](//github.com/dynamoose/dynamoose/issues/15) [#142](//github.com/dynamoose/dynamoose/issues/142)
|
549 | - Default function enhancements [#127](//github.com/dynamoose/dynamoose/issues/127)
|
550 | - Create required attributes on update [#96](//github.com/dynamoose/dynamoose/issues/96)
|
551 | - Add typescript typings [#123](//github.com/dynamoose/dynamoose/issues/123)
|
552 | - Added .count() for Query and Scan [#101](//github.com/dynamoose/dynamoose/issues/101)
|
553 | - Nested scans [#141](//github.com/dynamoose/dynamoose/issues/141) [#158](//github.com/dynamoose/dynamoose/issues/158)
|