Take a look at the full release notes to learn even more! Try out the new features and let the maintainers know about any potential issues!
scalameta.org/metals/blog...
@scalaspace.bsky.social
Where #Scala meets the industry By virtuslab.com & softwaremill.com
Take a look at the full release notes to learn even more! Try out the new features and let the maintainers know about any potential issues!
scalameta.org/metals/blog...
And another code action will allow you to quickly switch any map/filter chains into a collect method invocation.
16.10.2025 15:01 β π 1 π 0 π¬ 1 π 0We also have two new code actions. First one will allow you to convert any infix notation to a standard one. This is not enabled for symbolic operators.
16.10.2025 15:01 β π 0 π 0 π¬ 1 π 0If you are using Bazel you might have noticed that until now there was no information about tests and no ability to run them. With this release we will be able to run any tests we want! This will require semanticdb enabled in your workspace.
16.10.2025 15:01 β π 0 π 0 π¬ 1 π 0There is more! If you are a fun of quickly checking currently worked on test case, it's now possible to run the closes test case or method to the current cursor position!
16.10.2025 15:01 β π 0 π 0 π¬ 1 π 0Did you ever get annoyed that you need to reimport everything when copying between different files? Worry no more! Metals will now try it's best to take care of that for you.
16.10.2025 15:01 β π 2 π 0 π¬ 1 π 0Enabling the new closing labels inlay hints will allow you to easily track where each method or class body ends.
16.10.2025 15:00 β π 0 π 0 π¬ 1 π 0New 'copy FQN' command will allow you to get the fully qualified name for any class, method, object or value. This can later be used in places like scaladocs. For example when invoked on the "main" method, you will get a result in for of "com.example.Main#main"
16.10.2025 15:00 β π 1 π 0 π¬ 2 π 0New MCP tool to generate Scalafix rules will allow LLMs to generate refactorings tailored to your workspace.
It's especially useful for any manual repetitive tasks.
Ask your agent to use Metals MCP with the Scalafix rule generation to try it yourself.
New Metals 1.6.3, codename "Osmium", has just been released!
It comes with few interesting new features and we'll take the opportunity to go on a small tour.
We've just released sttp-ai 0.4.0 (formerly sttp-openai): you can now find clients for both OpenAI and Claude APIs. Same as sttp-client, the library works with any #Scala ecosystem: direct-style (synchronous), Future, cats-effect & ZIO. Enjoy!
github.com/softwaremil...
This concludes our Ox feature tour - hope you've enjoyed it as much as we did!
If you feel a feature is missing, or if you have a suggestion for an integration, just create an issue, we'll be happy to assist:
github.com/softwaremil...
More in the docs:
ox.softwaremill.com/latest/inte...
And/or, check out our OpenTelemtry-enabled application template, written using direct-style & Ox:
github.com/softwaremil...
Ox feature tour, day 19: because it's direct style, integration with OpenTelemetry (metrics+logging+tracing) "just works"! To propagate tracing context inside concurrency scopes, you only need a single switch at your top-level `OxApp`!
07.10.2025 10:00 β π 1 π 1 π¬ 1 π 0π You can find more information on the Tooling Spree website at scalameta.org/scala-tooli....
π¨ In case of issues or questions feel free to email us at tooling-spree@virtuslab.com.
π οΈ Next Scala Tooling Spree is coming up.
ποΈ It will take place on 09.10 17:30-19:30 CET.
βοΈ If you'd like to participate please register by 7th here:
forms.gle/yUurzS2KiM2...
More in the docs:
ox.softwaremill.com/latest/util...
Ox feature tour, day 18: `.pipe` and `.tap`, even extremely simple, are suprisingly useful! And there's no overhead: these are inline methods, hence a "zero-cost abstraction". Bonus: discover the `debug`, `.discar` and `.tapException` methods!
02.10.2025 10:00 β π 0 π 0 π¬ 1 π 0More in the docs:
ox.softwaremill.com/latest/basi...
Ox feature tour, day 17: converting exceptions to `Either`s, and vice versa is trivial thanks to the inline `.catching[]` and `.orThrow` methods. A panic at one level, might become an expected error at another!
01.10.2025 10:00 β π 1 π 1 π¬ 1 π 0More in the docs:
ox.softwaremill.com/latest/basi...
Ox feature tour, day 16: we propose error handling based on "panics" (exceptions) and "expected" errors, represented as Eithers. Working with the lattter is ergonomic thanks to Scala's boundary/break, and its Ox-provided specialization to Eithers using `either: and `.ok()`
30.09.2025 10:00 β π 1 π 1 π¬ 1 π 0More in the docs:
ox.softwaremill.com/latest/inte...
Ox feature tour, day 15: Flows provide integration with Kafka, allowing one to implement the common publish-then-commit pattern using an elegant high-level, functional API.
25.09.2025 10:00 β π 1 π 1 π¬ 1 π 0More, in the docs:
ox.softwaremill.com/latest/stre...
Ox feature tour, day 14: declarative concurrency in flows - virtual threads are started (and terminated on error) safely, without ever needing to touch concurrency scopes! Signalling an error is as easy as throwing an exception.
24.09.2025 10:00 β π 1 π 1 π¬ 1 π 0More in the docs:
ox.softwaremill.com/latest/stre...
Ox feature tour, day 13: flows provide I/O integration, declarative concurrency, and reactive streams compatibility!
23.09.2025 10:00 β π 1 π 1 π¬ 1 π 0(2/2) > With these new features, Wasm has much better support for compiling high-level programming languages. Enabled by this, we have seen various new languages popping up to target Wasm, such as Java, OCaml, Scala, Kotlin, Scheme, or Dart, all of which use the new GC feature.
22.09.2025 13:30 β π 3 π 1 π¬ 0 π 0Wasm 3.0 is completed, with major new features like GC and exception handling! Scala is now acknowledged as a language that compiles to WebAssembly π
webassembly.org/news/2025-0...
(1/2)
#Wasm #Scala