scalaxb 1.12.1

scalaxb 1.12.1 is released.

Scala 3 compatibility improvements

Continuing the theme from scalaxb 1.12.0, scalaxb 1.12.1 improves the code generation for Scala 3. In #654 Matt Dziuban contributed a fix to stop passing in an implicit parameter explicitly, which started to fail to compile on Scala 3.5.0 without using marker.

In #661 @eed3si9n further improved the Scala 3 compatibility enough to pass -Xfatal-warnings with basic usages on LTS Scala 3.3.3 and non-LTS Scala 3.5.0:

  • Passing sequence to a vararg was changed from xs: _* to xs*
  • Self type with refinement was changed from self: A with B => to self: A & B =>
  • Added indentations where there were an offside "Line is indented too far to the left" warning
  • Rewrote some infix usages like value startsWith "{" to Java-style value.startsWith("{") notation
  • Variable initialization was changed from _ to Java-style null
  • Wildcard type argument was changed from _ to ?

Full release note is at https://github.com/eed3si9n/scalaxb/releases/tag/v1.12.1