- [elk] Fix a bug in the
GLSElkLayoutEngine
that skipped layouting of certain edges #23 - Contributed on behalf of STMicroelectronics - [launch] The message sent after successful startup now also contains the effective socket port #30 - Contributed on behalf of STMicroelectronics
- [launch] Fix a bug that caused the server to not properly dispose all resources when
shutdown
was called #33 - Contributed on behalf of STMicroelectronics - [diagram] Fix a bug to ensure that the copy&paste feature is working properly #35
- [api] Ensure that all
Promise
s andMaybePromise
s have proper rejection handling #36- Contributed on behalf of STMicroelectronics - [launch] Add a launcher component for starting WebSocket based GLSP servers #41
- [validation] Add explicit support and API for live and batch validation #43
- [launch] Launcher components now auto allocate a free port if the port argument is 0 #42
- [server] Add support for server progress reporting #52
- [diagram] Add support for handling reconnection requests to
RequestModelActionHandler
#54 - [server] Update
AbstractJsonModelStorage
to ensure that Windows file paths are properly converted #55 - [deps] Remove unneeded dependency to
fs-extra
#56 - [diagram] Provide generic reusable base operation handlers for JSON-based source models #59
- [diagram] Add support for dynamic edge type hints
- Provide
EdgeCreationChecker
API. Adopters can implement this to handle dynamic edge creation validation requests. #60
- Provide
- [model] Introduce new
GForeignObjectElement
+ builder class #61
- [graph] Align GGraph model with newest changes from glsp-server #22 - Contributed on behalf of STMicroelectronics
- Renamed interfaces:
EdgePlacement
->GEdgePlacement
(affected classes:GEdgeLayoutable
,GLabel
)GLayoutContainer
->GLayouting
(affected classes:GCompartment
,GGraph
,GNode
)GShapePreRenderedElement
->GShapedPreRenderedElement
- Renamed interfaces:
- [deps] Update minimum requirements for Node to >=16.11.0 #32
- [api] Restructure
@eclipse-glsp/server-node
package to provide entry points for both node and browser-only environments #37- The package has been renamed to
@eclipse-glsp/server
. This change affects all import namespaces. - New namespaces for environment specific code:
@eclipse-glsp/server/node
@eclipse-glsp/server/browser
- The package has been renamed to
- [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 #59
- This includes major breaking changes across the whole API:
OperationHandler
has been refactored from an interface to a common abstract base class. Theexecute
method now has to return aMaybePromise<Command|undefined>
- Refactor
CreateOperationHandler
to an interface instead of a class - Rename the services and handlers of the direct GModel library => consistent use of
GModel
prefix - The
ModelState
interface no longer has anisDirty
flag. Dirty state is now handled by theCommandStack
- This includes major breaking changes across the whole API:
- [server] Default port has changed from 5007 (and 8081 for websocket) to 0, which implies autoassignment by the OS #42
- [server] Refactored
GLSPServer
andGLSPServerLauncher
API #44 - Contributed on behalf of STMicroelectronics- Server type definitions are now consumed from
@eclipse-glsp/protocol
GLSPServer
implementation is no longer relies on json-rpc implementation details.- JSON-RPC setup is now done with
JsonRpcGLSPServerLauncher
- Server type definitions are now consumed from
- Provide
CommandStack
API to support undo/redo of model changes #38 #39 - Contributed on behalf of STMicroelectronicsModelState
no longer has aisDirty
property- Breaking refactor of
OperationHandler
API
- [deps] Update to inversify 6.x and Typescript 5.x. #48
- GLSP uses a synchronous inversify context this means with inversify 6.x decorator methods (e.g.
@postConstruct
) with asynchronous results are no longer supported
- GLSP uses a synchronous inversify context this means with inversify 6.x decorator methods (e.g.
- Revise model loading and client action handling #57 #58
- Refactor
ModelSubmissionHandler
to enable handling ofRequestModelAction
as proper request action- Introduce a
submitInitialModel
method that is called by theRequestModelActionHandler
- Introduce a
- Remove
configureClientActions
fromDiagramModule
as client actions are now implicitly configured viaInitializeClientSession
request - Remove
ClientActionHandler
and replace withClientActionForwarder
- Rename
ServerStatusAction
->StatusAction
andServerMessageAction
->MessageAction
- Refactor
Inception of the Node GLSP Server. This project provides the Node based server component for the Eclipse Graphical Language Platform (GLSP). The implementation of this server is aligned with the default Java based GLSP Server. The initial implementation was contributed on behalf of STMicroelectronics. The following list composes changes that have been made since the initial implementation.
- [core] Implement
dispatchOnNextUpdate
method that enables queuing of actions that should be dispatched after the next graphical model update. #1 - Contributed on behalf of STMicroelectronics - [diagram] Implement LayoutEngine API for server-side autolayouting & provide an integration package for layout engines based on ELK. #2 #5 - Contributed on behalf of STMicroelectronics
- [model] Source model refactorings #11
ModelSourceLoader
→SourceModelStorage
- Added method to
SourceModelStorage
- [model] Refactor
ModelState
API #20- Introduce
updateRoot
method DefaultModelState
=> make root setter protected
- Introduce
- [gmodel] Refactor & Move all base & helper classes for the direct GModel usecase into own
gmodel-lib
subdirectory #16