What shipped.
Monthly release notes for the platform.
New primitives, composition patterns, CDC and projection improvements, CLI verbs, deprecations. Reverse-chronological.
- v0.37.0
Two new composition patterns land in the App Config Tool, and the Neo4j projection gains incremental CDC.
App Config Tool: two new composition patterns
tenant-billing-rollup and audit-by-retention-class. The Config Tool now suggests both during step 04 when an archetype matches a finance- or compliance-shaped application.
Neo4j projection: incremental CDC
Previously the Neo4j replica rebuilt the graph nightly from a DynamoDB export. It now consumes the same CDC stream as Aurora and OpenSearch, with convergence measured in seconds rather than hours.
Neo4jProjectionConfig.scalaval config = Neo4jProjectionConfig( mode = ProjectionMode.Incremental, batchSize = 500, relations = Seq( GraphEdge(from = "User", to = "Organization", via = "memberOf"), GraphEdge(from = "Payment", to = "Invoice", via = "settles"), ), )ExpiryRule on lifecycle transitions
LifecycleConfig gains an ExpiryRule primitive. A transition that has not fired after a declared duration is advanced automatically. Used by the reservation and cart primitives; available to all entities.
- v0.36.0
OpenSearch projection learns hybrid vector + keyword search. EventBridge archive retention becomes tenant-scoped.
OpenSearch: hybrid vector search
The OpenSearch projection can now index an entity field through an embedding model and expose hybrid keyword + vector queries via the same EntityQuery API. Configuration is declarative; no new runtime surface.
ProductConfig.scalaval productConfig = EntityConfig( name = "Product", fragments = Seq("category"), ).withSearch( SearchConfig( textFields = Seq("title", "description"), vectorFields = Seq(VectorField("description", model = "titan-v2", dim = 1024)), hybridFusion = Reciprocal(rrfK = 60), ), )EventBridge archive: per-tenant retention
Archive retention is now a tenant config, defaulting to 90 days. Regulated customers can extend their own tenant to 7 years without affecting others on the same bus. No code changes required in application code.
CLI: functory diff
A new CLI verb prints the concrete AWS resource diff a deploy would produce, grouped by stack. Useful when reviewing a PR that touches EntityConfig before infrastructure cost committing.
- v0.35.0
Configuration Assistant reaches GA. Two new primitives for marketplace workflows.
Configuration Assistant: general availability
Single-entity generation moves out of preview. The assistant produces an EntityConfigDTO plus a Scala EntityConfig file, committed directly to your repository. Refusal behavior is documented for prompts that would produce unsafe GSI key layouts.
Dispute primitive
MarketplaceDispute joins the marketplace primitive family. Lifecycle covers Open → UnderReview → Resolved / Escalated, with a built-in guard that prevents resolution while a parent Payment is still in Authorized state.
PriceAlert primitive
A TENANT-scoped alert entity for marketplace listings. Subscribers receive a notification via the standard Notification primitive when a Listing crosses a configured price threshold. Polling is backed by the Task primitive, not a standalone service.
Deprecation
The legacy EntityConfig.withCustomValidation(f: Any => Boolean) signature is deprecated in favor of MvelRuleRegistry. Removal scheduled for 0.38.