You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2025-02-01-next-scala-lts.md
+29-26
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,39 @@
1
1
---
2
2
category: announcement
3
3
permalink: /news/next-scala-lts.html
4
-
title: "Next Scala 3 LTS version"
4
+
title: "Next Scala 3 LTS version will increase minimum required JDK version"
5
5
by: Tomasz Godzik
6
6
---
7
7
8
-
**TLDR;**
8
+
**TL;DR**
9
9
10
-
An API used in the `lazy val` implementation will be removed in a future JDK.
11
-
Its replacement is only available on JDK 9+. Therefore, the Scala 3 Next minors
12
-
in 2025 Q4 and the next LTS will drop JDK 8 support.
10
+
The Scala 3 Next minors in 2025 Q4 and the next LTS will drop JDK 8 support. We are seeking feedback on whether the new minimum JDK should be 11 or 17.
13
11
14
12
## Intro
15
13
16
14
For the compiler’s second LTS version, the Scala 3 compiler team will be
17
-
dropping support for JDK 8 and is considering which later JDK to use.
15
+
dropping support for JDK 8 and is considering which later JDK to require —
16
+
perhaps 11, perhaps 17.
18
17
19
18
## Immediate motivation
20
19
21
20
The recent [JEP 471](https://openjdk.org/jeps/471) stated that the memory-access
22
-
methods in sun.misc.Unsafe are scheduled for removal in a future release.
23
-
Currently, Scala 3 uses sun.misc.Unsafe in its implementation of lazy values.
21
+
methods in `sun.misc.Unsafe` are scheduled for removal in a future release.
22
+
Currently, Scala 3 uses `sun.misc.Unsafe` in its implementation of lazy values.
24
23
This was needed due to compatibility with JDK 8. In order to support JDK 25+, we
25
-
will need to drop usage of Unsafe. We are investigating the required changes
26
-
under [this issue](https://github.com/scala/scala3/issues/9013). It also started
27
-
to dawn on the compiler team that we might consider stopping to support JDK 8
28
-
altogether in a future release of Scala 3.
24
+
will need to drop usage of `Unsafe`. We are investigating the required changes
25
+
under [this issue](https://github.com/scala/scala3/issues/9013).
26
+
27
+
It also started to dawn on the compiler team that we might consider dropping
28
+
support for JDK 8 altogether in a future release of Scala 3.
29
29
30
30
## Long term motivation
31
31
32
32
Switching to a newer version of the JDK would allow both the compiler and the
33
33
Scala ecosystem to start using new features and standard library improvements
34
-
brought in by JDK 9+. brought in by JDK 9+. This might include a number of JEPs,
35
-
which the compiler team will investigate during the coming year. To check the
36
-
current status, take a look at the issues marked with the
34
+
brought in by JDK 9+. This might include a number of JEPs (JDK Enhancement
35
+
Proposals), which the compiler team will investigate during the coming year. To
36
+
check the current status, take a look at the issues marked with the
0 commit comments