Metals v1.0.1 - Silver
We're happy to announce the release of Metals v1.0.1, which comes with a couple of exciting new features and stability improvements.
Commits since last release | 86 |
Merged PRs | 78 |
Contributors | 13 |
Closed issues | 20 |
New features | 4 |
For full details: [https://github.com/scalameta/metals/milestone/59?closed=1] (https://github.com/scalameta/metals/milestone/59?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and Sublime Text. Metals is developed at the Scala Center and VirtusLab with the help from Lunatech along with contributors from the community.
TL;DR
Check out https://scalameta.org/metals/, and give Metals a try!
- Completions in java files
- Liveness monitor
- Improvements for enums
- Semantic highlighting
- Miscellaneous
- Plugin authors
Completions in Java files
Thanks to amazing work done by VankaTaganai and further improvements by tgodzik, you will be able to get completions in Java files. It should make working with Java sources easier, though Metals will not strive to be a full Java language server.
Liveness monitor
Up to the current release, users would not be informed if something happened and the build server stopped responding. Thanks to kasiaMarek Metals will now monitor the state of the build server and notify the user if it becomes unresponsive.
Dismissing the notification will dismiss it for the current connection.
Improvements for enums
This release also brings in multiple fixes connected to enums:
- better highlighting on enum cases
- improved navigation on enum parameters
- multiple fixes on enum type parameters
This great work was done by kasiaMarek
Semantic highlighting
Semantic highlighting enables syntax highlighting based on knowledge from the
compiler. Thanks to this, users can have specific colors for parameters,
methods, mutable var
s, packages etc. For the last half year, semantic
highlighting was hidden behind a flag, but now we think it's ready to be turned
on by default. You can always change this using
metals.enableSemanticHighlighting
setting. Some editors also require enabling
this feature in other places. In VS Code, you also need to set
editor.semanticHighlighting.enabled
to true
.
More details can be found here.
Plugin authors
Fixing the display of encoded test names for JUnit here required changes in the extension API. This should not break anything, but you might want to adjust to display nicer test names.
Miscellaneous
- improvement: create java semanticdb info using JDK instead of javac CLI (Arthurm1)
- bugfix: Don't enable * kind project syntax by default (tgodzik)
- improvement: offer amend to handle single file scala-cli config on new file (kasiaMarek)
- bugfix: Go to definition for named constructor params (jkciesluk)
- improvement: Add date and time to reports and backup log files (jkciesluk)
- bugfix: Semantic tokens misaligned in triple quote s-string (jkciesluk)
- bugfix: Completion item resolve for symbolic names (jkciesluk)
- bugfix: suggest correct arg name completions for lambda expressions (kasiaMarek)
- bugfix: don't decode nor encode URIs (adpi2)
- feature: Add hover on class,object,type def in Scala 2 (jkciesluk)
- bugfix: Don't report tokenizer errors as stale (tgodzik)
- bugfix: Support Java when using sbt server via BSP (tgodzik)
- improvement: Add proper Stable Presentation Compiler Support (rochala)
- docs: Add info about the versioning strategy (tgodzik)
- bugfix: do not emit cases in pattern match as enum cases (kasiaMarek)
- bugfix: accommodate junit encoded test names (kasiaMarek)
- bugfix: Don't show completions ending with CURSOR (jkciesluk)
- improvement: better heuristic for fixing imports unpon file move (kasiaMarek)
- improvement: show args completions for all matching overloaded methods (kasiaMarek)
- bugfix: hover on nested selectable (kasiaMarek)
- improvement: Docstring on apply method (jkciesluk)
- bugfix: adjust parsing
ScalafmtConfig
forStandardConvention
layout (kasiaMarek) - improvement: add
minimal
option for inferred type decorations (doofin) - bugfix: Implement all members with end marker (jkciesluk)
- bugfix: deduplicate NamedArgParams with Def params (dos65)
- chore: Don't show semantic tokens warning for Java files (tgodzik)
- improvement: restart sbt after java home change (kasiaMarek)
Contributors
Big thanks to everybody who contributed to this release or reported an issue!
$ git shortlog -sn --no-merges v1.0.0..v1.0.1
21 Katarzyna Marek
21 Tomasz Godzik
19 Scalameta Bot
11 Jakub Ciesluk
4 scalameta-bot
3 tgodzik
1 Adrien Piquerez
1 Arthur McGibbon
1 Jędrzej Rochala
1 Panov Ivan
1 Vadim Chelyshov
1 dependabot[bot]
1 eason du
Merged PRs
v1.0.1 (2023-08-28)
Merged pull requests:
- bugfix: Catch exception from the compiler when coursier api is on cla… #5586 (tgodzik)
- build(deps): Update protobuf-java from 3.24.1 to 3.24.2 #5591 (scalameta-bot)
- create java semanticdb info using JDK instead of javac CLI #5352 (Arthurm1)
- bugfix: Don't enable * kind project syntax by default #5579 (tgodzik)
- bugfix: highlight and definition for enum type params #5550 (kasiaMarek)
- improvement: offer amend to handle single file scala-cli config on new file #5434 (kasiaMarek)
- docs: Add some more details about the release #5574 (tgodzik)
- build(deps): Update sbt, scripted-plugin from 1.9.3 to 1.9.4 #5584 (scalameta-bot)
- build(deps): Update flyway-core from 9.21.1 to 9.21.2 #5582 (scalameta-bot)
- build(deps): Update coursier from 2.1.5 to 2.1.6 #5581 (scalameta-bot)
- build(deps): Update semanticdb-java from 0.9.4 to 0.9.5 #5580 (scalameta-bot)
- fix: Don't collect map, flatMap, withFilter in for-comprehension #5552 (jkciesluk)
- build(deps): Update protobuf-java from 3.24.0 to 3.24.1 #5569 (scalameta-bot)
- chore: Try to fix issues with sbt integration tests #5557 (tgodzik)
- chore: unignore tests for dotty pc after c90ad6b #5565 (kasiaMarek)
- build(deps): Update cli_3, scala-cli-bsp from 1.0.2 to 1.0.4 #5549 (scalameta-bot)
- build(deps): Update semanticdb-java from 0.9.2 to 0.9.4 #5563 (scalameta-bot)
- build(deps): Update xnio-nio from 3.8.9.Final to 3.8.10.Final #5564 (scalameta-bot)
- bugfix: don't show build server not responding error just after coming out of idle #5537 (kasiaMarek)
- fix: Go to definition for named constructor params #5541 (jkciesluk)
- improvement: Add date and time to reports and backup log files #5450 (jkciesluk)
- fix: Semantic tokens misaligned in triple quote s-string #5556 (jkciesluk)
- fix: InverseSemanticdbSymbols for symbolic names #5481 (jkciesluk)
- bugfix: suggest correct arg name completions for lambda expressions #5533 (kasiaMarek)
- build(deps): Update semanticdb-java from 0.9.0 to 0.9.2 #5547 (scalameta-bot)
- build(deps): Update protobuf-java from 3.23.4 to 3.24.0 #5546 (scalameta-bot)
- Fix #5518: don't decode nor encode URIs #5519 (adpi2)
- build(deps): Update sbt-welcome from 0.3.1 to 0.3.2 #5545 (scalameta-bot)
- chore: Add support for Scala 3.3.1-RC5 #5544 (tgodzik)
- chore: Don't try formatting in auto releases #5551 (tgodzik)
- chore: port
extension-methods-complex
test fix from dotty #5542 (kasiaMarek) - bugfix: highlight enum cases correctly #5529 (kasiaMarek)
- feat: Add hover on class,object,type def in Scala 2 #5540 (jkciesluk)
- chore: Fix lines numbers for CI testing #5538 (tgodzik)
- improvement: Set semantic highlighting to true by default #5532 (tgodzik)
- bugfix: Don't report tokenizer errors as stale #5530 (tgodzik)
- improvement: print better bracket suffix in label, Scala 3 completions #5497 (kasiaMarek)
- bugfix: Support Java when using sbt server via BSP #5535 (tgodzik)
- docs: Add info about the versioning strategy #5524 (tgodzik)
- Add proper Stable Presentation Support #5476 (rochala)
- bugfix: Fix issues with select in debugger completions #5526 (tgodzik)
- bugfix: do not emit cases in pattern match as enum cases #5520 (kasiaMarek)
- bugfix: emit type for enum cases when needed #5501 (kasiaMarek)
- improvement: Show direct members first #5523 (tgodzik)
- bugfix: accommodate junit encoded test names #5485 (kasiaMarek)
- build(deps): Update scalafmt-core, scalafmt-dynamic from 3.7.11 to 3.7.12 #5517 (scalameta-bot)
- build(deps): Update scribe, scribe-file, scribe-slf4j from 3.11.8 to 3.11.9 #5515 (scalameta-bot)
- build(deps): Update guava from 32.1.1-jre to 32.1.2-jre #5514 (scalameta-bot)
- build(deps): Update scala-debug-adapter from 3.1.3 to 3.1.4 #5513 (scalameta-bot)
- build(deps): Update semanticdb-java from 0.8.26 to 0.9.0 #5516 (scalameta-bot)
- bugfix: Fix type issue after last two PRs #5521 (tgodzik)
- fix: Don't show completions ending with CURSOR #5196 (jkciesluk)
- bugfix: Don't show keywords or constructors on select #5509 (tgodzik)
- improvement: Make debug completions work for Java files #5505 (tgodzik)
- improvement: monitor build server liveness #5462 (kasiaMarek)
- improvement: Automatically add colon to get better completions for Java #5506 (tgodzik)
- build(deps): bump clsx from 1.2.1 to 2.0.0 in /website #5499 (dependabot[bot])
- improvement: better heuristic for fixing imports unpon file move #5134 (kasiaMarek)
- improvement: show args completions for all matching overloaded methods #5287 (kasiaMarek)
- build(deps): Update flyway-core from 9.21.0 to 9.21.1 #5489 (scalameta-bot)
- build(deps): Update semanticdb-java from 0.8.24 to 0.8.26 #5488 (scalameta-bot)
- build(deps): Update sbt, scripted-plugin from 1.9.2 to 1.9.3 #5490 (scalameta-bot)
- bugfix: Bump scalatest to fix zip issue #5495 (tgodzik)
- Add java completion #5314 (VankaTaganai)
- bugfix: hover on nested selectable #5493 (kasiaMarek)
- improvement: Docstring on apply method #5465 (jkciesluk)
- build(deps): Update scalafmt-core, scalafmt-dynamic from 3.7.10 to 3.7.11 #5491 (scalameta-bot)
- bugfix: adjust parsing
ScalafmtConfig
forStandardConvention
layout #5470 (kasiaMarek) - improvement:don't show types for match case for showInferredType #5284 (doofin)
- fix: Implement all members with end marker #5412 (jkciesluk)
- fix: Fix memory leak in tests #5477 (jkciesluk)
- build(deps): Update flyway-core from 9.20.1 to 9.21.0 #5474 (scalameta-bot)
- build(deps): Update sbt-mima-plugin from 1.1.2 to 1.1.3 #5473 (scalameta-bot)
- Scala2 - deduplicate NamedArgParams with Def params #5466 (dos65)
- chore: Don't show semantic tokens warning for Java files #5463 (tgodzik)
- improvement: restart sbt after java home change #5381 (kasiaMarek)
- chore: Change release notes to properly show in VS Code #5464 (tgodzik)
- docs: Add release notes for Metals 1.0.0 #5453 (tgodzik)