mirror of
https://github.com/jmcorgan/fips.git
synced 2026-10-06 11:38:24 +00:00
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.
60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|