Skip to content

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 29 Apr 16:11
· 103 commits to main since this release

What's Changed

  • rfcs: draft RFC-023 SQLite dev-only backend (Temporal-pattern, cairn testing consumer) by @avifenesh in #361
  • rfcs: RFC-023 Round-3 surgical fixes (B-R3 findings) by @avifenesh in #362
  • rfcs: promote RFC-023 to accepted (post Round-3 narrow fix, unanimous approval across 3 reviewers) by @avifenesh in #363
  • rfcs: RFC-023 Revision 4 — 6 Round-3 structural fixes by @avifenesh in #364
  • rfcs: RFC-023 Revision 5 — §4.4 item 10 worker.rs surgery scope by @avifenesh in #366
  • feat(backend-sqlite): Phase 1a — non-SQL surface + worker.rs backend-agnostic refactor by @avifenesh in #367
  • feat(backend-sqlite): Phase 1b — 14 SQLite-dialect migrations + parity-drift lint by @avifenesh in #368
  • feat(backend-sqlite): Phase 2a.1 — query-module scaffolding + retry_serializable + busy classifier by @avifenesh in #370
  • rfcs: RFC-023 Revision 6 — BackendTag::Sqlite + wire byte 0x03 + match-site audit by @avifenesh in #373
  • feat(ff-core+backend-sqlite): Phase 2a.1.5 — BackendTag::Sqlite variant + wire byte 0x03 + codec by @avifenesh in #374
  • feat(backend-sqlite): Phase 2a.2 — claim/complete/fail hot-path impls + attempt/exec_core queries by @avifenesh in #375
  • feat(backend-sqlite): Phase 2a.3 — lease lifecycle + progress + append_frame by @avifenesh in #376
  • feat(backend-sqlite): Phase 2b.1 — producer exec/flow + pubsub foundation (Group A + D.1) by @avifenesh in #377
  • feat(backend-sqlite+core): Phase 2b.2.1 — suspend/signal/waitpoint producer + HMAC crypto extraction by @avifenesh in #378
  • feat(backend-sqlite): Phase 2b.2.2 — stream readers + outbox-cursor-reader helper (completes Phase 2) by @avifenesh in #379
  • feat(backend-sqlite): Phase 3.1 — subscribe_completion/lease_history/signal_delivery via OutboxCursorReader by @avifenesh in #381
  • feat(backend-sqlite): Phase 3.2 — Wave 9 operator control (4 methods) + producer tag backfill by @avifenesh in #382
  • feat(backend-sqlite): Phase 3.3 — Wave 9 read model + cancel-flow split + list_pending_waitpoints (6 methods) by @avifenesh in #383
  • feat(backend-sqlite): Phase 3.4 — Wave 9 budget/quota admin (5 methods) + report_usage_impl breach-counter extension by @avifenesh in #384
  • feat(backend-sqlite): Phase 3.5 — scanner supervisor (N=1) + budget_reset reconciler (completes Phase 3) by @avifenesh in #385
  • rfcs: draft RFC-024 reclaim wiring for pull-mode deadlock (#371) by @avifenesh in #388
  • rfcs: RFC-024 Revision 2 — address Round 1 findings (owner decisions locked) by @avifenesh in #390
  • fix(ferriskey+loader): FUNCTION LOAD cluster slot refresh between retries (closes #369) by @avifenesh in #386
  • rfcs: promote RFC-024 to accepted (Round 2 unanimous) by @avifenesh in #391
  • fix(backend-sqlite): claim writes public_state + is_memory detects mode=memory URIs (closes #372) by @avifenesh in #392
  • fix(pg-backend+docs): Wave 9 follow-ups — lifecycle_phase adapter doc (#354) + attempt.outcome on cancel (#355) + ff_exec_core.started_at_ms (#356) by @avifenesh in #393
  • bench(apalis): refresh per @geofmureithi tuning recommendations (#51) by @avifenesh in #396
  • feat(ff-core): RFC-024 PR-A — ReclaimGrant→ResumeGrant + ReclaimToken→ResumeToken + HandleKind::Reclaimed by @avifenesh in #394
  • docs(v0.12): Phase 4b — CONSUMER_MIGRATION_0.12 + DEPLOYMENT + dev-harness + MIGRATIONS + parity matrix + README + RELEASING by @avifenesh in #399
  • feat(backend-sqlite): v0.12 Phase 4c — atomic Supports flag flips (SQLite Wave 10 live) by @avifenesh in #397
  • feat(ff-core+workspace): RFC-024 PR-B+C — trait method renames + new ReclaimGrant type + drop aliases by @avifenesh in #400
  • feat(examples+scripts): v0.12 Phase 4a — ff-dev headline example + smoke-sqlite.sh by @avifenesh in #398
  • feat(pg-backend): RFC-024 PR-D — issue_reclaim_grant + reclaim_execution + migration 0017 by @avifenesh in #403
  • feat(backend-valkey+script): RFC-024 PR-F — issue_reclaim_grant + reclaim_execution + Lua ARGV[9] by @avifenesh in #402
  • feat(backend-sqlite): RFC-024 PR-E — issue_reclaim_grant + reclaim_execution + migration 0017 by @avifenesh in #401
  • fix(backend-sqlite): enable libsqlite3-sys bundled feature per RFC-023 §7.1 by @avifenesh in #405
  • chore: doc nits sweep + reclaim cap-exceeded cross-backend verification by @avifenesh in #406
  • fix(pg-backend): reclaim cap-exceeded outbox + lease_epoch monotonicity (cross-backend parity) by @avifenesh in #404
  • feat(ff-sdk+ff-server+docs): RFC-024 PR-G — SDK admin surface + worker dispatch + CONSUMER_MIGRATION_0.12 by @avifenesh in #407
  • fix: propagate streaming feature gates in backend crates (unblock release-automation lint) by @avifenesh in #410
  • fix: add constructors for 8 public #[non_exhaustive] structs (unblock release-automation lint) by @avifenesh in #409
  • feat(core): add EngineBackend::read_execution_context trait method (v0.12 agnostic-SDK prep) by @avifenesh in #411
  • chore: add release automation guardrails (publish-list, non_exhaustive, lua-version, feature-propagation) by @avifenesh in #408
  • fix: scope ff-core feature edges to core-only across scheduler/engine/sdk/backends (unblock agnostic-SDK compile anchor) by @avifenesh in #412
  • refactor(sdk): drop dead client field on ClaimedTask; ungate task.rs module (agnostic-SDK PR-2) by @avifenesh in #413
  • refactor(engine): trait-object backend param for start_with_completions (agnostic-SDK PR-7a) by @avifenesh in #414
  • refactor(sdk): extract Valkey connect preamble; ungate admin/snapshot modules (agnostic-SDK PR-6) by @avifenesh in #415
  • refactor(sdk+core): ungate deliver_signal; route claim_from_resume_grant through trait (agnostic-SDK PR-3) by @avifenesh in #416
  • refactor(sdk+core): add EngineBackend::claim_execution; route claim_from_grant through trait (agnostic-SDK PR-4) by @avifenesh in #417
  • refactor(sdk+core): trait-route claim_next scanner primitives (agnostic-SDK PR-5) by @avifenesh in #418
  • refactor(sdk+core): ungate ClaimedTask + claim paths (agnostic-SDK PR-5.5) by @avifenesh in #419
  • docs: add v0.12 trait-method parity rows + consumer-migration §limitations (pre-tag) by @avifenesh in #421
  • docs(core): align read_current_attempt_index rustdoc with cross-backend behavior by @avifenesh in #420
  • ci(release): add pre-publish smoke-sqlite leg by @avifenesh in #422
  • feat(examples): add incident-remediation scenario (SC-10) demonstrating RFC-024 reclaim by @avifenesh in #425
  • fix(ferriskey): FanOut with AllSucceeded must refresh + retry on READONLY (unblock v0.12 cluster smoke) by @avifenesh in #426
  • ci: reclaim disk on ubuntu-latest runners to prevent integration-test link OOM by @avifenesh in #424
  • fix(ferriskey): close remaining FUNCTION LOAD cluster READONLY path (v0.12 tag-blocker residual) by @avifenesh in #427
  • chore(ff-test): install tracing subscriber for integration tests (unblock arm-cluster READONLY diagnosis) by @avifenesh in #430
  • fix(ferriskey): use NotThrottable on error-driven slot-refresh paths by @avifenesh in #429
  • chore(release): v0.12.0 by @avifenesh in #423

Full Changelog: v0.11.0...v0.12.0