Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.1 - 2026-01-08
Section titled “0.9.1 - 2026-01-08”- Fixed resizing group with rotated child nodes (#504)
- Fixed error on drag&drop HTML object (not palette node) to the diagram (#510)
0.9.0 - 2025-12-12
Section titled “0.9.0 - 2025-12-12”- API stability and deprecation policy documentation with defined stability levels and Angular version support matrix (#462)
- API Extractor integration for automated breaking change detection with CI validation (#462)
- Landing page diagram example in documentation (#464)
- Floating edges for edges with no ports specified (#465)
- Ports with custom content - ports can now render custom Angular components instead of simple circles (#468)
hideWatermarkconfig option to hide the ngDiagram watermark via diagram configuration (#469)- Expose
computePartsBoundsmethod in API (#477) - Added overload to
getOverlappingNodesto acceptNodeobject in addition to node ID, supporting cases when the node object has newer data than the node in state (e.g., within middlewares) (#486) modelActionTypesproperty onMiddlewareContext- an array containing all action types that triggered the middleware execution. For transactions, this includes the transaction name followed by all action types from commands executed within the transaction. For single commands, this is a single-element array (#489)- Add grab cursor on background when panning (#479)
- Disable diagram panning by config
viewportPanningEnabled(#480) - Async transaction support - transactions now accept async callbacks, allowing asynchronous operations like data fetching before adding or modifying the diagram (#493)
waitForMeasurementstransaction option - ensures the transaction promise resolves only after all DOM measurements (node sizes, port positions, edge labels) are complete. Useful when performing viewport operations likezoomToFit()after adding or modifying elements (#493)
Changed
Section titled “Changed”- Standardized error messages across the ng-diagram library (#463)
- Fixed misleading error when destroying
NgDiagramModelServiceafter engine is already destroyed. The error incorrectly reported “Library engine not initialized yet”. Now the service checks if engine is available and skips listener cleanup if already destroyed. (#466 - thanks for finding this @Filipstrozik 💪) - Fixed keyboard movement of nodes with arrow keys when using large snap step values (#461)
- Fixed drag-snapping issues with different snapping configurations. The issue still occurred when dragging multiple nodes at the same hierarchy level (i.e., nodes without groups) (#470)
- Fixed incorrectly computed measuredBounds for nodes (#486)
- Fixed missing edge arrowheads in Safari. Safari doesn’t support
context-strokein SVG markers, so a fallback using inline markers withcurrentColorsubstitution is now used for Safari compatibility (#487) - Fixed copy-paste retaining
groupIdwhen pasting nodes outside their group. NowgroupIdis only preserved when the group is also copied, with the reference updated to the new group’s ID (#491) - Fixed zoom to fit not working correctly on diagram initialization (#492)
- Fixed bullet points styles in the documentation (#494)
Deprecated
Section titled “Deprecated”modelActionTypeproperty onMiddlewareContextis now deprecated. UsemodelActionTypesinstead, which supports multiple actions from transactions. (#489)
0.8.1 - 2025-11-20
Section titled “0.8.1 - 2025-11-20”- Tailwind CSS example in documentation (#436)
- Fixed drag snapping with different snapping config issue (#451)
- Fixed ungrouping when dragging node selected with group (#446)
- Fixed shortcut capture, events, and collision with inputs (#447)
- Fixed zIndex assignment (#449)
- Fixed Layout in documentation (#438)
- Fixed Reactive config in background (#445)
- Fixed Example zomming in documentation (#448)
0.8.0 - 2025-11-07
Section titled “0.8.0 - 2025-11-07”🎉 This is our first stable release! We’ve graduated from beta and are proud to present a production-ready version.
- Zoom to fit feature with configurable padding and option to automatically apply on model initialization (#386)
- Environment layer for unified environment - related functionalities (#350)
- Helpers for node relationships and traversal (#395)
- Box selection for selecting multiple nodes at once (#374)
- Implemented multiple event hooks for ng-diagram (#387)
- Configurable built-in grid background (#397)
- Configurable Shortcut Manager (#398)
- Improved collision detection for rotated nodes and introduced
measuredBoundsproperty to Node interface (#407) - Improved diagram navigation experience - smooth panning (#417)
- Snapping documentation article explaining node snapping functionality (#414)
- Diagram configuration documentation article (#419)
- Microsnapping for angle adjustments (#404)
- Background guide documentation article (#400)
- Label support for default edges (#376)
- Default node exported for public use (#377)
- Center on node and center on rect command handlers for programmatic viewport control (#371)
Changed
Section titled “Changed”- Renamed ‘internal’ folder to ‘guides’ in documentation and updated all related links (#358)
- Improved documentation examples structure for consistency (#360)
- Unified documentation styles (#357)
- Redirected documentation root to quick-start page and reordered Intro articles (#370)
- Changed default behavior for resizable and rotatable properties on diagram nodes (#374)
- Complete API documentation reorganization and improvements (#421)
- Better configuration for resizable and rotatable properties on diagram nodes (#374)
- Fixed
NgDiagramModelService.addEdgesnot redrawing diagram (#369) - Fixed download image example not working in Angular 18 (#375)
- Fixed model synchronization issues (#372)
- Fixed base edge label component name and maintained backward compatibility with deprecated
BaseEdgeLabelComponentalias (#368) - Fixed ESLint errors in Angular templates (#367)
- Fixed multiple documentation issues and broken API links (#356)
- Fixed post-release Angular 18 issues (#355)
- Resolved context menu example to enable copying multiple nodes
- Fixed diagram capturing all keyboard events on page (#444)
- Fixed zIndex assignment for added nodes and multiple selection of group and children (#449)
Initial tagged release.