circe v0.10.0-M2 Release Notes

Release Date: 2018-08-20 // over 5 years ago
  • ๐Ÿš€ This release is the first that's cross-published for Scala 2.13 (specifically for 2.13.0-M4). It includes a couple of major organizational changes that specifically support the 2.13 release:

    • ๐Ÿš€ The circe-optics module is being split out into its own repository, which will live in the circe organization. I've been intending to make this move for a while, and the fact that Monocle doesn't yet have a 2.13 build means that it's convenient to do it now. I'm not planning to publish any circe-optics releases until circe 0.10.0 is out.
    • ๐Ÿ”€ The circe-java8 module is also being split out into its own repository, but its functionality is now available in circe-core for all platforms that are guaranteed to support it. On the JVM, java.time instances are provided for 2.12 and 2.13, but not 2.11. On Scala.js, they are available for 2.12 only, since scala-java-time is not yet published for 2.13. Thanks to Guillaume Poirier for kicking off the work of moving these instances into circe-core last year (I wish it hadn't taken so long to get this merged).

    I'm trying to avoid using scala-collection-compat, and instead there are a few small differences in the Decoder companion object across versions, with 2.11 and 2.12 using CanBuildFrom and 2.13 using the new Factory type class.

    Many dependency versions have also been bumped, including Cats (to 1.2.0), Jawn (to 0.13.0), and Scala.js (to 0.6.23).

    ๐Ÿš€ Note that at the time that I'm writing this, the Macro Paradise compiler plugin is not available for 2.13.0-M4. This means that @JsonCodec and the related annotations in circe-generic-extras will not work on 2.13 at the moment, but once the plugin is published for 2.13.0-M4 it should work as expected with this release.

    ๐Ÿš€ Please use with care! This is a milestone release that introduces an artifact built with a milestone version of the Scala compiler. If you don't want to have to worry about running into weird bugs, please choose 0.9.3 instead, but if you don't mind a little risk, I would very much appreciate any feedback about the experience of using this release on 2.13.0-M4.