Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
1.0.0 (2026-05-08)
Features
08-01: merge dispatcher outcomes into trigger response (c449ee4 )
08-01: seed trigger outcome defaults (ea97e9c )
10-01: enrich [:deliveries, :plan] span with correlation metadata (7c8d68f )
10-01: forward correlation opts in DeliveryPlanning (b1f27c6 )
10-01: persist correlation metadata in Delivery records (e4271f9 )
10-01: thread notification_key in dispatch_opts in Trigger (0284fb9 )
10-02: enrich Oban spans with correlation metadata (664de32 )
10-02: enrich Policy and Sync spans with correlation metadata (82bce64 )
12-01: unify oban planning and enqueue transaction (9b93ae2 )
14-02: add attempt_number and error_class columns to delivery attempts (957b92c )
14-02: extend DeliveryAttempt schema with attempt_number and error_class (c9ad3a1 )
14-03: add Deliveries.exhaust_delivery/1 named helper (d94c1c1 )
14-04: extend record_attempt/2 with row lock + attempt_number + terminal convergence (04a74a8 )
14-04: plumb error_class end-to-end via Executor.classify/1 3-tuple (b5f5728 )
14-04: promote DeliveryAttempt.attempt_number to required field (38e0ca6 )
14-05: surface attempt_number and error_class in Traces (D-07) (53ff4b1 )
14-05: wire Oban retry contract in ObanWorker.perform/1 (b044e29 )
14-10: add classify/1 fallback and rewrite map_outcome_to_oban_return/4 catch-all (BL-02) (a90460e )
16-01: add using macro to Notifier (57a6409 )
17-01: persist delivery orchestration contracts (d6f48d9 )
17-02: defer quiet-hours at planning time (217d57c )
17-02: persist notifier orchestration declarations (b5a2634 )
17-03: expose deferred delivery explanations (eb2e5ee )
17-03: gate dispatch on orchestration readiness (b4eae59 )
18-01: implement deferred resume row transitions (e546f77 )
18-02: schedule deferred resumes through oban (6fa8afe )
18-03: explain resumed deferred delivery history (a663709 )
19-01: implement durable digest rule and bucket storage (eeec217 )
19-02: implement digest accumulation transaction (cc223c3 )
19-03: wire planner-side digest accumulation (64744c4 )
21-01: add durable rendering storage (d0fe75f )
21-01: add notifier rendering normalization (2b31b14 )
21-02: persist render identity during trigger and planning (be55f85 )
21-04: persist rendered delivery payloads before dispatch (203bb2d )
21-05: add preview rendering mix task (63b2864 )
21-05: add pure rendering preview api (629f196 )
21-template-versioning-rendering-contracts-03: add validated channel render dispatch (8e4211e )
21.1-01: persist notification render channel declarations at trigger time (e0f1049 )
21.1-02: normalize preview boundary failures for invalid and unloaded notifiers (e07ec28 )
21.1-02: replace executable preview CLI inputs with JSON and shallow flags (295d495 )
22-01: add durable recovery row primitives (b97d97c )
22-02: wire recovery through canonical dispatch (8bb160a )
22-03: add recovery-aware trace analytics (04f678d )
23-01: schedule digest flushes from durable buckets (52989c6 )
23-02: persist orchestration for recovery replay (84a2276 )
23-03: prove scheduled digest worker lifecycle (09b412a )
23-04: handle perform-time delivery re-deferral (f294eb5 )
24-workflow-contracts-state-spine-01: add durable workflow contract storage (3ca153d )
24-workflow-contracts-state-spine-02: persist workflow runs at trigger time (e7d0059 )
24-workflow-contracts-state-spine-03: link deliveries to persisted workflow state (c9d7aa0 )
25-01: normalize step progress rules and curate workflow outcomes (886ecdc )
25-02: wire durable workflow progression engine into canonical convergence (33b2a36 )
25-03: wire thin workflow progression worker and due-run scheduling (74b341c )
25-04: implement advance_after_wait/5 to close CR-01 wait_until loop (11455b2 )
26-01: handle terminal workflow tuples in progression worker (665a54a )
27-01: add barebones SignalRouterWorker (739ffa9 )
27-01: add Signal model and Chimeway.Signal.track/4 API (4ab48f0 )
27-01: add State Spine columns to WorkflowRun (9b468aa )
27-02: complete SignalRouterWorker.perform/1 implementation (6ab36b7 )
27-02: implement Chimeway.Workflows.route_signal/1 (b3a88d2 )
27-03: implement Workflows.explain/2 and list_traces/3 inspection API (a87ce63 )
27-07: route_signal filters by actor_id and clears suspended_until (06e2a87 )
29-01: add Chimeway.Rendering.Channel behaviour module (7b1f6fe )
29-02: add adapter_module column to chimeway_delivery_attempts (05c6fbf )
29-02: wire adapter_module field in DeliveryAttempt schema (e75acdd )
29-03: implement Sms, Push, Chat channel render validators (e125425 )
29-04: boot validation for :channel_render_modules + adapter_module telemetry key (d792992 )
29-04: three-layer channel_module/1 with registry + telemetry once-flag (eb52ffa )
29-05: add resolve_adapter/1 + persist adapter_module on attempt (e22a04b )
29-05: thread adapter_module into [:dispatch, :sync, :stop] stop metadata (39146ec )
29-06: expose adapter_module in explain_delivery output (1e3fa6b )
29-07: channel-tag mailbox sends in Adapters.Test (D-23) (ccebe15 )
30-01: add provider_message_id to delivery_attempts for feedback correlation (fed5a52 )
30-01: define webhook ingestion contracts on Adapter behaviour (488f3a4 )
30-01: implement synchronous webhook boundary and async feedback worker (d9e8bcc )
31-01: add tenant_id and actor_id to deliveries table (67985ca )
31-02: emit signal on feedback processing (1251a88 )
32-01: populate WorkflowTransition.delivery_id from signal.payload in route_signal/1 (d77e097 )
32-02: extend Chimeway.Traces with webhook + workflow timeline projection (fa976ad )
33-01: create chimeway_webhook_ingress migration + GREEN tests (6041acb )
33-01: create Chimeway.Webhooks.Ingress Ecto schema (2e904dc )
33-02: add Deliveries.fetch_delivery/1 non-raising sibling (2e65d7c )
33-02: rewrite webhooks_test.exs for atomic-handoff contract (5bf0c40 )
33-02: rewrite Webhooks.process/4 to atomic Multi+Oban handoff (6587ee1 )
33-03: rewrite ProcessFeedbackWorker for ingress-driven, safe-noop model (4ca2258 )
33-03: rewrite worker test for ingress-driven contract + preserve webhooks.ex compat (77c92f4 )
33-04: add CacheBodyReader plug and fixture adapters (913424d )
33-04: implement WebhooksController with raw-body flattening and status mapping (4379663 )
33-04: scaffold chimeway_demo_host sibling Mix project skeleton (4fd490a )
33-04: wire mix verify.example alias and fix E2E test compilation (cc20a75 )
33-05: add dedup-convergence integration tests (T-33-DEDUP / D-05) (08d8de6 )
add digest emission and explainability (570d47e )
Bug Fixes
11-01: task 11-01-01 harden adapter config lookup (2cb5afb )
11-01: task 11-01-02 keep explainability channels string-safe (0f6577d )
12-01: guard oban dispatch base multi coercion (5fb177a )
13-01: add category preference storage and lookup (74caae3 )
13-02: add policy settings storage and evaluation helpers (f931ca6 )
13-03: wire policy evaluation and dispatch suppression coverage (0363df4 )
14-10: update error_classes/0 test to include unknown_classification (BL-02 deviation) (c66c21a )
14-11: WR-05/06/07 — order last_attempt by attempt_number, emit :cancelled timeline entry, update Explanation moduledoc (a900dae )
14: CR-01 fix Traces.last_attempt_summary/1 nil handling (ce76ceb )
14: IN-01 remove commented debug IO.inspect calls (47c7293 )
14: IN-02 correct comment about Ecto.Query import (21364bc )
14: WR-01 use deterministic order for migration backfill (fbeebb5 )
14: WR-02 avoid TOCTOU gap in Oban worker dispatch (bffe56f )
14: WR-03 normalize provider_response string key in record_attempt/2 (14f9605 )
14: WR-04 add timeline entry for manually-cancelled deliveries (287b8a5 )
17: harden orchestration planning follow-ups (40d05b9 )
18: stamp deferred transition timestamps (4ea8ec6 )
19: tighten digest rule matching and accumulation edges (5bd1b44 )
21: revise plans based on checker feedback (54d917d )
22-04: restore recovery-only planning fallback (9fbf089 )
23-05: harden digest lookup identity boundaries (fb5ae6d )
27-04: make phase 27 spine migration upgrade-safe (0e4d2bc )
27-04: reject empty workflow run tenant ids (bb2b903 )
27-05: pass tenant ids through trigger workflow runs (03f3e84 )
27-05: thread tenant into initial workflow runs (6014765 )
27-06: declare the signal router queue everywhere (3a0ffd0 )
27-06: hold workflow signal locks through commit (9089f0d )
27-06: honor trace limits in workflow inspection (8c738f1 )
29: correct Plan 07 wave to 5 (depends on Plan 06 at wave 4) (fce7b9b )
29: revise plans based on checker feedback (7860bfe )
31-01: pass tenant_id and actor_id in test and emission logic (7ec7594 )
33-06: handle :more branch in CacheBodyReader.read_body/2 (BL-01) (bdaa3db )
34-02: align PII boundary fixture event_name to canonical chimeway.delivery.succeeded (c5a1335 )
34-02: align Scenario B fixture event_name to canonical chimeway.delivery.succeeded (d918024 )
ci: format code, fix doc links, relax credo checks for release (7d0ed56 )
phase-24: preserve persisted workflow step identity (5a61459 )
use DATABASE_URL for repo config (4e90b94 )
You can’t perform that action at this time.