Skip to main content

Scala 3.8.4

Release Date: June 5, 2026

Scala 3.8.4 has been released — the latest stable iteration of the Scala 3.x line, bringing compiler optimizations, improved IDE diagnostics, and a batch of community-requested refinements to the type system.

What Changed

Scala 3.8.4 is a minor release in the 3.8 series, following 3.8.3 from late May. It focuses on stability and developer experience rather than new language features, though there are a few notable additions worth highlighting.

Compiler and Performance

  • Faster incremental compilation — The dotty compiler now skips analysis of unchanged macros and inline methods, shaving 15–25% off repeated builds in large multi-module projects.
  • Reduced memory pressure — Type inference for deeply nested match types now uses a more efficient constraint solver, cutting peak heap usage by approximately 10% in scenarios with heavy type-level computation.
  • Better error messages for given/using — When the compiler cannot resolve an implicit, the error now suggests the closest candidate and explains why it was rejected — a quality-of-life improvement that new Scala 3 adopters will appreciate.

Why It Matters

Scala 3.8.x is the current stable line, and 3.9 is on the horizon as the next LTS release. This means 3.8.4 is a recommended upgrade for anyone on 3.8.0 through 3.8.3 — the improvements are backward-compatible and the stability payoff is immediate. For teams still on 3.3.x LTS, the gap in tooling and performance is now wide enough that a migration to 3.8.x is worth serious evaluation.

Breaking Changes and Deprecations

  • Deprecated: old SIP-23 syntax — The legacy explicit nulls syntax from Scala 3.5 is now officially deprecated and will be removed in 3.9.
  • Behavior change: enum exhaustiveness — Match-on-enum warnings are now emitted at compile time for sealed enums that lack a default case, even when the match appears inside a macro. Code relying on the previous lenient behavior should add an explicit default branch.

What's Next

The Scala Center has announced that 3.9.0 feature freeze is expected in late July, with a release candidate in August. Highlights include the long-awaited stable capture-checking (CC) feature, improved Scala.js interop, and a reworked presentation compiler for faster IDE responses. 3.8.4 is the last recommended stop before the LTS migration.

Scala 3.8.4 is available now. Update your build.sbt to "3.8.4" or use coursier to fetch the latest compiler.

What is New?

By continuing to use the site, you agree to the use of cookies.