Skip to content

Scanamo 1.0.0-M12

Compare
Choose a tag to compare
@regiskuckaertz regiskuckaertz released this 11 Jan 15:22
b5a4559

Notable changes

Hello Magnolia

This milestone introduces a major change by removing Shapeless. Generic derivation is now done with Magnolia instead. Magnolia gives us the ability to have more information about data types and handle more uses cases that were not covered before. Right off the bat, Scanamo now respects default values for class members, an oft-requested feature.

As a side note, the new meta-programming features coming in Dotty are really exciting. The macro framework is much cleaner and more principled, and the multi-stage paradigm opens up the possibility of creating a new meta-language akin to what is describe in the paper "Everything old is new again: Quoted Domain Specific Languages" by Wadler et al.

It is not impossible that Shapeless will make its way back in the future, but if it does it will be secluded to a scanamo-generic-advanced package.

First stab at transactions

DynamoDB has been supporting transactions for a while now, and I'm happy that Scanamo can now perform multiple puts in a single transaction. There's more to come!

Experiment with Table#put

The type of Table#put changed to A => F[Unit], this matches people's expectations. There's now Table#putAndReturn : A => F[Option[A]] which allows one to ask for getting either the old or the new item back, which may be useful sometimes.

Updates

By contributors

By scala-steward

  • Update sbt-header to 5.4.0
  • Update magnolia to 0.12.6
  • Update magnolia to 0.12.5
  • Update sbt-ci-release to 1.5.0
  • Update sbt to 1.3.6
  • Update scalacheck to 1.14.3
  • Update sbt to 1.3.5
  • Update sbt-scalafmt to 2.3.0
  • Update zio-interop-cats to 2.0.0.0-RC10
  • Update zio-interop-cats to 2.0.0.0-RC9
  • Update sbt to 1.3.4
  • Update sbt-scoverage to 1.6.1
  • Update zio-interop-cats to 2.0.0.0-RC8
  • Update zio, zio-streams to 1.0.0-RC17
  • Update monix to 3.1.0
  • Update fs2-core to 2.1.0
  • Update zio-interop-cats to 2.0.0.0-RC7
  • Update zio, zio-streams to 1.0.0-RC16
  • Update joda-time to 2.10.5
  • Update sbt-scalafmt to 2.2.1
  • Update sbt-scalafmt to 2.2.0
  • Update scalafmt-core to 2.2.1
  • Update scalafmt-core to 2.2.0
  • Update zio, zio-streams to 1.0.0-RC15
  • Update sbt to 1.3.3
  • Update scalafmt-core to 2.1.1
  • Update sbt-scalafmt to 2.0.7
  • Update akka-stream-alpakka-dynamodb to 1.1.2
  • Update zio-interop-cats to 2.0.0.0-RC5
  • Update zio, zio-streams to 1.0.0-RC14
  • Update sbt-microsites to 0.9.7
  • Update tut-plugin to 0.6.13
  • Update scalafmt-core to 2.1.0
  • Update sbt-scalafmt to 2.0.6
  • Update scalacheck to 1.14.2
  • Update sbt-microsites to 0.9.6
  • Update zio-interop-cats to 2.0.0.0-RC4
  • Update sbt-ci-release to 1.4.31