Version-to-version migration notes. ash_onetime follows semantic versioning: breaking DSL
or contract changes bump the minor version (the library is pre-1.0), and each breaking
change lands here with the exact edit to make.
The published package is v0.1.0. Set your dependency to the minor range to pick up patches automatically and review this page on each minor bump:
{:ash_onetime, "~> 0.1"}v0.2.0 — single limits surface (planned)
The dual limits surface collapses to one protect-level vocabulary. Response-size limits
can no longer be declared on the response entity; declare them on protect instead.
Before (v0.1):
protect :charge do
strategy :idempotency
# ...
response MyApp.ChargeCodec,
fields: [:id, :status],
classify: MyApp.ChargeClassifier,
limits: [max_response_bytes: 8_388_608]
endAfter (v0.2):
protect :charge do
strategy :idempotency
# ...
response MyApp.ChargeCodec, fields: [:id, :status], classify: MyApp.ChargeClassifier
limits max_response_bytes: 8_388_608
endThe protect limits: option accepts the full 11-key union — the key/verification/cache
keys (max_key_bytes, max_token_bytes, max_scope_components, max_fingerprint_bytes,
verifier_timeout_ms, max_cache_entry_bytes) and the response-payload keys
(max_response_bytes, max_response_depth, max_response_nodes, max_response_entries,
max_response_scalar_bytes). All keys are validated at compile time; move any
response ..., limits: [max_response_*: ...] onto protect ..., limits: [...].
This change is additive in coverage (no limit is lost) and removes a redundant configuration surface where two places could spell overlapping limits.
Between releases
Non-breaking additions (new optional integrations, new introspection helpers, new guides) ship in patch or minor releases and need no migration. Check the CHANGELOG for the full list per release.
If you depend on a private (non-documented) module or function, it may change in any release
— the public contract is the documented DSL, the modules in the API reference, and the
behaviours (AshOnetime.Codec, the classify/2 contract on AshOnetime.ResponseClassifier,
verification callbacks returning AshOnetime.Verified).