|
1 | | -# Eclipse GLSP Server Node Changelog |
| 1 | +# Eclipse GLSP Server Changelog |
2 | 2 |
|
3 | | -## v1.1.0 - upcoming |
| 3 | +## v2.0.0 - 14/10/2023 |
4 | 4 |
|
5 | | -- [elk] Fixed a bug in the `GLSElkLayoutEngine` that skipped layouting of certain edges [#23](https://github.com/eclipse-glsp/glsp-server-node/pull/23) - Contributed on behalf of STMicroelectronics |
| 5 | +### Changes |
| 6 | + |
| 7 | +- [elk] Fix a bug in the `GLSElkLayoutEngine` that skipped layouting of certain edges [#23](https://github.com/eclipse-glsp/glsp-server-node/pull/23) - Contributed on behalf of STMicroelectronics |
6 | 8 | - [launch] The message sent after successful startup now also contains the effective socket port [#30](https://github.com/eclipse-glsp/glsp-server-node/pull/30) - Contributed on behalf of STMicroelectronics |
7 | | -- [launch] Fixed a bug that caused the server to no properly dispose all resources when `shutdown` was called [#33](https://github.com/eclipse-glsp/glsp-server-node/pull/33) - Contributed on behalf of STMicroelectronics |
8 | | -- [diagram] Fixed a bug to ensure that the copy&paste feature is working properly [#35](https://github.com/eclipse-glsp/glsp-server-node/pull/35) |
9 | | -- [api] Ensured that all `Promise`s and `MaybePromises` have proper rejection handling [#36](https://github.com/eclipse-glsp/glsp-server-node/pull/36)- Contributed on behalf of STMicroelectronics |
| 9 | +- [launch] Fix a bug that caused the server to not properly dispose all resources when `shutdown` was called [#33](https://github.com/eclipse-glsp/glsp-server-node/pull/33) - Contributed on behalf of STMicroelectronics |
| 10 | +- [diagram] Fix a bug to ensure that the copy&paste feature is working properly [#35](https://github.com/eclipse-glsp/glsp-server-node/pull/35) |
| 11 | +- [api] Ensure that all `Promise`s and `MaybePromise`s have proper rejection handling [#36](https://github.com/eclipse-glsp/glsp-server-node/pull/36)- Contributed on behalf of STMicroelectronics |
10 | 12 | - [launch] Add a launcher component for starting WebSocket based GLSP servers [#41](https://github.com/eclipse-glsp/glsp-server-node/pull/41) |
11 | 13 | - [validation] Add explicit support and API for live and batch validation [#43](https://github.com/eclipse-glsp/glsp-server-node/pull/43) |
12 | 14 | - [launch] Launcher components now auto allocate a free port if the port argument is 0 [#42](https://github.com/eclipse-glsp/glsp-server-node/pull/42) |
13 | 15 | - [server] Add support for server progress reporting [#52](https://github.com/eclipse-glsp/glsp-server-node/pull/52) |
| 16 | +- [diagram] Add support for handling reconnection requests to `RequestModelActionHandler` [#54](https://github.com/eclipse-glsp/glsp-server-node/pull/54/) |
| 17 | +- [server] Update `AbstractJsonModelStorage` to ensure that Windows file paths are properly converted [#55](https://github.com/eclipse-glsp/glsp-server-node/pull/55) |
| 18 | +- [deps] Remove unneeded dependency to `fs-extra` [#56](https://github.com/eclipse-glsp/glsp-server-node/pull/56) |
| 19 | +- [diagram] Provide generic reusable base operation handlers for JSON-based source models [#59](https://github.com/eclipse-glsp/glsp-server-node/pull/59) |
| 20 | +- [diagram] Add support for dynamic edge type hints |
| 21 | + - Provide `EdgeCreationChecker` API. Adopters can implement this to handle dynamic edge creation validation requests. [#60](https://github.com/eclipse-glsp/glsp-server-node/pull/60) |
| 22 | +- [model] Introduce new `GForeignObjectElement` + builder class [#61](https://github.com/eclipse-glsp/glsp-server-node/pull/61) |
14 | 23 |
|
15 | 24 | ### Breaking Changes |
16 | 25 |
|
|
20 | 29 | - `GLayoutContainer` -> `GLayouting` (affected classes: `GCompartment`, `GGraph`, `GNode`) |
21 | 30 | - `GShapePreRenderedElement` -> `GShapedPreRenderedElement` |
22 | 31 | - [deps] Update minimum requirements for Node to >=16.11.0 [#32](https://github.com/eclipse-glsp/glsp-client/pull/32) |
23 | | -- [api] Restructured `@eclipse-glsp/server-node` package to provide entry points for both node and browser-only environments [#37](https://github.com/eclipse-glsp/glsp-server-node/pull/37) |
| 32 | +- [api] Restructure `@eclipse-glsp/server-node` package to provide entry points for both node and browser-only environments [#37](https://github.com/eclipse-glsp/glsp-server-node/pull/37) |
24 | 33 | - The package has been renamed to `@eclipse-glsp/server`. This change affects all import namespaces. |
25 | 34 | - New namespaces for environment specific code: |
26 | 35 | - `@eclipse-glsp/server/node` |
27 | 36 | - `@eclipse-glsp/server/browser` |
28 | | -- [operation] Implement Command API and rework OperationHandler to provide an optional command instead of direct execution to allow more execution control (including undo & redo support) [#38](https://github.com/eclipse-glsp/glsp-server-node/pull/38) |
| 37 | +- [operation] Implement Command API and rework OperationHandler to provide an optional command instead of direct execution to allow more execution control (including undo & redo support) [#38](https://github.com/eclipse-glsp/glsp-server-node/pull/38) [#59](https://github.com/eclipse-glsp/glsp-server-node/pull/59) |
29 | 38 | - This includes major breaking changes across the whole API: |
30 | 39 | - `OperationHandler` has been refactored from an interface to a common abstract base class. The `execute` method now has to return a `MaybePromise<Command|undefined>` |
31 | | - - Refactored `CreateOperationHandler` to an interface instead of a class |
32 | | - - Renamed the services and handlers of the direct GModel library => consistent use of `GModel` prefix |
| 40 | + - Refactor `CreateOperationHandler` to an interface instead of a class |
| 41 | + - Rename the services and handlers of the direct GModel library => consistent use of `GModel` prefix |
33 | 42 | - The `ModelState` interface no longer has an `isDirty` flag. Dirty state is now handled by the `CommandStack` |
34 | 43 | - [server] Default port has changed from 5007 (and 8081 for websocket) to 0, which implies autoassignment by the OS [#42](https://github.com/eclipse-glsp/glsp-server-node/pull/42) |
35 | 44 | - [server] Refactored `GLSPServer` and `GLSPServerLauncher` API [#44](https://github.com/eclipse-glsp/glsp-server-node/pull/44) - Contributed on behalf of STMicroelectronics |
|
39 | 48 | - Provide `CommandStack` API to support undo/redo of model changes [#38](https://github.com/eclipse-glsp/glsp-server-node/pull/38) [#39](https://github.com/eclipse-glsp/glsp-server-node/pull/39) - Contributed on behalf of STMicroelectronics |
40 | 49 | - `ModelState` no longer has a `isDirty` property |
41 | 50 | - Breaking refactor of `OperationHandler` API |
| 51 | +- [deps] Update to inversify 6.x and Typescript 5.x. [#48](https://github.com/eclipse-glsp/glsp-server-node/pull/48) |
| 52 | + - GLSP uses a synchronous inversify context this means with inversify 6.x decorator methods (e.g. `@postConstruct`) with asynchronous results are no longer supported |
| 53 | +- Revise model loading and client action handling [#57](https://github.com/eclipse-glsp/glsp-server-node/pull/57) [#58](https://github.com/eclipse-glsp/glsp-server-node/pull/58) |
| 54 | + - Refactor `ModelSubmissionHandler` to enable handling of `RequestModelAction` as proper request action |
| 55 | + - Introduce a `submitInitialModel` method that is called by the `RequestModelActionHandler` |
| 56 | + - Remove `configureClientActions` from `DiagramModule` as client actions are now implicitly configured via `InitializeClientSession` request |
| 57 | + - Remove `ClientActionHandler` and replace with `ClientActionForwarder` |
| 58 | + - Rename `ServerStatusAction` -> `StatusAction` and `ServerMessageAction` -> `MessageAction` |
42 | 59 |
|
43 | 60 | ## [v1.0.0 - 30/06/2022](https://github.com/eclipse-glsp/glsp-server-node/releases/tag/v1.0.0) |
44 | 61 |
|
|
0 commit comments