Repository navigation
Releases: fluidsonic/fluid-json
Releases · fluidsonic/fluid-json
Release list
1.3.0
1.1.0
1.0.0
- All names have been changed from
JSONtoJson. - Updated dependencies.
- Gradle group ID and Kotlin package changed to
io.fluidsonic.json.
0.9.18
Changes
JSONCodingParserinterface is now generic with aJSONCodingContextparameterJSONCodingParserinterface allows creating decoders manuallyJSONCodingParserinterface distinguishes between…OrNulland normal value parsingJSONDecoderCodecs can now decodenullvalues
Migration
- replace
variable: JSONCodingParserwithvariable: 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.ExternalTypeand 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
JSONCodecandJSONCodecProvidergeneration using@JSON - added default codec for
Collection<*> - added ability to generate
JSONCodingTypefor 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
lowercaseCamelCasetransformation on each value's.toString()by default, i.e.EnumClass.SOME_ENUM_VALUE<->"someEnumValue"
Use a different instance ofEnumJSONCodecProviderin 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 ofJSONEncoderandJSONDecoderstill add default codecs automatically.