Skip to content

Releases: NorthwoodsSoftware/GoJS

2.3.0

25 Jan 15:35
Compare
Choose a tag to compare

GoJS 2.3

New SVG Rendering Context

GoJS typically renders the Diagram to an HTML Canvas, and offers exporting the Diagram scene to image formats and SVG. In GoJS 2.3, the library now supports rendering to a live SVG context in addition to the default Canvas context. Visually there should be no changes, and performance will be faster when using the default Canvas context, but the SVG context may be useful for applications where DOM accessibility is paramount, either because users need to select and copy text, or because screen readers need access to all text in the application.

The new SVG rendering context comes with significant changes and upgrades to the GoJS SVG structure, including export SVG. For example, an object with a clip-path would formerly point to a <clippath> via URL, and now clipping paths are defined in-line. These changes make some elementFinished code in Diagram.makeSVG potentially incompatible.

Read more about the SVG Rendering Context here

New Layered Digraph Layout Options for Better Performance

Version 2.3 adds LayeredDigraphLayout.alignOption as a potentially faster alternative to LayeredDigraphLayout.packOption. When using this option, nodes are assigned coordinates within their layers to produce straighter paths of nodes and small edge lengths.

General New Features in GoJS 2.3

  • Added PathFigure.isEvenOdd - PathFigures now support the "even-odd" fill rule. This can be set with the new property PathFigure.isEvenOdd or when making SVG-like Path syntax, with the fill rule F0 (instead of the default F or F1), eg "F0 M 0 0 L 50 50 ...".
  • Added Size.inflate.
  • Bugfixes for shadow drawing in TableRows and TableColumns, and when Shapes have a background set.
  • Bugfixes for Table Panel separators when the Panel is scaled.
  • Arguments passed to Diagram.scroll have been made consistent. Scrolling 'left' 150 pixels will scroll left, but scrolling 'left' -150 pixels will scroll right.
  • GraphObject.build now takes a third argument, which is passed to GraphObject.takeBuilderArgument, if used.
  • Point.intersectingLineSegments now tests for collapsed lines.
  • The PDF samples in projects/pdf now use SVG for rendering diagrams, instead of raster images. This improves the quality of the pages and uses much less memory for large diagrams.

At the same time, we have released GoJS 2.2.23. GoJS 2.3 also contains these changes.

Changes for 2.2.23

  • Line (and therefore Link) intersection fix for some shape geometries containing arcs and beziers, when the start or end of the curve overlaps the adjacent path point.

2.2.23

25 Jan 14:40
Compare
Choose a tag to compare

Changes for 2.2.23

  • Line (and therefore Link) intersection fix for some shape geometries containing arcs and beziers, when the start or end of the curve overlaps the adjacent path point.

2.2.22

04 Jan 16:19
Compare
Choose a tag to compare

Changes for 2.2.22

  • Disallow browser wheel events on the Diagram canvas from bubbling if the wheel has a horizontal component. This bubble prevention also prevents the browser in some systems from
  • Fixed a bug where resetting Picture.source to the empty string may cause a property set error.

2.2.21

19 Dec 21:01
Compare
Choose a tag to compare

Changes for 2.2.21

  • Improved Link.makeGeometry so that overrides do not need to test for situations where a Link has fewer than two points.
  • Improved shadows when Diagram and Part are scaled.

2.2.20

13 Dec 19:03
Compare
Choose a tag to compare

Changes for 2.2.20

  • Improved LinkingTool.doActivate to assign the location of the LinkingBaseTool.temporaryToNode (or the LinkingBaseTool.temporaryFromNode, if drawing a link in the reverse direction) so as to avoid momentarily seeing where the temporary node had been the last time the user tried to draw a new link.
  • Corrected functionality when a browser cancels a Pointer event (for instance when the browser is minimized during ongoing Pointer events).
  • Corrected GraphObject.mouseLeave sometimes not getting called when the user's pointer leaves the Diagram.
  • Fixed iOS Safari text highlighting when dragging Pointer events out of a Diagram.
  • Fixed a regression from 2.2.18 where link JumpOvers might cause "Change not within a transaction" warnings on model load.

2.2.19

30 Nov 16:13
Compare
Choose a tag to compare

Changes for 2.2.19

  • Event fix for some platforms that reimplement DOM functionality (Polymer and Salesforce Aura components).
  • Graduated panels no longer display shadows on Shape and TextBlock elements when those elements explicitly disable shadows with GraphObject.shadowVisible.

2.2.18

18 Nov 15:46
Compare
Choose a tag to compare

Changes for 2.2.18

  • Fix for some initialization animations which could set Part.location incorrectly.
  • Fixed operation of the LinkShiftingTool extension when the mouse is inside the connected node.
  • The TypeScript extensions are now compiled with options "noImplicitOverride": true, "noUnusedLocals": true.
  • Fix since 2.2.0: Link bounds now always contain all JumpOvers.
  • Fix since 2.2.0: When a Diagram.autoScale is applied, dragging Parts outside of the viewport now reliably triggers a redraw.

2.2.17

24 Oct 22:55
Compare
Choose a tag to compare

Changes for 2.2.17

2.2.16

29 Sep 20:52
Compare
Choose a tag to compare

Changes for 2.2.16

2.2.15

12 Sep 13:58
Compare
Choose a tag to compare

Changes for 2.2.15

  • Fixed non-Path Geometry copies not to have a null value for Geometry.figures.
  • Improved the calculation of the midpoint of Bezier curve Links that have exactly three points in their route.
  • Fixed some empty Table panels causing an exception.
  • Loading the GoJS library twice is now a console warning, instead of an error.