Skip to content

Releases: eclipse-glsp/glsp-server-node

2.2.1 Release

22 Jul 12:23
v2.2.1
Compare
Choose a tag to compare

Changes

  • [layout] Ensure that model is updated correctly when using automatic server layout #74
  • [gmodel] Add proper undefined/null handling in GModel builder functions #76
  • [launch] Improve Winston-Logger implementation to properly handle non-serializable objects #82
  • [layout] Ensure that including ElkLayoutEngine engine does not error in browser-only server implementations #83
  • [gmodel] Introduce new Resizable interface that is implemented by all GShapeElements and allows per-element definition of resize handle locations #84
  • [action] Ensure that actions queued with dispatchAfterNextUpdate are also dispatched after the initial SetModelAction #88

Potentially Breaking Changes

  • [protocol] Removed local definition of GIssueMarker and reuse it from @eclipse-glsp/protocol instead #88
    • => GIssueMarker is now an interface instead of a class

Full Changelog: v2.1.0...v2.2.1

v2.1.1

16 Feb 11:45
Compare
Choose a tag to compare

#Changes

  • Upgrade to 2.1.1 hotfix version of @eclipse-glsp/protocol

Full Changelog: v2.1.0...v2.1.1

2.1.0 Release

23 Jan 14:01
Compare
Choose a tag to compare

Changes

  • [operation] Add support for defining ghost elements/templates in CreateNodeOperationHandler's #65
  • [launch] Use "127.0.0.1" as default host to avoid potential IP v4/v6 connection issues #67
  • [gmodel] Fix a bug in GModelDeleteOperationHandler that prevented deletion of multiple selected elements #68

Full Changelog: v2.0.0...v2.1.0

2.0.0 Release

15 Oct 11:47
v2.0.0
2af7da4
Compare
Choose a tag to compare

Changes

  • [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 Promises and MaybePromises 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
  • [model] Introduce new GForeignObjectElement + builder class #61

Breaking Changes

  • [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
  • [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
  • [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. The execute method now has to return a MaybePromise<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 an isDirty flag. Dirty state is now handled by the CommandStack
  • [server] Default port has changed from 5007 (and 8081 for websocket) to 0, which implies autoassignment by the OS #42
  • [server] Refactored GLSPServer and GLSPServerLauncher 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
  • Provide CommandStack API to support undo/redo of model changes #38 #39 - Contributed on behalf of STMicroelectronics
    • ModelState no longer has a isDirty 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
  • Revise model loading and client action handling #57 #58
    • Refactor ModelSubmissionHandler to enable handling of RequestModelAction as proper request action
      • Introduce a submitInitialModel method that is called by the RequestModelActionHandler
    • Remove configureClientActions from DiagramModule as client actions are now implicitly configured via InitializeClientSession request
    • Remove ClientActionHandler and replace with ClientActionForwarder
    • Rename ServerStatusAction -> StatusAction and ServerMessageAction -> MessageAction

New Contributors

Full Changelog: v1.0.0...v2.0.0

1.1.0 Release Candidate 10

30 Jun 13:43
Compare
Choose a tag to compare
Pre-release

What's Changed

  • GLSP-1026 Provide bundle on example server package by @tortmayr in #49
  • GLSP-1022: Update to TS5 and inversify 6 by @tortmayr in #48

Full Changelog: v1.1.0-RC09...v1.1.0-RC10

1.1.0 Release Candiate 9

30 May 20:01
Compare
Choose a tag to compare
Pre-release

1.1.0 Release Candiate 8

08 May 10:45
Compare
Choose a tag to compare
Pre-release

What's Changed

  • feat: adjust server startup to use autoassigned ports by @xai in #42
  • GLSP-975 Ensure generic GLSP Server implementation by @tortmayr in #44
  • Update changelog by @tortmayr in #45

Full Changelog: v1.1.0-RC07...v1.1.0-RC08

1.1.0 Release Candiate 7

07 Apr 11:37
Compare
Choose a tag to compare
Pre-release

1.1.0 Release Candiate 6

06 Mar 17:41
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Support async command execution by @tortmayr in #39
  • Ensure that recording commands can be executed asynchronous by @tortmayr in #40
  • Add websocket server launcher by @tortmayr in #41

Full Changelog: v1.1.0-RC05...v1.1.0-RC06

1.1.0 Release Candiate 5

07 Feb 16:05
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Ensure that all services that return MaybePromises are properly awaited by @tortmayr in #36
  • Refactor packages and provide dedicated browser and node runtimes by @tortmayr in #37
  • Provide command API by @tortmayr in #38

Full Changelog: v1.1.0-RC04...v1.1.0-RC05