Updates
Features
Fiber v0.7.1 release
Links: Full changelog, Release page
- Configurable CORS: Make CORS configurable and disabled by default by @Copilot in https://github.com/nervosnetwork/fiber/pull/1121
- Smarter Payment Routing: Early-fail with InsufficientBalance when outbound liquidity cannot cover payment amount by @Copilot in https://github.com/nervosnetwork/fiber/pull/1133
- TLC Cancellation Fix: fail pending TLCs when a hold invoice is cancelled (#1135) by @doitian in https://github.com/nervosnetwork/fiber/pull/1138
- Duplicate Payment Prevention: reject Received in SettleTlcSetCommand to prevent duplicate same-invoice payments by @doitian https://github.com/nervosnetwork/fiber/pull/1137
- Observable Channel Opening: Add observable channel opening: persistent state, failure details, and
only_pendingfilter forlist_channelsby @Copilot https://github.com/nervosnetwork/fiber/pull/1134
Improvements & Fixes
- TLC settlement reliability fixes
- Merged two fixes to harden
SettleTlcSethandling and avoid duplicate or dangling TLC states in invoice-related flows. - PRs:https://github.com/nervosnetwork/fiber/pull/1137, https://github.com/nervosnetwork/fiber/pull/1138
- Merged two fixes to harden
- Persisted commitment state for TLC reestablish flow
- In restart-heavy scenarios (with bidirectional in-flight TLC updates), channel reestablish/replay could become inconsistent, triggering
Musig2VerifyError(BadSignature)and finally trigger channel force-close (fund is not affected). - The fix direction is to persist and validate replay context (
CommitDiff) so replay is deterministic after restart, and to preserve strict replay ordering. - PR: https://github.com/nervosnetwork/fiber/pull/1111
- In restart-heavy scenarios (with bidirectional in-flight TLC updates), channel reestablish/replay could become inconsistent, triggering
In Pipeline
- Fiber type-system/CLI migration https://github.com/nervosnetwork/fiber/pull/1144
fiber-typesis being extracted as a standalone Rust crate for Fiber core domain types. This allows ecosystem developers to reuse protocol/channel/payment/invoice data structures without embedding the full node.fiber-json-types(RPC-facing types, i.e.fiber-rpc-types) is being split as an independent crate for JSON-serializable RPC payloads, making SDK/tooling integration easier for external Rust projects.fnn-cliis being introduced as a dedicated Fiber CLI with both one-shot and interactive usage, includinginfo / peer / channel / invoice / payment / graph / cch / dev / watchtower / profcommand groups.- A new payment RPC
list_paymentsis added.
- External wallet signing for channel funding https://github.com/nervosnetwork/fiber/pull/1083
- New RPC methods:
open_channel_with_external_funding: negotiates with peer and returns an unsigned funding transaction for external signing.submit_signed_funding_tx: submits the externally signed funding transaction and continues channel opening.
- This introduces
AwaitingExternalFundingstate and reuses existing funding timeout handling, so users can keep funding keys in their own wallets while still using Fiber channel workflows.
- New RPC methods:
- Fiber SDK + ecosystem demos
- Fiber Pay: continued iteration on an AI-friendly CLI payment experience for Fiber users. (https://talk.nervos.org/t/fiber-pay-an-ai-friendly-cli-for-fiber-network/9974)
- Fiber Audio Player: polishing a Fiber-based audio payment demo to validate user-facing payment interactions.
- https://github.com/RetricSu/fiber-audio-player
- https://fiber-audio-player.vercel.app/
- Fiber SDK and Web5 demos: ongoing work to improve developer onboarding and to validate app integration patterns with Fiber.