Skip to content

Commit

Permalink
v.2.0.0 (#1138)
Browse files Browse the repository at this point in the history
Release commit for version 2.0.0.
- Update changelog to reflect all relevant changes
- Update Dockerfiles to node 18 and Java 17
  • Loading branch information
tortmayr authored Oct 13, 2023
1 parent cbae4df commit de11704
Show file tree
Hide file tree
Showing 20 changed files with 749 additions and 1,083 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# Eclipse GLSP Dev Packages Changelog

## v1.1.0 - upcoming
## 2.0.0 - 13/10/2023

- [config] Update all dependencies & peerDependencies of the dev to the latest version [#1136](https://github.com/eclipse-glsp/glsp/pull/1136)
- [protocol] Removed `Protocol.MD` file. [#892](https://github.com/eclipse-glsp/glsp/pull/982)
- The protocol documentation is now maintained on <https://eclipse.dev/glsp/documentation/protocol/>
- [eslint-config] Tweaked `chai-friendly/no-unused expression` rule to enable `allowTenary` and `allowShortCircuit` options. [#936](https://github.com/eclipse-glsp/glsp/pull/936)
- [config] Introduce all-in-one [`@eclipse-glsp/dev`](https://www.npmjs.com/package/@eclipse-glsp/dev) meta package. [#842](https://github.com/eclipse-glsp/glsp/pull/842)
- [cli] Contribute the `checkHeaders` command to validate the copyright year (range) of license headers. [#834](https://github.com/eclipse-glsp/glsp/pull/834)
- [config] Introduce [`@eclipse-glsp/nyc-config`](https://www.npmjs.com/package/@eclipse-glsp/nyc-config)
Expand Down
77 changes: 42 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,45 +28,46 @@ The best way to getting started is to read the [overview in the documentation](h

Below is a list of features that are supported by the different base technologies that can be used with GLSP.

| Feature | Standalone | Theia Integration | Eclipse Integration | VS Code Integration |
| --------------------------------------------------------------------- | :------------------: | :---------------: | :-----------------: | :-----------------: |
| Model Saving | ||||
| Model Dirty State | ||||
| Model SVG Export | || | |
| Model Layout |||||
| Restoring viewport on re-open | || | |
| Model Edit Modes<br>- Edit<br>- Read-only | <br>✓<br>&nbsp; | <br>✓<br>✓ | <br>✓<br>&nbsp; | <br>✓<br>&nbsp; |
| Client View Port<br>- Center<br>- Fit to Screen | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ |
| Client Status Notification |||||
| Client Message Notification ||| ||
| Client Progress Reporting | || ||
| Element Selection |||||
| Element Hover |||||
| Element Validation |||||
| Element Navigation | ||||
| Element Type Hints |||||
| Element Creation and Deletion |||||
| Node Change Bounds<br>- Move<br>- Resize | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ |
| Node Change Container |||||
| Edge Reconnect |||||
| Edge Routing Points |||||
| Element Text Editing |||||
| Clipboard (Cut, Copy, Paste) | || ||
| Undo / Redo | ||||
| Contexts<br>- Context Menu<br>- Command Palette<br>- Tool Palette | <br><br>✓<br>✓ | <br>✓<br>✓<br>✓ | <br><br>✓<br>✓ | <br><br>✓<br>✓ |
| Accessibility Features <br>- Search<br>- Move <br>- Zoom <br>- Resize | <br>✓<br>✓<br>✓<br>✓ | | | |
| Feature | Standalone | Theia Integration | Eclipse Integration | VS Code Integration |
| ------------------------------------------------------------------------------------ | :------------------: | :---------------: | :-----------------: | :-----------------: |
| Model Saving | ||||
| Model Dirty State | ||||
| Model SVG Export | || | |
| Model Layout |||||
| Restoring viewport on re-open | || | |
| Model Edit Modes<br>- Edit<br>- Read-only | <br>✓<br>&nbsp; | <br>✓<br>✓ | <br>✓<br>&nbsp; | <br>✓<br>&nbsp; |
| Client View Port<br>- Center<br>- Fit to Screen | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ |
| Client Status Notification |||||
| Client Message Notification ||| ||
| Client Progress Reporting | || ||
| Element Selection |||||
| Element Hover |||||
| Element Validation |||||
| Element Navigation | ||||
| Element Type Hints |||||
| Element Creation and Deletion |||||
| Node Change Bounds<br>- Move<br>- Resize | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ | <br>✓<br>✓ |
| Node Change Container |||||
| Edge Reconnect |||||
| Edge Routing Points |||||
| Element Text Editing |||||
| Clipboard (Cut, Copy, Paste) | || ||
| Undo / Redo | ||||
| Contexts<br>- Context Menu<br>- Command Palette<br>- Tool Palette | <br><br>✓<br>✓ | <br>✓<br>✓<br>✓ | <br><br>✓<br>✓ | <br><br>✓<br>✓ |
| Accessibility Features (experimental) <br>- Search<br>- Move <br>- Zoom <br>- Resize | <br>✓<br>✓<br>✓<br>✓ | | | |

## Repositories

The GLSP source code consists of the following repositories:

- [`glsp-client`](https://github.com/eclipse-glsp/glsp-client): Contains the code for the default ([Sprotty](https://github.com/eclipse/sprotty)-based) client.
- [`glsp-client`](https://github.com/eclipse-glsp/glsp-client): Contains the code for the ([Sprotty](https://github.com/eclipse/sprotty)-based) client.
- [`glsp-server`](https://github.com/eclipse-glsp/glsp-server): Contains the code for a Java-based framework to create GLSP server components.
- [`glsp-server-node`](https://github.com/eclipse-glsp/glsp-server-node): Contains the code for a node-based framework to create GLSP server components.
- [`glsp-examples`](https://github.com/eclipse-glsp/glsp-examples): Contains various examples and project templates to demonstrate GLSP in action.
- [`glsp-server-node`](https://github.com/eclipse-glsp/glsp-server-node): Contains the code for a typescript-based framework to create GLSP server components running in node or pure browser applications.
- [`glsp-theia-integration`](https://github.com/eclipse-glsp/glsp-theia-integration): Provides the glue code to integrate GLSP diagrams editors into [Theia](https://github.com/theia-ide/theia).
- [`glsp-eclipse-integration`](https://github.com/eclipse-glsp/glsp-eclipse-integration): Provides the integration of GLSP diagram editors with the Eclipse IDE.
- [`glsp-vscode-integration`](https://github.com/eclipse-glsp/glsp-vscode-integration): Provides the integration of GLSP diagrams editors into [VS Code](https://github.com/microsoft/vscode).
- [`glsp-examples`](https://github.com/eclipse-glsp/glsp-examples): Contains various examples and project templates to demonstrate GLSP in action.
- [`glsp-playwright`](https://github.com/eclipse-glsp/glsp-playwright): Playwright-based framework for testing GLSP diagram editors.

## Shared artifacts

Expand All @@ -77,31 +78,37 @@ This repository provides the following packages and artifacts that are shared ac

## Build artifacts

The client packages are available via [npmjs](https://www.npmjs.com/search?q=%40eclipse-glsp), such as the [glsp-client](https://www.npmjs.com/package/@eclipse-glsp/client) and the [theia integration](https://www.npmjs.com/package/@eclipse-glsp/theia-integration).
Packages are available via [npmjs](https://www.npmjs.com/search?q=%40eclipse-glsp), such as the [glsp-client](https://www.npmjs.com/package/@eclipse-glsp/client) and the [theia integration](https://www.npmjs.com/package/@eclipse-glsp/theia-integration).
The [examples](https://www.npmjs.com/search?q=%40eclipse-glsp-examples) are available on npmjs too.

The server packages are available as maven as well as p2 dependency from the following maven repository or p2 update site.
The Java server packages are available as maven as well as p2 dependency from the following maven repository or p2 update site.

### Maven Repositories

- _Snapshots_: <https://oss.sonatype.org/content/repositories/snapshots/org/eclipse/glsp/>
- _Releases/Release Candidates_: <https://central.sonatype.com/search?q=org.eclipse.glsp&namespace=org.eclipse.glsp>

### P2 Update Sites

- _Server Snapshots_: <https://download.eclipse.org/glsp/server/p2/nightly/>
- _Eclipse Integration Snapshots_: </i> <https://download.eclipse.org/glsp/server/ide/nightly/>
- _Server Release Candidates_: <https://download.eclipse.org/glsp/server/p2/staging/>
- _Server Releases_: <https://download.eclipse.org/glsp/server/p2/releases/>
<br><br>
- _Eclipse Integration Snapshots_: </i> <https://download.eclipse.org/glsp/ide/p2/nightly/>
- _Eclipse Integration Release Candidates_: </i> <https://download.eclipse.org/glsp/ide/p2/staging/>
- _Eclipse Integration Releases_: </i> <https://download.eclipse.org/glsp/ide/p2/releases/>

All changes on the master branch are deployed automatically to the corresponding snapshot repositories.

## Prerequisites for building

### Client packages

We recommend node in version 16:
We recommend node in version 18 or higher:

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install 16
nvm install 18
```

and Yarn
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/cli",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "CLI Tooling & scripts for GLSP components",
"keywords": [
"eclipse",
Expand Down Expand Up @@ -49,7 +49,7 @@
"shelljs": "^0.8.5"
},
"devDependencies": {
"@eclipse-glsp/config": "1.0.0-next",
"@eclipse-glsp/config": "~2.0.0",
"@types/glob": "^8.1.0",
"@types/node-fetch": "^2.6.6",
"@types/readline-sync": "^1.4.5",
Expand Down
6 changes: 3 additions & 3 deletions dev-packages/config-test/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/config-test",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Meta package that provides Mocha and nyc configurations for GLSP projects",
"keywords": [
"eclipse",
Expand All @@ -25,8 +25,8 @@
}
],
"dependencies": {
"@eclipse-glsp/mocha-config": "1.0.0-next",
"@eclipse-glsp/nyc-config": "1.0.0-next",
"@eclipse-glsp/mocha-config": "~2.0.0",
"@eclipse-glsp/nyc-config": "~2.0.0",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
"@types/chai": "^4.3.7",
"@types/mocha": "^10.0.2",
Expand Down
8 changes: 4 additions & 4 deletions dev-packages/config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Meta package that provides Typescript, eslint and prettier configurations and common dev dependencies for GLSP projects",
"keywords": [
"eclipse",
Expand All @@ -24,9 +24,9 @@
}
],
"dependencies": {
"@eclipse-glsp/eslint-config": "1.0.0-next",
"@eclipse-glsp/prettier-config": "1.0.0-next",
"@eclipse-glsp/ts-config": "1.0.0-next",
"@eclipse-glsp/eslint-config": "~2.0.0",
"@eclipse-glsp/prettier-config": "~2.0.0",
"@eclipse-glsp/ts-config": "~2.0.0",
"@typescript-eslint/eslint-plugin": "^6.7.5",
"@typescript-eslint/parser": "^6.7.5",
"eslint": "^8.51.0",
Expand Down
8 changes: 4 additions & 4 deletions dev-packages/dev/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/dev",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "All-in-one meta package that provides the GLSP development and test configuration packages, as well as the GLSP CLI package",
"keywords": [
"eclipse",
Expand All @@ -24,9 +24,9 @@
}
],
"dependencies": {
"@eclipse-glsp/cli": "1.0.0-next",
"@eclipse-glsp/config": "1.0.0-next",
"@eclipse-glsp/config-test": "1.0.0-next"
"@eclipse-glsp/cli": "~2.0.0",
"@eclipse-glsp/config": "~2.0.0",
"@eclipse-glsp/config-test": "~2.0.0"
},
"publishConfig": {
"access": "public"
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/eslint-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/eslint-config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Shared ESLint configuration for GLSP projects",
"keywords": [
"eclipse",
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/mocha-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/mocha-config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Shared Mocha test configuration for GLSP projects",
"keywords": [
"eclipse",
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/nyc-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/nyc-config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Shared nyc configuration for GLSP projects",
"keywords": [
"eclipse",
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/prettier-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/prettier-config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Shared Prettier configuration for GLSP projects",
"keywords": [
"eclipse",
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/ts-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eclipse-glsp/ts-config",
"version": "1.0.0-next",
"version": "2.0.0",
"description": "Shared Typescript configuration for GLSP projects",
"keywords": [
"eclipse",
Expand Down
4 changes: 2 additions & 2 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ They are mainly used for CI jobs that require the possibility to build client an
Currently each image variant has at least the following components installed:

- Git >=2.17.1
- Node 14, yarn 1.22.4 and lerna
- OpenJDK 11 and Maven >=3.6.0
- Node 18, yarn 1.22.4 and lerna
- OpenJDK 17 and Maven >=3.6.0
- Python and GCC libraries to enable [Theia](https://theia-ide.org/) builds

## License
Expand Down
Loading

0 comments on commit de11704

Please sign in to comment.