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: blog/_posts/2025-02-04-highlights-2024.md
+8-6
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ Welcome to the first edition of **Scala Highlights**, a new quarterly newsletter
11
11
The newsletter is a joint effort by the Scala Center, LAMP, Akka, and VirtusLab, the four core organizations involved in the Scala language development.
12
12
It also covers our collaborations with other parties, such as the Scala Center’s advisory board.
13
13
14
-
This inaugural issue is special as it offers a recap of 2024, celebrating the year's most significant advancements, and their impact on the Scala ecosystem.
14
+
This inaugural issue is special as it offers a recap of 2024, celebrating the year's most significant advancements and their impact on the Scala ecosystem.
15
15
Future issues will cover quarterly highlights.
16
16
17
17
A few of the highlights covered in this issue:
@@ -90,8 +90,10 @@ Further reading:
90
90
Scala Native 0.5 introduces an implementation of `java.lang.Thread` based on system threads, along with Scala and Java concurrency primitives.
91
91
It provides support for synchronized blocks, `@volatile` annotations, final fields, and includes thread-safe implementations of most classes in `java.util.concurrent`, `scala.concurrent` and `scala.collection.concurrent`.
92
92
93
+
The support is solid enough to allow the Scala parallel collections library to work on Native without code changes.
94
+
93
95
For more details about the multi-threading support in Scala Native, check out the [Scala Native 0.5 release notes](https://scala-native.org/en/stable/changelog/0.5.x/0.5.0.html).
94
-
It also contains the initial support for 32-bit architectures, and more.
96
+
It also contains initial support for 32-bit architectures, and more.
95
97
96
98
## Developer experience
97
99
@@ -101,7 +103,7 @@ It also contains the initial support for 32-bit architectures, and more.
101
103
It allows lightning-fast running and testing of Scala code. It can even publish single-module projects to Maven Central without involving a separate build tool.
102
104
103
105
In 3.5.0, it became the default runner in the Scala distribution.
104
-
You can install it as `scala` using Coursier, or popular package managers such as Homebrew or SDKMAN!.
106
+
You can install it as `scala` using Coursier or popular package managers such as Homebrew or SDKMAN!.
105
107
Check out the default installation for your system on [scala-lang.org/download](http://scala-lang.org/download).
106
108
107
109
This is a game-changer for the Scala runner, as it introduces `using` directives to configure Scala files with compiler options, library dependencies and more.
@@ -141,7 +143,7 @@ To learn about these new features and more, check out the [sbt 2.0.0-M3 announce
141
143
142
144
*By the IntelliJ Scala plugin team at JetBrains*
143
145
144
-
In 2024, the IntelliJ Scala Plugin introduced a new sbt layout, which creates separate `main` and `test` modules for each sbt project.
146
+
In 2024, the IntelliJ Scala Plugin introduced a new sbt layout which creates separate `main` and `test` modules for each sbt project.
145
147
This change allows for different compiler options in each scope and improves the representation of dependencies.
146
148
To enable this feature you can follow the guide in [this blog post](https://blog.jetbrains.com/scala/2024/11/19/new-module-layout-for-sbt/).
147
149
@@ -151,7 +153,7 @@ In addition, IntelliJ automatically recognizes it when importing existing Scala
151
153
Other minor enhancements are planned for future releases.
152
154
153
155
Throughout 2024, the Scala 3 support improved steadily with each release.
154
-
Although there is still much work to do, the latest IntelliJ Scala Plugin can now import most Scala 3 projects effectively.
156
+
Although there is still work to do, the latest IntelliJ Scala Plugin can now import most Scala 3 projects effectively.
155
157
Furthermore, Scala 3.3.x LTS is now selected as the new default version when creating new projects.
156
158
157
159
Other major updates from 2024 include:
@@ -169,7 +171,7 @@ One of those efforts has been implementing best-effort compilation for Scala 3.
169
171
Best-effort compilation allows Metals to provide the most up-to-date information, for things such as autocompletion even in broken code that fails to compile.
170
172
171
173
Since this is a big change, we are still making sure everything works correctly.
172
-
It’s an opt-in feature.
174
+
The feature remains opt-in for now.
173
175
To try it out you can start Metals with `-Dmetals.enable-best-effort=true`, or if using VS Code put that into `metals.serverProperties`.
174
176
175
177
A more limited version is implemented for Scala 2. It is based on outline compilation, which only compiles signatures.
0 commit comments