Skip to content

Releases: fluidsonic/fluid-json

1.3.0

Choose a tag to compare

@fluidsonic fluidsonic released this 01 Feb 23:41
18d2dfb
  • Kotlin 1.6
  • Updated all dependencies

1.1.0

Choose a tag to compare

@fluidsonic fluidsonic released this 29 Jul 22:24
2087173
  • Kotlin 1.4.0-rc

1.0.0

Choose a tag to compare

@fluidsonic fluidsonic released this 19 Oct 09:38
161f3d3
  • 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

0.9.18 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 03 Apr 11:37
42dbc8b

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

0.9.17 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 15 Mar 02:39
b91b3ac

Changes

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

0.9.16

0.9.16 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 13 Mar 02:23
cc837e1

Change

  • fixed an occasional issue with codec generation

0.9.15

0.9.15 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 08 Mar 22:45
976ad9e

Changes

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

0.9.14

0.9.14 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 07 Mar 20:36
9798b12

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

0.9.13 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 05 Mar 23:03
be299d7

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

0.9.12 Pre-release
Pre-release

Choose a tag to compare

@fluidsonic fluidsonic released this 05 Feb 16:32
dfc8b7d

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.