Changes
- [build] Switch to ESLint 9.x #470
- [diagram] Fix AbstractUIExtension error message #469
- [diagram] Fix edit label UI not resizing on graph zoom #455
- [mcp] Add Model Context Protocol client- and protocol-side support, paired with
@eclipse-glsp/server-mcp#456- New optional
mcpServer?: McpServerConfigurationfield onInitializeParametersopts the GLSP server into starting an MCP server; the response carries anMcpServerResultdescriptor with the announced URL. - Configuration is split into init- and deploy-controllable parts (
McpServerInitOptions/McpServerDeployOptions) so security-relevant fields stay under deployment control.
- New optional
- [export] Generic, format-agnostic export pipeline #456
- New
RequestExportAction/ExportResultActionpair coexisting with the legacyRequestExportSvgAction/ExportSvgActionflow under strict separation. - Pluggable
DiagramExporterregistry with default SVG and PNG strategies and a shared post-processing step. PNG export is a new built-in capability. - Adopters register a custom
DiagramExporterto add formats or override the defaults.
- New
- [protocol] Move
OriginViewportActionfrom the client package to@eclipse-glsp/protocolso it can be dispatched server-side as well. The action is still re-exported transitively via@eclipse-glsp/sprotty, so existing client-side imports continue to work. #456 - [protocol] Add bidirectional request/response protocol support for server-initiated queries #480
- [routing] Add sticky Manhattan edge router and rounded-corner edge view #486
- [example] Add standalone browser example running the GLSP workflow server as a web worker #490 #500
- [example] Update start scripts to support external bundles and configurable ports #506
- [api] Restore parallel-start dispatch for async action handlers #507
- [mcp] Make MCP server startup configurable via URL parameters #508
Potentially Breaking Changes
- [node] Update minimum requirements for Node to >=22 #476
- [protocol] Remove direct dependency on lodash #495
- Base GLSP packages no longer depend on lodash. Adopters that relied on lodash being available transitively must either switch to the new GLSP utility functions or add lodash as a direct dependency.
- [protocol]
OriginViewportAction.isnow also requires theanimatefield (matching the shape ofCenterAction.isandFitToScreenAction.is). Hand-rolled emitters that ship a bare{kind: 'originViewport'}will no longer pass the guard; useOriginViewportAction.create()(which defaultsanimate: true) or includeanimateexplicitly. #456 - [protocol]
GLSPClient.shutdownServer()now returnsMaybePromise<void>instead ofvoid. Pre-existing synchronous adopter implementations remain valid; callers that dispose the connection immediately after the shutdown signal MUSTawaitthe returned value to ensure the notification is flushed to the wire before the connection closes. #456
Full Changelog: v2.6.0...v2.7.0