All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v0.5.0 (2026-02-17)
Features
- Implement
:limitcapability with DynamoDBLimitparameter support - Breaking change: Queries and scans without a limit now paginates beyond the 1MB boundary instead of silently returning partial results.
For queries this is expected behavior since results are scoped to a single partition key. For scans, this may increase read capacity consumption significantly on large tables.
Use
Ash.Query.limit/2to control result size, and consider enablingconfig :ash_dynamo, warn_on_scan?: trueto log warnings when a full table scan is performed.
Documentation
- Add "Runtime Filtering and Pagination" topic explaining the layered filtering strategy and limit + runtime filter edge case
- Move
:offsetto "Not Supported" (DynamoDB has no native offset mechanism) - Add
begins_withandbetweento "Not Implemented" with notes on feasibility
Chores
- Add
capture_all_dynamo_requeststest helper for asserting multi-page pagination requests - Add complex query integration tests (KeyCondition + FilterExpression + Sort + Limit combinations)
v0.4.1 (2026-02-14)
Documentation
- Add
global_secondary_indexDSL reference to documentation - Add GSI example to getting started guide
- Add
@type ttoSecondaryIndexto fixmix docswarnings - Remove misleading projection comment from
SecondaryIndexmoduledoc
Chores
- Upgrade ash dependency
v0.4.0 (2026-02-14)
Features
- Add GSI DSL entity with
global_secondary_indexdeclaration indynamodbsection - Implement automatic GSI index selection for query routing (table PK > GSI PK > Scan)
- Add opt-in scan operation warning via
config :ash_dynamo, warn_on_scan?: true
Chores
- Add telemetry-based request body capture helper for test assertions
- Bump dependencies
v0.3.0 (2026-01-15)
Features
- Implement
:sortcapability for sort key ordering viaScanIndexForward - Add runtime sort fallback using
Ash.Actions.Sort.runtime_sortfor:- Scan mode (no partition key filter)
- Non-sort-key fields in Query mode
- Multiple sort fields
v0.2.1 (2025-12-11)
Chores
- Add test setup with DynamoDB Local
- Improve documentation
- Add credo
- Add CI workflow
- Prepare to publish release
v0.2.0 (2025-12-10)
Features
- Implement
:createaction withPutItemand uniqueness check (no upsert) - Implement
:updateaction withUpdateItemand existence check - Implement
:destroyaction withDeleteItemand existence check - Add
:selectsupport viaProjectionExpression - Implement
KeyConditionExpressionfor partition key and sort key operators (=,<,<=,>,>=) - Implement
FilterExpressionfor non-key attribute filtering (=,<>,<,<=,>,>=,contains) - Add runtime filter fallback for
orconditions
Documentation
- Add supported features roadmap to README
- Add note about pagination limitation (1MB per request)
v0.1.0 (2025-11-29)
Features
- Introduce the
AshDynamo.DataLayerwith adynamodbDSL section for table, partition key, sort key, and index configuration. - Add introspection helpers in
AshDynamo.DataLayer.Infofor accessing DynamoDB configuration on Ash resources. - Provide a basic read implementation that scans the configured table via ExAws and decodes rows into Ash resources.