Skip to content

v1.1.0

Compare
Choose a tag to compare
@MateuszKubuszok MateuszKubuszok released this 07 Jun 15:28
· 37 commits to master since this release

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
  • 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's Transformer 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!