Eugene Yokota’s PR flipped the switch, but it was possible to do so after years of bugfixes and performance improvements to range positions made by assorted people.
Metals (and other semanticdb-based tooling) requires range positions, so lots of people have already had them enabled in their daily work. That, and a green community build run, gives us reasonable confidence that they are robust and fast enough to be enabled by default.
Regardless, posting this here hoping folks will test a nightly, especially tooling authors who think they change might impact them.
I don’t know all the details, but the Metals documentation says:
setting up Metals requires a few manual steps to generate Bloop JSON files. In addition to normal Bloop installation, Metals requires that the project sources are compiled with the semanticdb-scalac compiler plugin and -Yrangepos option enabled.
Perhaps someone else will follow up with more info.
The short answer is that the flag was turned on either manually (see Scalafix) or automatically (see @tgodzik’s answer for how Metals and Bloop does it).
Having this on by default will greatly simplify those workflows, which is great news!
So theoretically, if a project was somehow sensitive to the rangepos flag, then it would have worked differently in Metals and as a standalone executable, right?