Version 3.0.0

This version makes the VSDX export compatible with the yFiles for HTML 3.0 release, and therefore requires yFiles version 3.0 or later. It includes some incompatible API changes, along with various bug fixes and general enhancements.

  • The Connections class now has the public properties autoGen and prompt corresponding to the AutoGen and Prompt cells of the Connection section.

  • The VsdxDocument class now has the public properties user and scratches for the User and Scratches sections.

  • The new GradientStop.index property describes the index of the stop in the Gradient section.

  • The Arrow.cropLength property, which defines the distance from the node-edge intersection to the arrow, is now supported.

  • The ImageNodeStyle and the IconLabelStyle can have a background visual shape that can be exported to Visio.

  • The new PathEdgeStyleBase class, which can be used to create a complex GeneralPath for an edge can be converted by the SvgProvider and SvgProcessingStep. The EdgePathProcessingStep is also required to process the edge path.

  • The new ShapePortStyle class can be converted by the SvgProvider and SvgProcessingStep.

  • The new DelegatingNodeStyle, DelegatingEdgeStyle, DelegatingLabelStyle and DelegatingPortStyle classes can be converted by the SvgProvider and SvgProcessingStep.

  • The new CompositeEdgeProvider and CompositeEdgeProcessingStep classes can convert edges with CompositeEdgeStyle. The other composite styles are converted by the SvgProvider and SvgProcessingStep.

  • The dependency @yworks/canvg has been updated to 4.0.4.

  • The dependency color has been updated to 5.0.0.

  • The StretchNodeLabelProcessingStep class now correctly applies StretchNodeLabelModel.padding.

  • The configuration created with the VsdxExportConfiguration.default method now contains instances of ArrowEdgeProcessingStep, NodePortAdapterProcessingStep, ArrowEdgeProvider, VoidEdgeProvider, NodePortAdapterProvider, ArrowEdgeProvider. CompositeEdgeProvider, and CompositeEdgeProcessingStep.

  • The EdgePathProcessingStep class no longer throws an error when the export graph contains edges with IEdgeStyle.VOID_EDGE_STYLE.

  • Visio no longer shows a warning when opening a VSDX file that contains a master created with the VoidEdgeProvider class.

  • The VSDX Export npm package is now named @yfiles/vsdx-export. This makes it easier to serve the addon from a local registry by associating the @yfiles scope with it.

  • The Vsdx Export, like yFiles for HTML, no longer supports outdated browsers like Internet Explorer. The 'vsdx-export-for-yfiles-for-html/polyfills' file and the optional dependency to the third party library 'core-js' have been removed. The dependency to the third party library 'regenerator-runtime' has also been removed.

  • The VssxStencilProviderFactory.fromBase64, VsdxExport.writeBase64, VsdxIO.fromBase64, and VsdxIO.writeBase64 methods have been removed. Use the Blob variants, instead.

  • DefaultLabelProvider and DefaultLabelProcessingStep are now called LabelProvider and LabelProcessingStep to match the new name of the LabelStyle class in the yFiles library.

  • InteriorStretchLabelProcessingStep is now called StretchNodeLabelProcessingStep to match the new name of the StretchNodeLabelModel in the yFiles library.

  • The deprecated CoordinateConverter parameter of the SvgSupport.applySvg method has been removed.

  • The PanelNodeProvider and PanelNodeProcessingSteps have been removed.

  • The value type of the value and prompt cells of the UserDefinedCell class is now unknown instead of any.

  • The value type of the Property.value cell is now unknowninstead of any.

  • The value type of the Field.value cell is now unknowninstead of string.

  • The langId cells of the CHARACTER, Property, and Stylable classes are now consistently called langId (lowercase "d").

  • The value type of the Action.action cell is now number to match the specification. Only the formula of this cell is relevant.

  • The Value class is now immutable.

  • The Value.unit property is now called displayUnit.

  • Many properties that were designed as immutable are now marked as immutable in the typings and API documentation.

  • Properties are now written with get/set accessors in the typings and not as fields.

  • The public constructor of the DocumentSettings class has been removed.

  • The StyleSheet class is now called VsdxStyleSheet to avoid a name clash with the global StyleSheet class in browser environments.

  • The Text class is now called VsdxText to avoid a name clash with the global Text class in browser environments.

  • The properties of the NameId class are now all optional.

  • The fill parameter of the VsdxFill.apply method is now nullable.

  • The stroke parameter of the VsdxStroke.apply method is now nullable.

  • The VsdxPathFactory class now has methods for all ShapeNodeShapes. Shapes that have been removed in yFiles for HTML 3.0 have also been removed from this class.

  • Similar to yFiles for HTML 3.0, API members that were of type Class<T> are now of type ClassConstructor<T>. Instead of MyClass.$class, you can now pass MyClass.

  • The User class now inherits from VsdxSection and can therefore be iterated.

  • Retrieval of existing UserDefinedCells from a User section is now possible with the getCell method. Retrieving a UserDefinedCell with property accessors is no longer possible.

  • All demos have been migrated to be compatible with the yFiles for HTML 3.0 release.

  • Import-Stencils and Typescript demos have been removed.

  • Webpack-Typescript demo has been renamed to Webpack demo.