8000 Release circe 0.11.0 · circe/circe · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

circe 0.11.0

Compare
Choose a tag to compare
@travisbrown travisbrown released this 18 Dec 21:55

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:

  • No more AnyVal constraint on the "unwrapped" derivers (thanks @nightscape; see #1023 and #1036).
  • Performance optimizations for member and constructor name transformations (thanks @waiter-melon; #940).
  • More consistent use of default values for optional members (thanks @exoego and @ryamaguchi0220; see #878, #994, and #1037).

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!

0