Releases: eclipse-glsp/glsp-client
Releases · eclipse-glsp/glsp-client
2.1.1 Release
2.1.0 Release
Changes
- [diagram] Fix a bug that prevented correct rendering of projection bars when using
GLSPProjectionView
#298 - [a11y] Improved responsibility and feedback when resizing or moving diagram elements with keyboard-only commands #295
- [diagram] Extends
configureDiagramOptions
function to also allow partial configuration ofViewerOptions
#296 - [diagram] Remove unused handleSetContextActions from ToolPalette #301
- [diagram] Deprecate
ISModelRootListener
API in favor ofIGModelRootListener
#303 - [diagram] Ensure that the suggestion container position of the
AutoCompleteWidget
is rendered correctly #304 - [feature] Extend
ToolPalette
/CreateOperation
API to support rendering of preview/ghost elements when creating new nodes #301 - [protocol] Fix a bug in
BaseJsonRpcClient
to ensure that it can handle multiple open diagram sessions #307 - [diagram] Restructure some tools to have a more common infrastructure and support helper lines #306
- [diagram] Fix a bug in
SelectionService
that caused issues with inversify when injecting certain services (e.g.ActionDispatcher
) inSelectionChangeListener
implementations #305 - [diagram] Ensure that the
SelectionService
does not trigger a change event if the selection did not change on model update #313
Full Changelog: v1.0.0...v2.1.0
2.0.0 Release
Changes
- [layout] Improve Layouter to support more dynamic layouts and complex parent/children node structures #187 - Contributed on behalf of STMicroelectronics
- [diagram] Fix SVG export for nested root elements e.g.
GLSPProjectionView
#196 - [diagram] Scope the styles to not break existing application layout #209
- [routing] Ensure that routes are properly re-calculated when moving a routing point #198
- [diagram] Fix a bug in the
EditLabelUIExtension
where the diagram becomes dirty without an actual change. #766 - [diagram] Extend
ComputedBoundsAction
definition with routing information. This enables proper forwarding of client-side computed routes to the server #201 - [DI] The
createClientContainer
function is now deprecated. Please useinitializeDiagramContainer
instead. This new function can also be used withModuleConfigurations
which allow a more fine granular configuration by adding new modules and/or removing default modules. #218 #231 #236 - [diagram] Fix incorrect calculation of decorator popup positions for edges. #221
- [protocol] Introduce a reusable
Disposable
type #222 - [protocol] Introduce reusable utility functions for DI configuration #236#237
- [diagram] Augment diagram SVG with additional model metadata to enable easier integration tests and accessibility #239
- [validation] Add and track reason for validation markers (e.g. batch and live validation) #243
- [protocol] Introduce optional
deselectAll
flag forSelectAction
s #257 - [protocol] Provide the common interfaces and type definitions for TS-based GLSP servers #245 - Contributed on behalf of STMicroelectronics
- [diagram] Introduce a new set of accessability features for disability-aware conceptual modeling and keyboard-only diagram interactions. (experimental) #240 #241 #242 #254 #276 #279
- [API] Re-work tool and feedback structure #264 #274
- Introduce
registerListener
method on GLSP mouse and key tool to return a disposable for de-registration - Adapt
registerFeedback
method from feedback dispatcher to return a disposable for de-registration - Introduce dedicated
BaseGLSPCreationTool
for tools based on trigger actions - Introduce
toDisposeOnDisable
collection inBaseGLSPTool
to register disable handling during enablement
- Introduce
- [DI] Introduce and consistently use
FeatureModule
s instead of plain inversifyContainerModule
s #267 - [diagram] Introduce
statusModule
that binds UI extension to handle & renderGLSPStatusMessages
. #272 - [diagram] Provide generic dirty state handling in
EditorContextService
#272 - [diagram] Fix bug that broke edge edit (routing) in certain cases #273
- [API] Introduce
DiagramLoader
component + life cycle management #274 #282- Integration projects no longer need to manually implement the initial diagram loading. Instead a set of configurations
IDiagramOptions
and then the diagram loader
is invoked and initializes the diagram. - Add a
onServerInitialized
event to theGLSPClientAPI
. - Introduce
IDiagramStartup
service. Adopters can multi bind this service to hook into the diagram loading lifecycle and provide additional logic. i.e. dispatching of initial actions.
- Integration projects no longer need to manually implement the initial diagram loading. Instead a set of configurations
- [diagram] Fix a bug that broke edge intersection detection when using the
GLSPProjectionView
#275 - [diagram] Fix a bug regarding focus handling when integrated in an application frame like Theia #278
Breaking Changes
- [DI] Injecting an
IButtonHandler
constructor is now deprecated. Please useconfigureButtonHandler()
instead. #195 - Contributed on behalf of STMicroelectronics - [node] Update minimum requirements for Node to >=16.11.0 #210
- [protocol] Renamed
UndoOperation
andRedoOperation
toUndoAction
andRedoAction
to match operation specification #216 - [protocol] Remove dependency to
vscode-ws-jsonrpc
. The protocol package now directly offers functions to create a websocket rpc connections #215 - [protocol] The
elementIds
property ofLayoutOperation
is now optional. Ifundefined
the entire model will be layouted #232 - [API] Refactored base API #259
- Removed the
TYPES.SelectionService
service identifier. Please directly use theSelectionService
class as service identifier instead - The
SelectionService
binding is now part of thedefaultGLSPModule
. This means theSelectionService
remains available even if theselectModule
is not configured RootModelChangeListener
s are no longer tied to theFeedbackawareUpdateModelCommand
instead they are managed by theGLSPCommandStack
IMouseTool
andTYPES.IMouseTool
are no longer available. Directly inject and useMouseTool
instead- Refactored rank utility functions
isRanked()
->Ranked.is()
getRank()
->Ranked.getRank()
DEFAULT_RANK
->Ranked.DEFAULT_RANK
- Removed the
- [API] Introduce Event API to replace the old listener/notifier pattern #261
- Reworked
SelectionService
,GlspCommandStack
&EditorContextService
to make use of this new API - Removed explicit (de)registration methods for listeners. Use the corresponding event property (e.g.
SelectionService.onSelectionChanged
) instead - Aligned naming of injectable interfaces & service identifiers to consistently use the
I
prefix
- Reworked
- [API] Re-work tool and feedback structure #264
- Remove generic
toolsModule
andtoolFeedbackModule
in favor of individual tool modules - Rename
dispatchFeedback
inBaseGLSPTool
toregisterFeedback
to align with feedback dispatcher - Switch arguments in
deregisterFeedback
inBaseGLSPTool
for easier de-registration and clean up actions
- Remove generic
- [protocol] Add messages for server-side progress reporting and remove timeout in
ServerMessageAction
#265 - [DI] Renamed and aligned prefixes of DI modules. #266
- Removed
glsp
prefix from all modules (e.g.glspSelectModule
->selectModule
) - In addition, the following modules have been renamed
defaultGLSPModule
->baseModule
modelHintsModule
->typeHintsModule
enableDefaultToolsOnFocusLossModule
->toolFocusLossModule
glspEditLabelModule
->labelEditModule
- Removed
- [websocket] Introduce a reusable
GLSPWebSocketProvider
class that supports reconnect on connection loss #269 - [API] Introduce
GLSPModelSource
as default implementation for sprotty'sModelSource
API #272 #287GLSPDiagramServer
has been deprecated and is no longer availableSelectionServiceAwareContextMenuMouseListener
renamed toGLSPContextMenuMouseListener
SourceURIAware
interface has been removed. No longe required since we only have oneGLSPModelSource
binding now.
- [protocol] Revise TypeHints API and introduce possibility to dynamically query the server for complex connection conditions #285
EdgeTypeHint
sourceElementTypeIds
andtargetElementTypeIds
are now optional. If not provided all connection targets are allowed- Introduce
dynamic
flag. If a hint has this flag enabled connection tools know that the have to query there server in addition
to checking the default ...
1.1.0 Release Candidate 10
What's Changed
- Add keyboard support for searching elements by @aylin-sarioglu in #242
- Update workflow example README by @ndoschek in #251
- Add keyboard support for resizing elements by @aylin-sarioglu in #240
- GLSP-1026 Use new bundled workflow-server package by @tortmayr in #252
- Add documentation for accessibility features by @aylin-sarioglu in #254
- GLSP-1022: Update dependencies by @tortmayr in #253
Full Changelog: v1.1.0-RC09...v1.1.0-RC10
1.1.0 Release Candidate 9
1.1.0 Release Candiate 8
What's Changed
- Add a reason for requesting and setting markers by @planger in #243
- Add missing
reason
toSetMarkersAction
by @planger in #244 - Add SVGMetadata API by @haydar-metin in #239
- Fix wrong import by @tortmayr in #246
New Contributors
- @haydar-metin made their first contribution in #239
Full Changelog: v1.1.0-RC07...v1.1.0-RC08
1.1.0 Release Candiate 7
What's Changed
- Fix definition of
LayoutOperation
by @tortmayr in #232 - Ensure tha DrawFeedbackEdgeAction uses correct type for schema by @tortmayr in #233
- Reformat code & overall cleanup by @tortmayr in #234
- GLSP-954 Add DI utility to protocol package by @tortmayr in #236
- GLSP-954 Ensure that bindAsAService also work with the DI container as context by @tortmayr in #237
- Bump webpack from 5.75.0 to 5.76.0 by @dependabot in #235
Full Changelog: v1.1.0-RC06...v1.1.0-RC07
1.1.0 Release Candiate 6
What's Changed
- Extend type-util by @tortmayr in #228
- Ensure that drawFeedbackAction uses correct schema type by @tortmayr in #230
- Provide own websocket vsode-jsonrpc connection by @tortmayr in #215
- Refactor
createDiagramContainer
function by @tortmayr in #231
Full Changelog: v1.1.0-RC05...v1.1.0-RC06
1.1.0 Release Candiate 5
What's Changed
- Update CHANGELOG.md by @tortmayr in #219
- Bump json5 from 1.0.1 to 1.0.2 by @dependabot in #220
- Add custom 'GEdge' that provides a 'localToParent' calculation by @martin-fleck-at in #221
- Fix copyright header violations by @tortmayr in #223
- Add common Disposable API by @tortmayr in #222
- Ensure that all objects are assignable to the
AnyObject
type by @tortmayr in #225 - Ensure edge routing point can be grabbed in Firefox Browser by @martin-fleck-at in #224
- Replace 'ApplyTaskEditOperation' with direct use of 'EditTaskOperation' by @martin-fleck-at in #226
- Bump http-cache-semantics from 4.1.0 to 4.1.1 by @dependabot in #227
Full Changelog: v1.1.0-RC04...v1.1.0-RC05
1.1.0 Release Candiate 4
What's Changed
- Bump terser from 4.8.0 to 4.8.1 by @dependabot in #192
- Bump loader-utils from 1.4.0 to 1.4.2 by @dependabot in #204
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #206
- Repo housekeeping by @tortmayr in #205
- Fix jenkins build by @tortmayr in #207
- Update README.md by @tortmayr in #208
- Update to latest vscode-json-rpc version by @martin-fleck-at in #210
- Revert "Update to latest vscode-json-rpc version" by @tortmayr in #211
- Fix copy&paste support for GLSPProjectionView by @tortmayr in #212
- Update to vscode-ws-jsonrpc 2.0.1, increase Node minimum to >=16.11.0 by @martin-fleck-at in #213
- fix(diagram): scope css to avoid conflict on existing layout by @jmfrancois in #209
- Integrate coverage reports by @tortmayr in #214
- Upgrade Sprotty to consume label edit UI fix by @martin-fleck-at in #216
- Ensure that startup UI extensions are rendered correctly by @tortmayr in #217
- Cleanup diagram modules by @tortmayr in #218
New Contributors
- @jmfrancois made their first contribution in #209
Full Changelog: v1.1.0-RC03...v1.1.0-RC04