Skip to content

Releases: fedimint/fedimint

v0.11.2-alpha.1

Choose a tag to compare

@github-actions github-actions released this 02 Jun 19:18
b934260
[Backport releases/v0.11] feat: recurringd selects available/vetted g…

v0.11.1 - Mint Condition

Choose a tag to compare

@github-actions github-actions released this 21 Apr 15:16
v0.11.1
2620789

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
  • PeginFromOnchain and PegoutToOnchain APIs for automated on-chain/ecash movement #8375
  • Liquidity Manager role with restricted permissions #8379
  • GatewayBuilder pattern 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_alias in routing_info_v2 API #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_final functions now properly cache operation outcomes #8415
  • Payment events added to LN v1 client #8405
  • Leaving unknown federation no longer panics [#8396](https...
Read more

v0.11.0 - Mint Condition

Choose a tag to compare

@github-actions github-actions released this 17 Apr 09:23
v0.11.0
25b8e0f

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
  • PeginFromOnchain and PegoutToOnchain APIs for automated on-chain/ecash movement #8375
  • Liquidity Manager role with restricted permissions #8379
  • GatewayBuilder pattern 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_alias in routing_info_v2 API #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_final functions now properly cache operation outcomes #8415
  • Payment events added to LN v1 client #8405
  • Leaving unknown federation no longer panics [#8396](https...
Read more

v0.11.0-rc.1

v0.11.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Apr 12:57
v0.11.0-rc.1
8c26d1f

⚠️ Pre-release Notice

  • 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

v0.11.0-rc.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Apr 17:09
v0.11.0-rc.0
4419610

⚠️ Pre-release Notice

  • 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

v0.11.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Apr 12:13
v0.11.0-beta.5
30ffab6

⚠️ Pre-release Notice

  • 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

v0.11.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Apr 16:47
cd4e2d1

⚠️ Pre-release Notice

  • 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

v0.11.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Apr 12:30
v0.11.0-beta.2
b8c630b

⚠️ Pre-release Notice

  • 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

v0.11.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Apr 13:36
v0.11.0-beta.1
ce86d7a

⚠️ Pre-release Notice

  • 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Feb 02:59
2d23013
[Backport releases/v0.10] chore: log external notes being issued (#8264)

# Description
Backport of #8261 to `releases/v0.10`.