Skip to content

v2.2.1

Latest
Compare
Choose a tag to compare
@tortmayr tortmayr released this 22 Jul 12:10
· 12 commits to master since this release
v2.2.1

Changes

  • [diagram] Fix a bug that prevented proper rendering of templates/ghost elements during node creation in Firefox #324 - Contributed on behalf of Axon Ivy AG
  • [routing] Improve anchor point calculation for edge routing #325
  • [validation] Fix a bug that could cause duplicate validation markers after a model update #329
  • [di] Introduce a reusable LazyInjector that can be used for deferred retrial of services from the container. #330
    • Introduce preLoadDiagram hook for IDiagramStartups. This hook is invoked right before the DiagramLoader starts the model loading process
  • [launch] Introduce GLSPWebWorkerProvider to simply setting up a worker connection to a in-browser GLSP-server #322
  • [diagram] Improve base abstract UIExtension to allow more fine-grained definition of container and parent #333 - Contributed on behalf of Axon Ivy AG
  • [protocol] Improve Geometry API. Add utility functions to Bound,Dimension and Point. Introduce Vector and Movement types #341 - Contributed on behalf of Axon Ivy AG
  • [features] Introduce optional gridModule for managing and rendering grids and debugModule that allows do display additional graphical debug information during development #343 #359
  • [diagram] Improve error handling of startup hooks #346
  • [feature] Improve style handling in svg exporter #354
  • [di] Improve ContainerConfiguration API and add additional checks to ensure that all ids of FeatureModules are unique #355
  • [diagram] Update to sprotty 1.2.0. Non-breaking as all potential API breaks have been mitigated via the glsp-sprotty rexport layer #357
  • [diagram] Fix a bug with the AutocompleteWidget that prevented proper application of valid suggestions #362
  • [api] Improved behavior of default ToolManager to avoid unnecessary deactivation and reactivation of default tools #367
  • [diagram] Add onFocusChanged event to FocusTracker and EditorContextService #380

Potentially breaking changes

  • [API] Centralize most marquee selection behavior in the MarqueeUtil class which is now a singleton, injectable and needs the DOMHelper. This will cause a break if you manually created the class without injecting it. To construct it manually, you need to provide the DomHelper as a second argument #373.
  • [protocol] Avoid indirect dependency to chai introduce by accidentally exporting testing modules #321
    • @eclipse-glsp/protocol no longer exports test-util.ts via main index. If needed the module can still be imported via the full path @eclipse-glsp/protocol/lib/utils/test-util.ts
  • [API] Apply feedback commands already on SetModelCommand and unify rank and priority property #323.
    • Method FeedbackAwareUpdateModelCommand.getFeedbackCommands moved to IFeedbackEmitter for re-use, resulting in two new methods: getFeedbackCommands and applyFeedbackCommands.
    • Method FeedbackAwareUpdateModelCommand.getPriority is replaced by a generic rank property and the Ranked namespace.
    • The priority property (higher priority equals earlier execution) in FeedbackCommand is superseeded by a rank property (lower rank equals earlier execution).
  • [DI] Introduce deferred injection for multi-injected services (listeners, action handlers etc.). Highly reduces the likelihood of circular dependency issues during container creation #330.
    No API breaks in the core API, but it introduces some minor breaks in protected methods/fields of default implementations:
    • GLSPCommandStack
      • Handling of IGModelRootListeners has moved to the EditorContextService.
      • onModelRootChanged is no deprecated. Use EditorContextService.onModelRootChanged instead
    • EditorContextService: The postRequestModel method has been removed. It was previously unused and effectively a no-op.
    • SelectionService: Injected commandStack property has been removed.
  • [diagram] Introduce a reusable FeedbackEmitter base implementation that is stable across model updates and allows composing feedback before dispatching it #342
    Refactored tool implementations and related services to make use of the new FeedbackEmitter API. This can cause potential breaks for adopters that have customized the default tool implementations.
    Affected tools and services: MouseTrackingElementPositionListener, HelperLineManager, FeedbackMoveMouseListener, NodeCreationToolMouseListener, EdgeEditListener,
  • [diagram] Refactor and improve ChangeBounds API by introducing a centralized ChangeBoundsManage and ChangeBoundsTracker #344 #348 #352 - Contributed on behalf of Axon Ivy AG
    This can cause potential breaks for adopters that have customized the default tool implementations
    Affected tools and services: MouseTrackingElementPositionListener, FeedbackMoveMouseListener, ChangeBoundsTool, ChangeBoundsListener,FeedbackEdgeRouteMovingMouseListener, NodeCreationTool,

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