Releases: fedimint/fedimint
Release list
v0.11.2-alpha.1
[Backport releases/v0.11] feat: recurringd selects available/vetted g…
v0.11.1 - Mint Condition
Highlights
- Gateway recovery and mnemonic management. New first-boot setup lets you create or restore a gateway from a mnemonic. Export/import federation invite codes so you never lose track of your federations.
- Guardian discovery via Pkarr. Guardians now publish their identity and API addresses to the decentralized Pkarr DNS system, enabling peer discovery without centralized coordination.
- Gateway UI overhaul. BOLT12 send/receive, channel management with one-click opens to existing peers, balance display in sats/BTC, payment filtering, peer and notes tabs, and a modernized Material-style design across guardian and gateway UIs.
- Drastically lower memory usage. Fixed a backtrace caching issue that bloated gatewayd from ~1.6GB to under 200MB, tuned RocksDB defaults for constrained environments, and added jemalloc profiling for diagnosing memory issues.
- Comprehensive observability. Prometheus metrics for networking, iroh connections, HTLC handling, Bitcoin RPC calls, and gateway-to-LN-node latency. OpenTelemetry switched to OTLP. New connectivity indicators in the guardian UI.
Breaking Changes
Admin API / CLI
Gateway CLI output is now JSON. All gateway-cli command output is JSON-formatted. Error output uses structured JSON with error, code, and cause fields. Scripts parsing plain-text output must be updated. #8376
Gateway first-boot behavior changed. Now presents a mnemonic setup/recovery screen instead of auto-generating. Use skip_setup flag for automation. #8174
Telemetry export switched from Jaeger to OTLP. Users who configured Jaeger endpoints need to update their collector to accept OTLP. #8138
Rust API
Gateway::new_with_custom_registry replaced by GatewayBuilder. The 11-parameter constructor is replaced with a fluent builder API. #8397
IGlobalFederationApi trait extended. New methods for connection refresh/pre-warming added; implementors must provide these. #8286
ClientModuleInit trait extended. Optional Bitcoin RPC provider capability added for downstream-defined Bitcoin RPC. #8171
ILnRpc trait extended. New sync_wallet method required on all implementations. #8083
IBitcoindRpc trait refactored. The trait and related RPC interfaces in fedimint-server-core and fedimint-server-bitcoin-rpc have been refactored to support call tracking. Module server code that implements or calls these traits may need updates. #8510
Database savepoint API removed. The ISavepoint trait and savepoint-related methods on database transactions have been removed. #8207
Backup methods deprecated (migrate now). All public backup methods on Client and ClientBuilder (create_backup, backup_to_federation, validate_backup, upload_backup, download_backup_from_federation, get_backup_id) are deprecated and scheduled for removal. Please migrate away from these methods. #8224
Dummy module simplified to pure testing mock. The dummy module's server-side consensus logic has been removed and the fedimint-dummy-tests crate deleted. #8221
Gateway ecash withdrawal API simplified. SpendEcashRequest no longer accepts custom denomination parameters; the gateway now uses send_oob_notes internally. #8223
fedimint-lnurl crate replaces standalone lnurlp binary. The lnurlp binary is removed; use the fedimint-lnurl library crate instead. URL fields in the public API use String instead of Url to avoid normalization issues. LnurlResponse serde representation changed to untagged format. #8235, #8281
VerifyResponse preimage encoding changed. Now a hex-encoded string per LUD-21 spec instead of raw bytes. LNv2 functionality removed from recurringd v1 (use recurringdv2 instead). #8231
RoutingInfo struct extended. New lightning_alias field in fedimint-lnv2-common. #8374
ChannelInfo struct extended. New address field for remote peer in fedimint-gateway-common. #8417
Module file renames. event.rs renamed to events.rs in fedimint-mint-client and fedimint-mintv2-client. #8405
jemalloc now behind a Cargo feature flag. jemalloc feature (enabled by default) in fedimintd and fedimint-cli. Downstream crates using default-features = false will no longer get jemalloc automatically. #8488
Experimental MintV2/WalletV2 API (not yet relevant for most users)
MintV2 and WalletV2 modules added (experimental, disabled by default). Two new opt-in modules are included but must be explicitly enabled during federation setup. They are not yet recommended for production use. #6429, #6734
WalletV2 API changes. deposit_range endpoint renamed to output_info_slice; DepositRange type replaced with OutputInfo. The tx_chain API no longer accepts a count parameter. WalletClientConfig gains new fields (send_tx_vbytes, receive_tx_vbytes, min_feerate, WalletDescriptor). #8412, #8418, #8361, #8506
WalletV2 payment event renames. SendPaymentStatusEvent -> SendPaymentUpdateEvent, ReceivePaymentStatusEvent -> ReceivePaymentUpdateEvent. Event kind strings updated accordingly. New address field added (typed Address<NetworkUnchecked>). amount fields renamed to value. Terminology normalized: peg-out -> pegout, peg-in -> pegin, on-chain -> onchain. #8429, #8434, #8437
MintV2 error variants renamed. MintInputError::InvalidAmountTier and MintOutputError::InvalidAmountTier renamed to InvalidDenomination. #8413
MintV2 amount_unit config field added. New field in mintv2 module configuration for multi-asset support. #8466
What's Changed
Gateway & Lightning
- Gateway mnemonic setup/recovery UI on first boot #8174
- Recovery checkbox when joining federation #8177
- Export/import federation invite codes for recovery #8250
PeginFromOnchainandPegoutToOnchainAPIs for automated on-chain/ecash movement #8375- Liquidity Manager role with restricted permissions #8379
GatewayBuilderpattern replaces multi-parameter constructor #8397- Gateway CLI output standardized to JSON #8376
- BOLT12 send/receive support in gateway UI #8242
- Peers and Notes tabs in gateway UI #8266
- Balance display toggle (msats/sats/BTC) #8329
- Payment event filtering in payment log #8222
- Remote peer alias on channels tab #8237
- Easier channel opens to existing peers #8417
- Channels table scrolling fix #8323
- Parallelized HTLC handling for better throughput #8270
- HTLC handling time metrics #8269
- Gateway-to-LN-node and bitcoind RPC duration metrics #8251
lightning_aliasinrouting_info_v2API #8374- Password required to reveal mnemonic #8220
- Gatewayd Start9 package #8325
- Gateway Docker Compose file #8068
- Reject funding of expired LNv1 incoming contract offers #8348
- LDK gateway sync fixes (retry on Esplora timeout) #8083
- LDK oversized channel open returns proper error #8172
- LNv2
await_finalfunctions now properly cache operation outcomes #8415 - Payment events added to LN v1 client #8405
- Leaving unknown federation no longer panics [#8396](https...
v0.11.0 - Mint Condition
Highlights
- Gateway recovery and mnemonic management. New first-boot setup lets you create or restore a gateway from a mnemonic. Export/import federation invite codes so you never lose track of your federations.
- Guardian discovery via Pkarr. Guardians now publish their identity and API addresses to the decentralized Pkarr DNS system, enabling peer discovery without centralized coordination.
- Gateway UI overhaul. BOLT12 send/receive, channel management with one-click opens to existing peers, balance display in sats/BTC, payment filtering, peer and notes tabs, and a modernized Material-style design across guardian and gateway UIs.
- Drastically lower memory usage. Fixed a backtrace caching issue that bloated gatewayd from ~1.6GB to under 200MB, tuned RocksDB defaults for constrained environments, and added jemalloc profiling for diagnosing memory issues.
- Comprehensive observability. Prometheus metrics for networking, iroh connections, HTLC handling, Bitcoin RPC calls, and gateway-to-LN-node latency. OpenTelemetry switched to OTLP. New connectivity indicators in the guardian UI.
Breaking Changes
Admin API / CLI
Gateway CLI output is now JSON. All gateway-cli command output is JSON-formatted. Error output uses structured JSON with error, code, and cause fields. Scripts parsing plain-text output must be updated. #8376
Gateway first-boot behavior changed. Now presents a mnemonic setup/recovery screen instead of auto-generating. Use skip_setup flag for automation. #8174
Telemetry export switched from Jaeger to OTLP. Users who configured Jaeger endpoints need to update their collector to accept OTLP. #8138
Rust API
Gateway::new_with_custom_registry replaced by GatewayBuilder. The 11-parameter constructor is replaced with a fluent builder API. #8397
IGlobalFederationApi trait extended. New methods for connection refresh/pre-warming added; implementors must provide these. #8286
ClientModuleInit trait extended. Optional Bitcoin RPC provider capability added for downstream-defined Bitcoin RPC. #8171
ILnRpc trait extended. New sync_wallet method required on all implementations. #8083
IBitcoindRpc trait refactored. The trait and related RPC interfaces in fedimint-server-core and fedimint-server-bitcoin-rpc have been refactored to support call tracking. Module server code that implements or calls these traits may need updates. #8510
Database savepoint API removed. The ISavepoint trait and savepoint-related methods on database transactions have been removed. #8207
Backup methods deprecated (migrate now). All public backup methods on Client and ClientBuilder (create_backup, backup_to_federation, validate_backup, upload_backup, download_backup_from_federation, get_backup_id) are deprecated and scheduled for removal. Please migrate away from these methods. #8224
Dummy module simplified to pure testing mock. The dummy module's server-side consensus logic has been removed and the fedimint-dummy-tests crate deleted. #8221
Gateway ecash withdrawal API simplified. SpendEcashRequest no longer accepts custom denomination parameters; the gateway now uses send_oob_notes internally. #8223
fedimint-lnurl crate replaces standalone lnurlp binary. The lnurlp binary is removed; use the fedimint-lnurl library crate instead. URL fields in the public API use String instead of Url to avoid normalization issues. LnurlResponse serde representation changed to untagged format. #8235, #8281
VerifyResponse preimage encoding changed. Now a hex-encoded string per LUD-21 spec instead of raw bytes. LNv2 functionality removed from recurringd v1 (use recurringdv2 instead). #8231
RoutingInfo struct extended. New lightning_alias field in fedimint-lnv2-common. #8374
ChannelInfo struct extended. New address field for remote peer in fedimint-gateway-common. #8417
Module file renames. event.rs renamed to events.rs in fedimint-mint-client and fedimint-mintv2-client. #8405
jemalloc now behind a Cargo feature flag. jemalloc feature (enabled by default) in fedimintd and fedimint-cli. Downstream crates using default-features = false will no longer get jemalloc automatically. #8488
Experimental MintV2/WalletV2 API (not yet relevant for most users)
MintV2 and WalletV2 modules added (experimental, disabled by default). Two new opt-in modules are included but must be explicitly enabled during federation setup. They are not yet recommended for production use. #6429, #6734
WalletV2 API changes. deposit_range endpoint renamed to output_info_slice; DepositRange type replaced with OutputInfo. The tx_chain API no longer accepts a count parameter. WalletClientConfig gains new fields (send_tx_vbytes, receive_tx_vbytes, min_feerate, WalletDescriptor). #8412, #8418, #8361, #8506
WalletV2 payment event renames. SendPaymentStatusEvent -> SendPaymentUpdateEvent, ReceivePaymentStatusEvent -> ReceivePaymentUpdateEvent. Event kind strings updated accordingly. New address field added (typed Address<NetworkUnchecked>). amount fields renamed to value. Terminology normalized: peg-out -> pegout, peg-in -> pegin, on-chain -> onchain. #8429, #8434, #8437
MintV2 error variants renamed. MintInputError::InvalidAmountTier and MintOutputError::InvalidAmountTier renamed to InvalidDenomination. #8413
MintV2 amount_unit config field added. New field in mintv2 module configuration for multi-asset support. #8466
What's Changed
Gateway & Lightning
- Gateway mnemonic setup/recovery UI on first boot #8174
- Recovery checkbox when joining federation #8177
- Export/import federation invite codes for recovery #8250
PeginFromOnchainandPegoutToOnchainAPIs for automated on-chain/ecash movement #8375- Liquidity Manager role with restricted permissions #8379
GatewayBuilderpattern replaces multi-parameter constructor #8397- Gateway CLI output standardized to JSON #8376
- BOLT12 send/receive support in gateway UI #8242
- Peers and Notes tabs in gateway UI #8266
- Balance display toggle (msats/sats/BTC) #8329
- Payment event filtering in payment log #8222
- Remote peer alias on channels tab #8237
- Easier channel opens to existing peers #8417
- Channels table scrolling fix #8323
- Parallelized HTLC handling for better throughput #8270
- HTLC handling time metrics #8269
- Gateway-to-LN-node and bitcoind RPC duration metrics #8251
lightning_aliasinrouting_info_v2API #8374- Password required to reveal mnemonic #8220
- Gatewayd Start9 package #8325
- Gateway Docker Compose file #8068
- Reject funding of expired LNv1 incoming contract offers #8348
- LDK gateway sync fixes (retry on Esplora timeout) #8083
- LDK oversized channel open returns proper error #8172
- LNv2
await_finalfunctions now properly cache operation outcomes #8415 - Payment events added to LN v1 client #8405
- Leaving unknown federation no longer panics [#8396](https...
v0.11.0-rc.1
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.11.0-rc.0
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.11.0-beta.5
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.11.0-beta.4
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.11.0-beta.2
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.11.0-beta.1
- This is a release candidate version
- Features may be unstable
- You may not be able to upgrade to the final release
- Not recommended for mainnet use
Please report any issues you encounter.
v0.10.1-alpha.1-pretest
[Backport releases/v0.10] chore: log external notes being issued (#8264) # Description Backport of #8261 to `releases/v0.10`.