v0.29.0
Summary
This is the first release of Mu to support Scala 3:
- every module apart from
mu-config
is cross-published for Scala 2.13 and Scala 3 (support for 2.12 has been dropped) - the docs on the microsite are now built with Scala 3
- a large proportion of the tests are now run against both 2.13 and 3
As part of the work to support Scala 3, we have removed the @service
macro annotation. (It does not exist in the Scala 3 build, while for 2.13 it still exists but its use is deprecated.)
This means that we no longer support building service definitions directly in Scala. Instead we recommend an IDL-first approach, using sbt-mu-srcgen to generate service definitions from Avro/Protobuf IDL files. sbt-mu-srcgen has been updated to source-generate everything that used to be generated by the macro annotation.
If you are using Avro, Scala 3 support should be considered experimental. We use Avro4s for Avro serialization of requests and responses, and the Avro4s build for Scala 3 is still relatively immature. It has some known missing features, e.g. support for fields with default values.
The mu-rpc-health-check
has been completely rewritten (#1461) to be compliant with the gRPC health check specification.
What's changed
- Rewrite docs (#1471) @cb372
- Switch to sbt-crossproject for cross-building (#1468) @cb372
- Port a bunch of tests to use source generation instead of the macro annotation (#1464) @cb372
- Cross-build the tests module (#1463) @cb372
- Add a TaggedDecimal type to replace Shapeless tagging (#1457) @cb372
- Define our own Avro union types to replace shapeless Coproduct (#1453) @cb372
- Cross-build some modules for Scala 3 (#1448) @cb372
- Add a marshaller for ScalaPB generated messages (#1442) @cb372
- Remove dead link to Compendium-related page (#1440) @cb372
- Fixed Typo. (#1436) @rohitbishnoi
⚠️ Breaking changes
- Rewrite the health-check module (#1461) @cb372
- Scala 2.12 is no longer supported
- The deprecated (macro-generated) methods
bindTracingService
andtracingClient
have been removed
📈 Dependency updates
- Bump sbt-mu-srcgen from snapshot to v0.29.0 (#1477) @cb372
- Update avro4s-core to 4.0.13 (#1476) @47erbot
- Update sbt-mu-srcgen to 0.28.0+42-f5b46f26-SNAPSHOT (#1475) @47erbot
- Update log4cats-core, log4cats-slf4j to 2.3.1 (#1474) @47erbot
- Update avro4s-core to 5.0.0 (#1472) @47erbot
- Update sbt-mu-srcgen to 0.28.0+41-e4960524-SNAPSHOT (#1473) @47erbot
- Update log4cats-core, log4cats-slf4j to 2.3.0 (#1470) @47erbot
- Update sbt-tpolecat to 0.3.1 (#1465) @47erbot
- Update grpc-all, grpc-core, grpc-netty, ... to 1.46.0 (#1466) @47erbot
- Update scalatest to 3.2.12 (#1467) @47erbot
- Update sbt-header to 5.7.0 (#1462) @47erbot
- Update scalafmt-core to 3.5.2 (#1460) @47erbot
- Update sbt-tpolecat to 0.2.3 (#1459) @47erbot
- Update scala3-library to 3.1.2 (#1458) @47erbot
- Update scalafmt-core to 3.5.1 (#1456) @47erbot
- Update scalafmt-core to 3.5.0 (#1454) @47erbot
- Update cats-effect to 3.3.11 (#1455) @47erbot
- Update fs2-grpc-runtime to 2.4.8 (#1452) @47erbot
- Update grpc-all, grpc-netty, grpc-okhttp, ... to 1.45.1 (#1451) @47erbot
- Update fs2-core to 3.2.7 (#1449) @47erbot
- Update mdoc, sbt-mdoc to 2.3.2 (#1447) @47erbot
- Update cats-effect to 3.3.9 (#1446) @47erbot
- Update scala-collection-compat to 2.7.0 (#1445) @47erbot
- Update fs2-grpc-runtime to 2.4.7 (#1444) @47erbot
- Update cats-effect to 3.3.8 (#1443) @47erbot
- Update metrics-core, metrics-jmx to 4.2.9 (#1441) @47erbot
- Update cats-effect to 3.3.7 (#1439) @47erbot
- Update grpc-all, grpc-netty, grpc-okhttp, ... to 1.45.0 (#1438) @47erbot
- Update logback-classic, logback-core to 1.2.11 (#1437) @47erbot
- Update fs2-grpc-runtime to 2.4.6 (#1435) @47erbot
- Update cats-effect to 3.3.6 (#1434) @47erbot
- Update mdoc, sbt-mdoc to 2.3.1 (#1433) @47erbot
- Update grpc-all, grpc-netty, grpc-okhttp, ... to 1.44.1 (#1432) @47erbot
- Update sbt-tpolecat to 0.1.22 (#1431) @47erbot
- Update fs2-core to 3.2.5 (#1430) @47erbot
- Update scalafmt-core to 3.4.3 (#1428) @47erbot
- Update mdoc, sbt-mdoc to 2.3.0 (#1423) @47erbot
- Update cats-effect to 3.3.5 (#1426) @47erbot
- Update sbt to 1.6.2 (#1422) @47erbot
- Update metrics-core, metrics-jmx to 4.2.8 (#1420) @47erbot
- Update simpleclient to 0.15.0 (#1421) @47erbot
- Update fs2-grpc-runtime to 2.4.4 (#1427) @47erbot
- Update jcl-over-slf4j, jul-to-slf4j, ... to 1.7.36 (#1425) @47erbot
- Update sbt-header to 5.6.5 (#1419) @47erbot
- Update scalafmt-core to 3.4.2 (#1424) @47erbot
- Update grpc-all, grpc-netty, grpc-okhttp, ... to 1.44.0 (#1415) @47erbot
- Update scalafmt-core to 3.3.3 (#1416) @47erbot
- Update scalatest to 3.2.11 (#1417) @47erbot
- Update jcl-over-slf4j, jul-to-slf4j, ... to 1.7.35 (#1418) @47erbot