Skip to content

Release v3.0.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 20:01
3fd6cfe

Summary

Chronicle's kernel replaced its hand-written gRPC services with Arc-generated ones (wire-protocol migration to Chronicle 17.x/18.x). This updates the Elixir client to cratis_chronicle_contracts 18.0.0 and migrates every affected call site to the new shapes.

Changed

  • Breaking: updated to cratis_chronicle_contracts 18.0.0 — most RPC methods were renamed, and command/query responses are now wrapped in an envelope (CorrelationId, IsAuthorized, ValidationResults, ExceptionMessages, plus the actual payload). This client had no envelope-awareness at all before; a new Chronicle.WireResult.unwrap/1 helper centralizes the check, and an unauthorized or excepted command now returns {:error, ...} instead of silently succeeding.
  • Breaking: append_many_for_event_sources/2 now calls a genuinely separate AppendManyForEventSources RPC instead of reusing the single-event-source AppendMany request.
  • Breaking: Chronicle.Jobs.get/2 — the kernel removed its single-job query entirely; it now fetches the full job list and finds by id client-side.
  • Breaking: Chronicle.ReadModels.get_snapshots_by_id/3 now queries the dedicated ReadModelExplorer service instead of ReadModels.
  • Webhook registration no longer sends an Owner field (removed from the wire contract); Chronicle.WebHooks.all/1 reconstructs webhook definitions from the kernel's flattened read shape.

Fixed

  • Chronicle.Registration.Coordinator's namespace-ensure call was sending the namespace under the wrong field name (Name instead of Namespace), so it silently registered an empty namespace against the kernel.