Versioning
Current beta status, lexicon review status, compatibility expectations, and changelog policy.
Compatible with the closed-beta ATM app APIs and versioned ATM event headers. Check atm-api-version on every webhook or XRPC receiver event.
Current status
- ATM docs
- Closed beta developer docs.
- ATM checkout
- Beta. Hosted checkout is the supported launch path.
- ATM lexicons
- Under community review before canonical publication.
- Tickets
- Pilot module for app developers. Consumer event UX belongs in event apps.
- Machine payments
- Planned module, not launch checkout behavior.
Stability labels
| Draft | Expected to change before launch or publication. |
|---|---|
| Beta | Usable by allowlisted testers, but may change with notice. |
| Stable | Intended to be durable across app integrations. |
| Planned | Roadmap only. Do not build production flows against it. |
SDK semver
The public SDK follows semantic versioning once it is published. During closed beta, ATM can still make breaking changes, but each change should be documented in packages/app-node/CHANGELOG.md and reflected in examples before external app developers are asked to update.
Major
Breaking package exports, client method names, verification behavior, required event fields, or checkout helper semantics.
Minor
New optional inputs, new client methods, new event types, new typed helpers, or new app modules.
Patch
Type declaration fixes, docs fixes, clearer errors, local test helper fixes, or metadata/release-check improvements.
The detailed policy lives in docs/developer/SDK_VERSIONING.md.
Breaking changes
Before public launch, ATM may make breaking changes to test-only data, beta endpoints, and unpublished lexicons. Once lexicons and app contracts are published, breaking changes should use new fields, new NSIDs, or explicit migration windows.
- Changing webhook or XRPC receiver verification is breaking.
- Changing event envelope semantics or required fields is breaking.
- Changing checkout envelope helper semantics is breaking.
- Renaming SDK exports or client methods is breaking.
- Changing public lexicon constraints after publication should use new optional fields, new NSIDs, or a migration window.
Additive changes
Apps should ignore unknown future fields. ATM can add optional event fields, new event types, new ticket helpers, and new module configuration without breaking existing integrations.
| Webhook payloads | Unknown fields are additive. Required-field removal or meaning changes are breaking. |
|---|---|
| SDK types | Optional fields and new exports are additive. Renames and required argument changes are breaking. |
| XRPC methods | New optional input/output fields are additive. Auth changes or required-field changes need a migration plan. |
| Lexicons | Published schemas should prefer optional additions. Hard constraints need review before publication. |
Changelog
The docs should call out changes to checkout envelopes, event payloads, service-auth requirements, lexicon publication status, payment methods, and ticketing contracts.
2026-06 beta
Closed-beta app docs, hosted checkout, app webhooks, XRPC receivers, tickets pilot docs, and lexicon review prep.
Next
Examples package, generated reference metadata, and SDK helper hardening.