Skip to content

v0.18.0 — Unified capability nomenclature

Choose a tag to compare

@sideeffffect sideeffffect released this 08 Jun 14:36
· 64 commits to master since this release

This release unifies the naming of every Dapr building block around the short name Dapr uses in its HTTP path, keeping Scala conventions (UpperCamel, *Capability suffixes). One concept, one stem — no more ServiceInvocation vs Invoker vs Invocation for the same thing.

⚠️ Breaking change. Public capability traits, op-types, companion accessors, the DaprApp route field, and several model types are renamed. Mechanical find-and-replace upgrades most code; see the mapping below.

Highlights

  • ServiceInvocationCapability / Invoker* / Invocation* → Invoke* (matches /v1.0/invoke)
  • PubSubCapability → PublishCapability (the client capability is publish-only; PubSubName kept — it is Dapr's literal pubsubname)
  • DistributedLockCapability → LockCapability (matches /v1.0-alpha1/lock)
  • Config* → Configuration* (matches /v1.0/configuration)
  • Conversation value types singularised to match their cardinality

Refactors

Service invocation → Invoke

  • ServiceInvocationCapability → InvokeCapability
  • InvocationRoute → InvokeRoute, InvocationRequest → InvokeRequest, InvocationMethodName → InvokeMethodName
  • Derivations ServiceInvocation/InvocationRoutes/ServiceInvocationDerivationRuntime → Invoke/InvokeRoutes/InvokeDerivationRuntime
  • Accessor DaprCapability.invoker → DaprCapability.invoke; DaprApp.invocations field → DaprApp.invokeRoutes

Pub/Sub → Publish

  • PubSubCapability → PublishCapability; accessor DaprCapability.pubsub(...) → DaprCapability.publish(...)
  • PubSubName unchanged (Dapr's component identifier)

Lock

  • DistributedLockCapability → LockCapability

Configuration

  • ConfigKey/ConfigStoreName/ConfigValue/ConfigVersion/ConfigItem/ConfigUpdate → Configuration*
  • Accessor DaprCapability.config(...) → DaprCapability.configuration(...)

Conversation

  • ConversationTools → ConversationTool, ConversationToolCalls → ConversationToolCall, ConversationResultChoices → ConversationResultChoice

Bindings

  • Accessor DaprCapability.binding(...) → DaprCapability.bindings(...)

Docs

  • DESIGN.md, SPEC.allium, derivation.md, validation.md, and AGENTS.md updated to the new nomenclature.

No behavioural changes — renames only. Verified with the full unit (33) and integration (90) suites green.