Skip to content

v0.14.0: Scala-native support, improvements across the board

Compare
Choose a tag to compare
@Baccata Baccata released this 12 Jul 12:55
081bc16

The 0.14.0 release breaks binary compatibility, as well as source compatibility (in a few places) with the previous versions.

It does however achieves a number of significant improvements across the boards, in terms of user experience, performance and maintainability.

Special thanks to @plokhotnyuk, @schmeedy, @yisraelU, @daddykotex

Highlights

  • The core/json/dynamic modules are now published for scala-native (scala 3 only for the time being)
  • The http4s-swagger-ui module has received an overhaul, in order to avoid relying on a javascript function that presented a security issue, but also to allow for users to easily serve several specifications at the same time.
  • Having union members target the Unit shape now leads to the corresponding type be rendered as a case object in Scala.
  • A mechanism was added for users to be able to opt-in Vector and IndexedSeq Scala types when using smithy list shape.
  • The Timestamp construct was overhauled to unify its modelling across the different platforms, and received a massive performance improvement for parsing/serialising.
  • Modified the SBT plugin to have SBT pre-fetch the artifacts before calling the Smithy4s code-generation, making it more respectful to other settings (such as repository credentials)
  • The smithy4s.schema.Schema construct was reworked to unify the collections under a common abstraction, and the smithy4s.schema.SchemaVisitor construct was also changed to reduce the likelihood of a common mistake related to memoisation of union encoders .

What's Changed

New Contributors

Full Changelog: v0.13.7...v0.14.0