Skip to content

v0.19.0 — caller/callee dual derivations (deriveChecked)

Choose a tag to compare

@sideeffffect sideeffffect released this 09 Jun 01:23
· 46 commits to master since this release

Each Dapr building block is a dual pair (app→Dapr caller ↔ Dapr→app callee). This release lets one shared trait bind and type-check both sides.

Highlights

  • deriveChecked[Contract, Impl] added (alongside the unchanged derive) on InvokeRoutes, Subscriptions, ActorDefinitions, JobRoutes, WorkflowActivities, and WorkflowActivityCalls: the macro verifies the impl answers every contract method with matching request/response types, matched by method name or wire name (topic / job / actor) as appropriate.
  • New server-route engines BindingRoutes.derive and JobRoutes.derive — filling the previously-asymmetric Bindings and Jobs pairs.
  • Actor.derive now also schedules reminders/timers: a @reminder/@timer method forwards to ActorContext.registerReminder/registerTimer; ActorDefinitions.deriveChecked verifies them against the actor's @reminder/@timer routes.
  • Dual cross-reference docs on the capability traits and route types.

Additive over v0.18.0 (no breaking changes). Bindings has no deriveChecked — output operations vs input payload-delivery are independent directions, not a request/response contract.