-
Notifications
You must be signed in to change notification settings - Fork 333
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Add release notes for Metals 1.3.3
- Loading branch information
Showing
4 changed files
with
262 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,256 @@ | ||
--- | ||
author: Tomasz Godzik | ||
title: Metals v1.3.1 - Thallium | ||
authorURL: https://twitter.com/TomekGodzik | ||
authorImageURL: https://github.com/tgodzik.png | ||
--- | ||
|
||
We're happy to announce the release of Metals v1.3.3, which brings a number of | ||
long awaited bugfixes and some new features. | ||
|
||
<table> | ||
<tbody> | ||
<tr> | ||
<td>Commits since last release</td> | ||
<td align="center">41</td> | ||
</tr> | ||
<tr> | ||
<td>Merged PRs</td> | ||
<td align="center">37</td> | ||
</tr> | ||
<tr> | ||
<td>Contributors</td> | ||
<td align="center">3</td> | ||
</tr> | ||
<tr> | ||
<td>Closed issues</td> | ||
<td align="center">15</td> | ||
</tr> | ||
<tr> | ||
<td>New features</td> | ||
<td align="center">3</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
|
||
For full details: | ||
[https://github.com/scalameta/metals/milestone/69?closed=1](https://github.com/scalameta/metals/milestone/69?closed=1) | ||
|
||
Metals is a language server for Scala that works with VS Code, Vim, Emacs, Zed, | ||
Helix and Sublime Text. Metals is developed at the | ||
[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com) | ||
with the help from contributors from the community. | ||
|
||
## TL;DR | ||
|
||
Check out [https://scalameta.org/metals/](https://scalameta.org/metals/), and | ||
give Metals a try! | ||
|
||
- [Index implementations in JDK sources](#index-implementations-in-jdk-sources) | ||
- [Value completions for union types](#value-completions-for-union-types) | ||
- [Allow debugging for all build servers](#allow-debugging-for-all-build-servers) | ||
|
||
## Index implementations in JDK sources | ||
|
||
Since Metals v1.3.0 it's possible to search for implementations of classes or | ||
classes' members inside the dependency sources. However, this wasn't enabled for | ||
JDK sources as it added a substantial amount of indexing time even in smaller | ||
projects. | ||
|
||
In this version of Metals we added a central database that can be found under | ||
the `.metals` directory in user home, which contains shared indexes of JDK | ||
sources thus avoiding a need to index them more than once on any given machine. | ||
|
||
![jdk-sources](https://i.imgur.com/lTMmhD8.gif) | ||
|
||
This great improvement was added by [kasiaMarek](https://github.com/kasiaMarek) | ||
|
||
## Value completions for union types | ||
|
||
Union types are a new feature in Scala 3 that allows types to be combined when | ||
we need to specify that certain value can be of more than one type. | ||
|
||
For example we can have: | ||
|
||
```scala | ||
val a: Int | String = "Hello!" | ||
val b: Int | String = 123 | ||
``` | ||
|
||
In this version of Metals [kasiaMarek](https://github.com/kasiaMarek) added | ||
support for value completions where union types are unions of specific literal | ||
types. If used together with intersection types it will still work as expected. | ||
|
||
![example](https://i.imgur.com/FKrytqC.png) | ||
|
||
The feature will work on latest LTS and Next Scala versions as it required some | ||
work upstream in the compiler itself. | ||
|
||
## Allow debugging for all build servers | ||
|
||
For a long while it was possible to debug your code only when using Metals with | ||
Bloop or sbt server. This was caused by the fact that debugging was implemented | ||
in a separate library and would require additional data from the build tools. | ||
|
||
In this version we were able to work around that and bring debugging | ||
capabilities to Metals in case a server doesn't provide debugging by itself. | ||
Unfortunately, in those cases hot code reload will not be available. | ||
|
||
This should work both for main classes and tests. | ||
|
||
Since this is quite a new feature please do let us know about any issues. | ||
|
||
This is another great feature was brought by | ||
[kasiaMarek](https://github.com/kasiaMarek). | ||
|
||
## Miscellaneous | ||
|
||
- bugfix: correctly resolve project's java in doctor and problem resolver | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: Don't use -X options in .jvmopts for tests | ||
[tgodzik](https://github.com/tgodzik) | ||
- bugfix: auto import for really long names | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: Queue references calls to prevent OOM | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: MAke convert to named args for `extends` | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: Show errors for Scala 3 in Bazel correctly | ||
[tgodzik](https://github.com/tgodzik) | ||
- bugfix: change project ref setting to support VSCode workspace folder reload | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: use already imported package aliases for auto import | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
- bugfix: clear diagnostics after close for single file | ||
[kasiaMarek](https://github.com/kasiaMarek) | ||
|
||
## Contributors | ||
|
||
Big thanks to everybody who contributed to this release or reported an issue! | ||
|
||
``` | ||
$ git shortlog -sn --no-merges v1.3.2..v1.3.3 | ||
16 Katarzyna Marek | ||
16 Tomasz Godzik | ||
7 Scalameta Bot | ||
``` | ||
|
||
## Merged PRs | ||
|
||
## [v1.3.3](https://github.com/scalameta/metals/tree/v1.3.3) (2024-07-12) | ||
|
||
[Full Changelog](https://github.com/scalameta/metals/compare/v1.3.2...v1.3.3) | ||
|
||
**Merged pull requests:** | ||
|
||
- fix: clear diagnostics after close for single file | ||
[\#6576](https://github.com/scalameta/metals/pull/6576) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: correctly get build target deps for DAP | ||
[\#6580](https://github.com/scalameta/metals/pull/6580) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- chore: Try to use intransitive instead | ||
[\#6573](https://github.com/scalameta/metals/pull/6573) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- chore: Bump Bloop to 1.6.0 | ||
[\#6574](https://github.com/scalameta/metals/pull/6574) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- fix: use already imported package aliases for auto import | ||
[\#6575](https://github.com/scalameta/metals/pull/6575) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- bugfix: Bump scala debug adapter | ||
[\#6568](https://github.com/scalameta/metals/pull/6568) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- bugfix: Don't search for stacktrace line if at word is not present | ||
[\#6555](https://github.com/scalameta/metals/pull/6555) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- bugfix: Don't calculate digest every time build tool is used | ||
[\#6561](https://github.com/scalameta/metals/pull/6561) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- fix: change project ref setting to support VSCode workspace folder reload | ||
[\#6563](https://github.com/scalameta/metals/pull/6563) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- bugfix: Use latest stable mill version | ||
[\#6566](https://github.com/scalameta/metals/pull/6566) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- feat: run DAP for test suites in Metals | ||
[\#6551](https://github.com/scalameta/metals/pull/6551) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- chore: move mill test to newest mill version | ||
[\#6562](https://github.com/scalameta/metals/pull/6562) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- bugfix: Fix tests after circe released version for 0.5 | ||
[\#6560](https://github.com/scalameta/metals/pull/6560) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- build(deps): Update bloop-config from 1.5.5 to 2.0.2 | ||
[\#6534](https://github.com/scalameta/metals/pull/6534) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- bugfix: Show errors for Scala 3 in Bazel correctly | ||
[\#6556](https://github.com/scalameta/metals/pull/6556) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- chore: Bump local search to fix it | ||
[\#6554](https://github.com/scalameta/metals/pull/6554) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- improvement: Don't query database on each format | ||
[\#6550](https://github.com/scalameta/metals/pull/6550) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- add test for `@` in path for Windows | ||
[\#6545](https://github.com/scalameta/metals/pull/6545) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- build(deps): Update protobuf-java from 4.27.1 to 4.27.2 | ||
[\#6546](https://github.com/scalameta/metals/pull/6546) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- build(deps): Update ammonite-util from 3.0.0-M2-12-951bbc1e to | ||
3.0.0-M2-13-23a8ef64 [\#6547](https://github.com/scalameta/metals/pull/6547) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- build(deps): Update cli_3, scala-cli-bsp from 1.3.2 to 1.4.0 | ||
[\#6548](https://github.com/scalameta/metals/pull/6548) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- improvement: add debug adapter for running main class to metals | ||
[\#6383](https://github.com/scalameta/metals/pull/6383) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: convert to named args for `extends` | ||
[\#6537](https://github.com/scalameta/metals/pull/6537) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- Queue pc references calls to prevent OOM | ||
[\#6539](https://github.com/scalameta/metals/pull/6539) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: cover additional cases for singleton types | ||
[\#6541](https://github.com/scalameta/metals/pull/6541) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- chore: update `MillVersionSuite` in `TestGroups` | ||
[\#6543](https://github.com/scalameta/metals/pull/6543) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: don't pass mill version as arg to command line | ||
[\#6542](https://github.com/scalameta/metals/pull/6542) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: auto import for really long names | ||
[\#6531](https://github.com/scalameta/metals/pull/6531) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- build(deps): Update semanticdb-java from 0.9.10 to 0.10.0 | ||
[\#6536](https://github.com/scalameta/metals/pull/6536) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- bugfix: Always require \_ to calculate scala version from jar | ||
[\#6538](https://github.com/scalameta/metals/pull/6538) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- bugfix: Don't use everything in .jvmopts for tests | ||
[\#6526](https://github.com/scalameta/metals/pull/6526) | ||
([tgodzik](https://github.com/tgodzik)) | ||
- feat: add value completions for union types | ||
[\#6498](https://github.com/scalameta/metals/pull/6498) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- build(deps): Update scalameta, semanticdb-scalac, ... from 4.9.6 to 4.9.7 | ||
[\#6530](https://github.com/scalameta/metals/pull/6530) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- build(deps): Update ammonite-util from 3.0.0-M2-11-713b6963 to | ||
3.0.0-M2-12-951bbc1e [\#6528](https://github.com/scalameta/metals/pull/6528) | ||
([scalameta-bot](https://github.com/scalameta-bot)) | ||
- improvement: add jdk indexing | ||
[\#6481](https://github.com/scalameta/metals/pull/6481) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- fix: correctly resolve project's java in doctor and problem resolver | ||
[\#6517](https://github.com/scalameta/metals/pull/6517) | ||
([kasiaMarek](https://github.com/kasiaMarek)) | ||
- docs: release notes v1.3.2 | ||
[\#6518](https://github.com/scalameta/metals/pull/6518) | ||
([kasiaMarek](https://github.com/kasiaMarek)) |