xref: /aosp_15_r20/external/kotlinx.serialization/docs/migration.md (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1*57b5a4a6SAndroid Build Coastguard Worker# Migration from 0.20.0 version to 1.0.0
2*57b5a4a6SAndroid Build Coastguard Worker
3*57b5a4a6SAndroid Build Coastguard WorkerFor adopters of earlier versions of `kotlinx.serialization`, a dedicated migration path is prepared.
4*57b5a4a6SAndroid Build Coastguard WorkerDuring the preparation of serialization 1.0.0 release, most of the API has been changed, renamed, moved to
5*57b5a4a6SAndroid Build Coastguard Workera separate package or made internal. IDEA migrations were introduced, but unfortunately not all API can be migrated
6*57b5a4a6SAndroid Build Coastguard Workerwith automatic replacements.
7*57b5a4a6SAndroid Build Coastguard Worker
8*57b5a4a6SAndroid Build Coastguard WorkerTo simplify your migrations path, it is recommended to enable star imports in IDE (so all extensions are imported automatically) first.
9*57b5a4a6SAndroid Build Coastguard Worker
10*57b5a4a6SAndroid Build Coastguard Worker1. Update `kotlinx.serialization` to version `1.0.0-RC2` (this is the last version that has migrations for pre-1.0.0 versions. 1.0.0 version itself does not have any migration aids.)
11*57b5a4a6SAndroid Build Coastguard Worker2. Rename dependency from `kotlinx-serialization-runtime` to `kotlinx-serialization-json`.
12*57b5a4a6SAndroid Build Coastguard Worker3. For multiplatform usages, remove dependencies to platform-specific artifacts (e.g. `kotlinx-serialization-runtime-js`), they are [no longer required](/README.md#multiplatform-common-js-native) by Gradle.
13*57b5a4a6SAndroid Build Coastguard Worker4. Update Kotlin to 1.4.0 or higher.
14*57b5a4a6SAndroid Build Coastguard Worker5. Start applying replacements for the deprecated code.
15*57b5a4a6SAndroid Build Coastguard Worker6. If some signatures are not resolved, try to hit `alt + Enter` and import the signature.
16*57b5a4a6SAndroid Build Coastguard Worker7. If methods are still not resolved, it is recommended to use star imports for `kotlinx.serialization` signatures in the problematic file.
17*57b5a4a6SAndroid Build Coastguard Worker8. When there are no usages of deprecated code left, you can change dependency version from `1.0.0-RC2` to `1.0.0`.
18*57b5a4a6SAndroid Build Coastguard Worker
19*57b5a4a6SAndroid Build Coastguard WorkerFor less trivial issues, it is recommended to study [the changelog](../CHANGELOG.md#100-rc--2020-08-17) or to ask for help in `#serialization` Kotlin's Slack channel.
20