Skip to content

release: create v0.19.2-rc1 branch #9986

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 96 commits into from
Jul 4, 2025
Merged

release: create v0.19.2-rc1 branch #9986

merged 96 commits into from
Jul 4, 2025

Conversation

guggero
Copy link
Collaborator

@guggero guggero commented Jun 24, 2025

ziggie1984 and others added 30 commits June 20, 2025 15:31
This lead to the case that we would always record a HTLC
two times in the decayed log protection which is not necessary
in the first place.
In this commit we add htlcindex field to the forwardingevent
struct, which is persisted alongside the other event fields.
In this commit we update the returned message for fwdinghistory
to include the htlcindex for all forwarded htlcs.
Make sure we patch the `StartHeight` for btcd notifier.
Previously when deciding whether a UTXO is spent or not, we accept a
height hint as the starting block to look for the spending tx in the
rescan process. When it's already found spent before the rescan starts,
we will update the height hint to be the spent height, only if the
latter is greater. This means if the user-specified hint is greater than
the actual spending height, this UTXO will never be found as spent. We
now fix it by always using the spent height as the hint.
There's no guarantee that the `b.beat` is initialized when the
dispatcher shuts down, especially with the case in the remote signer
where no chainbackend is created.
In this commit, we add a new ConfMapper which is useful for state
machines that want to project some of the conf attributes into a new
event to be sent post conf.
This commit introduces a new generic type assertion function
`assertState` to the state machine tests. This function asserts that the
state machine is currently in the expected state type and returns the
state cast to that type. This allows us to directly access the fields of
the state without having to perform a type assertion manually.
In this commit, we add an option to allow a conf req caller to receive
the full block. This is useful if the caller wants to be able to create
an SPV proof.
We now rely on the forwarding package's state to decide whether a given
packet is a reforwarding or not. If we know it's a reforwarding packet,
there's no need to check for replays in the `sharedHashes` bucket, which
behaves the same as if we are querying the `batchReplayBkt`.
This commit removes the `batchReplayBkt` as its only effect is to allow
reforwarding htlcs during startup.

Normally for every incoming htlc added, their shared secret is used as
the key to be saved into the `sharedHashBucket`, which will be used for
check for replays. In addition, the fwdPkg's ID, which is SCID+height is
also saved to the bucket `batchReplayBkt`. Since replays of HTLCs cannot
happen at the same commitment height, when a replay happens,
`batchReplayBkt` simply doesn't have this info, and we again rely on
`sharedHashBucket` to detect it. This means most of the time the
`batchReplayBkt` is a list of SCID+height with empty values.

The `batchReplayBkt` was previously used as a mechanism to check for
reforwardings during startup - when reforwarding htlcs, it quries this
bucket and finds an empty map, knowing this is a forwarding and skips
the check in `sharedHashBucket`. Given now we use a bool flag to
explicitly skip the replay check, this bucket is no longer useful.
We now move the check earlier in the loop so we don't even need to
decode the hop for already processed ADDs.
@guggero
Copy link
Collaborator Author

guggero commented Jul 2, 2025

Added #9980.

ziggie1984 and others added 4 commits July 3, 2025 16:18
@guggero
Copy link
Collaborator Author

guggero commented Jul 3, 2025

Added #10012.

guggero and others added 3 commits July 3, 2025 17:54
Export NotifierOptions and its internal field to enable external
satisfaction of the protofsm.DaemonAdapters interface.
@guggero
Copy link
Collaborator Author

guggero commented Jul 4, 2025

Added #10028.

@guggero guggero requested review from bhandras and yyforyongyu July 4, 2025 07:07
@guggero guggero requested review from ziggie1984 and removed request for yyforyongyu July 4, 2025 07:29
Copy link
Collaborator

@ziggie1984 ziggie1984 left a comment

Choose a reason for hiding this comment

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

Some nits in the release notes otherwise gtg

Copy link
Collaborator

@bhandras bhandras left a comment

Choose a reason for hiding this comment

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

LGTM! 🎉

For reference, attempted an automated verification (as much as it is feasible) using the script in this PR: #10034 (co-authored with AI)

Copy link
Member

@yyforyongyu yyforyongyu left a comment

Choose a reason for hiding this comment

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

Thanks a lot for taking care of this tedious work❤️

ziggie1984 and others added 3 commits July 4, 2025 15:38
We now unlock the mutex lock of the switch as soon as possible to
avoid potetnial deadlock in the htlc switch.
@guggero
Copy link
Collaborator Author

guggero commented Jul 4, 2025

Added #10035.

@guggero guggero merged commit 7b1ca7d into 0-19-2-branch Jul 4, 2025
59 of 66 checks passed
@guggero guggero deleted the 0-19-2-branch-rc1 branch July 4, 2025 19:00
@ziggie1984
Copy link
Collaborator

we need #10041 as well.

@guggero
Copy link
Collaborator Author

guggero commented Jul 5, 2025

we need #10041 as well.

We can add it for RC2.

@ziggie1984
Copy link
Collaborator

We can add it for RC2.

Yes we can do that as well, with the current fix we can gc fwd packages which build up by nodes running RC1 so we should be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
golang/build system Related to the go language and compiler releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.