FIPS v0.2.0 Released
fips-v020-released
FIPS
A distributed, decentralized network routing protocol for mesh nodes connecting over arbitrary transports.
2 min read
FIPS v0.2.0 is now available. This release includes a major discovery protocol overhaul, Tor transport support, runtime peer management, and 12 bug fixes.
Highlights
Smarter Discovery Routing
The discovery protocol has been rewritten to use bloom-filter-guided tree routing instead of flooding. Lookups are now forwarded only to spanning tree peers whose bloom filter contains the target, reducing discovery traffic by 90%. When no tree peer matches, a non-tree fallback preserves reachability. The new design includes originator retry with exponential backoff and transit-side rate limiting for defense-in-depth.
Tor Transport
Nodes can now peer over Tor using SOCKS5 for outbound connections and directory-mode onion services for inbound. This enables anonymous peering without exposing IP addresses.
Runtime Peer Management
New fipsctl connect and fipsctl disconnect commands allow adding and removing peers at runtime without restarting the daemon. Supports hostname resolution from /etc/fips/hosts.
Reproducible Builds
The build infrastructure now produces deterministic, reproducible packages. Rust toolchain pinning via rust-toolchain.toml and SOURCE_DATE_EPOCH timestamps ensure bit-identical output across builds from the same commit.
Breaking Change
This release changes the discovery wire format. The visited bloom filter has been removed from LookupRequest, and a forwarded flag has been added to LookupResponse. Nodes running v0.1.0 cannot interoperate with v0.2.0 on discovery. All mesh nodes must be upgraded to v0.2.0.
Bug Fixes
-
DNS responder NXDOMAIN for A queries on
.fipsnames (#9) -
Stale sessions blocking reconnect (#5)
-
Rekey dual-initiation race on Tor links
-
Rekey cutover race causing AEAD failures
-
Post-rekey jitter spikes corrupting EWMA (#10)
-
ICMPv6 PTB source address ignored by Linux (#16)
-
Parent selection bypassing SRTT eligibility gate
-
Auto-connect peers permanently abandoned after retry exhaustion
-
MMP metric discontinuity across rekey
-
Control socket permissions for non-root users
-
Reconnect backoff reset on link-dead cycles (#5)
-
ETX unresponsive to recent loss (#14)
Install
Packages available:
-
Debian/Ubuntu:
.debpackage -
Systemd tarball:
fips-0.2.0-linux-x86_64.tar.gz -
OpenWrt: opkg
.ipkpackage -
Source: https://github.com/jmcorgan/fips
Contributors
@jmcorgan, @v0l, @alopatindev, @Origami74
Full changelog: https://github.com/jmcorgan/fips/blob/master/CHANGELOG.md
Help keep these ideas circulating
This is an independent project. If you'd like to help support it, you can make a contribution. But there's no obligation at all. Reading, sharing, and coming back is already a form of support.
Read also
1
We've got exciting news for you, another FIPS release! New features, new platforms and many, many bugfixes! We've landed…
2
A proof-of-concept FIPS node on Android — UDP and TCP transports, TUN adapter, .fips name resolution, Kotlin via UniFFI.

3
A new FIPS release is out! v0.5.3 makes your node harder to mess with: OpenWrt routers are no longer open to the whole m…
Want to publish here too? No sign-up, and the text stays yours. Learn how to start
Replies (0)
Loading…