Releases: MateuszKubuszok/pipez
Releases · MateuszKubuszok/pipez
Fixed bug in Scala 3 and ommits diagnostics generation if it's disabled
- fix issue #27
- skip generation of diagnostics messages if diagnostics flag is disabled (should speed up derivation a bit)
- skip analyzing java.lang.Object methods, scala.Product methods, as well as case class-generated methods to speed up field matching
- update Scala.js to 1.12.0
- update Scala Native to 0.4.9
Updated Scala versions
- updates Scala 2.13 to 2.13.10 - Scala 2.13.9 is advised to be skipped due to binary incompatibility
- updates Scala 3 to 3.2.1
- updates Scala Native to 0.4.8
- adds best-effort syntax coloring in
.enableDiagnostics
output
Initial fallback to value and patching implementation
- new
addFallbackToValue
config - new
value.patchWith(patch)
syntax
Better cross-compilation between 2.13 and 3, AnyVal support
- support for AnyVal <=> primitive conversion
- support for Scala 3 enum <=> Scala 2 sealed hierarchy conversion (with exception of 2.13 JS, there is a bug there)
- support for Scal3
@BeanProperty
<=> Scala 2@BeanProperty
conversion - product derivation can be recursive with
recursiveDerivation
config without derivation implicit in scope path: Path
inupdateContext
was made by-name param to avoid allocation cost for implementations which don't use it
Hotfix dependency information in build
Due to bug(?) in sbt plugin published artifacts had a wrong, non-existing dependency. This release fixes this.
More configation options from Chimney, JS and Native
This release have a broken dependencies, it is advised to use 0.3.1+!
- support for case class <=> tuple derivation
- configuration options:
- enable fallback on default values when no other source is available
- initial version of a DSL that presents how derivation could be used to implement functionality of
Transformer
andTransformerF
with error aggregation and path to failed value from Chimney - cross compilation with Scala JS and Scala Native (for 3 only)
PipeDerivation don't have to be defined as `val`
PipeDerivation[Pipe]
don't have to be defined asval
in Scala 2 since macro no longer relied on stable path-dependent types- improved documentation for
Path
and mixins withderive
- small internal fixes
First release
- support for case class/java bean => case class/java bean derivation
- support for ADT => ADT derivation
- configuration options:
- added field
- renamed field
- custom in field -> out field pipe
- case insensitive field name matching
- added subtype
- renamed subtype
- custom in subtype -> out subtype pipe
- case insensitive subtype name matching
- enable derivation diagnostics: settings used, resolution, generated code, derivation time
- Scala 2.13.8 and 3.2.0