Latest v1.0.0

Reference

Changelog

What changed in Fibric, newest first. The platform follows semver: the kernel contract, the EventEnvelope, the executor's propose-then-dispose loop, and the receipt shape are stable across the 1.x line. Connectors and operators you ship today keep working as we add capability.

i
How to read this

Dates are release dates. Added is new surface, Changed may need attention on upgrade, Fixed is a correctness fix. The CLI and SDKs share one version line. Subscribe to releases with fibric notify releases --on.

v1.0.0 Stable June 12, 2026

The first stable release. The kernel contract is frozen for the 1.x line: one canonical EventEnvelope, the model proposes and the deterministic executor disposes, single-flight per entity, idempotency keys, fail-closed trust, walled-off tenancy, and a receipt for every action. Everything built on these holds.

Added
  • Stable 1.0 kernel contract: EventEnvelope, ExecutionPlan, and the receipt shape are now covered by the semver guarantee.
  • Receipt export to CSV and JSONL with fibric receipt export, scoped to the active tenant and ready for an auditor.
  • Marketplace publishing for connectors, with immutable versions and a validated noun.verb capability contract.
  • First-class Python SDK reaching parity with TypeScript: define_connector, tool, and Plan produce the same contract on the wire.
Changed
  • Side-effecting tools now fail closed by default: if no trust-policy rule allows a step, the executor declines it rather than running it. Add an explicit allow rule to keep prior behavior.
  • The CLI consolidated fibric receipts and fibric receipt into the singular receipt group. The plural alias is kept through 1.x.
Fixed
  • Single-flight now keys on the full entity path, so two operators acting on the same order can no longer interleave a double hold.
  • fibric operator run --dry-run prints every step's idempotency key, matching exactly what a real run would submit.
v0.9.0 Beta May 28, 2026

The release-candidate line. Capability-over-connector indirection landed end to end, so swapping one vendor for another became a configuration change instead of a rewrite.

Added
  • Capability binding: operators request a capability like order.read, and the platform routes it to whichever installed connector provides it.
  • fibric connector test <name> <tool> to run a tool against a real connection; reads run, side-effecting tools dry-run.
  • OAuth 2.0 auth helper, with the platform running the authorization dance and refreshing tokens out of your code path.
Changed
  • Operators now bind to capabilities rather than connector names. A manifest that named a connector directly needs to name the capability instead.
  • Idempotency keys moved from optional to required on every side-effecting plan step. The CLI warns on any step missing one.
Fixed
  • Vault credential resolution no longer leaked a connection's secret name into operator logs.
  • Plans proposed with zero steps now return an empty receipt set instead of erroring.
v0.8.0 Beta May 6, 2026

Tenancy hardening. Every envelope and every row now carries reseller_id and tenant_id, and isolation is enforced at the data layer, not by application code remembering to filter.

Added
  • Row-level tenancy on every table, keyed on reseller_id and tenant_id, so a query can never reach across the wall.
  • Tenant-scoped tokens: fibric token create mints a credential that resolves to exactly one tenant and only that tenant.
  • The sense and reason seams in the operator SDK, separating reads from the base-model reasoning step.
Changed
  • Real-data-only is now enforced for live tenants: a view backed by a fallback is tagged source:"fallback" so a placeholder can never read as a governed metric.
Fixed
  • Receipts written during a retry no longer duplicate; the idempotency key coalesces them into one.
  • The executor now releases single-flight on a thrown tool error instead of holding the entity until timeout.
v0.7.0 Beta April 15, 2026

The propose-then-dispose loop took its current shape. The model stopped acting and started proposing a validated ExecutionPlan that a deterministic executor disposes of, the split that makes Fibric governable.

Added
  • The deterministic executor: it validates a proposed plan, checks it against the trust policy, and disposes of each step one at a time.
  • The receipt ledger: every disposed step records its proposal, the policy rule applied, the idempotency key, and the result.
  • plan.submit() in both SDKs as the single handoff from an operator's proposal to the executor.
Changed
  • Operators can no longer call a side-effecting tool directly; the tool must become a step in a plan. Direct calls now raise at validation time.
Fixed
  • sideEffecting tools that returned early without a result no longer leave a receipt in a pending state.

Older beta notes live in the release archive. For what these versions document, start at Core concepts or the CLI reference.