Scala 3.3.9 Maintenance Update Released for Long Term Support Series
Scala 3.3.9 brings compiler fixes for Java generic signatures, improved pattern matching, parser updates, and tooling enhancements for Metals and Scaladoc.
Scala 3.3.9 is available as the newest maintenance update in the Long Term Support series. This version corrects Java generic signatures for higher-kinded types and value classes, and adds exhaustiveness checks when matching on sealed abstract Java classes.
The backend now handles bounds on higher-kinded types more reliably, boxes bounded arguments in HKT result types, and unwraps refined types during Java generic signature generation. It also fixes signature generation problems for arrays of value classes and forwarders containing value classes. Pattern matching now checks exhaustiveness for sealed abstract Java classes.
Compiler reporting updates include actionable diagnostics for unresolved identifiers pointing toward potential fixes. The parser now warns about ambiguous negative literal syntax like - 42 with whitespace or -42.abs, which can cause unexpected results due to unary operator precedence. Additionally, the parser recovers from unclosed string literal errors instead of aborting compilation immediately.
Tooling fixes include Scaladoc stopping the bundling of custom fonts, removing legacy jQuery and unreferenced JavaScript assets, and resolving a NullPointerException that occurred when inspecting signatures under JDK 25. For Metals 2, the presentation compiler introduces batch SemanticDB generation, fixes an inlay hint crash caused by inlined trees from external dependencies, and prevents errors from other files from appearing during interactive sessions.
