circe v0.11.0 Release Notes

Release Date: 2018-12-18 // over 5 years ago
  • ๐Ÿš€ This release updates the Scala 2.13.0 milestone from M4 to M5, along with several dependency updates, including Cats (1.4 to 1.5), Jawn (0.13 to 0.14, now published under org.typelevel), Scala.js (from 0.6.24 to 0.6.26), and scala-java-time (for circe-java8 on Scala.js only; from 2.0.0-M13 to 2.0.0-RC2).

    There have been a few breaking improvements since 0.10.1:

    • ๐Ÿ†• New ensure and validate methods on Decoder for failing with multiple errors (thanks @ylaurent and @pfcoperez; see #1025 and #1020).
    • ๐Ÿ†• New java.time instances, including MonthDay, Year, and ZoneOffset (thanks @plokhotnyuk and @LukaJCB; see #979, #980, and #1000).
    • ๐Ÿ†• New KeyEncoder powers for the old := operator (thanks @tejinders; #986).
    • Trait-ification of KeyEncoder and KeyDecoder (thanks @andwxh; #1032).

    There are also several circe-generic-extras-specific changes:

    ๐Ÿ”ง These changes should not affect most users, although it's worth taking a look at the newly-clarified semantics of Decoder#ensure if you use it in the context of error accumulation, and please be sure to read #994 if you use default values with configured decoders in circe-generic-extras, since the behavior of some instances has changed.

    ๐Ÿš€ This release also includes numerous updates to the build (many taken care of by @scala-steward), and introduces automated code formatting by scalafmt.

    Thanks to all contributors, including bug reporters and question askers!