Skip to content

Post-release updates for v26.06#9223

Merged
madelinevibes merged 4 commits into
masterfrom
post-release-26.06
Jun 19, 2026
Merged

Post-release updates for v26.06#9223
madelinevibes merged 4 commits into
masterfrom
post-release-26.06

Conversation

@madelinevibes

Copy link
Copy Markdown
Collaborator

Post-release updates for v26.06 per the Release Checklist Instructions
Changelog-None

@madelinevibes madelinevibes requested a review from nGoline June 16, 2026 02:57
@madelinevibes madelinevibes added this to the v26.09 milestone Jun 16, 2026
@madelinevibes madelinevibes requested a review from sangbida June 16, 2026 02:58
@madelinevibes madelinevibes added the Status::Ready for Review The work has been completed and is now awaiting evaluation or approval. label Jun 16, 2026
@nGoline nGoline removed their request for review June 17, 2026 13:41
@nGoline nGoline force-pushed the post-release-26.06 branch 2 times, most recently from f8691ab to d3b3404 Compare June 17, 2026 14:48
@nGoline nGoline requested a review from cdecker June 17, 2026 17:34
@nGoline

nGoline commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

All tests passed. Just waiting for another review to merge it.

@madelinevibes madelinevibes assigned sangbida and unassigned nGoline Jun 18, 2026
> [!IMPORTANT]
>
> 26.06 FREEZE April 30th: Non-bugfix PRs not ready by this date will wait for 26.09.
> 26.09 FREEZE August 5th: Non-bugfix PRs not ready by this date will wait for 26.12.

@sangbida sangbida Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: It would be good to split this large commit out into smaller commits as done in this PR here: https://github.com/ElementsProject/lightning/pull/9051/commits. This commit is doing too many things at once, some of those commits may also need updated changelogs.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On it!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope it's better now. I don't think I can divide it much more than this...

@madelinevibes madelinevibes assigned nGoline and unassigned sangbida Jun 18, 2026
@nGoline nGoline force-pushed the post-release-26.06 branch from d3b3404 to 31c59a4 Compare June 18, 2026 20:58
nGoline and others added 4 commits June 18, 2026 18:00
Co-Authored-By: Madeline <madeline@blockstream.com>
Changelog-None
Rename splice→splice_init, relative_satoshis→funding_contribution_satoshis,
txsigs_tlvs→tx_signatures_tlvs, and splice_info/batch_info→funding_txid/message_type.
Consolidate three CLN-specific shim patches into extracted_peer_cln_batch_element.patch.

Changelog-None
… if only peer

Per BOLT #2: when both nodes set next_funding in channel_reestablish but txids differ,
MUST send error and fail the channel; when only the peer sets next_funding, MUST send
tx_abort instead. Track we_set_next_funding before tlvs is overwritten by the received
channel_reestablish so the distinction survives the receive.
Includes a regression test: reconnect two nodes with a corrupted inflight txid so both
set next_funding with mismatched values, and verify both sides call open_err_fatal.

Changelog-None
@nGoline nGoline force-pushed the post-release-26.06 branch from 31c59a4 to 2e23291 Compare June 18, 2026 21:01
@madelinevibes madelinevibes merged commit 7fb9a29 into master Jun 19, 2026
53 of 59 checks passed
@madelinevibes madelinevibes deleted the post-release-26.06 branch June 19, 2026 00:08
@sangbida

Copy link
Copy Markdown
Collaborator

I didn't get a chance to review this PR before it got merged. I'll make sure to either comment with an ack or ✅ the PR before its merged.

@madelinevibes

madelinevibes commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator Author

I didn't get a chance to review this PR before it got merged. I'll make sure to either comment with an ack or ✅ the PR before its merged.

I'm adding this to my performance review notes.

@ddustin ddustin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NACK because:

  1. Deviating from the spec isn't good
  2. We probably should be implementing tlv's we add instead of adding them without actually doing them
  3. I'm not a fan of some of the renaming.
  4. I don't understand why we're deleting patches.

I hope these changes didn't get bundled into a release, as this could absolutely break channels. The is_splice_active logic for channel_ready deviates from the spec.

It might be okay but this definitely is something that should be done with deep thought and as much testing as possible -- not lumped in with a bunch of rename refactoring.

Comment thread channeld/channeld.c
&& recv_tlvs->my_current_funding_locked
&& !bitcoin_txid_eq(
&recv_tlvs->my_current_funding_locked->my_current_funding_locked_txid,
&peer->channel->funding.txid));

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why this got merged in with release notes but this shouldn't be here

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should have been rolled back by #9230 as per your comments. Must have slipped on the merge from master.

Comment thread wire/peer_wire.csv
msgdata,splice_init,locktime,u32,
msgdata,splice_init,funding_pubkey,point,
msgdata,splice_init,tlvs,splice_init_tlvs,
tlvtype,splice_init_tlvs,require_confirmed_inputs,2

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this feature implemented or just the tlv for it added?

@@ -1,62 +0,0 @@
diff --git b/wire/peer_wire.csv a/wire/peer_wire.csv

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the reason for deleting these patches?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The deleted patches were provisional overrides for pre-standard behavior. Once the spec merged those definitions into the BOLTs, the patches became redundant, and would break the extraction if left in.

@@ -1,14 +0,0 @@
diff --git b/wire/peer_wire.csv a/wire/peer_wire.csv

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and this one

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

@@ -1,15 +0,0 @@
--- wire/peer_exp_wire.csv 2022-06-22 19:07:24.000000000 -0500

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and this one

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

struct splice_ack {
struct channel_id channel_id;
s64 relative_satoshis;
s64 funding_contribution_satoshis;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a big fan of this name because the value is not a contribution. It can be positive or negative, hance the name relative.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name is correct as per the BOLT spec.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay that works 👍

struct fuzzsplice {
struct channel_id channel_id;
s64 relative_satoshis;
s64 funding_contribution_satoshis;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't like the name here either.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is exactly the name used on the BOLT specification, and since the wire messages are generated from the spec, this is the name we got.

Comment thread channeld/channeld.c
&& peer->next_index[LOCAL] == 1
&& next_commitment_number == 1) {
&& next_commitment_number == 1
&& !is_splice_active) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This deviates from the spec

@nGoline nGoline Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also should have been rolled back by #9230 as per your comments. Must have slipped on the merge from master.

@ddustin

ddustin commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

I double checked the release and it looks like these changes didn't go into it, so that's good.

Looks like perhaps the branches got mixed up? Definitely need to clean this up 🤔

@nGoline

nGoline commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

These are the post-release chores. This will be included in the next release.

@ddustin

ddustin commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

The next step is to revert bbcda5a again and build a clean replacement PR for discussion.

Did 2e23291 go through review?

Let's figure out why this commit(s) got erroneously included and ensure this doesn't happen again.

@nGoline

nGoline commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

@ddustin re your point on the is_splice_active / channel_ready logic: you're right, the txid comparison is incorrect. Rather than reverting the whole change, I've opened #9256 to fix it properly, following eclair's approach: a funding_tx_index (0 for the original funding including RBF, +1 per splice) tracked on the inflight and the channel, with the reestablish check gating on funding_tx_index > 0 instead of comparing against the mutable funding txid. There's a regression test that retransmits channel_ready after a splice without the fix and passes with it.

The behavioural change is a single line, so the plan is to get the semantics reviewed properly, and if we can't converge before the v26.09 freeze, roll that one line back with a FIXME and keep the plumbing for the follow-up. Would appreciate your review.

@nGoline

nGoline commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

The next step is to revert bbcda5a again and build a clean replacement PR for discussion.

Did 2e23291 go through review?

Let's figure out why this commit(s) got erroneously included and ensure this doesn't happen again.

I'm proposing some changes to the Github ruleset to enforce an approving review, require checks to pass, and require the branch to be up to date with the approval re-confirmed after any update, so nobody can rebase-and-instantly-merge stale code like what happened.

@ddustin

ddustin commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

I'm proposing some changes to the Github ruleset to enforce an approving review, require checks to pass, and require the branch to be up to date with the approval re-confirmed after any update, so nobody can rebase-and-instantly-merge stale code like what happened.

Love this idea 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status::Ready for Review The work has been completed and is now awaiting evaluation or approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants