• Home
  • Raw
  • Download

Lines Matching +full:check +full:- +full:api +full:- +full:compatibility

1 # Compatibility policy
3 This document describes the compatibility policy of kotlinx.serialization library since version 1.0…
6 since other experimental platforms currently do not impose any backward-compatibility guarantees.
7 You can check out what platforms are considered to be stable on [this page](https://kotlinlang.org/…
9 - [Core library compatibility](#core-library-compatibility)
10 * [General (Stable) API](#stable-api)
11 * [Experimental API](#experimental-api)
12 * [Internal API](#internal-api)
13 - [Compatibility with Kotlin compiler plugin](#compatibility-with-kotlin-compiler-plugin)
15 ## Core library compatibility
17 Core library public API comes in three flavours: general (stable), experimental, and internal.
18 All public API except stable is marked with the corresponding annotation.
19 …quire opt-in, please refer to [corresponding documentation page](https://kotlinlang.org/docs/refer…
21 ### Stable API
23 Stable API is guaranteed to preserve its ABI and documented semantics:
26 * It is binary backwards-compatible: during update of `kotlinx.serialization` version, previously c…
27 For example, for a library that depends only on `kotlinx.serialization` stable API,
29 * It is source backwards compatible modulo major deprecation. Most of the API is here to stay forev…
30 … or design flaw is exposed. Minor releases never add source-incompatible changes to the stable API.
34 When API is deprecated, it goes through multiple stages and there is at least one major release bet…
37 …or hidden. It is no longer possible to compile new code against deprecated API, though it is still…
38 3. API is completely removed. While we give our best efforts not to do so and have no plans of remo…
41 ### Experimental API
43API marked as `@ExperimentalSerializationApi`. API is marked experimental when its design has pote…
44API is marked as experimental and becomes stable in one of the next releases if no new issues aris…
46 However, we'll try to provide best-effort compatibility — such declarations won't be deleted or cha…
51 * Experimental API can be used in your applications if maintenance cost is clear:
54 * Experimental API can be used in other **experimental** API (for example, a custom serialization f…
55 In such cases, clients of the API have to be aware about experimentality.
57 * It's not recommended to use it as a dependency in your **stable** API, even as an implementation …
58 Due to the lack of binary backward compatibility, your clients may experience behavioural changes
61 ### Internal API
63 This API is marked with `@InternalSerializationApi` or located in `kotlinx.serialization.internal` …
64 It does not have any binary or source compatibility guarantees and can be deprecated or deleted wit…
67 However, if you have a rare use-case that can be solved only with internal API, it is possible to u…
68 In such a case, please create an issue on GitHub in order for us to understand a use-case and to pr…
70 ## Compatibility with Kotlin compiler plugin