ySVG - yFiles SVG Extension
Release Notes

Next-generation yFiles for Java (Swing)

Java 8
or higher

Beginning with version 3.0, the yFiles for Java (Swing) diagramming library features a brand-new, modern API which requires Java 8. This API is mature and provides many new features that are not available out-of-the-box in the 2.x line. It also provides the functionality of the ySVG, yExport and yBPMN package as source code application, therefore the extension packages are no longer required.

We recommend to start development with the next-generation yFiles for Java in new Java Swing projects.
Especially in projects that don't need to support legacy Java versions before Java 8, this is the recommended way to realize your application's diagram visualization part.

ySVG 2.6 is the latest version of the yFiles SVG extension package.

Technical Requirements

  • Graph visualization library yFiles for Java 2.18 and Oracle JDK 1.7 or higher is needed for software development.
  • A browser to view the HTML documentation.

ySVG 2.6 - Changes Since 2.5

Improvements

  • SVGModel: Added new policy SVG_BOUNDS_POLICY_VIEWPORT that takes SVG attributes width, height, and viewBox of the root svg element into account.
  • SVGModel: Added new method deserializeSVGContent for reading SVG documents from input streams.
  • SVGModel: Relaxed SVG version parsing to accept version="1" as a synonym for version="1.0".
  • Upgraded from Batik 1.8 to Batik 1.14. See the SVG Batik page for a list of improvements.

Changes in Technical Requirements

  • Building and running ySVG based applications now requires at least Java 1.7 (due to upgrading to Batik 1.14).

ySVG 2.5 - Changes Since 2.4.0.1

Improvements

Bugfixes

  • SVGModel: Fixed SAXIOException: Content is not allowed in prolog. that is triggered when reading UTF-16 encoded SVG documents with byte order marks.
  • SVGIOHandler: Corrected text-rendering values for KEY_FRACTIONALMETRICS in Batik.
  • Fixed NoClassDefFoundError that is triggered in BATIK when reading data URIs for embedded JPEG images on non-Oracle Java Runtime Environments.

Incompatible API Changes

Changes in Technical Requirements

  • Building and running ySVG based applications now requires at least Java 1.6 (due to upgrading to Batik 1.8).

ySVG 2.4.0.1 - Changes Since 2.4

Bugfixes

  • Fixed JDK 7u25 only ImagingOpException that is triggered by java.awt.image.BufferedImageOp.filter(java.awt.image.BufferedImage, java.awt.image.BufferedImage) operations in Batik.
  • SVGModel: Fixed lenient handling of SVG 1.2 specific elements in SVG documents declared to be conforming to the SVG 1.0 or SVG 1.1 standards which sometimes resulted in org.w3c.dom.DOMException for valid SVG 1.0 and SVG 1.1 documents.

ySVG 2.4 - Changes Since 2.3

Features Added

Improvements

  • SVGNodeRealizer: Improved contains implementation to work with visible bounds of the displayed graphic instead of the rectangular node bounds. This improvement has to be enabled using setUsingVisualBounds and affects hit testing and edge clipping.
  • OutputModule: Added option to create SVG documents with transparent background.
  • SVGIOHandler: Added support for SVG nodes that display radial gradients.
  • Added option to ignore selection markers when exporting to SVG in one of the demos.

Bugfixes

ySVG 2.3 - Changes Since 2.2.0.1

Features Added

Improvements

  • SVGModel: SVG 1.2 specific elements in SVG documents declared to be conforming to the SVG 1.0 or SVG 1.1 standards are ignored and no longer result in a org.apache.batik.dom.util.SAXIOException.

Bugfixes

  • SVGModel: Reading a SVG definition from an URL now tries to determine the appropriate character encoding from the document identified by the URL instead of using the platform default encoding.

ySVG 2.2.0.1 - Changes Since 2.2

Bugfixes

ySVG 2.2 - Changes Since 2.1.0.1

Improvements

  • ySVG GraphML support no longer depends on the yFiles for Java GraphML extension package but uses the GraphML support that comes with yFiles for Java 2.7.
  • Class SVGModel:
    1. Improved rendering for printing in landscape orientation.
    2. Improved robustness regarding invalid SVG documents.
  • Class SVGDOMEnhancer:
    1. Added new label detection strategy LABEL_DETECTION_NONE to allow to turn off label detection.
    2. Improved robustness of cleanup code in label detection strategies with regard to exceptions.
  • Upgraded from Batik 1.6 to Batik 1.7. See the SVG Batik page for a list of improvements.

ySVG 2.1.0.1 - Changes Since 2.1

Bugfixes

  • Class SVGModel
    • added synchronization to image cache to prevent infinite loops in multithreaded environments
    • estimating image sizes for image caches no longer causes integer overflows

ySVG 2.1 - Changes Since 2.0

Features Added

Demos

Incompatible API Changes

  • Class SVGDOMEnhancer: changed visibility of public field labelDetectionStrategy to private