Scala 3 has been carefully designed to improve the backward and forward compatibility of the Scala programming language.
In the Compatibility Reference you will learn about the compatibility between Scala 2.13 and Scala 3.0 in the context of the migration.
The Scala 3 compiler is, in itself, a migration tool that can assist you while doing the migration.
No installation required, everything is in the compiler. Discover the Scala 3 Migration Mode.
Scala 3 provides a toolbox full of metaprogramming features, which are safer, more robust, and much more stable than their counterparts in Scala 2. Implementing macro libraries in Scala 3 is simpler and the resulting libraries are easier to maintain across future versions of Scala. The improvements come at a price: the metaprogramming facilities have been re-designed from the ground up. In consequence, existing macro libraries need to be ported to the new interfaces.
In the Macros section, you will find helpful content to port your macros code to Scala 3.