Skip to content

Version 0.8.1

Latest

Choose a tag to compare

@FoxSamu FoxSamu released this 20 Jan 15:43
· 1 commit to json since this release

This update fixes some bugs in and made some changes to the Kotlin API. The Java API is mostly left untouched.

Changes

In Java

  • Now exports the module dev.runefox.json.kt.

In Kotlin

  • All Kotlin API now resides in a separate package, dev.runefox.json.kt, and is now part of a Java module with the same name.
  • JsonCodecs now has fields whose names match exactly the types they encode. E.g. the JsonCodecs.JSON_NODE is now JsonCodecs.JsonNode.
  • Various companion objects of Kotlin builtins now have a codec extension property delegating the matching JsonCodec. E.g. Boolean.codec is the same as JsonCodecs.Boolean, which is (up to Java interop standards) the same as JsonCodec.BOOLEAN.
  • Kotlin code is now split into multiple source files. Should not affect compatibility.
  • Various experimental Kotlin methods relating to the base API now require opt-in for ExperimentalKotlinJsonNodeApi, or a warning is given.
  • Likewise, all Kotlin methods relating to the codec API now require opt-in for ExperimentalKotlinJsonCodecApi, or a warning is given.
  • openRangeOf and closedRangeOf are now inline methods.

Fixes

In Java

No fixes.

In Kotlin

  • Fixed module-info issue for the Kotlin API (#5).
  • requireSize(IntRange) now properly checks the full range.

Get the release

You can get the release from my maven repository:

Gradle

repositories {
    maven { url = uri("https://mvn.runefox.dev/releases") }
}

dependencies {
    implementation("dev.runefox:json:0.8.1")
    implementation("dev.runefox:jsonkt:0.8.1")
}

Maven

<repositories>
    <repository>
        <id>Runefox Maven</id>
        <url>https://mvn.runefox.dev/releases</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>dev.runefox</groupId>
        <artifactId>json</artifactId>
        <version>0.8.1</version>
    </dependency>
    <dependency>
        <groupId>dev.runefox</groupId>
        <artifactId>jsonkt</artifactId>
        <version>0.8.1</version>
    </dependency>
</dependencies>