Changelog:
- updated Scala 2.12 to 2.12.20, Scala to 3.3.4, Scala.js to 1.17.0 and Scala Native to 0.5.5
- added the
Result#fromCatchingNonFatal
by @danicheg in #590 - thank you for your first contribution! - fixed some typos by @danicheg in #593
- improved
withFieldRenamed
- now it supports.everyItem
/.everyMapKey
/.everyMapValue
/.matching[Subtype]
/.matchingSome
/.matchingLeft
/.matchingRight
on the source-side of the rename path as well!- done in #616 - added a new Outer Transformers integration - allowing to tell the Chimney how to convert some outer type while Chimney takes care of converting its inner values - and used it to improve the support for Cats' NonEmpty types - fixing #569 in #624
- tested and documented the possibly surprising behavior - that writing to
var
s is enabled with.enableBeanSetters
, and it makes sense! - done in #621 - improvements to
chimney-macro-commons
- module existing since Chimney 0.8.0-M1, which you probably haven't heard about yet:- adding
Type.simplePrint
andDefCache
which should make it easier to use this library for writing other macro libraries (with possibly different use cases than Chimney) - done in #620
- adding
- the first release of
chimney-engine
:- it allows using chimney derivation logic inside your own macros, if what you're trying to do is very close to what Chimney does but when extending it for your use cases requires modifying macros rather than providing an implicit
chimney-engine
has a release cycle tied to core Chimney (meaning the same version), but please consider this API experimental
- bugfix for pattern matcing fall through when the Scala 3's enum parameterless case is lowercased #479 - fixed by @jchyb in #603
- workaround against the bug in the compiler scala/scala3#21672 which would make order of cases in match nondeterministic (breaking cache)- fixed in #623