Releases: ex-aws/ex_aws_dynamo
Spec fix
v4.0.2 - various code quality fixes
This patch release includes various code quality fixes. A few notable points...
- Includes consistent_read option in scan_opts spec
- Adds dialyxir dep and addresses dialyzer warnings
- Adds
code_quality
alias for convenience - Addresses credo warnings
- Verifies compatibility with DDB local version 1.17.2
Update dependencies and documentation
This patch release includes a version bump for ex_aws in the lockfile, and documents support for the latest version of DynamoDB local (1.15.0).
Support empty string attributes
In May, 2020, Amazon added support to DynamoDB for empty string attributes - documentation. This major version release supports this new behavior.
In earlier iterations of ExAws.Dynamo, an empty string field would be stripped off before being written to the DB - so %{id: "1", string_field: ""}
would end up writing just %{id: "1"}
to the DB; retrieving that record would return %{id: "1", string_field: nil}
, as this app will decode a non-existent field as nil
. Following this release, the record would be written and retrieved as-is.
Update dependencies
This patch version update includes a version bump for the ex_aws
dependency, among others.
Add empty prod.exs config file
This patch release resolves an issue when using this library in an Erlang project with rebar_mix, where a config/prod.exs
file seems to be a necessity.
Upcase returned values in batch operation opts, documentation fixes
This patch releases resolves an issue where the values of ReturnConsumedCapacity
and ReturnItemCollectionMetrics
in opts were not being capitalized in the results of calls to BatchGetItem
and BatchPutItem
. It also includes several fixes to documentation.
Decode NS, BS, SS to MapSet by default, switch :dev and :test env JSON codec to Jason
In this major version release, we now support decoding Dynamo's number set, binary set, and string set types to Elixir MapSet
as the default behavior (previously, these would decode to List
types, unless configured otherwise).
Furthermore, we've swapped out the JSON codec used for :dev and :test environments from Poison to Jason, in keeping with the default behavior of the ex_aws project. The docs also advise using Jason instead of Poison in your app.
For a slightly more detailed summary, please see the upgrade guide.
Add test.exs, additional documentation
This patch releases fixes an annoying behavior where users would not be able to run mix test
commands without first creating a config/test.exs
file - that file has been added, and additional config data related to local DynamoDB may be optionally provided in config/ddb_local_test.exs
.
Allow expression_attribute_names to be specified in batch_get_item
Requests to Dynamo's BatchGetItem
should include an ExpressionAttributeNames
attribute, which was missing - this patch release ensures that this data is included in batch get requests.
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html