Releases: guregu/dynamo
Query.One + Filter fix
This release fixes the behavior of Query.One
in conjunction with filters (reported in #248). Previously, it could return ErrNotFound
if the first result page was empty; now, it will iterate through pages until it finds a result. The old behavior can be retained by adding a SearchLimit
or with RequestLimit(1)
.
Thank you @dharkness for reporting the issue.
What's Changed
Full Changelog: v2.2.1...v2.3.0
Fix encoding panic
This is a bugfix release.
- Fixes a panic with omitempty and fields with embedded structs (#247)
Full Changelog: v2.2.0...v2.2.1
Get items from condition check failures
This release adds CurrentValue
to Put/Delete/Update that returns the current value if a condition fails (or the value you gave it if it succeeds). Alternatively, you can use IncludeItemInCondCheckFail
and UnmarshalItemFromCondCheckFailed
to grab the item from an error manually. There are also similar methods for transactions. See: #245, #246.
What's Changed
Full Changelog: v2.1.1...v2.2.0
v2.1.1
Request count tracking
This release adds a new field to ConsumedCapacity
that tracks the number of requests made. See: #241, #238.
What's Changed
Full Changelog: v2.0.2...v2.1.0
BatchGet grouping fix
This is a bugfix release that fixes a performance regression in v2 BatchGet.
- Fix for: Batch Get making multiple calls even for smaller batches (#240)
- Thank you @lzrf0cuz for the report and fix suggestion!
Full Changelog: v2.0.1...v2.0.2
Fix for ConsumedCapacity in conditional writes
Fixes a panic when a conditional put/delete/update using ConsumedCapacity fails.
What's Changed
New Contributors
Full Changelog: v2.0.0...v2.0.1
dynamo v2
This is the first release of dynamo v2, which uses aws-sdk-go-v2 (PRs: #206, #232).
For tips on migration from v1, check out this new section of the README: Migration Tips.
The API is mostly the same as v1, but there are some changes:
- All request methods take context now (e.g.
OneWithContext
is nowOne
). - Retrying is configured through aws-sdk-go-v2, see Retrying docs.
- This changes the default behavior for transactions, to get the v1 behavior back use
dynamo.RetryTxConflicts
(see above doc for usage example).
- This changes the default behavior for transactions, to get the v1 behavior back use
- Arguments that took
int64
(such as inQuery.Limit
) now takeint
instead. PagingIter.LastEvaluatedKey
can return an error now (in rare situations when IAM is misconfigured).KMSMasterKeyArn
renamed toKMSMasterKeyARN
.
v1 may continue to see new releases for bugfixes and such: v1 branch. Please feel free to report issues for both v1 and v2. Note that AWS is going to end support for the v1 SDK soon, although we can expect that it will continue to work.
Thank you to everyone who contributed (especially @niltonkummer and @irohiroki who contributed to the v2 port), and to everyone who had patience for this long-awaited release.
RequestLimit & more fixes
Better recursive type support
- Support nested recursion in types (A → B → A and so on) (#227)