Skip to main content

Changelog

Keep a Changelog Semantic Versioning

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

VersionDateStatusSummary
v0.7.02026-08-01DeliveredPayment 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 dedicated error port. Availability sensing binds each local destination to its uplink link-state. Validated end-to-end by the payment_switch e2e 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 doc generates 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 nobento compiles 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 emit path 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_tcp and bento config schemas now declare every field the gears actually accept (previously undocumented options such as io_tcp delimiter framing and bento log_level).

Phase 3: open & flexible logic

VersionDateStatusSummary
v0.6.12026-07-20DeliveredWasm runtime, supply chain security, polyglot gears
v0.6.02026-06-06DeliveredRelease metadata only, no code changes
v0.5.02026-05-07DeliveredSovereign identity (UUID v7) & telemetry hardening
v0.4.52026-04-29DeliveredDocumentation Hardening & Zero-Config
v0.4.42026-04-23DeliveredLogic Extensibility & Secure Enrollment
v0.4.32026-02-19DeliveredOperational Resilience & NATS V2
v0.4.22026-02-15DeliveredSpec Management & E2E Automation
v0.4.12026-02-09DeliveredStateless Context & I/O Decoupling
v0.4.02026-02-01DeliveredISO8583 Native Gear & Telemetry QoS
v0.3.02026-01-08DeliveredBento 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 .wasm modules 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, and fluxrig wasm import commands.
  • Path Sanitization: Added pkg/utils/path to 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 in v0.6.1 instead.

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) and MaxPayloadSize (2MB) validation in fluxmsg to prevent bus exhaustion and "poison pill" scenarios.
  • Concurrency Resilience: Integrated global PanicMiddleware to 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 snake server 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 .flux state 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 deploy target 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_tcpio_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/bento ecosystem, 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_load capabilities for stress testing.

Phase 2: core runtime

VersionDateStatusSummary
v0.2.02026-01-05DeliveredObservability 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

VersionDateStatusSummary
v0.1.02025-12-27DeliveredInitial 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.