Skip to content

Releases: fluidsonic/fluid-json

0.9.11

01 Feb 17:38
bad8fcf
Compare
Choose a tag to compare
0.9.11 Pre-release
Pre-release

Housekeeping

  • reworked Gradle configuration & also released library on Bintray

0.9.10

27 Jan 22:28
ee0c7ec
Compare
Choose a tag to compare
0.9.10 Pre-release
Pre-release

Features

  • JSONException is now abstract and uses more specific subclasses and reports JSON path and parser offset relevant for each error
  • added JSONReader.readOrNull { … }
  • added JSONWriter.writeOrNull(value) { … }
  • added JSONPath, accessible using JSONReader.path and JSONWriter.path and JSONException.path
  • added JSONReader.offset
  • added JSONReader.isolatedValueRead and JSONWriter.isolatedValueWrite which area already used behind the scene to catch common mistakes when using these classes, e.g. when implementing codecs

Housekeeping

  • removed duplicate method JSONReader.readElementsFromMap (duplicates .readFromMapByElementValue)
  • marked many lambda parameters as crossinline to prevent inconsistent states which cause hard-to-spot mistakes

Migration from 0.9.9

JSONException is now abstract. Use the appropriate .Parsing, .Schema, .Syntax or .Serialization subclass as explained in Error Handling.

There are also shortcuts for common errors in codecs and which throw appropriate exceptions including parsing offset and JSON path:

  • JSONDecoder.invalidPropertyError(property: String, details: String)
  • JSONDecoder.invalidValueError(details: String)
  • JSONDecoder.missingPropertyError(property: String)
  • JSONDecoder.parsingError(message: String)
  • JSONDecoder.schemaError(message: String)
  • JSONEncoder.serializationError(message: String)

0.9.9

20 Jan 21:08
84576d4
Compare
Choose a tag to compare
0.9.9 Pre-release
Pre-release

Features

Housekeeping

  • [239738b] encoder/decoder in Codecs are now receiver parameters

Migration from 0.9.8

in JSONDecoderCodecs:

override fun decode(valueType: JSONCodingType<in Value>, decoder: JSONDecoder<JSONCodingContext>) =
    decoder.read…()

override fun JSONDecoder<JSONCodingContext>.decode(valueType: JSONCodingType<in Value>) =
    read…()

in JSONEncoderCodecs:

override fun encode(value: Value, encoder: JSONEncoder<JSONCodingContext>) {
    encoder.write…(value)
}

override fun JSONEncoder<JSONCodingContext>.encode(value: Value) {
    write…(value)
}

0.9.8

13 Dec 23:04
6346e62
Compare
Choose a tag to compare
0.9.8 Pre-release
Pre-release

Fixes

  • [593edf00] fixed that coding parser/serializer unexpectedly add standard codecs

Features

  • [e5d0beb2] support for Char, CharArray, CharRange, ClosedRange, IntRange & LongRange

0.9.7

29 Nov 21:34
8e9b084
Compare
Choose a tag to compare
0.9.7 Pre-release
Pre-release

Features

  • Java 7 support

Housekeeping

  • [bb087cd] updated API and separated basic & coding

Migration from 0.9.6

  • change the artifact id from fluid-json to fluid-json-coding-jdk8, fluid-json-coding or fluid-json-basic depending on needed functionality and Java version
  • change jsonCodableType to jsonCodingType
  • change JSONCodableType to JSONCodingType
  • change JSONCodableTypeReference to JSONCodingTypeReference
  • change JSONCoderContext to JSONCodingContext
  • change JSONParser to JSONCodingParser (unless you only need the basic functionality)
  • change JSONSerializer to JSONCodingSerializer (unless you only need the basic functionality)

0.9.6

28 Nov 00:47
a8623c5
Compare
Choose a tag to compare
0.9.6 Pre-release
Pre-release

Fixes

  • [80487c9] fixed that AbstractJSON(Decoder|Encoder)Codec doesn't return nested encoders|decoders

Features

  • [91e01e3] added callsInPlace contracts where possible

Housekeeping

0.9.5

27 Nov 23:12
0192845
Compare
Choose a tag to compare
0.9.5 Pre-release
Pre-release

Housekeeping

0.9.4

27 Nov 23:10
ac79ceb
Compare
Choose a tag to compare
0.9.4 Pre-release
Pre-release

Features

  • [ac79ceb] Made JSONCodableTypeReference public

0.9.3

27 Nov 23:08
63e641a
Compare
Choose a tag to compare
0.9.3 Pre-release
Pre-release

Fixes

  • [9aab670] Fixed generic variance issue in decoders

Housekeeping

  • [b7e2278] Updated to JaCoCo 0.8.2

0.9.2

27 Nov 23:06
9e4f94d
Compare
Choose a tag to compare
0.9.2 Pre-release
Pre-release

Housekeeping

  • [f93e528] Updated to Gradle 4.10.2
  • [a8ecfd1] Updated to Kotlin 1.3.0-rc-131