Differences between Scala 2 and 3 SDK versions

      +
      The Scala 3 version of the SDK has some differences from the Scala 2 versions. But we expect the majority of Scala 2 applications will be able to migrate to Scala 3 and the Scala 3 version of the SDK with minimal or even no differences.

      If any of the following changes impact you as either an existing Scala 2 SDK user or an interested Scala 3 user, then please let us know. For some of these migrations we can offer alternative approaches, or discuss re-adding desired functionality.

      The Scala 3 version of the SDK:

      • Does not carry forward support for the Reactor API, as the Scala Reactor Extensions library that it depends on is long end-of-life. The Future API offers most of the same functionality while being considerably easier to use, and more Scala-centric. It is also easily adapted to other Scala libraries such as Cats Effect and ZIO.

      • Does not carry forward the built-in support for JSON libraries (Circe, json4s, etc.), as this has increasingly become problematic to maintain as those libraries migrate to new majors.

      • Does not carry forward support for views, analytics, replica reads, management operations, and datastructures.

      • There are two overloads for most API methods, one that takes an options block, and one that tries to be a convenience method offering a few popular settings. The latter is removed in the Scala 3 version, significantly simplifying the API.