From 784b85c1cf4202b5e5c8c7452c797c6472c62ba2 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 3 Feb 2026 14:51:13 +0000 Subject: [PATCH 1/2] Correct crate version numbers that have broken semver The semver CI check is great but only checks the immediate crate in question. It doesn't catch that many of our crates depend on `lightning` and thus have actually broken semver as the types they use have changed to `lightning` 0.3. Here we hump the version of crates that have actually changed semver since 0.2. In addition to those that depend on `lightning`, `lightning-invoice`'s API has changed (but was not being checked by the semver CI task). Finally, `lightning-macros` was updated to 0.2.1, so the version is changed to 0.2.2. --- lightning-background-processor/Cargo.toml | 8 ++++---- lightning-custom-message/Cargo.toml | 2 +- lightning-invoice/Cargo.toml | 2 +- lightning-liquidity/Cargo.toml | 6 +++--- lightning-macros/Cargo.toml | 2 +- lightning-net-tokio/Cargo.toml | 2 +- lightning-persister/Cargo.toml | 2 +- lightning-rapid-gossip-sync/Cargo.toml | 2 +- lightning-transaction-sync/Cargo.toml | 2 +- lightning/Cargo.toml | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lightning-background-processor/Cargo.toml b/lightning-background-processor/Cargo.toml index 7fe68bc1933..e958919f4d8 100644 --- a/lightning-background-processor/Cargo.toml +++ b/lightning-background-processor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-background-processor" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Valentine Wallace "] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" @@ -25,16 +25,16 @@ bitcoin = { version = "0.32.2", default-features = false } bitcoin_hashes = { version = "0.14.0", default-features = false } bitcoin-io = { version = "0.1.2", default-features = false } lightning = { version = "0.3.0", path = "../lightning", default-features = false } -lightning-rapid-gossip-sync = { version = "0.2.0", path = "../lightning-rapid-gossip-sync", default-features = false } +lightning-rapid-gossip-sync = { version = "0.3.0", path = "../lightning-rapid-gossip-sync", default-features = false } lightning-liquidity = { version = "0.3.0", path = "../lightning-liquidity", default-features = false } possiblyrandom = { version = "0.2", path = "../possiblyrandom", default-features = false } [dev-dependencies] tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] } lightning = { version = "0.3.0", path = "../lightning", features = ["_test_utils"] } -lightning-invoice = { version = "0.34.0", path = "../lightning-invoice" } +lightning-invoice = { version = "0.35.0", path = "../lightning-invoice" } lightning-liquidity = { version = "0.3.0", path = "../lightning-liquidity", default-features = false, features = ["_test_utils"] } -lightning-persister = { version = "0.2.0", path = "../lightning-persister" } +lightning-persister = { version = "0.3.0", path = "../lightning-persister" } [lints] workspace = true diff --git a/lightning-custom-message/Cargo.toml b/lightning-custom-message/Cargo.toml index ba13aef35c4..854127f9175 100644 --- a/lightning-custom-message/Cargo.toml +++ b/lightning-custom-message/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-custom-message" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Jeffrey Czyz"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" diff --git a/lightning-invoice/Cargo.toml b/lightning-invoice/Cargo.toml index f92d8b999df..deee8ff330a 100644 --- a/lightning-invoice/Cargo.toml +++ b/lightning-invoice/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lightning-invoice" description = "Data structures to parse and serialize BOLT11 lightning invoices" -version = "0.34.0+git" +version = "0.35.0+git" authors = ["Sebastian Geisler "] documentation = "https://docs.rs/lightning-invoice/" license = "MIT OR Apache-2.0" diff --git a/lightning-liquidity/Cargo.toml b/lightning-liquidity/Cargo.toml index 67e82a5fbf8..d83d66f7570 100644 --- a/lightning-liquidity/Cargo.toml +++ b/lightning-liquidity/Cargo.toml @@ -24,7 +24,7 @@ _test_utils = [] [dependencies] lightning = { version = "0.3.0", path = "../lightning", default-features = false } lightning-types = { version = "0.3.0", path = "../lightning-types", default-features = false } -lightning-invoice = { version = "0.34.0", path = "../lightning-invoice", default-features = false, features = ["serde"] } +lightning-invoice = { version = "0.35.0", path = "../lightning-invoice", default-features = false, features = ["serde"] } lightning-macros = { version = "0.2", path = "../lightning-macros" } bitcoin = { version = "0.32.2", default-features = false, features = ["serde"] } @@ -36,8 +36,8 @@ backtrace = { version = "0.3", optional = true } [dev-dependencies] lightning = { version = "0.3.0", path = "../lightning", default-features = false, features = ["_test_utils"] } -lightning-invoice = { version = "0.34.0", path = "../lightning-invoice", default-features = false, features = ["serde", "std"] } -lightning-persister = { version = "0.2.0", path = "../lightning-persister", default-features = false } +lightning-invoice = { version = "0.35.0", path = "../lightning-invoice", default-features = false, features = ["serde", "std"] } +lightning-persister = { version = "0.3.0", path = "../lightning-persister", default-features = false } proptest = "1.0.0" tokio = { version = "1.35", default-features = false, features = [ "rt-multi-thread", "time", "sync", "macros" ] } diff --git a/lightning-macros/Cargo.toml b/lightning-macros/Cargo.toml index 8a20670bad4..822b50816df 100644 --- a/lightning-macros/Cargo.toml +++ b/lightning-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-macros" -version = "0.2.0+git" +version = "0.2.2+git" authors = ["Elias Rohrer"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning/" diff --git a/lightning-net-tokio/Cargo.toml b/lightning-net-tokio/Cargo.toml index af4845b7397..79b227f44dc 100644 --- a/lightning-net-tokio/Cargo.toml +++ b/lightning-net-tokio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-net-tokio" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Matt Corallo"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning/" diff --git a/lightning-persister/Cargo.toml b/lightning-persister/Cargo.toml index e06803c6b89..19c5ac2545e 100644 --- a/lightning-persister/Cargo.toml +++ b/lightning-persister/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-persister" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Valentine Wallace", "Matt Corallo"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" diff --git a/lightning-rapid-gossip-sync/Cargo.toml b/lightning-rapid-gossip-sync/Cargo.toml index b2cc623ab5b..b623a5aed13 100644 --- a/lightning-rapid-gossip-sync/Cargo.toml +++ b/lightning-rapid-gossip-sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-rapid-gossip-sync" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Arik Sosman "] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" diff --git a/lightning-transaction-sync/Cargo.toml b/lightning-transaction-sync/Cargo.toml index 1a5a56212ba..4bc37d7ff48 100644 --- a/lightning-transaction-sync/Cargo.toml +++ b/lightning-transaction-sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-transaction-sync" -version = "0.2.0+git" +version = "0.3.0+git" authors = ["Elias Rohrer"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" diff --git a/lightning/Cargo.toml b/lightning/Cargo.toml index b3b597029da..dbcf9f1bed2 100644 --- a/lightning/Cargo.toml +++ b/lightning/Cargo.toml @@ -35,7 +35,7 @@ default = ["std", "grind_signatures"] [dependencies] lightning-types = { version = "0.3.0", path = "../lightning-types", default-features = false } -lightning-invoice = { version = "0.34.0", path = "../lightning-invoice", default-features = false } +lightning-invoice = { version = "0.35.0", path = "../lightning-invoice", default-features = false } lightning-macros = { version = "0.2", path = "../lightning-macros" } bech32 = { version = "0.11.0", default-features = false } From a123cfa0d4a2c83b329bfea554b8aa920a2e7929 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 3 Feb 2026 15:00:50 +0000 Subject: [PATCH 2/2] Check semver of all workspace crates rather than an explicit list --- .github/workflows/semver.yml | 47 ++++++++---------------------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/.github/workflows/semver.yml b/.github/workflows/semver.yml index 03a8e46e8a7..de10e562f98 100644 --- a/.github/workflows/semver.yml +++ b/.github/workflows/semver.yml @@ -13,40 +13,13 @@ jobs: steps: - name: Checkout source code uses: actions/checkout@v4 - - name: Check SemVer with default features - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - feature-group: default-features - - name: Check SemVer *without* default features - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - feature-group: only-explicit-features - - name: Check lightning-background-processor SemVer - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - package: lightning-background-processor - feature-group: only-explicit-features - - name: Check lightning-block-sync SemVer - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - package: lightning-block-sync - feature-group: only-explicit-features - features: rpc-client,rest-client - - name: Check lightning-transaction-sync electrum SemVer - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - manifest-path: lightning-transaction-sync/Cargo.toml - feature-group: only-explicit-features - features: electrum - - name: Check lightning-transaction-sync esplora-blocking SemVer - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - manifest-path: lightning-transaction-sync/Cargo.toml - feature-group: only-explicit-features - features: esplora-blocking - - name: Check lightning-transaction-sync esplora-async SemVer - uses: obi1kenobi/cargo-semver-checks-action@v2 - with: - manifest-path: lightning-transaction-sync/Cargo.toml - feature-group: only-explicit-features - features: esplora-async + - name: Install Rust stable toolchain + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable + rustup override set stable + - name: Install SemVer Checker + run: cargo install cargo-semver-checks --locked + - name: Check SemVer with all features + run: cargo semver-checks + - name: Check SemVer without any non-default features + run: cargo semver-checks --only-explicit-features