Changelog
All notable changes to the fluxrig project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
NOTE
The documentation site always reflects the current release. Earlier releases are not published as separate sites, but their documentation is preserved in git: every release is tagged in the public fluxrig/docs repository (and the source in jaab-tech/fluxrig), so git checkout v0.6.1 recovers that version's docs exactly. The entries below are the authoritative version history.
Phase 4: scale & hardening
| Version | Date | Status | Summary |
|---|---|---|---|
| v0.7.0 | 2026-08-01 | Delivered | Payment switch: Conductor gear, gear manifests, ISO 8583 TLS |
v0.7.0 - 2026-08-01
The payment-switch release: the Conductor transaction switch, a manifest system that makes every gear self-describing, and native TLS on the ISO 8583 I/O path.
Added
- Conductor gear (transaction switch): routes each request across a destination tree of strategy nodes (
failover,round_robin,least_loaded) whose leaves are output ports, correlates the reply under a ticket, and surfaces timeouts on a dedicatederrorport. Availability sensing binds each local destination to its uplink link-state. Validated end-to-end by thepayment_switche2e and the Conductor stress and chaos Robot suites. - Valet correlation engine: the local-by-default ticket store behind the Conductor's reply matching, with per-ticket TTLs and idempotent redemption.
- Cross-Conductor handoff: a request can exit one Conductor and its reply return through another, routed by an in-band origin stamp, so active/active multi-region topologies need no shared session state.
- Named multi-port gear I/O: gears declare multiple named input/output ports; the Bento gear honors every declared output port and fails loudly on an ambiguous multi-output config.
- Gear manifests: every gear publishes a manifest (identity, ports, config JSON Schema, terminus). The runtime validates a gear's config against its schema at activation, the Mixer API serves the manifest catalog, and
fluxrig gears docgenerates the gear reference documentation from it. - Native TLS / mTLS on
io_iso8583, plus connection link-state signals (conn.up/conn.down) on the control plane that drive Conductor availability sensing. fluxrig scenario viz: generates an interactive LikeC4 topology model (zones, racks, gears, sockets, the Snake) from a scenario file.- Lean Rack build:
-tags nobentocompiles a Rack without the Bento gear for minimal-footprint deployments.
Changed
- Port addressing: port names are dot-free and wires address the fully-qualified
rack.gear.port, so a wire endpoint is unambiguous across a multi-rack topology.
Fixed
- Reply-correlation timeout under load: JetStream deduplication is now keyed per subject, fixing a Conductor timeout where distinct requests collided on the dedup key.
- Rack stability: panics on the gear
emitpath are recovered and nil emits dropped, so a misbehaving source gear can no longer crash the Rack. - Conductor field resolution: correlation, match, and park fields resolve as dotted paths (e.g.
iso8583.field.11) consistently. - Loud topology validation: scenario topology inconsistencies now fail at load instead of surfacing later as runtime errors.
- Gear schema completeness: the
io_tcpandbentoconfig schemas now declare every field the gears actually accept (previously undocumented options such asio_tcpdelimiter framing andbentolog_level).
Phase 3: open & flexible logic
| Version | Date | Status | Summary |
|---|---|---|---|
| v0.6.1 | 2026-07-20 | Delivered | Wasm runtime, supply chain security, polyglot gears |
| v0.6.0 | 2026-06-06 | Delivered | Release metadata only, no code changes |
| v0.5.0 | 2026-05-07 | Delivered | Sovereign identity (UUID v7) & telemetry hardening |
| v0.4.5 | 2026-04-29 | Delivered | Documentation Hardening & Zero-Config |
| v0.4.4 | 2026-04-23 | Delivered | Logic Extensibility & Secure Enrollment |
| v0.4.3 | 2026-02-19 | Delivered | Operational Resilience & NATS V2 |
| v0.4.2 | 2026-02-15 | Delivered | Spec Management & E2E Automation |
| v0.4.1 | 2026-02-09 | Delivered | Stateless Context & I/O Decoupling |
| v0.4.0 | 2026-02-01 | Delivered | ISO8583 Native Gear & Telemetry QoS |
| v0.3.0 | 2026-01-08 | Delivered | Bento Integration & Load Testing |
v0.6.1 - 2026-07-20
Added
- Wazero Integration: Implemented a secure, native Wasm execution environment using
wazero. - Wasm Supply Chain Security: Embedded Ed25519 signatures within
.wasmmodules with Mixer-level trust roots and countersignature enforcement prior to Rack execution. - Dynamic Catalog Distribution: Added NATS Snake hot-loading for edge distribution of Wasm logic.
- PKI & Catalog CLI: Introduced
fluxrig keys gen-cluster,fluxrig wasm sign, andfluxrig wasm importcommands. - Path Sanitization: Added
pkg/utils/pathto centralize traversal-safe path handling.
v0.6.0 - 2026-06-06
Changed
- Release metadata only. This tag contains no source changes relative to
v0.5.0; the Wasm work intended for it was not merged and shipped inv0.6.1instead.
v0.5.0 - 2026-05-07
Changed
- Sovereign Identity Plane (v0.5.0 Foundation): Migrated the entire platform identity system to 128-bit UUID v7 (RFC 9562). This enhances entropy, ensures global uniqueness without centralized coordination, and provides time-ordered sequence integrity for high-performance storage indexes.
- Deduplication Logic: Updated NATS JetStream deduplication to utilize 128-bit identifiers, ensuring consistent exactly-once delivery across complex telemetry pipelines.
- Telemetry Hardening: Standardized the dotted metric naming schema (e.g.,
flux.gear.messages_in) across OTel, Prometheus, and DuckDB. - Directional Monitoring: Split unified I/O counters into distinct Inbound and Outbound channels for precise protocol translation metrics.
- Resource Guardrails: Implemented mandatory
MaxHops(64) andMaxPayloadSize(2MB) validation influxmsgto prevent bus exhaustion and "poison pill" scenarios. - Concurrency Resilience: Integrated global
PanicMiddlewareto ensure Rack stability during individual Gear failures and hardened mutex locking for atomic hot-reloads. - Mixer Reliability: Replaced fragile telemetry discovery with a robust recursive traversal engine, ensuring full visibility of historical Parquet data via the API.
- Security Hardening (CodeQL Certification):
- Fixed high-severity path traversal in scenario management by implementing robust name sanitization.
- Hardened TLS configuration in the
snakeserver with CA-based client verification support. - Resolved integer overflow/truncation risks in telemetry ingestion and ISO8583 codecs.
- Upgraded core dependencies (NATS Server v2.14, NATS Go v1.52) to address multiple upstream vulnerabilities.
CAUTION
DESTRUCTIVE CHANGE: This migration is a hard architectural break.
- Storage: Existing DuckDB databases (V3 and below) and cached
.fluxstate files are incompatible with this version. - API: REST handlers and NATS topics have transitioned from decimal integer IDs to standard UUID string representations.
v0.4.5 - 2026-04-29
Added
- Zero-Config Getting Started: Global Gears (a gear with no
deploytarget runs on every connected Rack), enabling scenarios that work without knowing Rack names in advance.
v0.4.4 - 2026-04-23
Added
- Enrollment Architecture: Implemented configuration-driven rack adoption with secure nonce-based passports.
- CBOR Migration: Transitioned internal wire-format to deterministic CBOR for binary stability.
- Data-Plane Integrity: Enforced technical UTF-8 validation and hex-encoded binary metadata handling.
- IO Stabilization: Implemented robust connection polling and rate-limited background WAL replay.
v0.4.3 - 2026-02-19
Added
- Documentation Website: Docusaurus-based documentation site with diagram support and full-text search.
v0.4.2 - 2026-02-15
Added
- Spec & Scenario Manager: CAS-backed spec/scenario management with CLI (
fluxrig spec,fluxrig scenario) and API integration. - E2E Test Suite: Comprehensive test runner for spec lifecycle, API scenarios, and concurrent access.
v0.4.1 - 2026-02-09
Added
- Coat Check Pattern: Implemented architectural pattern to handle "Detached State" during connection handovers.
- Bus KV: Implemented the
Bus.KV()key-value interface with a NATS backend, backing the Coat Check ticket store.
Changed
- IO Refactor: Decoupled TCP connection management from protocol logic.
- Gear Rename:
simple_tcp→io_tcp(renamed as part of the IO refactor above).
v0.4.0 - 2026-02-01
Added
- ISO8583 Native Gear (Alpha): First release of the high-performance payment switch gear.
- Telemetry Governor: Introduced QoS constraints for telemetry ingress to protect business traffic.
v0.3.0 - 2026-01-08
Added
- Bento Integration: Native support for the
warpstreamlabs/bentoecosystem, enabling the Bento connector ecosystem. The standard binary ships the Pure Logic and Local I/O sets; institutional connectors (Kafka, SQL, AWS) require a custom build. - Load Testing Suite: Integrated
e2e_loadcapabilities for stress testing.
Phase 2: core runtime
| Version | Date | Status | Summary |
|---|---|---|---|
| v0.2.0 | 2026-01-05 | Delivered | Observability Stack & TLS Foundations |
v0.2.0 - 2026-01-05
Added
- Observability Stack: Full OTel integration (Metrics, Traces) with DuckDB backend.
- Configuration V2: Unified TOML-based configuration schema.
- TLS Support: Enabled mutual TLS for internal bus and HTTPS for management API.
Phase 1: architecture & foundation
| Version | Date | Status | Summary |
|---|---|---|---|
| v0.1.0 | 2025-12-27 | Delivered | Initial engine architecture and Snake Protocol |
v0.1.0 - 2025-12-27
Added
- Foundation: Initial release of the 4-Repo Architecture.
- Snake Protocol: Secure tunneling implementation for Rack-to-Mixer connectivity.
- FluxMsg: Canonical JSON schema for inter-gear communication.