circe v0.12.2 Release Notes

Release Date: 2019-10-07 // over 4 years ago
  • ๐Ÿš€ This release maintains binary compatibility with 0.12.1 but includes two bug fixes, a couple new methods, some optimizations, and several patch version updates for dependencies.

    • โœ… Leif Warner reported and fixed a bug that affected custom Decoder[Option[X]] instances defined using or or handleErrorWith. I also added regression tests for this bug. Note that the bug shouldn't affect most users, and that in general we discourage defining custom decoders for Option.
    • ๐Ÿ—„ I fixed a bug reported by Alexandru Nedelcu that had resulted in deprecation warnings for users of the macro annotations in circe-generic-extras. I had previously fixed this issue in circe-generic-extras with a temporary workaround; the fix here makes the workaround unnecessary for both circe-generic-extras and other libraries built on circe-generic.
    • Ben Stewart added a deepMerge method to JsonObject and made the deepMerge implementation for Json a little more efficient.
    • ๐Ÿšš I added a new at method to Decoder that's shorthand for prepare and downField, which are often used together to move to a specific field before decoding.
    • Andriy Plokhotnyuk contributed an optimization for java.time encoders.
    • โšก๏ธ Scala Steward updated the Scala.js version from 0.6.28 to 0.6.29.

    โšก๏ธ Other patch dependency updates include ScalaCheck and Discipline (for circe-testing) and Refined. None of these updates should affect users (except for possibly bumping their versions).