v1.1.0
Changelog:
-
updated Scala 2.13 to 2.13.14 (#526)
- it's the first release implementing SIP-51
which drops forward comparibility in standard library. It means that every library compiled with 2.13.14 or higher will
evict standard library to higher version - and since the compiler cannot be at lower version than the .ibrary it will also force
Scala version update. This change was reade to merge before Chimney 1.0.0 but we postponed it to give people more time to migrate to this new convention
- it's the first release implementing SIP-51
-
replaced Scala Native 0.4 with Scala Native 0.5 (#545) - while ideally we'd prefer to have a stepping-stone release cross-compiled for both 0.4 and 0.5,
libries that Chimney depends on in its integrations (Cats, Scala Collection Compat, Scala Java Time, ScalaPB) moved directly to
SN 0.5 dropping 0.4 on the spot -
made the order of pattern-matching in sealed trait/enum transformation deterministic (useful for avoiding cache misses) (#543) - thanks to @reimai for the first contribution!
-
replaced hardcoded dependency on DSL's runtime overrides storage from macros internals (#552, fixed in #539)
-
this change unblocks the possibility to provide a different front-end to Chimneys macros (or using Chimney macros inside your macros). It would allow a development of, for instance:
- Ducktape-like DSL without builder-API runtime overhead (
value.transformInto(overrides)
) - Chimney-based lenses - currently Chimney can be used for lenses-like operations
but it only works with.into.overrides.transform
API and bears the costs of builder-API overhead
(with different API it would be possible to update several nested fields with no overhead compared to manually written code!) - specialized derivations - initiatives like moia-oss/teleproto#321 would be able to call and customize Chimney macros directly,
replace Chimney'sTransformer
with their own type class, add/remove derivation rules, etc. with collision with Chimney
If you are interested in this, please contact us using GH discussions!
- Ducktape-like DSL without builder-API runtime overhead (
-