• Home
  • Raw
  • Download

Lines Matching +full:json +full:- +full:parse +full:- +full:even +full:- +full:better +full:- +full:errors

1 1.6.3 / 2024-02-16
8 …serializing and deserializing [polymorphic class hierarchies](docs/polymorphism.md#sealed-classes).
16 * Add kebab-case naming strategy (#2531) (thanks to [Emil Kantis](https://github.com/Kantis))
28 1.6.2 / 2023-11-30
32 wasm-wasi and (deprecated) linuxArm32Hfp.
37 1.6.1 / 2023-11-15
42 ### Trailing commas in Json
44 Trailing commas are one of the most popular non-spec Json variations.
45 A new configuration flag, `allowTrailingComma`, makes Json parser accept them instead of throwing a…
46 Note that it does not affect encoding, so kotlinx.serialization always produces Json without traili…
52 …th 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can h…
55 …s://kotlinlang.org/docs/whatsnew1920.html#new-wasm-wasi-target-and-the-renaming-of-the-wasm-target
62 …e value classes are marked as @ByteString (#2466) (thanks to [eater](https://github.com/the-eater))
68 1.6.0 / 2023-08-22
71 …ns all features and bugfixes from [1.6.0-RC](https://github.com/Kotlin/kotlinx.serialization/relea…
76 * Improve error messages from Json parser (#2406)
78 * Ensure that no additional files except java compiler output get into multi-release jar (#2405)
79 …* Fix enums with negative numbers in protobuf not serializing & de-serializing (#2400) (thanks to …
81 1.6.0-RC / 2023-08-03
88 …ompiler was deprecated](https://kotlinlang.org/docs/whatsnew18.html#stable-js-ir-compiler-backend).
90 …ad the migration guide for JS IR compiler [here](https://kotlinlang.org/docs/js-ir-migration.html).
92 …some [deprecated targets](https://kotlinlang.org/docs/native-target-support.html#deprecated-target…
93 that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.…
95 ### Case insensitivity for enums in Json
97 This release features a new configuration flag for Json: `decodeEnumsCaseInsensitive`
98 that allows you to decode enum values in a case-insensitive manner.
110 * Actualize 'serializer not found' platform-specific message (#2339)
114 1.5.1 / 2023-05-11
121 The official [Kotlin target support policy](https://kotlinlang.org/docs/native-target-support.html)…
127 Note that since they belong to Tier 3, they're not auto-tested on CI.
132 ### Improvements in Json elements
134 There are two new function sets that should make creating raw Json elements easier.
135 …n/kotlinx.serialization/pull/2160) contains overloads for `JsonPrimitive` constructor-like function
143 * **Potential source-breaking change**: Rename json-okio `target` variables to `sink` (#2226)
145 * Added FormatLanguage annotation to Json methods (#2234)
153 * Fix incorrect json decoding iterator's .hasNext() behavior on array-wrapped inputs (#2268)
155 * Fixed NoSuchMethodError when parsing a JSON stream on Java 8 (#2219)
159 1.5.0 / 2023-02-27
162 This release contains all features and bugfixes from 1.5.0-RC plus some experimental features and b…
165 ### HoconEncoder and HoconDecoder interfaces and HOCON-specific serializers
168 making writing if custom HOCON-specific serializers easier. New `ConfigMemorySizeSerializer` and `J…
172 ### Ability to read buffered huge strings in custom Json deserializers
175 Currently, this interface is only implemented by Json decoder that works with strings and streams,
185 1.5.0-RC / 2023-01-25
191 ### Json naming strategies
193 A long-awaited feature (#33) is available in this release.
194 A new interface, `JsonNamingStrategy` and Json configuration property `namingStrategy` allow
195 defining a transformation that is applied to all properties' names serialized by a Json instance.
196 There's also a predefined implementation for the most common use case: `Json { namingStrategy = Jso…
199 ### Json unquoted literals
201 kotlinx-serialization-json has an API for manipulating raw Json values: functions and classes `Json…
203 It allows to produce a string that is not quoted in the Json output. This function has a lot of val…
204 …rom writing unsigned or large numbers to embedding whole Json documents without the need for re-pa…
205 …oding literal Json content docs](https://github.com/Kotlin/kotlinx.serialization/blob/v1.5.0-RC/do…
211 have JVM-only overloads that accept `java.lang.Type`. These overloads are crucial for interoperabil…
213 We've removed `@ExperimentalSerializationApi` from these functions, and starting from 1.5.0-RC they…
214 This change should improve third-party support for kotlinx.serialization in various frameworks.
220better names allow an easier understanding of which serializers affect what part of the process.
221 In 1.5.0-RC, we finish the migration path: these functions are no longer experimental.
227 The `kotlinx-serialization-core-jvm` JAR file now includes consumer Proguard rules,
235 kotlinx-serialization-hocon is able to serialize and deserialize `kotlin.Duration`
241 …* Make DeserializationStrategy covariant at declaration-site (#1897) (thanks to [Lukellmann](https…
242 * Added support for the `kotlin.Nothing` class as built-in (#1991, #2150)
255 1.4.1 / 2022-10-14
265 * Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#1992)
267 …* Compiler plugin can create enum serializers using static factories for better speed (#1851) (Kot…
273 * Added support of UTF-16 surrogate pairs to okio streams (#2033)
277 1.4.0 / 2022-08-18
280 This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see be…
284 * Fixed decoding of huge JSON data for okio streams (#2006)
287 1.4.0-RC / 2022-07-20
296 In this version, we have added functions that parse/write JSON directly to Okio's input/output clas…
297 These functions are called `Json.decodeFromBufferedSource` and `Json.encodeToBufferedSink`, respect…
301 …t, use the same group id `org.jetbrains.kotlinx` and artifact id `kotlinx-serialization-json-okio`.
310 …nline`, and some others. We've also updated related [documentation article](docs/value-classes.md).
314 without opt-in requirement.
320 Since then, we've received a lot of feature requests with compelling use-cases for exposing some of…
322 One can use it in the `catch` clause to better understand the reasons of failure — for example, to …
323 and then use its `fields` property to communicate the message better.
332 …ew `@MetaSerializable` annotation that adds `@Serializable` behavior to user-defined annotations —…
341 As a part of a coordinated effort to unify kotlinx libraries users' experience, Dokka-generated doc…
347 …* Allow Kotlin's null literal in JSON DSL (#1907) (thanks to [Lukellmann](https://github.com/Lukel…
359 …* Fix misleading token description in JSON errors (#1941) (thanks to [TheMrMilchmann](https://gith…
361 1.3.3 / 2022-05-11
369 …essages with [packed repeated fields](https://developers.google.com/protocol-buffers/docs/encoding…
373 …hub.io/kotlinx.serialization/kotlinx-serialization-protobuf/kotlinx.serialization.protobuf.schema/
381 …* Support serialization of compile-time `Collection<E>` properties that are not lists at the runti…
382 * Best-effort kotlin reflect avoidance in serializer(Type) (#1819)
390 1.3.2 / 2021-12-23
408 This function should ease serializing vast hierarchies of third-party or Java classes.
417 …* HOCON: parse strings into integers and booleans if possible (#1795) (thanks to [tobiaslieber](ht…
422 * Properly handle top-level value classes in encodeToJsonElement (#1777)
425 1.3.1 / 2021-11-11
428 This release mainly contains bugfixes for 1.3.0 and provides new experimental `Json.decodeToSequenc…
436 * Correctly handle buffer boundaries while decoding escape sequences from json stream (#1706)
442 1.3.0 / 2021-09-23
445 This release contains all of the cool new features from 1.3.0-RC (see below) as well as minor impro…
451 * Remove opt-in annotations from SerialFormat, StringFormat, BinaryFormat (#1688)
455 1.3.0-RC / 2021-09-06
462 ### Java IO stream-based JSON serialization
465 `Json.encodeToStream` and `Json.decodeFromStream` extension functions.
468 IO stream serialization is available only on the JVM platform and for the JSON format for now.
472 ### Property-level control over defaults values encoding
475 format configuration flags such as `Json { encodeDefaults = false }`.
476 In 1.3.0 we’re extending this feature by adding a new way to fine-tune the serialization of default…
480 - `ALWAYS` (default value) encodes a property value even if it equals to default.
481 - `NEVER` doesn’t encode the default value regardless of the format configuration.
484 and works as described for all serialization formats, not only JSON.
488 ### Excluding null values from JSON serialization
490 In 1.3.0, we’re introducing one more way to reduce the size of the generated JSON strings: omitting…
491 A new JSON configuration property `explicitNulls` defines whether `null` property values should be …
492 The difference from `encodeDefaults` is that `explicitNulls = false` flag drops null values even if…
496 You can learn more in the [documentation](docs/json.md#explicit-nulls) or the [PR](https://github.c…
498 ### Per-hierarchy polymorphic class discriminators
501 ….com/Kotlin/kotlinx.serialization/blob/master/docs/json.md#class-discriminator) property of the `J…
511 Now all kotlinx.serialization runtime libraries are shipped as a multi-release JAR with `module-inf…
524 * Switch on deep recursive function when nested level of JSON is too deep (#1596)
531 1.2.2 / 2021-07-08
539 * Support for `@JsonNames` and `coerceInputValues` in `Json.decodeFromDynamic` (#1479)
541 …* Allow contextually serialized types to be used as map keys in Json (#1552) (thanks to [pdvrieze]…
545 …* Update size in `JsonStringBuilder` slow-path to avoid excessive array-copies for large strings w…
549 * Avoid usage of reflective-like `serialDescriptor<KType>` in production sources (#1540)
551 * Make `DescriptorSchemaCache` in Json thread-local on Native (#1484)
553 1.2.1 / 2021-05-14
556 This release mainly contains bugfixes for various issues, including important [broken thread-safety…
567 * Read JsonNull only for non-string literals in JsonTreeReader (#1466)
569 * Properly ensure capacity of the string builder on the append slow-path (#1441)
571 1.2.0 / 2021-04-27
579 ### JSON performance improvements
581 JSON encoder and decoder were revisited and significantly rewritten,
582 which lead us to up to 2-3x times speedup in certain cases.
585 ### Ability to specify alternative names during JSON decoding
589 Unlike `@SerialName`, it only affects JSON decoding, so it is useful when dealing with different ve…
590 …](https://github.com/Kotlin/kotlinx.serialization/blob/dev/docs/json.md#alternative-json-names) fo…
594 `JsonConfiguration` is exposed as a property of `Json` instance. You can use it to adjust behavior …
595 …tps://github.com/Kotlin/kotlinx.serialization/blob/dev/docs/json.md#maintaining-custom-json-attrib…
601 This is very convenient for Kotlin-to-Kotlin communication, but makes interoperability between lang…
615 …n/kotlinx.serialization/blob/dev/docs/serializers.md#contextual-serialization-and-generic-classes).
620 * Introduce kotlinx-serialization-bom (#1356).
631 1.1.0 / 2021-02-17
634 This release contains all features and bugfixes from 1.1.0-RC plus an additional fix for incorrect …
637 … shutdown](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/), star…
641 1.1.0-RC / 2021-02-03
650 Kotlin version at least 1.4.30-M1. However, this changes should not affect your code,
656 Using 1.1.0-RC, you can mark inline classes as `@Serializable` and use them in other serializable c…
657 … (`UByte`, `UShort`, `UInt` and `ULong`) are serializable as well and have special support in JSON.
658-RC and enabling new IR compilers for [JS](https://kotlinlang.org/docs/reference/js-ir-compiler.ht…
660 You can learn more in the [documentation](docs/value-classes.md)
667 … `Properties` values as Strings (#1158) (thanks to [daniel-jasinski](https://github.com/daniel-jas…
674 …* Throw `SerializationException` instead of ISE when encountering an invalid boolean in JSON (#129…
682 …* Properly cache serial names in order to improve performance of JSON parser with strict mode (#12…
685 1.0.1 / 2020-10-28
691 …* Add object-based serialization and deserialization of polymorphic types for `dynamic` conversion…
698 * Fix deserialization of half-precision, float and double types in CBOR (#1112)
701 1.0.0 / 2020-10-08
710 In case you are using pre-1.0 versions (e.g. 0.20.0), please refer to our [migration guide](docs/mi…
714 * Support nullable types at top-level for JsonElement decoding (#1117)
718 1.0.0-RC2 / 2020-09-21
721 …date for 1.0.0 version. This RC contains tweaks and changes based on users feedback after 1.0.0-RC.
725 * JSON format is now located in different artifact (#994)
727 In 1.0.0-RC, the `kotlinx-serialization-core` artifact contained core serialization entities as wel…
728 We've decided to change that and to make `core` format-agnostic.
729 … those who use other serial formats and also make possible to write your own implementation of JSON
732 In 1.0.0-RC2, `Json` class and related entities are located in `kotlinx-serialization-json` artifac…
733 To migrate, simply replace `kotlinx-serialization-core` dependency with `-json`. Core library then …
736 For most use-cases, you should use new `kotlinx-serialization-json` artifact. Use `kotlinx-serializ…
737 writing a library that depends on kotlinx.serialization in a format-agnostic way of provides its ow…
739 * `encodeDefaults` flag is now set to `false` in the default configuration for JSON, CBOR and Proto…
741 The change is motivated by the fact that in most real-life scenarios, this flag is set to `false` a…
747 … simply add `encodeDefaults = true` to your configuration while creating `Json/Cbor/ProtoBuf` obje…
749 * Move `Json.encodeToDynamic/Json.decodeFromDynamic` functions to json package
751 …re no longer exposed via `DynamicObjectParser/Serializer` and they are now `Json` class extensions,
752 they should be moved to `kotlinx.serialization.json` package.
753 To migrate, simply add `import kotlinx.serialization.json.*` to your files.
760 * Support top-level primitives and primitive map keys in `dynamic` encoding/decoding
764 * Support deserialization of top-level nullable types (#1038)
768 * Remove new lines in deprecation warnings that caused errors in ObjC interop (#990)
770 1.0.0-RC / 2020-08-17
777 split it to stable API, that we promise to be source and binary-compatible,
779 Experimental API is annotated with `@ExperimentalSerializationApi` annotation, which requires opt-i…
782 The id of the core artifact with `@Serializable` annotation and `Json` format was changed
783 from `kotlinx-serialization-runtime` to `kotlinx-serialization-core` to be more clear and aligned w…
790 #### Json subsubsection
793 * `stringify` and `parse` are renamed to `encodeToString` and `decodeFromString`
797 * `Json` constructor is replaced with `Json {}` builder function, `JsonConfiguration` is deprecated…
798 of `Json {}` builder
799 * All default `Json` implementations are removed
800 * `Json` companion object extends `Json`
802 * Json configuration
805 * `unquoted` JSON flag is deprecated for removal
806 * New `coerceInputValues` option for null-defaults and unknown enums (#90, #246)
810 * Potential error-prone API is removed
814 * Deprecated infix `to` and unaryPlus in JSON DSL in favor of `put`/`add` functions
815 …* `jsonObject {}` and `json {}` builders are renamed to `buildJsonObject {}` and `buildJsonArray {…
819 … * `DynamicObjectParser` is deprecated in the favor of `Json.decodeFromDynamic` extension functions
820 …* `Json.encodeToDynamic` extension is added as a counterpart to `Json.decodeFromDynamic` (former `…
829 …* `IllegalStateException` when `null` occurs in JSON input in the place of an expected non-null ob…
836 * `stringify`/`parse` are renamed to `encodeToString`/`decodeFromString`
840 …* Constructors replaced with builder-function with the same name to have the ability to add new co…
844 * SerialDescriptor-related API
852 * SerializersModule-related API
857 * Helper-like API is extracted to extension functions where possible.
862 …* New `SerialDescriptor.capturedKClass` API to introspect SerializersModule-based contextual and …
864 * Encoding-related API
865 …* Encoding-related classes (`Encoder`, `Decoder`, `AbstractEncoder`, `AbstractDecoder`) are moved …
872 * Serializer-related API
886 * Top-level primitives, classes and objects are supported in ProtoBuf as length-prefixed tagless me…
894 …er` is renamed to `Hocon`, `kotlinx-serialization-runtime-configparser` artifact is renamed to `ko…
897 0.20.0 / 2020-03-04
909- Pre-defined JSON instances like `nonStrict` — `strictMode` was split to 3 separate, more granula…
911 - Top-level serializers like `IntSerializer` and `ArrayListSerializer`.
912 They were replaced with constructor-like factory functions.
913 - `SerialClassDescImpl` creation class replaced with `SerialDescriptor`
915- Internal utilities, like HexConverter and ByteBuffer, were deprecated as not relevant to seriali…
916 - Add-on formats like Protobuf, CBOR and Properties (formerly Mapper)
921 fixing numerous of bugs, and even introducing new features that may be useful for those of you who
924 Such API changes, of course, may be not backwards-compatible in some places, in particular, between…
926 the better, more convenient API. Therefore, this release has number `0.20.0` instead of `0.15.0`;
932 For other object-like declarations, you may need to transform it to function call: `ByteArraySerial…
937 3. If you used formats other than JSON, make sure you've included the corresponding artifact as dep…
948 * Introduce factories for ArraySerializers as well, deprecate top-level array serializers
951 * Replace top-level primitive serializers with corresponding companion functions from builtins
954 * Deprecate top-level format instances, leave only companion objects
956 * Ensure that serialization exception is thrown from JSON parser on invalid inputs (#704)
957 * Do best-effort input/output attach to exceptions to simplify debugging
958 * JSON configuration rework: strictMode is splitted into three flags.
959 …* Make strictMode even more restrictive, prohibit unquoted keys and values by default, always use …
961 …ntrySerializer.descriptor to be truly map-like. Otherwise, it cannot be properly serialized by Tag…
965 * Allow DynamicObjectParser to handle polymorphic types (array-mode polymorphism only)
973 * Introduce DSL for creating user-defined serial descriptors
977 …* Rework sealed class discriminator check to reduce the footprint of the check when no JSON is used
990 * Rename SerialId to ProtoId to better reflect its semantics
1003 v0.14.0 / 2019-11-19
1014 * Improve error message when static non-generic serializer can't be found
1017 v0.13.0 / 2019-09-12
1021 …actual with java.lang.Class.simpleName on JVM to overcome requirement for kotlin-reflect.jar (#549)
1028 v0.12.0 / 2019-08-23
1036 * Make JSON parser much more stricter; e.g. Prohibit all excessive separators in objects and maps
1038 * Improve json exceptions, add more contextual information, get rid of obsolete exception types
1039 * Prohibit trailing commas in JSON parser
1044 …* Implement 'allowStructuredMapKeys' flag. Now this flag is required for serializing into JSON map…
1046 v0.11.1 / 2019-06-19
1050 * Remove dependency on stdlib-jvm from common source set (Fixes #481)
1052 …itives (ints, strings, JsonLiterals, JsonNull, etc) on a top-level when saving/restoring JSON AST …
1054 * Add @SharedImmutable to default json module. Fixes #441 and #446
1056 v0.11.0 / 2019-04-12
1063 * Auto-applying @Polymorphic for interfaces and serializable abstract classes
1067 …* Add synthetic companion with .serializer() getter even if default serializer is overridden. (fix…
1069 …enerate writeSelf/internal constructor if corresponding serialize/deserialize aren't auto-generated
1076 …e JsonBuilder and JsonConfiguration as a better mechanism for configuring and changing configurati…
1077 * Implement polymorphic serialization in JSON using class discriminator key
1082 * Remove obsolete and poorly designed global class cache. Remove JVM-only PolymorphicSerializer
1083 … which: - Can not be installed, should be passed in format constructor - Has polymorphic resolve a…
1087 * Json and protobuf schemas recording prototype
1091 0.10.0 / 2019-01-22
1096 * Reorder Json parameter for consistency
1098 * Reader.read(): Int should return -1 on EOF.
1102 0.10.0-eap-1 / 2018-12-19
1108 …* Remove redundant check for 'all parameters are properties' in a case of fully-customized seriali…
1111 * Restrict auto-implementing serializers methods to certain type of classes
1120 …* Better lookup for `serializer()` function in companion for generic classes because user can defi…
1124 * Remove auto-applying ContextSerializer. @ContextualSerialization should be used instead.
1130 …* Get rid of protobuf-platform functions since @SerialInfo annotations are supported now. Auto-ass…
1138 * Production-ready JSON API
1140 * Json improvements
1144 …* Hide JsonTreeParser, provide Json.parseJson as replacement, implement basic JsonElementSerialize…
1145 * Migrate the rest of the test on JsonTestBase, implement nullable result in tree json
1149 …* Introduce JsonTestBase in order to ensure streaming and tree json compatibility, transient and s…
1151 * Json rework, consolidate different parsing mechanisms, hide implementation details
1153 …in's coding conventions. https://kotlinlang.org/docs/reference/coding-conventions.html#naming-rules
1154 * Changed JSON -> Json and CBOR -> Cbor
1156 v0.9.1 / 2018-11-19
1163 …* Fix bug where primitive non-string values created by hand and created by parser could be inequal…
1166 v0.9.0 / 2018-10-24
1173 …n start to extensions. As a minor change, now nulls can be serialized at top-level, where it is su…
1179 v0.8.3-rc13 / 2018-10-19
1182 …* Set default byte order to BigEndian (to be more platform-independent and get rid of posix.BYTE_O…
1183 * Update Kotlin version to 1.3-RC4
1184 * Remove Gradle metadata from non-native modules
1189 * Move json parser back to monolith module (drops `jsonparser` artifact)
1192 * Initial support for skipping defaults: JSON
1195 v0.8.2-rc13 / 2018-10-03
1198 * Update to RC-3
1199 …* Add @SharedImmutable from K/N to some global declarations in JSON parser, so it is now accessibl…
1205 v0.8.1-rc13 / 2018-09-24
1210 v0.8.0-rc13 / 2018-09-19
1213 * Add (currently) no-op annotations to the kibrary for smoother migration
1219 v0.7.3-eap-13 / 2018-09-18
1225 …esolving by adding primitive serializers. Also add some helper methods to JSON to serialize lists …
1227 * Prohibit NaN and infinite values in JSON strict mode
1228 * Cleanup JSON, reflect opt-in strict mode in naming
1235 * Renaming: KOutput -> Encoder/CompositeEncoder KInput -> Decoder/CompositeDecoder
1236 * Renaming: KSerialClassDesc -> SerialDescriptor SerialSaver, SerialLoader -> *Strategy
1241 v0.6.2 / 2018-09-12
1246 v0.6.1 / 2018-08-06
1254 v0.6.0 / 2018-07-13
1265 …* Simplify JSON AST API, Provide JSON builder, provide useful extensions, add documentation, updat…
1266 …* Get rid of JsonString to align json primitives with each other. Provide JSON AST pojo parser whi…
1267 * [JSON-AST] Introduce non-nullable methods throwing exceptions for getting json elements
1268 …* [JSON-AST] Add ability to parse JSONInput element as tree. Symmetric functionality for JsonOutpu…
1269 * [JSON-AST] Docs writeup
1270 * [JSON-AST] Publishing native artifact on bintray
1271 * [JSON-AST] Saving AST back to JSON
1272 * [JSON-AST] JsonAstMapper to serializable classes
1277 * Auto-assign proto ids using field index
1279 v0.5.1 / 2018-06-13
1287 * Fix order of resolving serializers: user-overriden should go before polymorphic and default
1288 …ition but from actual KSerializer implementation. This provides better support for user-defined or…
1294 * Fix for Kotlin/kotlinx.serialization/123: resolve annotation parameters in-place
1300 * Move mode cache to output class to make .stringify stateless and thread-safe (#139)
1304 v0.5.0 / 2018-04-26
1311 * Improved performance of JSON.stringify
1312 * Improved performance of JSON.parse
1316 v0.4.2 / 2018-03-07
1323 * update jvm-example to latest versions