Skip to content

Releases: fluidsonic/fluid-json

1.3.0

01 Feb 23:41
18d2dfb
Compare
Choose a tag to compare
  • Kotlin 1.6
  • Updated all dependencies

1.1.0

29 Jul 22:24
2087173
Compare
Choose a tag to compare
  • Kotlin 1.4.0-rc

1.0.0

19 Oct 09:38
161f3d3
Compare
Choose a tag to compare
  • All names have been changed from JSON to Json.
  • Updated dependencies.
  • Gradle group ID and Kotlin package changed to io.fluidsonic.json.

0.9.18

03 Apr 11:37
42dbc8b
Compare
Choose a tag to compare
0.9.18 Pre-release
Pre-release

Changes

  • JSONCodingParser interface is now generic with a JSONCodingContext parameter
  • JSONCodingParser interface allows creating decoders manually
  • JSONCodingParser interface distinguishes between …OrNull and normal value parsing
  • JSONDecoderCodecs can now decode null values

Migration

  • replace variable: JSONCodingParser with variable: JSONCodingParser<*>

0.9.17

15 Mar 02:39
b91b3ac
Compare
Choose a tag to compare
0.9.17 Pre-release
Pre-release

Changes

  • fixed that library is unusable on Android due to DEX error

0.9.16

13 Mar 02:23
cc837e1
Compare
Choose a tag to compare
0.9.16 Pre-release
Pre-release

Change

  • fixed an occasional issue with codec generation

0.9.15

08 Mar 22:45
976ad9e
Compare
Choose a tag to compare
0.9.15 Pre-release
Pre-release

Changes

  • fixed some issues with generic types in generated codecs having default arguments

0.9.14

07 Mar 20:36
9798b12
Compare
Choose a tag to compare
0.9.14 Pre-release
Pre-release

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

05 Mar 23:03
be299d7
Compare
Choose a tag to compare
0.9.13 Pre-release
Pre-release

Changes

  • 🎉 annotation-based JSONCodec and JSONCodecProvider 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

05 Feb 16:32
dfc8b7d
Compare
Choose a tag to compare
0.9.12 Pre-release
Pre-release

Fixes

  • fixed incorrect type projection in JSONCodecProvider
  • disabled all contracts in public functions until KT-29510 & KT-29614 are fixed

Features

  • added JSONCodecProvider.factory { … } and JSONCodecProvider.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 of EnumJSONCodecProvider 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(…) to JSONCodecProvider(…)
    Note that JSONCodecProvider(…) doesn't add default codecs anymore automatically so if you rely on that then use this replacement: JSONCodecProvider(JSONCodecProvider(…), JSONCodecProvider.extended). The builders of JSONEncoder and JSONDecoder still add default codecs automatically.