Skip to content

Commit 290b2e8

Browse files
committed
Wrote release notes
1 parent be3b278 commit 290b2e8

File tree

3 files changed

+74
-10
lines changed

3 files changed

+74
-10
lines changed

.github/ISSUE_TEMPLATE/stable-release-manual-testing-template.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ assignees: ''
1717

1818
First a "pre-release" of the supporting compiler/typechecker tools must be done, so we know we are releasing a consistently compiled standard library.
1919

20-
- [ ] typepal and rascal-core compile in the continuous integration environment and no tests fail
21-
- [ ] release typepal
22-
- [ ] release rascal-core
23-
- [ ] bump typepal and rascal-core versions in rascal-maven-plugin to latest releases
24-
- [ ] release rascal-maven-plugin
25-
- [ ] bump rascal-maven-plugin dependency in rascal and rascal-lsp projects
26-
- [ ] bump typepal and rascal-core versions in rascal-lsp project
20+
- [ ] rascal compiles in the continuous integration environment and no tests fail
21+
- [ ] release rascal
22+
- [ ] bump rascal versions in rascal-lsp project
2723
- [ ] fix new errors and warnings in rascal and rascal-lsp project
2824

2925
# Manual version checks

rascal-lsp/RELEASE-NOTES.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,66 @@
22

33
Note that rascal-lsp releases are bundled with VS Code releases, however due to historic reasons, their versions do not align. Until they do we'll denote both the VS Code and the rascal LSP release next to each other.
44

5+
## Release 2.22.0 (VS Code: 0.13.0)
6+
7+
Works best with rascal 0.41.2 (and rascal-maven-plugin: 0.30.2). Due to changes in the typechecker you will most likely also have to update your library dependencies to the latest release.
8+
9+
### New Features for Rascal Developers
10+
11+
* Rascal parsers now support error recovery. This is the first release that enables it: you get more syntax highlighting and other features even in the presence of syntax errors.
12+
* Rascal code that reads or writes to files open in the editor is now redirected to the editor contents instead of the state on disk (this aligns with the LSP specification).
13+
* The type checker now works correctly with multi-project workspaces. Users do not have to trigger the type checker in "higher-up" projects by hand anymore.
14+
* The type checker now aborts early when required modules have parse errors.
15+
* Long-running jobs (such as the type checker) can now be interrupted.
16+
* Rascal has better selection ranges support such that you can grow/shrink your selection based on the Rascal syntax.
17+
* We have migrated to [LogOutputChannels](https://code.visualstudio.com/updates/v1_72#_log-output-channel) such that users can combine, filter, and configure Rascal's output channels.
18+
* Copy file path as Rascal location from the explorer context menu.
19+
20+
### New Features for DSL Developers
21+
22+
* Error recovery support for DSLs is opt-in (the parse function should be constructed with `allowRecovery=true`); your code might have to be updated to deal with error trees with skipped/ambiguous parts.
23+
* DSLs can contribute their own rename refactoring using the `LanguageService::rename` contribution.
24+
* DSLs can contribute their own selection ranges using the `LanguageService::selectionRange` contribution.
25+
* DSLs can contribute their own call hierarchies using the `LanguageServer::callHierachy` contribution.
26+
* DSLs can extend text edits with labels and descriptions, and mark them as requiring user confirmation, using keyword parameters (`str label`, `str description`, `bool needsConfirmation`). See `util::LanguageServer::TextEdit`.
27+
28+
For more details, you can read the documentation in the `util::LanguageServer` source, or view the [rendered documentation page](https://www.rascal-mpl.org/docs/Packages/org.rascalmpl.rascal-lsp/Library/util/LanguageServer/).
29+
30+
### Improved features
31+
32+
* Reimplemented rename using a new framework (available in TypePal). It is faster, has better error messages, now also tracks file renames, and supports many more edge cases.
33+
* The Rascal type checker has better messages, is more accurate, and in some cases is a bit faster. Note that while the typechecker has become stricter the interpreter will still run your code as before.
34+
* Document symbols (used in the outline and when quickly navigating between symbols in the editor) are more robust.
35+
* Hover hints now belong to the smallest expression under the cursor.
36+
* UX tweaks: better error messages, many debug/internal messages have been removed, and improved progress reporting.
37+
* Hover and Go to Definition are more accurate due to bugfixes in internal data structures.
38+
* Improved documentation of `util::LanguageServer`.
39+
* Git diff viewers, untitled files and other virtual documents are better supported for DSLs.
40+
* Files without an extension are now associated with a DSL when there is only one registered.
41+
* Various performance & reliability improvements.
42+
43+
### Rascal 0.41.2 highlights
44+
45+
Below is a summary of the [full release-notes for rascal 0.41.x](https://www.rascal-mpl.org/release-notes/rascal-0-41-x-release-notes/).
46+
47+
* A completely new REPL implementation with:
48+
* multi-line editing
49+
* better completion support
50+
* parse error highlighting
51+
* better module reloading behavior & feedback
52+
* much more
53+
* `Require-Libraries` from `RASCAL.MF` is not used anymore. Instead, `pom.xml` is the only place where you define dependencies.
54+
* We no longer call Maven, but have our own implementation to extract information from `pom.xml`. This has resulted in faster REPL starts and better error messages.
55+
* The `lib` scheme is gone: it has been replaced by either the `project` or `mvn` scheme. Please open an issue if you need help migrating.
56+
* `IO` has new features, such as `isReadable` and `isWritable`, and the `watch` feature has better support for macOS.
57+
* Various performance improvements.
58+
* `Message` has an optional `causes` field that can be used to report extra locations to VS Code.
59+
* Debugger has gained many new features and has become more like debuggers of other languages.
60+
61+
### Extension developers
62+
63+
* We've moved to Node 20. VS Code has switched since 1.90, and the Node 18 support of some of our dependencies has been deprecated for a while. This will mean having to upgrade your own extension as well.
64+
565
## Release 2.21.1 (VS Code: 0.12.1)
666
* The type-checker got a lot faster, especially if you're editing a single file in a larger project.
767
* Various bugfixes in:

rascal-vscode-extension/CHANGELOG.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ We only list significant changes, for a full changelog please review the [commit
44

55
## 0.13.0
66

7+
Works best with rascal 0.41.2 (and rascal-maven-plugin: 0.30.2). Due to changes in the typechecker you will most likely also have to update your library dependencies to the latest release.
8+
79
### New Features for Rascal Developers
810

911
* Rascal parsers now support error recovery. This is the first release that enables it: you get more syntax highlighting and other features even in the presence of syntax errors.
@@ -23,6 +25,8 @@ We only list significant changes, for a full changelog please review the [commit
2325
* DSLs can contribute their own call hierarchies using the `LanguageServer::callHierachy` contribution.
2426
* DSLs can extend text edits with labels and descriptions, and mark them as requiring user confirmation, using keyword parameters (`str label`, `str description`, `bool needsConfirmation`). See `util::LanguageServer::TextEdit`.
2527

28+
For more details, you can read the documentation in the `util::LanguageServer` source, or view the [rendered documentation page](https://www.rascal-mpl.org/docs/Packages/org.rascalmpl.rascal-lsp/Library/util/LanguageServer/).
29+
2630
### Improved features
2731

2832
* Reimplemented rename using a new framework (available in TypePal). It is faster, has better error messages, now also tracks file renames, and supports many more edge cases.
@@ -36,33 +40,37 @@ We only list significant changes, for a full changelog please review the [commit
3640
* Files without an extension are now associated with a DSL when there is only one registered.
3741
* Various performance & reliability improvements.
3842

39-
### Rascal 0.41.1 highlights
43+
### Rascal 0.41.2 highlights
44+
45+
Below is a summary of the [full release-notes for rascal 0.41.x](https://www.rascal-mpl.org/release-notes/rascal-0-41-x-release-notes/).
4046

4147
* A completely new REPL implementation with:
4248
* multi-line editing
4349
* better completion support
4450
* parse error highlighting
51+
* better module reloading behavior & feedback
4552
* much more
4653
* `Require-Libraries` from `RASCAL.MF` is not used anymore. Instead, `pom.xml` is the only place where you define dependencies.
4754
* We no longer call Maven, but have our own implementation to extract information from `pom.xml`. This has resulted in faster REPL starts and better error messages.
4855
* The `lib` scheme is gone: it has been replaced by either the `project` or `mvn` scheme. Please open an issue if you need help migrating.
4956
* `IO` has new features, such as `isReadable` and `isWritable`, and the `watch` feature has better support for macOS.
5057
* Various performance improvements.
5158
* `Message` has an optional `causes` field that can be used to report extra locations to VS Code.
52-
* The debugger variables view shows more information for some values.
59+
* Debugger has gained many new features and has become more like debuggers of other languages.
5360

5461
### Extension developers
5562

5663
* We've moved to Node 20. VS Code has switched since 1.90, and the Node 18 support of some of our dependencies has been deprecated for a while. This will mean having to upgrade your own extension as well.
5764

58-
### 0.12.2
65+
## 0.12.2
5966

6067
* Debug and Debug side bar got a new view that lists active REPLs and allows the user to start a debugging session for it
6168
* Bugfixes:
6269
* Type checker was too eager in reporting binary incompatiblities
6370
* Improved the performance of rename on large Rascal files
6471

6572
## 0.12.1
73+
6674
* The type-checker got a lot faster, especially if you're editing a single file in a larger project.
6775
* Various bugfixes in:
6876
* The rename functionality

0 commit comments

Comments
 (0)