We have now merged the JLine 3 upgrade for the REPL. That was the last big PR for 2.13.2. (A few smaller ones remain.)
Kudos to @som-snytt for doing the initial work on this; a bunch of other folks were helpful in getting it across the finish line.
We invite the community to test the new REPL. See the PR description on https://github.com/scala/scala/pull/8036 for info on what has changed.
We would especially like to know about any regressions on Windows, since most of the development work was done on Linux or MacOS, and since JLine/terminal stuff is especially finicky on Windows.
Note that there are known regressions in tab completion that we hope to address before final release. See https://github.com/scala/scala-dev/issues?q=is%3Aissue+is%3Aopen+label%3At%3Ajline3 for known issues. (Some are marked “blocker”, others aren’t.)
The JLine upgrade isn’t the only REPL change that has landed recently: -Yrepl-class-based
and -Yrepl-use-magic-imports
are now enabled by default, that’s https://github.com/scala/scala/pull/8748 . Among other things, this fixes the notorious issue where the REPL was prone to deadlocks (with e.g. parallel collections, but not only).
How to test:
The version to test is 2.13.2-bin-bc1cad4
.
using sbt
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := "2.13.2-bin-bc1cad4"
using scala-runners
scala-runners is a new coursier-based Scala launcher:
scala --scala-version 2.13.2-bin-bc1cad4
using coursier
cs launch scala:2.13.2-bin-bc1cad4 \
-r https://scala-ci.typesafe.com/artifactory/scala-integration