v0.9.0
What's Changed
- fix(ci): wait for full cluster convergence across all 6 nodes (#275) by @avifenesh in #276
- feat(ff-sdk): re-export ClaimGrant + claim types so consumers drop ff-scheduler direct pin (#283) by @avifenesh in #284
- feat(EngineBackend): seed_waitpoint_hmac_secret trait method (#280) by @avifenesh in #288
- feat(flowfabric): umbrella crate re-exporting the 7-crate family (#279) by @avifenesh in #285
- feat(EngineBackend): prepare() boot step — trait-level boot preparation (#281) by @avifenesh in #287
- fix(script): extend FUNCTION LOAD retry window for cluster-topology race (#275) by @avifenesh in #289
- feat(ff-core): LeaseSummary gains lease_id + attempt_index + last_heartbeat_at (#278) by @avifenesh in #286
- docs(release): finalize v0.9.0 CHANGELOG + consumer migration addendum by @avifenesh in #291
- docs(CLAUDE.md + README): release gate + v0.9 surface + multi-backend env by @avifenesh in #292
- docs(MIGRATIONS): rolling 3-minor-window migration page (replaces CONSUMER_MIGRATION_v0.8.md) by @avifenesh in #295
- scripts: published-artifact smoke harness for release-gate validation by @avifenesh in #296
- example(token-budget): v0.9 UC-37 + UC-39 — flow-level token budget + per-attempt report_usage by @avifenesh in #297
- ci(matrix): add ubuntu-latest × postgres 16 × standalone cell (Postgres backend parity gate) by @avifenesh in #299
- fix(ferriskey): Instant::now() for slot-refresh throttle (monotonic clock; closes #290) by @avifenesh in #302
- feat(ff-backend-valkey):
with_embedded_schedulerconstructor — claim_for_worker reachable from direct consumers (#293) by @avifenesh in #304 - rfc(018): EngineBackend capability discovery surface (draft; addresses #277) by @avifenesh in #303
- feat(EngineBackend): implement cancel_flow WaitTimeout + WaitIndefinite on both backends (#298) by @avifenesh in #305
- fix(ferriskey): saturating_duration_since + narrow Instant doc (follow-up to #290/#302) by @avifenesh in #306
- feat(RFC-018): Stage A — EngineBackend::capabilities_matrix + BackendIdentity + Capability enum (closes #277) by @avifenesh in #312
- fix(ff-backend-postgres): UUID-scoped kids so suspend_signal tests parallelize (closes #301) by @avifenesh in #307
- feat(RFC-019): Stage A — EngineBackend stream-cursor subscription surface (closes #282) by @avifenesh in #313
- release(v0.9.0): RFC-017 consumer polish + capability discovery + stream-cursor subscription + cluster race resolved by @avifenesh in #314
Full Changelog: v0.8.1...v0.9.0