We have released Scala 3.3.0-RC2.
According to our current plan, Scala 3.3 will become the first LTS version of the language. It will also bring many vital improvements to the language, including:
- lightweight lazy vals implementation enabled by default
-
fewerBraces
enabled for all code
-
boundary
/break
control abstractions (read more)
- linting with warnings about:
- unused values
- unused imports
- discarded non-Unit values
10 Likes
Important notice about GraalVM and 3.3.0-RC2:
If you are generating a GraalVM native image for code compiled with Scala 3.3.0-RC2 and encounter some runtime problems, like hanging or strange errors, try recompiling your code with -Ylegacy-lazy-vals
flag enabled. This is a known problem and will either be resolved in the following RCs, or we will revert to old lazy vals as a default one.
1 Like
What about RC1?
Due to a very subtle flaw in our vcs flow, we have released RC1 producing the output with the wrong version of TASTy. This was not desired, as code compiled with 3.3.0-RC1 could have been used as a dependency of a code compiled with Scala 3.2. This could have led to undefined behavior. We have decided to fix the bug and release the RC2 immediately.
1 Like
We have released 3.0.0-RC3
The latest release candidate fixes problems with lazy vals in native images. It also resolves a few bugs around GADTs, some of which had been avoided fixing for many months.
6 Likes