Skip to content

Shipped vs planned

Fanout is alpha. User-facing contracts and storage formats can change without migration paths. Every documentation page states one of these statuses:

MarkerMeaning
shippedAvailable with a settled contract.
previewAvailable; the contract can change without a migration path.
plannedDesigned but unavailable.

llms.txt includes the status of every non-shipped page. A page covering several capabilities uses preview if any of its contracts remain unsettled.

CapabilityStatusNotes
OTLP ingest over gRPC and HTTPshippedBoth transports, one port and one ingest token.
Parquet storage, trace indexes, and DuckDB analyticspreviewAuthoritative local Parquet; rebuildable DuckDB query state.
Browser clientpreviewShips in the binary; preview contracts.
Built-in agentpreviewDisabled unless FANOUT_AI_PROVIDER selects anthropic or openai; the selected provider’s key is required at startup.
Agent-built dashboardspreviewBuild and refine from chat: fifteen panel types, variables, comparison, saved grids and immutable versions with restore. View links retain filters and time; dashboard access remains owner-scoped.
MCP toolspreviewServed at /mcp; the tool set is not frozen.
AlertspreviewRules evaluate on an interval against rollups.
Local email sign-inshippedCodes by email; no passwords.
Local self-signuppreviewFANOUT_SELF_SIGNUP, off by default. Provisions viewers after code verification only.
OIDC account auto-provisioningpreviewEligible identities receive the configured mapped or default role; the default is viewer.
OIDC sign-inshippedProvider flow, with group and domain mapping.
Generated settings referenceshippedcmd/fanout-docgen writes it; just check fails when it drifts from the type.
Release checksums and provenanceshippedSHA256SUMS plus GitHub build attestations on every archive.
Published ingest benchmarkshippedPerformance reports v2026.10.8-alpha with three sweep repetitions and raw evidence.
Signatures and SBOMplannedUnavailable; see the release contract.
Namespace scoping on alert rulesplannedThe field is stored but evaluation ignores it; scope with service.
  • Namespaces filter queries. Anyone who can query an instance can query every namespace in it. Each instance is one trust domain; use separate instances for mutually untrusted teams. A namespace does not represent a user, organisation or tenant.
  • No horizontal scale. Ingest, query and maintenance share one process and one machine.
  • Capacity depends on your workload. Payload cardinality, query mix and disk determine capacity. The published benchmark measures one release, host and workload. Measure your own hardware.
  • No migration paths. Fanout is pre-release. Storage-format changes may require a fresh data directory. Preserve backups before upgrading.

Keep a separate copy of data you need to retain.