Releases: guregu/dynamo
Fix decoding pointer fields to slices
Faster encoding and multi-table batches
What's Changed
- Optimize encoding by @guregu in #224
- Much faster encoding and decoding, see above for benchmarks (~1.5x faster, ~2x less allocs)
- Support multiple tables in BatchWrite and BatchGet by @guregu in #226
(*BatchWrite).PutIn
for putting items in other tables(*BatchWrite).DeleteIn
and(*BatchWrite).DeleteInRange
for deleting items in other tables(*BatchWrite).Merge
for merging batch writes together(*BatchGet).From
and(*BatchGet).FromRange
for getting items from other tables(*BatchGet).Merge
for merging batch gets together(*BatchGet).ProjectTable
for specifying table-specific projections(*BatchGet).IterWithTable
for creating an iterator that keeps track of which table each item comes from
- Add automated testing against DynamoDB local using GitHub Actions
- Integration tests are easier to run now, see README
Full Changelog: v1.21.0...v1.22.0
Bonus: v2 preview available
dynamo v2 will target aws-sdk-go v2 and is (finally) nearing completion.
You can test it by depending on the v2-dev
branch:
go get github.com/guregu/dynamo/v2@v2-dev
Feedback is welcome at #206.
Encoding optimization (pre)
Includes #224 which greatly improves the speed and memory usage of marshaling/unmarshaling. See benchmarks in #224, or try running them locally.
If you've got a test suite that uses dynamo, it would help me a lot if you run this pre-release against it and let me know if you find anything weird.
Thanks and please look forward to a release soon. I've been running this on one of my services for a little while and it's looking good so far.
Configurable retrying
What's Changed
- Configuration for retrying by @guregu in #223 (issue: #222)
- Depending on your
aws.Config
setup, the behavior for retrying can change.MaxRetries
andRetryer
fields will be respected now. - See docs: https://github.com/guregu/dynamo#retrying
- Depending on your
Full Changelog: v1.20.2...v1.21.0
v1.20.2
Bugfix release.
- Fix nil pointer panic in DescribeTable for LSIs in Global Tables (#220)
- Thanks @chyi-code for the bug report
Full Changelog: v1.20.1...v1.20.2
ErrTooMany + Limit(1) fix
This is a minor bugfix release.
- Don't return ErrTooMany in Query.One when Limit is set to 1
- Update dependencies
Full Changelog: v1.20.0...v1.20.1
Parallel Scans
This release adds new methods for Scan to create parallel iterators (#20): Scan.IterParallel
, Scan.AllParallel
and paginating versions. The parallel iterators handle the concurrency and segmenting of parallel scan requests automatically.
What's Changed
- Add parallel scan by @guregu in #219
- Use
context.Context
instead ofaws.Context
(which is a type alias tocontext.Context
) - Update dependencies
Full Changelog: v1.19.0...v1.20.0
Manual parallel Scan support
Minor context fix
- Fix GetTx using the default context instead of the given one
- Update deps
Full Changelog: v1.18.2...v1.18.3
Improved errors
This is a minor release that improves some error checking.
- Added proper error messages for missing expression placeholder arguments (#212)
- Previously this led to OOB slice access panic, now it returns a descriptive error
- Added checks for nil/omitted primary key values (7768ebd)
- Previously this could result in a cryptic AWS ValidationError (using real DynamoDB) or DynamoDB local freezing
- Updated AWS SDK
Full Changelog: v1.18.1...v1.18.2