Scala 3.10.0 release thread

The first release candidate for Scala 3.10.0 is now available for public tests!

Highlights of the release

  • Add support for \s space escape #26515
  • Add support for //> using dep directives in the REPL (along with trailing code) #26507
  • Add .deb and .rpm packaging #26858
  • New stablized features:
    • SIP 71: strictEqualityPatternMatching is now enabled by default default & add deprecation mechanics for -language feature flags #26424
  • New preview features:
    • SIP 61: Unroll default arguments for binary compatibliy is now in preview #24903
    • SIP 75: Relaxed lambda syntax is now in preview #26728
    • SIP 68: Referenceable package objects is now preview #24586
  • New experimental features:
    • Pre-SIP: Inline Traits & Specialized Traits #26156
    • Pre-SIP: Modular AGentic Interface Code: Spec strings #26486

The upcoming 3.10.0-RC2 would also introduce support for java records in pattern matching #26497

Breaking changes

Scala 3.10 opens possibility for more breaking changes, this might be related to changes in standard library (inlining, replacement of implicit class with extensions - these might affect macros), deprecation of syntax or changes to the typer aiming to improve its stability.

  • Don’t infer implicits from non-accessible companion #25367
  • Enhance constant-folding during inlining #25731 - this change is known to break ZIO projects, please upgrade to Release 2.1.26 · zio/zio · GitHub containing a fix to the macros.
  • Replace catching StackOverflowError with fuel #25937
  • Forbid this in top-level definitions #26448
  • Replace runtime.Rich* implicits on primitives by direct extension methods. #23872
  • Make -> sugar an inline method #24728
  • Make with type operator an error #26545
  • For bytecode generation, use stock ASM (not our old scala-asm fork) #26772

See Release 3.10.0-RC1 · scala/scala3 · GitHub for full list of features

Stable release planned no earlier than September 25

7 Likes

6 posts were split to a new topic: Status of SIP-72 (dedented string literals)

Scala 3.10.0-RC2 is now available

This version adds support for Java record pattern matching that was mistakenly omitted during RC1 and includes bunch of bug and regression fixes

5 Likes

Scala 3.10.0-RC3 is ready for public tests!

This version beside shipping multipe bugfixes detected during RC period, does also upgrade Scala CLI to 1.17 series

4 Likes

3.10 is out!

10 Likes