Releases: fluidsonic/fluid-json
Releases · fluidsonic/fluid-json
1.3.0
1.1.0
- Kotlin 1.4.0-rc
1.0.0
- All names have been changed from
JSON
toJson
. - Updated dependencies.
- Gradle group ID and Kotlin package changed to
io.fluidsonic.json
.
0.9.18
Changes
JSONCodingParser
interface is now generic with aJSONCodingContext
parameterJSONCodingParser
interface allows creating decoders manuallyJSONCodingParser
interface distinguishes between…OrNull
and normal value parsingJSONDecoderCodec
s can now decodenull
values
Migration
- replace
variable: JSONCodingParser
withvariable: JSONCodingParser<*>
0.9.17
Changes
- fixed that library is unusable on Android due to DEX error
0.9.16
Change
- fixed an occasional issue with codec generation
0.9.15
Changes
- fixed some issues with generic types in generated codecs having default arguments
0.9.14
Changes
- added support for optional constructor parameters when decoding with
@JSON
- added default codec for
Set
- fixed issues with
@JSON.ExternalType
and inline classes wrapping primitive types - fixed incorrect variance in
JSONDecoderCodec.decode()
Migration
Search & replace in your project:
decode(valueType: JSONCodingType<in
-->
decode(valueType: JSONCodingType<
0.9.13
Changes
- 🎉 annotation-based
JSONCodec
andJSONCodecProvider
generation using@JSON
- added default codec for
Collection<*>
- added ability to generate
JSONCodingType
for generic types
(e.g.jsonCodingType(List::class, String::class)
)
0.9.12
Fixes
- fixed incorrect type projection in
JSONCodecProvider
- disabled all contracts in public functions until KT-29510 & KT-29614 are fixed
Features
- added
JSONCodecProvider.factory { … }
andJSONCodecProvider.factory<BaseClass> { … }
- added support for decoding and encoding enums with
lowercaseCamelCase
transformation on each value's.toString()
by default, i.e.EnumClass.SOME_ENUM_VALUE
<->"someEnumValue"
Use a different instance ofEnumJSONCodecProvider
in your codec provider to change the transformation.
Housekeeping
- switched license from MIT to Apache 2.0
- deprecated
JSONCodecProvider.of()
- added
JSONCodecProvider()
Migration from 0.9.11
- change
JSONCodecProvider.of(…)
toJSONCodecProvider(…)
Note thatJSONCodecProvider(…)
doesn't add default codecs anymore automatically so if you rely on that then use this replacement:JSONCodecProvider(JSONCodecProvider(…), JSONCodecProvider.extended)
. The builders ofJSONEncoder
andJSONDecoder
still add default codecs automatically.