Files
fips/CHANGELOG.md
Johnathan Corgan c086ee3edf Add build version metadata, changelog, and version display
Embed git commit hash, dirty flag, and target triple in all binaries
via a zero-dependency build.rs. Wire clap short/long version output
so -V shows "0.1.0 (rev abc1234)" and --version adds the target
triple. Log version at daemon startup.

Add version field to show_status control socket API response. Show
the daemon's version in fipstop's tab bar title and Runtime section.

Add CHANGELOG.md in Keep a Changelog format with the 0.1.0-alpha
release (2026-02-24) and unreleased work since then.
2026-03-08 02:19:33 +00:00

2.6 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Ethernet transport with beacon discovery and auto-connect
  • TCP transport with configurable bind address and static peer support
  • Docker sidecar deployment for containerized services
  • Comprehensive node and transport statistics via control socket
  • fipstop TUI monitoring tool with smoothed metrics and quality indices
  • ECN congestion signaling and transport congestion detection
  • Persistent identity with key file management (fipsctl keygen)
  • Periodic Noise rekey with fresh DH for forward secrecy (FMP + FSP)
  • Systemd service packaging with tarball installer
  • Build version metadata: git commit hash, dirty flag, and target triple embedded in all binaries via --version
  • CHANGELOG.md following Keep a Changelog format

Fixed

  • Spanning tree coordinate loop: reject parents whose ancestry contains us
  • PMTUD per-destination path MTU check and ICMPv6 MTU field width
  • Ethernet AEAD decryption failures caused by minimum-frame padding
  • Link-dead detection skipping peers that never send data
  • FMP version check added to TCP stream reader

Changed

  • GitHub repository moved from jmcorgan/fips to fips-network/fips

[0.1.0-alpha] - 2026-02-24

Added

  • Core mesh routing protocol with greedy coordinate-based forwarding
  • Noise IK handshake at FMP (link layer) and Noise XK at FSP (session layer)
  • UDP transport with configurable bind address and static peers
  • TUN-based virtual network interface (fips0) with ICMPv6 Packet Too Big
  • DNS resolver for .fips domain names (port 5354)
  • Spanning tree construction with cost-based parent selection and flap dampening
  • Bloom filter-based identity discovery protocol with reverse-path routing
  • MMP (Mesh Management Protocol) for link and session layer measurement
  • Hybrid coordinate warmup (CoordsWarmup message and proactive fallback)
  • Handshake retry with exponential backoff (link and session layer)
  • Link-layer heartbeat and liveness timeout for dead peer detection
  • Epoch-based peer restart detection
  • Per-link MTU support and reactive MtuExceeded error signal
  • Session idle timeout and identity cache expiry
  • Unix domain control socket for runtime observability (fipsctl)
  • Docker test harness with static and stochastic topologies
  • CI with GitHub Actions (x86_64 and aarch64, unit and integration tests)
  • Design documentation suite covering all protocol layers