Scala 3.8.3 release thread

Scala 3.8.3-RC1 is now available for public tests!

Please give the new release candidate a try and let us know if anything regresses before the final release.

Release highlights

  • -print-lines setting deprecated for removal - the setting was used to print line numbers in the error messages. This feature was rarely used and become a burden to maintain. Since Scala 3.8.3 it’s usage is ignored and would emit warning when used. It would be removed in the future versions

  • New local coverage toggles #24486: you can now exclude selected code regions from coverage instrumentation with:

    • // $COVERAGE-OFF$
    • // $COVERAGE-ON$
object CoverageExample:

  def importantLogic(x: Int): Int =
    if x > 0 then x * 2 else 0

  // This region will be ignored by coverage instrumentation
  // $COVERAGE-OFF$
  def noisyLogging(input: String): Unit =
    println(s"[debug] raw input = $input")
    println(s"[debug] timestamp = ${System.currentTimeMillis()}")
  // $COVERAGE-ON$

  def run(x: Int): Int =
    noisyLogging(s"x=$x")
    importantLogic(x)
  • Fixes in JVM backend, parser, REPL, reporting/diagnostics, pattern matching, and presentation compiler.
  • Multiple improvements/fixes in experimental Capture Checking (renames, diagnostics, leak warnings, global capabilities handling, etc.)

Stable release

The stable release of Scala 3.8.3 is planned no earlier then March 24. We recommend to try out the new RC version during these period and report any found problems in this thread or in dedicated issue on Scala 3 issues tracker. Bugs reported early during the RC period have a higher chance to be fixed and backported to the stable release!

Scala 3.8.3 would be followed by at least 1 more 3.8.x patch release before establishing a Scala 3.9 LTS series.

7 Likes

Nice! Found a bug this morning that happens to be present in 3.8.3-RC1.

1 Like

Finally! Thanks

1 Like

Second RC version is now available for testing!

  • Scala CLI upgrade
  • Addition of experimental.safe mode - extension of experimental Capture Checking limiting access to potentially unsafe operations
  • Fixes to binary compatibility regression
  • and multiple bugfixes
4 Likes