v1.0.0
Version 1.0.0
Dynamoose version 1.0.0 has been released. 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.
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.
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.
Please comment or contact me if you have any questions about this release.
🚨 Breaking changes 🚨
- Requiring Node.js version 8.0 and higher #366
- Toggle useDocumentTypes and useNativeBooleans defaults to true #376
- Query.all and Scan.all Delay Seconds to Milliseconds #287
- Fix data corruption when storing binary data #386
Major New Features
- Adding updateTimestamps option to Model.save #317
- Feature/add enum attribute #274
model.originalItem()
#338
General
- Adding support for saveUnknown being an array #333
- DynamoDB Document Client/DAX Support #330
- Adding better error handling for parsing invalid data from DynamoDB #331
- Adding support for SSESpecification #306
- Adding support for DynamoDB table streams #332
Model.getTableReq()
#308 #151- Static methods are automatically bound with the context of their Model #361
- Recreate dynamo db instance on .local() #354
- added support for specifying the ReturnValues option in update #350
- Expose Model classes to Schema methods #400 #397
- Refactoring custom error code #414
- Saying which table is effected by Error #356
- Adding expires returnExpiredItems property #426
- DDB Functions #429
- Updates Expires attribute on Model Updates Option #420
- ES6/Future Changes
Bug Fixes
- Fix saveUnknown throwing errors when value where falsy #336
- Fix scanByRawFilter containing - Select: 'COUNT' #341
- Fix loading document type attributes from DynamoDB when when saveUnknown=true #339
- Fix the ModelError type #374
- Fixes falsy key value for batch get #379
- Fix serverSideEncryption option #383
- Using Buffer.from instead of new Buffer #413
- Fixing issue with query with multiple indexes #344 #343
- Save unknown update #431 #403
- Fixing typo related to stream options #432 #430
Documentation
- Improving Model.delete documentation #309
- Updated TypeScript types #358 #357
- Updating typescript documentation for create vs put overwrite default #377 #359
- GitHub issue and PR templates #394 #405
- Updating metadata #369
- Change QueryKey and ScanKey type to any #419