Fiber Dev Log 2026-03-05

3 min read
by jjyr
#devlog

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_pending filter for list_channels by @Copilot https://github.com/nervosnetwork/fiber/pull/1134

Improvements & Fixes

  • TLC settlement reliability fixes
    • Merged two fixes to harden SettleTlcSet handling 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
  • 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 Pipeline

  • Fiber type-system/CLI migration https://github.com/nervosnetwork/fiber/pull/1144
    • fiber-types is 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-cli is being introduced as a dedicated Fiber CLI with both one-shot and interactive usage, including info / peer / channel / invoice / payment / graph / cch / dev / watchtower / prof command groups.
    • A new payment RPC list_payments is 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 AwaitingExternalFunding state and reuses existing funding timeout handling, so users can keep funding keys in their own wallets while still using Fiber channel workflows.
  • 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.
View original discussion on GitHub
Open in GitHub Discussions
All Posts

Found this helpful? Share it with others!