Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
82ba134
fix: wait for on-chain broadcast results
ovitrif Sep 2, 2026
e2327a1
fix: classify broadcast backend results
ovitrif Sep 2, 2026
43a8606
fix: prioritize safety-critical broadcasts
ovitrif Sep 2, 2026
b66b02f
chore: refresh broadcast result artifacts
ovitrif Sep 2, 2026
87bb53c
test: cover wire-level electrum rejection
ovitrif Sep 2, 2026
97e7fe1
chore: refresh exact-head Swift artifact
ovitrif Sep 2, 2026
0f5f0e6
docs: place broadcast fixes in current changelog
ovitrif Sep 2, 2026
1215787
fix: make explicit broadcast retries safe
ovitrif Sep 2, 2026
948a562
fix: persist unresolved broadcast intents
ovitrif Sep 2, 2026
e5aa871
fix: require backend evidence before reconciliation
ovitrif Sep 2, 2026
f001803
fix: bound broadcast intent reconciliation
ovitrif Sep 2, 2026
2614f80
fix: close unresolved broadcast lifecycles
ovitrif Sep 2, 2026
65f2750
fix: reconcile ordinary RBF predecessors
ovitrif Sep 2, 2026
7ffcf77
fix: persist canonical RBF payment state
ovitrif Sep 2, 2026
41531d9
fix: retain accepted RBF ancestry
ovitrif Sep 2, 2026
b9d7b42
Make broadcast lineage recovery crash-safe
ovitrif Sep 2, 2026
547e488
Persist canonical payment before lineage cleanup
ovitrif Sep 2, 2026
1ec8c0b
Require durable wallet confirmation before cleanup
ovitrif Sep 2, 2026
db3ce9f
Regenerate UniFFI bindings
ovitrif Sep 2, 2026
29e6ddf
Update eviction test for eager send indexing
ovitrif Sep 2, 2026
2c8d4ae
Make transaction abandonment timestamp safe
ovitrif Sep 2, 2026
ed0651d
Refresh bindings after abandonment fix
ovitrif Sep 2, 2026
e325562
fix: address on-chain broadcast review
ovitrif Sep 2, 2026
5cbbf8b
fix: address remaining broadcast review
ovitrif Sep 3, 2026
691ff3c
fix: gate received on broadcast outcome
ovitrif Sep 3, 2026
671d116
fix: resolve stack rebase conflicts
ovitrif Sep 4, 2026
8e707af
fix: restore rebroadcast event after restart
ovitrif Sep 5, 2026
505b1a6
chore: refresh rc.67 binding artifacts
ovitrif Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
# 0.7.0-rc.66 (Synonym Fork)
# 0.7.0-rc.67 (Synonym Fork)

## Bug Fixes

- `list_pending_broadcasts` now returns each unresolved spend's complete RBF lineage so callers can
independently reconcile every replacement before `abandon_pending_broadcast`.
- Explicit on-chain sends now return a transaction ID only after the configured backend accepts
the transaction. Transaction-keyed rejected, not-dispatched, acceptance-unknown failure, and
acceptance-unknown timeout outcomes are distinct. Uncertain signed transactions remain reserved
in a durable intent store for enumeration, exact-byte rebroadcast, sync reconciliation, and
recovery after restart. Callers can explicitly abandon an externally reconciled intent, and RBF
replacements use the same result-bearing, durable lifecycle while exposing only the canonical
transaction in payment history.
- `NodeError` is now a fielded mobile error type so broadcast failures can expose their transaction
ID. Swift error cases no longer contain the legacy generated `message` associated value, and
fieldless Kotlin exceptions have an empty generated `message`; callers should match the error
variant and use its typed fields.
- Electrum transaction rejections are now logged as failures instead of successful broadcasts.
- Prevent native SIGABRT crashes when stopping and rebuilding the node by making runtime teardown deterministic.
- Keep exported payment and liquidity handles from calling into a shutting-down runtime, refuse restart while detached work is still live, and stop Electrum confirm gating from blocking or panicking shutdown.
- Add keep consumer rules for JNA types UniFFI needs under R8.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ exclude = ["bindings/uniffi-bindgen"]

[package]
name = "ldk-node"
version = "0.7.0-rc.66"
version = "0.7.0-rc.67"
authors = ["Elias Rohrer <dev@tnull.de>"]
homepage = "https://lightningdevkit.org/"
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import PackageDescription

let tag = "v0.7.0-rc.66"
let checksum = "21ac13bfdc9fdd3099a688bd0053f8b14c74b5957943b2f09624886e65556a8e"
let tag = "v0.7.0-rc.67"
let checksum = "bae015e73bc12ee10fc7f817241e07e1a0eea9ab125c8b1403b7b2599ebce75e"
let url = "https://github.com/synonymdev/ldk-node/releases/download/\(tag)/LDKNodeFFI.xcframework.zip"

let package = Package(
Expand Down
2 changes: 1 addition & 1 deletion bindings/kotlin/ldk-node-android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ android.useAndroidX=true
android.enableJetifier=true
kotlin.code.style=official
group=com.synonym
version=0.7.0-rc.66
version=0.7.0-rc.67

Large diffs are not rendered by default.

Loading