Self-hosting a gateway just got easy. Gateways use Iroh now, so they work behind NAT with no firewall rules or domain setup. The Gateway UI makes it simple to manage your Gateway's Lightning channels, on-chain wallet, and ecash wallet across federations. Run it as a standalone Docker service or look for packages on Umbrel and Start9 coming soon after release.
Breaking Changes
ConnectorRegistry replaces Connector enum. The networking layer has been refactored. Connector is replaced by ConnectorRegistry from the new fedimint-connectors crate, which supports multiple transport protocols (WebSocket, Iroh, HTTP, Tor). ClientBuilder::open() and ClientBuilder::preview() signatures have changed accordingly.
RocksDb now uses builder pattern. Construction changed from direct instantiation to RocksDb::build().open().
Balance methods renamed for clarity. Methods like get_balance() are now get_balance_for_btc() to support multi-currency.
P2PConnectionStatus struct replaces Option\<Duration>. RTT is now returned as a struct rather than an optional duration.
What's Changed
Gateway & Lightning
- 24-hour payment summary #7929
- Leave federation #7960
- Automatic ecash backups with 24hr loop #8009
- Open/close channel management #8012, #8026
- Show funding outpoint for mempool.space lookup #8027
- On-chain wallet with send/receive #8035
- Deposit address with QR code #8044
- Send/receive Bolt11 payments #8061
- View lightning transactions #8062
- Safely stop gateway #8063
- On-chain withdrawal with two-step fee preview #8069
- Ecash spend/receive tabs #8074, #8075
- Payment events in UI #8125
- gateway-cli over Iroh #7784
- Gateway Iroh registration #8024
- Support federations without LNv1 #8070
- User-friendly LNv2 error messages #8050
- Auto-spawn LNURL receive task #7861
- recurringd v2 stateless LNURL server #8093
Client & Networking
- ConnectorRegistry architecture #7958, #8007
- Default to public Iroh relays #8029
- Fix endpoint duplication bug #8031
- Iroh and WebSocket connection reuse #7804, #7817
- Faster preview/join flow #7806, #7807, #7830
- Speed up init by not loading config twice #7912
send_oob_notesauto-reissue for denominations #8002- fedimint uniffi client for mobile integration #8036
Guardian & Federation
- Password change functionality #8005
- Disable modules during setup #8071
- Cancel-safe P2P reads #7923
- Await bitcoin backend sync before starting consensus #7931
Other
- Fountain codes for animated QR codes #7905
- Multi-currency support foundation #7734
- Payment event streams for mint, wallet, and lnv2 #7906
- Expose peer connection types in API endpoint #7786
- Real-time monitoring of connection status #8087
- Fix: detect gaps in nonce indices when repairing wallet #7871
Full Changelog: https://github.com/fedimint/fedimint/compare/v0.9.0...v0.10.0