Scala 3.7.0 release thread

Scala 3.7.0-RC1 is now ready for tests!

The release now enters testing period, the final 3.7.0 release would happen no earlier then April 22.

We are aware of few regressions not yet fixed before 3.7.0-RC1 cutoff as well other issues discovered after 3.7.0-RC1 release:

  • Running tests with munit and Scala.js breaks for Scala 3.7 #22794

You can expect a followup release candidates in the upcoming weeks with these issues resolved

Highlights of the release

  • Add @scala.annotation.internal.preview annotation and -preview flag. #22317
  • Make SIP-52 @publicInBinary a stable feature in 3.7 #22591
  • Make SIP-58 - Named Tuples a stable feature in 3.7 #22753
  • Make SIP-62 - Better Fors a preview feature in 3.7 #22776
  • Implement SIP-61 @unroll annotation as experimental #21693
  • Implement SIP-68 Reference-able Package Objects as experimental #22011
  • Upgrade Scala 2 Standard Library to 2.13.16 #22386
  • Upgrade Scala.js to 1.18.1. #22397
  • Upgrade Scala CLI to 1.7.0 #22735
  • Expression Compiler is now part of Scala 3 compiler #22597
  • Quotes API: Added apply methods to import selectors #22457
  • Quotes API: Implement experimental summonIgnoring method #22417
  • Quotes API: Add class parameters, flags, and privateWithin and annotations to experimental newClass methods #21880
  • Experimental: Capture Calculus - Inferring tracked modifier #21628
  • Presentation Compiler: Show inferred type on holes in hover #21423
  • JVM Backend: Fix #15736 blocking Scala 3 on Android #22632
  • REPL: add flag to quit after evaluating init script #22636
  • REPL: implement :jar (deprecate :require) #22343
  • Linting: Improvements to -Wunused and -Wconf #20894
  • Implicit parameters warn at call site without using keyword #22441
  • Minimal support for dependent case classes #21698
8 Likes

Did Expand value references to packages to their underlying package objects by odersky · Pull Request #22011 · scala/scala3 · GitHub make it into this release? I don’t see it in the release notes

Yes, it’s included in 3.7.0-RC1, not sure why it was skipped in the release notes scripts though. I’ll update the notes to include it as it’s a new experimental feature