circe v0.12.0-RC3 Release Notes
Release Date: 2019-08-15 // over 4 years ago-
๐ This release only includes changes to circe-generic, circe-generic-extras, and circe-shapes; all other modules are identical to 0.12.0-RC2.
๐ The biggest change is a contribution from Felix Bruckmeier, who convinced me that it's currently too easy to confuse the derivation methods from circe-generic and circe-generic-extras (see #1220 and #1221 for discussion). This means that if you're currently using any of the
deriveX
methods in circe-generic-extras, you'll now see deprecation warnings pointing you to theirderiveConfiguredX
replacements. The old methods will be removed in 0.13.๐ I've also decided to sneak in a fix for an issue where derived decoders for case classes with no members accept non-object inputs (see #1166). This has surprised people in the past, and arguably isn't consistent with the behavior of derived decoders for other case classes. Now these decoders (and the decoder for
HNil
in circe-shapes) will fail on any input that isn't a JSON object (#1223, #1224). While making this change I also fixed a bug that had causedio.circe.generic.extras.deriveCodec
not to work for empty case classes.I've also added
deriveEnumerationCodec
andderivedUnwrappedCodec
derivation methods to circe-generic-extras for consistency (#1219).