Skip to content

Conversation

@t-bast
Copy link
Member

@t-bast t-bast commented Jul 12, 2024

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-kmp will not be able to deserialize channel backups that use older data.

@t-bast t-bast force-pushed the remove-old-serialization branch from 1a8b468 to ab7fdd4 Compare July 18, 2024 13:41
@t-bast t-bast force-pushed the remove-old-serialization branch 2 times, most recently from d53ef40 to 0f7796a Compare August 8, 2024 08:13
@t-bast t-bast force-pushed the remove-old-serialization branch from 0f7796a to 44d5d86 Compare September 16, 2024 11:34
@t-bast t-bast force-pushed the remove-old-serialization branch 2 times, most recently from ce6ecf4 to 290636e Compare October 23, 2024 04:48
@t-bast t-bast force-pushed the remove-old-serialization branch from 290636e to 9e57421 Compare December 5, 2024 15:14
@t-bast t-bast force-pushed the remove-old-serialization branch from 9e57421 to 724a2d1 Compare March 3, 2025 09:36
@t-bast t-bast force-pushed the remove-old-serialization branch from 724a2d1 to d9522d0 Compare April 1, 2025 14:02
@t-bast t-bast mentioned this pull request Apr 8, 2025
@t-bast t-bast force-pushed the remove-old-serialization branch from d9522d0 to 1c54c19 Compare April 9, 2025 08:39
@t-bast t-bast force-pushed the remove-old-serialization branch from 1c54c19 to 5b3a4a6 Compare July 9, 2025 09:43
@t-bast t-bast force-pushed the remove-old-serialization branch from cc73d4a to 9fa1cbc Compare August 25, 2025 09:46
@t-bast t-bast mentioned this pull request Sep 24, 2025
@t-bast t-bast force-pushed the remove-old-serialization branch from 9fa1cbc to 3a8cf68 Compare September 26, 2025 12:41
@pm47 pm47 self-requested a review October 1, 2025 14:52
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
@t-bast t-bast force-pushed the remove-old-serialization branch from 3a8cf68 to ffdc4ab Compare October 1, 2025 15:08
@t-bast t-bast marked this pull request as ready for review October 1, 2025 15:09
Copy link
Member

@pm47 pm47 left a comment

Choose a reason for hiding this comment

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

Nice cleanup!

@t-bast t-bast merged commit 9c32cc2 into master Oct 1, 2025
2 checks passed
@t-bast t-bast deleted the remove-old-serialization branch October 1, 2025 15:33
pm47 added a commit that referenced this pull request Oct 2, 2025
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants