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.3.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
We have released 3.3.0-RC4
The new release is focused on bringing improvements to linting. We have eliminated most of the false positive -Wunused
warnings.
If no significant bugs are found, we expect a full release of 3.3.0 in the last days of April.
11 Likes
We have released 3.3.0-RC5
RC4 was causing very rare (3 projects out of over 800 tested) crashes during the compilation when linting was enabled. We have fixed the problem. We also decided to stabilize Mirror#fromProductTyped
that was requested by users and that we consider mature enough.
9 Likes
We have released 3.3.0-RC6
Yet another RC. It significantly improves backward source compatibility with 3.2.2. Right now, we are confident and satisfied with this release. If no new regressions are found, we can expect 3.3.0 next week.
11 Likes