circe v0.12.2 Release Notes

Release Date: 2019-10-07 // 9 days 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).

Previous changes from v0.12.1

  • 🚀 This release is identical to 0.12.0 but fixes a bug in one deprecated method in circe-core.

    Please do not use 0.12.0, use this one.