Metals: Support for Scala 2.13.2

Created on 30 Apr 2020  路  7Comments  路  Source: scalameta/metals

Question

When will support for Scala 2.13.2 be released? PR to add support was merged 5 days ago (https://github.com/scalameta/metals/pull/1659)

Installation:

  • Operating system: macOS/Linux
  • Editor: Visual Studio Code
  • Metals version: v0.8.4
question

Most helpful comment

@fspillner we are using the Scala presentation compiler directly, which doesn't have a stable enough API for us to use without an exact knowledge of the version. We are also often encountering binary compatibility issues between even minor Scala versions. This is why we need to make changes and properly test for each version.

Intellij does not use the same official presentation compiler and they rely on their own implementation. This has some advantages and also some disadvantages as you can for example often see some invalid errors in the Intellij (which is getting better recently).

That said, I am waiting with this release a bit since there is a number of fixes that would benefit people greatly. For example improved Bloop/Metals integration. I apologise for the wait, I am just finishing with the release notes.

All 7 comments

We are trying to get some fixes in before releasing. We also merged the Scala 3 PR during the last couple of weeks, so we are being extra careful about it.

I plan to do it tomorrow if possible.

You can also use a SNAPSHOT version of Metals server as described here: https://scalameta.org/metals/docs/editors/vscode.html#using-latest-metals-snapshot

A question regarding supporting the Scala minor updates (2.13.x): Why shouldn't Metals support the next minor versions automatically? It would bump the development experience with Metals. I don't know the Metals internal architecture but just be wondering why IntelliJ never stop to work if a minor version update is coming.

@fspillner we are using the Scala presentation compiler directly, which doesn't have a stable enough API for us to use without an exact knowledge of the version. We are also often encountering binary compatibility issues between even minor Scala versions. This is why we need to make changes and properly test for each version.

Intellij does not use the same official presentation compiler and they rely on their own implementation. This has some advantages and also some disadvantages as you can for example often see some invalid errors in the Intellij (which is getting better recently).

That said, I am waiting with this release a bit since there is a number of fixes that would benefit people greatly. For example improved Bloop/Metals integration. I apologise for the wait, I am just finishing with the release notes.

@tgodzik Thank you for your time to explain me. I understand now why. Thanks for your great contribution! No hurry up :-) I'm looking forward to the next version of metals. :+1:

Hope one day scalac releases will be synchronized with metals :)

The new version with the support for 2.13.2 is released!

Was this page helpful?
0 / 5 - 0 ratings