Avg Release Cycle
417 days ago
- 🛠 Fixed a regression since 2.1.30 where the library might not load in React or Angular environments, and a TypeError would be thrown.
- 🛠 Fixed dragging of links connected with snapped nodes when the grid cell size was not an integer, causing the links to slowly shift over time.
- 🛠 Fixed rendering of background in images drawn by Diagram.makeImageData when the whole page has been scaled to be less than 100%.
- 🛠 Fixed Diagram.delayInitialization when calling code that prompts the Diagram to update immediately afterwards.
- 🛠 Fixed premature routing of links in Groups that start off collapsed (with Group.isSubGraphExpanded set or bound to false).
- 🛠 Fixed an animation bug that might revert some routes when the initial animation was turned off.
- 🔗 Link.computeAdjusting now only returns Link.End during animation only when routing is AvoidsNodes.
- 🛠 Fixed a regression since 2.1.29 where an Overview would not update with a newly set Overview.observed Diagram and a newly displayed HTMLDivElement until some activity happened on that observed Diagram.
🔄 Changes for 2.1.30
- 🔄 Changed the behavior of GraphLinksModel so that the use of a key of a non-existent node can be resolved by adding a node with that key in a later transaction, not just in the same transaction.
- 🛠 Fixed routing of duplicate orthogonal links between ports with "...Side" Spots to avoid producing little loops when the ports are close to each other.
- 🛠 Fixed ContextMenuTool to automatically stop running if the newly shown context menu is a not-GraphObject.visible Adornment.
- 🛠 Fixed exception on expanding a Group whose member nodes had partly disconnected links.
🔄 Changes for 2.1.29
- Overviews now wait for the Diagram to draw first before attempting to draw. This solves timing issues with Diagram.delayInitialization.
- 🛠 Fixed delays in updating the Link.geometry after changing properties such as Link.corner.
- 🛠 Fixed setting Diagram.scrollMargin during Diagram initialization, which would interrupt the initial transaction.
🔄 Changes for 2.1.28
- ➕ Added the Diagram.ensureBounds method. Like Part.ensureBounds, this is useful when you need the document bounds computed immediately. It is rare that you will need to call either method, because the normal updating process will perform the computations for you as part of a transaction, asynchronously.
- 🛠 Fixed some parsing issues when using Geometry.parse or Shape.geometryString with SVG arcs.
- 🛠 Fixed the Picture.source setter from failing in non-DOM environments.
- 🛠 Fixed DOM-less environments that do not have setImmediate defined.
- 🛠 Fixed Link routing when connecting to the edge of an arc segment.
🔄 Changes for 2.1.27
- 🛠 Fixed the routing of links connected with nodes that are members of expanded groups inside collapsed groups.
- 🛠 Fixed some Shapes in Link Selection Adornments inheriting their strokeWidth from the Link. Only the main path Shapes of Link "Selection" Adornments with a strokeWidth of 0 will inherit the strokeWidth from the adorned Link.path Shape.
- 🛠 Fixed changing Picture.source back to an empty string not to throw an unnecessary error.
🔄 Changes for 2.1.26
- ➕ Added a ResizeObserver to automatically detect changes in the size of the HTMLDivElement (the Diagram.div) in recent browsers. You will still need to call Diagram.requestUpdate when running in older browsers or in Internet Explorer.
- ➕ Added the ResizingTool.dragsMembers property, for controlling whether resizing a Group may move its Group.memberParts if it has no Placeholder.
- 🛠 Fixed regression since 2.1.24 causing some diagrams not to be drawn even after calling Diagram.requestUpdate.
- 🛠 Fixed some cases of finding the nearest intersection point of Bezier curves with a straight finite line.
🔄 Changes for 2.1.25
- ➕ Added the Connection Box Node sample, showing nodes that allow links between ports within a node.
- 🚀 In order to avoid possible errors caused by loading the GoJS library more than once, an Error is thrown when a second load is detected, even if the version number is the same. This helps avoid problems where there are multiple definitions for each of the classes, causing errors such as: Error: Unknown type of binding target: Node#241, where the object is a GoJS Node, but not the same GoJS Node class as the code expects. It also helps avoid situations when both the release library and the debug library are loaded.
- 🛠 Fixed raising an extraneous Diagram.mouseOver event during initialization.
- 🛠 Fixed a regression since 2.1.0 that would prevent a Diagram or Overview from re-scaling or aligning when its DIV changed size.
- 🛠 Fixed invalidating routes of external links when nested groups change their visibility in ways other than expanding trees or subgraphs.
- 🛠 Fixed Model.mergeNodeDataArray, GraphLinksModel.mergeLinkDataArray, and Model.applyIncrementalJson to set known properties, eg. GraphLinksModel.nodeGroupKeyProperty, even when the property is not present on the new data.
🔄 Changes for 2.1.24
- ➕ Added the Multi-color Links sample, showing links whose paths can be stroked with multiple colors specified in an Array as the value of the link's data.colors.
- Associating a Diagram instance with an HTMLDivElement now causes that Div element to get two new properties: "goDiagram" to refer to that Diagram instance, and "go" to refer to the "go" namespace if it exists. This makes it easier to examine or set Diagram properties or to call Diagram methods or methods on GraphObjects in existing apps without access to the app's source code.
- 🛠 Fixed using subclasses of GraphLinksModel or TreeModel.
- 🛠 Fixed AnimationTriggers incorrectly starting when AnimationManager.isEnabled is set to false.
- 🛠 Fixed extraneous Transaction ChangedEvents when modifying a group invalidated a layout.
🔄 Changes for 2.1.23
- ➕ Added the Arranging Layout extension, demonstrated in the Arranging sample. This layout is basically a layout of layouts, so that you can have a CircularLayout of CircularLayouts, as shown in the sample, or a PackedLayout of TableLayouts, or whatever. The ArrangingLayout also has a third layout that is used to position nodes not arranged by the main layout. This is normally a GridLayout that only positions singleton (disconnected) nodes.
- 👌 Improved the ParallelLayout extension and rewrote the Flowgrammer sample to use that ParallelLayout.
- 🛠 Fixed UndoManager sometimes adding a duplicate "Layout" transaction to the UndoManager.history.
🔄 Changes for 2.1.22
- ➕ Added the Rescaling Tool extension, demonstrated in the Rescaling sample. This tool modifies the GraphObject.scale property, unlike the ResizingTool which modifies the GraphObject.desiredSize property.
- 👌 Improved performance of Model.mergeNodeDataArray, GraphLinksModel.mergeLinkDataArray, and Model.toIncrementalData. The merge methods require that references are not shared between the the GoJS model and the external data provided and will now make deep copies of any new data objects before adding them to the model. This means Model.cloneDeep doesn't need to be called on the arrays passed in, as the merge methods will make the necessary calls.
- 🛠 Fixed
go-module.jsto work when treated as an ES6 module in Node.js. At the same time we have added
go-debug.mjsas copies of
go-debug-module.js. For compatibility the kit will contain both sets of files.
- 🛠 Fixed automatically performing layouts of outer groups after inner nested groups changed size.