JointJS+ Changelog v4.2.2
apps
AIAgent
apps.AIAgent – various improvements to the AI Agent app
We’ve improved the AI Agent source code and refreshed its styling.

MarketingAutomation
apps.MarketingAutomation – Added a new application template
We have created a new Marketing Automation application template that allows users to design and interactively visualize marketing automation workflows.
The application uses the ELK automatic layout to automatically arrange elements and route links orthogonally, and the diagram is fully animated (including transition between states and addition of new nodes).
You can click the “Test flow” button to run a simulation of the marketing automation workflow.

WorkflowBuilder
apps.WorkflowBuilder – Added a new application template
We have created a new Workflow Builder application template that allows users to design and interactively visualize workflows.
The application features the ELK automatic layout for arranging diagrams with ports.

dia
Paper
dia.Paper - fix to prevent an error when a view is synchronously dumped during an asynchronous visibility check
Fix an edge case where an error could occur if a cell view requests an update of another cell view while being mounted.
dia.Paper - fix to wake up idle async paper with initializeUnmounted: true when a new cell is added to graph
Make sure that an async paper with initializeUnmounted: true wakes up from idle state when a new cell is added to the graph.
Element
dia.Element - fix getPortBBox() to return a valid bbox when port has no size defined
Make sure that getPortBBox() returns a valid bounding box even when the port has no size defined.
We now default to a size of { width: 0, height: 0 } when the port size is not set.
layout
DirectedGraph
layout.DirectedGraph – fix to accept a padding object for clusterPadding option of layout()
Fix an issue where the clusterPadding option of the layout() method did not accept a padding object with individual values for top, right, bottom, and left.