Skip to content

Releases: guregu/dynamo

Fix decoding pointer fields to slices

04 May 13:38
0b7cb6b
Compare
Choose a tag to compare

This is a bugfix release for the following issues related to the new encoding in v1.22.0:

  • Scan All Repeats First Element #228
  • Encoding slices is broken on 1.22 when using structs pointer fields #230

Please note the following issues are still around:

  • Recursive structs breaking #227 (fixed in 1.22.2)
  • Encoding Issue: unsupported type structpb.isValue_Kind #229 (fixed in 1.22.2)

Faster encoding and multi-table batches

12 Feb 05:59
c2e6f02
Compare
Choose a tag to compare

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)

07 Dec 23:53
e8575d2
Compare
Choose a tag to compare
Pre-release

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

20 Oct 02:27
b4239a9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.20.2...v1.21.0

v1.20.2

17 Aug 04:46
Compare
Choose a tag to compare

Bugfix release.

  • Fix nil pointer panic in DescribeTable for LSIs in Global Tables (#220)

Full Changelog: v1.20.1...v1.20.2

ErrTooMany + Limit(1) fix

23 Jul 00:53
Compare
Choose a tag to compare

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

09 Jul 10:50
Compare
Choose a tag to compare

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 of aws.Context (which is a type alias to context.Context)
  • Update dependencies

Full Changelog: v1.19.0...v1.20.0

Manual parallel Scan support

22 Mar 20:13
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.18.3...v1.19.0

Minor context fix

17 Mar 16:25
Compare
Choose a tag to compare
  • Fix GetTx using the default context instead of the given one
  • Update deps

Full Changelog: v1.18.2...v1.18.3

Improved errors

15 Feb 06:33
Compare
Choose a tag to compare

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