Skip to content

Ground-up rewrite on Hearth with a new data-transformation DSL, migrated to sbt 2.0 and current Scala/Scala Native

Latest

Choose a tag to compare

@MateuszKubuszok MateuszKubuszok released this 26 Jun 18:04
· 1 commit to master since this release
fea63fd

The first pipez release in over three years, and a complete rebuild. The macro layer has been re-implemented from scratch on top of Hearth, the cross-compiled (Scala 2.13 + 3) macro toolkit, and the build has been moved to sbt 2.0 and the current Scala / Scala.js / Scala Native toolchains. This release also drops the historical v tag prefix.

  • rewrite the whole Scala 2.13 + 3 derivation on top of Hearth 0.4.0, replacing the hand-rolled per-platform macro layer (#33)
  • unify the config-DSL parser into a single shared readConfig built on Hearth's DestructuredExpr, deleting the two near-identical Scala 2 / Scala 3 raw-AST walkers (#34)
  • thread the abstract Context / Result[_] through codegen as real types, dropping the Expr[Any] + asInstanceOf erasure so derivation is now fully typed (#34)
  • add the new pipez-dsl module providing a ready-to-use Convert[From, To] / Converter type class with convertInto, plus PatchApplier / patchWith for patches (import pipez.dsl.*)
  • migrate the build to sbt 2.0.0 (requires JDK 17+) using the org-wide sbt-2.0 recipe; %%% is gone (sbt 2.0's %% is platform-aware) and the ci-* / test-* aliases are registered via the sbt-kubuszok Aliases helper (#35)
  • update Scala to 2.13.18 and 3.8.4, and Scala Native to the 0.5.x series (artifacts now native0.5); Scala.js and JVM remain supported (#35)
  • publish under com.kubuszok via central.sonatype.com (Sonatype Central)
  • note: TransformerF (the Chimney type class pipez mirrors) is now marked deprecated upstream; the README documents an intended path of deprecating it in 0.7.0 and removing it in 0.8.0