-
Notifications
You must be signed in to change notification settings - Fork 26
Remove deprecated serialization format and fields #685
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
+2,170
−12,522
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1a8b468 to
ab7fdd4
Compare
d53ef40 to
0f7796a
Compare
0f7796a to
44d5d86
Compare
ce6ecf4 to
290636e
Compare
290636e to
9e57421
Compare
9e57421 to
724a2d1
Compare
724a2d1 to
d9522d0
Compare
Merged
d9522d0 to
1c54c19
Compare
1c54c19 to
5b3a4a6
Compare
pm47
reviewed
Jul 9, 2025
modules/core/src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt
Outdated
Show resolved
Hide resolved
modules/core/src/commonMain/kotlin/fr/acinq/lightning/serialization/channel/Serialization.kt
Show resolved
Hide resolved
cc73d4a to
9fa1cbc
Compare
9fa1cbc to
3a8cf68
Compare
The v4 serialization format was released in July 2023 with better support for backwards-compatibility: the v2 and v3 formats used kotlin's serialization, which prevents us from removing legacy classes and requires additional code whenever we change something in the channel state. Users who haven't migrated their data to the v4 format will not be able to deserialize their channel data: they will need to use a previous version of the app to read their old channel data, write it to the v4 format and then upgrade to the latest version. We also remove a bunch of fields/options that were deprecated a while ago: - legacy channel funding states - unused legacy features - legacy node events - legacy encrypted channel backup
3a8cf68 to
ffdc4ab
Compare
pm47
approved these changes
Oct 1, 2025
Member
pm47
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice cleanup!
pm47
added a commit
that referenced
this pull request
Oct 3, 2025
* upgrade kotlin to 2.2.0 Let's take advantage of the upcoming major release to upgrade kotlin and other dependencies. The main point of attention is a breaking change in `kotlinx-datetime`: see https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant. * remove serialization-cbor dependency It is unused since #685.
dpad85
added a commit
to ACINQ/phoenix
that referenced
this pull request
Nov 4, 2025
Channels v2/v3 are not supported anymore in lightning-kmp and cannot be read. They should be ignored. See ACINQ/lightning-kmp#685
dpad85
added a commit
to ACINQ/phoenix
that referenced
this pull request
Nov 4, 2025
Channels v2/v3 are not supported anymore in lightning-kmp and cannot be read. They should be ignored. See ACINQ/lightning-kmp#685 Fixes #771, #772
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We do some clean-up of deprecated fields, classes and serialization formats. This is a breaking change for users who have never launched the app since the v1.5.0 release (from july 2023). It is not possible to upgrade directly from a version < 1.5.0, an intermediate update will be required.
Note that we also drop support for the legacy channel backup mechanism: this version of
lightning-kmpwill not be able to deserialize channel backups that use older data.