-
Notifications
You must be signed in to change notification settings - Fork 986
Expand file tree
/
Copy pathChangeLog
More file actions
13638 lines (9508 loc) · 386 KB
/
Copy pathChangeLog
File metadata and controls
13638 lines (9508 loc) · 386 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
18-JUN-2026: 30.2.4
- Replaces mermaid in deployed version
18-JUN-2026: 30.2.3
- Improves generate response classification
- Scopes GCP2 Zones markers style to closure (#5509)
- Adds 90 degree rotation for fully unconnected edges [jgraph/drawio#5076]
- Adds margin to rotate button in ArrangePanel
- Removes logging for mermaid diagram parse errors
- Replace static mermaid type lists with the parser's detectType
- Wrap generated mermaid in an editable group in the chat
- Show the chat response when it can't be rendered as a diagram
- Update help icon link for mermaid in ParseDialog to point to GitHub discussion
- Fix dark mode account icon visibility [jgraph/drawio#5364]
- Updates DOMPurify from 3.4.9 to 3.4.10
- Add best-effort recovery for files that fail to load
- Fix dark mode account icon visibility [jgraph/drawio#5364]
- Preserve format panel input focus across DOM refresh
- Add automatic (transparentBounds) toggle and border width to Arrange panel
- Corrections to security.md
- Add Mermaid file open and ELK layout support for desktop
- feat(shape): optional centerStroke border on ellipse center disc
- Updates DOMPurify from 3.4.10 to 3.4.11
- chore(mermaid): refresh vendored bundle to commit.4f618a5
- fix(data): reject property names that are invalid XML attribute names
- Copies orphaned static function into confluence [DID-19382]
- Fixes shape library title overflow
- fix(codec): log valid cell id on invalid style-compression reference
- feat(config): add experimental compressStyles option
12-JUN-2026: 30.2.2
- Removes mermaid as a dependency
- Updates to mermaid error handling
- Guards against multiple success calls
- FIlters out incorrect mermaid types from logging
12-JUN-2026: 30.2.1
- Correct ELK layout build
- Adds defensive code in mermaid parsing
- Removes debug output for electron app
- Centralises isMermaidSupported()
12-JUN-2026: 30.2.0
- Adds more color flexibility to some Mockup and iOS shapes
- Adds multicolor support to some iOS shapes
- Adds multicolor supports to some IOS shapes
- Adds multicolor support to some GMDL shapes
- Adds multicolor support to some Mockup shapes
- Adds multicolor support to some Android shapes
- Adds multicolor support to soem EIP shapes
- Adds multicolor support to some Rack shapes
- Reduce days before stale from 250 to 200
- Adds multicolor support to some GMDL shapes
- refactor(text): unify HTML to SVG conversion and convertibility check in mxUtils [DID-18880]
- fix(text): apply text colors in HTML to SVG label conversion
- fix(handles): move edit icon from bottom-left to top edge
- fix(handles): skip move icon in handle padding overlap detection
- Updates DOMPurify from 3.4.8 to 3.4.9
- Add custom mermaid parser with native layout engine
- Improve mermaid output quality: font, sizing, ER columns, diamond shapes
- Fix sequence fragment frames and improve layout quality
- Fix gitgraph tags/branches, sequence activations, git commit shapes
- Achieve 100% vertex and edge match across all 33 test examples
- Switch to dagre (41KB) as default layout engine, matching mermaid
- Calibrate horizontal padding to match mermaid node widths exactly
- Add CoSE-Bilkent mindmap layout, compound dagre subgraphs, and sizing calibration
- Fix flowchart style parsing, node ordering, edge routing, and default colors
- Add flat layout mode for flowcharts with subgraph-to-subgraph edges
- Use compound groups for all subgraphs, skip subgraph-endpoint edges in dagre
- Use two-pass layout: flat dagre for global optimization, then group bounds
- Fix edge cycle in subgraph remapping by using first leaf for source
- Increase group padding for better edge spacing between subgraphs
- Inflate leaf node sizes in flat dagre to prevent group overlap
- Fix gitgraph orthogonal edges, label z-order, and label background
- Add arrows to state diagram edges and clamp exit/entry points to [0,1]
- Improve state diagram layout: bidirectional edge spread, source representative, and group centering
- Fix cross-axis mirror to operate per connected component
- Sort journey actor legend alphabetically to match legacy
- Add ELK subgraph test case from jgraph/drawio#3634
- Rewrite native ELK compound layout to use flat approach
- Switch native ELK to hierarchical layout with disconnected components
- Improve native ELK layout quality: spacing, edge dedup, isolated nodes
- Add crossing count evaluation and 2-opt refinement to Sugiyama
- Improve Sugiyama edge routing and coordinate assignment
- Add edge routing channels and slot-based bend point spreading
- Implement ELK-style bus merging and edge routing channels
- Add chain alignment and tighter internal compound spacing
- Fix bus routing for deduplicated edges and add section copying
- Preserve ELK edge routing for compound node edges in cell factory
- Elk layout improvements
- Elk improvements
- Gitgraph rendering: match upstream mermaid output
- Use .drawio extension for mermaid output diagrams
- Class diagram rendering: match upstream mermaid output
- Class edge label styling: match upstream mermaid
- Flowchart rendering: match upstream mermaid output
- ER diagram rendering: match upstream mermaid output
- Flowchart rendering: match upstream mermaid edge labels, subgraph padding, shape sizes
- State diagram rendering: match upstream mermaid output
- Mindmap rendering: match upstream mermaid output
- Sequence diagram rendering: match upstream mermaid output
- Journey diagram rendering: match upstream mermaid output
- Mermaid parser coverage plan and per-iteration loop prompt
- Pie chart rendering: native parser matching upstream mermaid output
- Packet diagram rendering: native parser matching upstream mermaid output
- Chart types batch: quadrantChart, timeline, kanban, xychart, radar, block
- Chart types batch: c4, architecture, sankey, treemap, gantt, zenuml, venn, ishikawa
- TreeView diagram rendering: final TODO row — all 26 types supported
- Extract mermaid port to ../drawio-mermaid, consume as single bundle
- Refactors theme submenu addition logic for better readability and maintainability
- Adds realtime checksum debugging documentation to CLAUDE.md
- Add ELK layout bridge (Phase 1 + Phase 2 complete)
- Wire ELK Layered bridge into draw.io UI with mermaid-parity fixes
- Register ELK layouts in Arrange menu and tune label spacing
- Ignore ELK harness runtime artifacts
- Refactor ElkLayout execution flow to support asynchronous layout preparation and improve error handling
- Refactor code structure for improved readability and maintainability
- Update drawio-mermaid bundle: elkjs + block/c4/class layout fixes
- Add lockedGroup cell style for mermaid subgraph wrappers
- Add side-by-side ELK engine comparison in Arrange > Layout
- ElkLayout: improve label snap + fan-in edge endpoints
- ElkLayout: map verticalAlign=top/bottom to INSIDE label placement
- ElkLayout: widen edge-node jetty + propagate spacing to compounds
- Unbundle ELK from mermaid + add Edge Routing menu
- Add drawio-elk and drawio-mermaid as submodules under modules/
- Load drawio-elk before drawio-mermaid in production and export paths
- Add bundles Ant target to rebuild from modules/
- Prepare mermaid.min.js removal: flag, instrumentation, kill-switch
- Document modules/ submodules, bundles target, and native-mermaid flag
- Pin modules/drawio-mermaid to own-elk branch (5480c1c)
- Track drawio-mermaid on dev after own-elk squash-merge
- Refresh drawio-mermaid bundle from dev (fea8fbf)
- Refresh docs and submodule pointers for the native-ports work
- Build of version 29.7.2
- Inline configuration editor into dialog instead of iframe
- Refactors ELK layout menu integration and adds submenu for layout options
- Pass mermaid config to native parser so theme is honored
- Refresh drawio-elk + drawio-mermaid bundles with version banner
- Repoint drawio-mermaid submodule to a reachable commit
- Removed incorrect gitlinks added for submodules
- Refresh drawio-mermaid bundle from dev (625a80e)
- Switch native-port build to sibling-repo layout
- Restore mermaid2drawio.js to track dev branch
- Refresh drawio-mermaid bundle from dev (5dfcee9)
- Refresh drawio-mermaid bundle from dev (4199dfd)
- Refresh drawio-mermaid bundle from dev (f4786c4)
- feat(mermaid): apply ElkLayout post-pass for flowchart-elk
- Replaces diagramly source in GAE release
- feat(elk): mermaidPolicy on the loadMermaid post-pass
- feat(elk): default mermaidPolicy for layered, including the menu
- chore(mermaid): resync drawio-mermaid.min.js for subroutine label slack
- chore(mermaid): resync drawio-mermaid.min.js for rounded shape pad bump
- chore(mermaid): resync drawio-mermaid.min.js for layout fixes
- chore(mermaid): resync drawio-mermaid.min.js for parser-based edge length fix
- chore(mermaid): resync drawio-mermaid.min.js for arrow size shrink
- chore(mermaid): drop MindmapCloudShape, resync drawio-mermaid.min.js
- Adds config dialogs to ELK layout submenu
- Adds seq* shapes for native mermaid sequence-diagram actor types
- Fixes seq* actor-type icon rendering in sequence diagrams
- Restructures Layout menu around ELK with edge-style options
- Replaces mermaid insert/edit with native parser, drops legacy bridge
- Fix SeqBoundaryShape circle alignment on lifeline and SeqQueueShape paintForeground translate accumulation
- Fixes mermaid edit on locked group by reading layer children instead of a non-existent wrapper vertex
- Preserve user style/label customizations across mermaid locked-group regenerations
- Refresh drawio-mermaid.min.js with identity-tagging bundle
- chore(mermaid): resync drawio-mermaid.min.js for state bidi + sequence frame fixes
- Consolidate ElkLayout into the drawio-elk bundle
- Refresh drawio-elk.min.js with isolated top-level + keep-mode orthogonal
- Refresh drawio-elk bundle with cross-scope + clamp fixes
- Add Preserve Origin option to ELK layout dialog
- ELK layout: collapse routing/style into one Connector dropdown
- Clear default Mermaid config so imports use Mermaid's own defaults
- Wraps Mermaid output in an editable group, drops Editable insert flag
- Preserves Mermaid group position on edit re-parse
- Add ELK layouts to custom layout dialog and CSV import
- Scope CSV-import layouts to the imported cells
- Fix CSV-import ELK layout: undo, free insert point, edge scope
- Refines CSV layout documentation and updates ELK layout configurations for clarity
- Marks WebCola plugin deprecated in favor of ELK layouts
- Tunes CSV verticalflow/horizontalflow ELK config to match mxHierarchicalLayout
- Refresh drawio-mermaid bundle (container-aware group wrapping)
- Re-vendor drawio-mermaid + drawio-elk bundles
- vendor: update drawio-elk bundle to 4ad207d (bug-audit fixes)
- Refresh drawio-mermaid bundle (6add5f0)
- Refresh drawio-mermaid and drawio-elk bundles
- refactor(elk): drive all layout routes through the ElkLayout facade
- fix(elk): preserve transparentBounds group origin on layout
- fix(mermaid): don't preserve layout routing as a user edit on re-parse
- fix(elk): pin transparentBounds groups at (0,0); thin editor wrapper
- fix(mermaid): vendor native composite-state direction fix
- fix(mermaid): use legacy config when migrating shape=image cells
- feat(mermaid): add mermaidSankeyLink ribbon edge shape
- feat(shapes): conditional labelBounds for stencils via boundedLbl
- fix(layout): omit negative stress iteration limit so -1 means no cap
- feat(layout): add help links to the layout config dialogs
- Removes upstream mermaid.min.js, native parser is the only path
- Moves the tree subtree drag handle to the top-left move icon
- Adds footerSize and footerColor styles to rectangles
- Moves the bundles target from github-build.xml to build.xml
- vendor: update mermaid (f115fed) and elk (df6c57b) bundles
- Restores exact pre-linearization tree state
- vendor: update elk (e8ef0e0) and mermaid (ebea636) bundles
- Adds centerRadius and centerColor styles to ellipses
05-JUN-2026: 30.1.2
- feat(transparentBounds): read-only derived geometry, reset on enable
- Move DIALOG_STYLE_GUIDE.md to docs/dialog-style-guide.md
- feat(appUpdate): notify of available update via notification bell
- feat(exportDialog): Advanced section for per-format export dialogs
- feat(pageSetup): per-page initial view (Use Current / Reset)
- fix(sketch): resolve light-dark fill to current mode for fillStyle=auto
- Updates DOMPurify from 3.4.7 to 3.4.8
- Adds support for notion.com domain
- fix(pageSetup): full-width initial-view buttons + label tooltips
- fix(transparentBounds): always create group corner handles on refresh
- Updates release process for notion extension
- fix(custom-actions): restore model-mutating toggle/show/hide for custom-link clicks [DID-19248]
02-JUN-2026: 30.1.1
- Extends generate timeout to 90s
- refactor(swimlane): rename chinSize style to footerSize
02-JUN-2026: 30.1.0
- Build of version 30.0.4
- Adds transparentBounds groups, moveIcon, connectIcon, groupPadding shorthand
- Adds step-based animations and custom actions
- Fixes empty paste element in pasteCells text/plain branch
- Fixes XML pasted as text when Ctrl is held through copy/paste
- Adds immediate flag for parallel animation steps and customAction window persistence
- Fixes transparentBounds bounds and group/toggle integration
- Updates DOMPurify from 3.4.5 to 3.4.7
- Fixes pattern fill loss on later PDF pages [jgraph/drawio#5578]
- Fixes transparentBounds bounds and group/toggle integration
- Adds multi-edge / multi-corner resize to mxWindow and Dialog
- Changes default groupPadding for transparentBounds to 0 [jgraph/drawio#5607]
- Fixes overlapping corner icons on nested transparentBounds groups
- Adds selection padding and corner handles for nested transparentBounds groups
- Moves svgdata plugin behavior into core SVG export
- Inlines built-in plugin dropdown in PluginsDialog
- Moves Edit/Layers/Tags into collapsible Advanced section in publish/embed/export dialogs
- Routes dialog help icons to the new GitHub Discussions
- Routes Embed/Export HTML help icons to the merged docs page
- Collapses redundant transparentBounds wrapper after sibling removal
- Pins dialog buttons and scrolls content when dialog exceeds viewport
- Defers sidebar thumb rendering until scrolled into view [jgraph/drawio-desktop#2444]
- Fixes mxMorphing animating transparentBounds cells
- Fix rubberband selecting page text when Cmd/Ctrl held on macOS
- Fix Safari scrolling the canvas to top-left on Cmd/Ctrl+click
- Fix paste swallowed after Cmd/Ctrl+rubberband when a cell was pre-selected
- Fix color picker window restoring to wrong empty size when reopened collapsed
- Fixes paste/crop/insert mis-positioning of transparentBounds groups
- Fixes stale edge routing when a transparentBounds child moves
- Fixes autosize/layout corrupting transparentBounds group geometry
- Fixes Align/Distribute on transparentBounds groups
- Fixes childLayout collapsing/corrupting a transparentBounds parent
- Fixes collapse corrupting transparentBounds group geometry
- Fixes transparentBounds derived bounds ignoring edge children
- Add Collapse All / Expand All to sidebar section context menu
- Fixes opening CLI-exported PNGs with a zlib-compressed embedded diagram
- Add JSON export of diagram structure and metadata
- Condenses CLAUDE.md
- Fixes color picker opening behind modal dialogs (e.g. Page Setup background)
- Fixes line height change affecting elements outside the cell editor
- feat(swimlane): configurable chin (chinSize) on mxSwimlane
27-MAY-2026: 30.0.4
- Adds GCP3 to build
- Build of version 30.0.4
27-MAY-2026: 30.0.4
26-MAY-2026: 30.0.3
- Test Cloud Build trigger
- Test Cloud Build trigger
- Upgrades to JDK 21
- Adds new GCP3 stencils. Preliminary version, content added, but many things to fix.
- Adds new GCP3 stencils to the sidebar
- Adds pointerEvents=1 style to GCP3 stencils and changes labels to a more conventional format
- Adds multicolor support to some iOS7 stencils
- Adds more multicolor options for some Rack stencils
- Removes duplicate entry
- Removes quotes from bool
- Adds vertical text check to wrapping check [DID-18880]
- Updates DOMPurify from 3.4.2 to 3.4.5
- Adds lockedGroupIcon, editIcon styles and lock/edit handles
- Adjusts footer position in Notion dialog to improve layout
- Adds editPolygon option in edit menu
- Adds line breaks for dev tooltips
- Blocks drops and child drags inside locked groups
- Pads lock and edit icon handles like the rotation handle
- Adds multicolor support for IBM stencils
- Adds multicolor support for Atlassian stencils
- Refactors an Azure stencil, so it's in line with the others in the set
- Adds multicolor support for a Bootstrap stencil
- Adds multicolor support for EIP stencils
- Adds multicolor support for a Flowchart stencil
- Adds multicolor support for VVD stencils
- Adds multicolor support for some Android stencils
- Promote text and anonymize plugins to core functionality
15-MAY-2026: 30.0.2
- Makes some Mockup shapes multi-color flexible
- Makes some MSCAE shapes multi-color flexible
- Makes some Salesforce shapes multi-color flexible
- Small fix for a Network 2025 shape
- Small bugfix for some Mockup shapes
- Additional color flexibility for some Cisco Safe shapes
- Adds multi color fill for some Citrix stencils
- Adds multi-color support for some GCP2 shapes and stencils
- Adds multi-color support for GCP2 shapes and stencils
- Adds multi-color support for a GCP2 icon stencil
- Adds multi-color support for MS Office stencils
- Fixes size for some stencils in the Rack library
- Adds multi-color support for some Rack stencils
- Makes HPE Aruba Gateways and Controllers subgroup in Rack shapes color flexible
- Makes HPE Aruba Security subgroup in Rack shapes color flexible
- Makes part of HPE Aruba Switches subgroup in Rack shapes color flexible
- Makes some Rack stencils color flexible
- Makes some Rack stencils color flexible
- Makes the rest of Rack/Aruba stencils color flexible
- Small fix for an Aruba switch stencil
- Makes Rack/IBM stencils color flexible
- Stencil size fix for a Rack stencil
- Makes Rack/Oracle stencils color flexible
- Adds multicolor support to Veeam stencils
- Adds multicolor support to EIP stencils
- Adds multicolor support to some GMDL stencils
- Adds multicolor support to some Floorplan stencils
- Fixed NPE in mermaid to draw.io [#drawio-5553]
- Fallback to FO when vertical writing-mode set in HTML [DID-18880]
- Updated github actions, replaced 3rd party actions, and specified needed permissions
- Build of version 30.0.2
15-MAY-2026: 30.0.2
- Makes some Mockup shapes multi-color flexible
- Makes some MSCAE shapes multi-color flexible
- Makes some Salesforce shapes multi-color flexible
- Small fix for a Network 2025 shape
- Small bugfix for some Mockup shapes
- Additional color flexibility for some Cisco Safe shapes
- Adds multi color fill for some Citrix stencils
- Adds multi-color support for some GCP2 shapes and stencils
- Adds multi-color support for GCP2 shapes and stencils
- Adds multi-color support for a GCP2 icon stencil
- Adds multi-color support for MS Office stencils
- Fixes size for some stencils in the Rack library
- Adds multi-color support for some Rack stencils
- Makes HPE Aruba Gateways and Controllers subgroup in Rack shapes color flexible
- Makes HPE Aruba Security subgroup in Rack shapes color flexible
- Makes part of HPE Aruba Switches subgroup in Rack shapes color flexible
- Makes some Rack stencils color flexible
- Makes some Rack stencils color flexible
- Makes the rest of Rack/Aruba stencils color flexible
- Small fix for an Aruba switch stencil
- Makes Rack/IBM stencils color flexible
- Stencil size fix for a Rack stencil
- Makes Rack/Oracle stencils color flexible
- Adds multicolor support to Veeam stencils
- Adds multicolor support to EIP stencils
- Adds multicolor support to some GMDL stencils
- Adds multicolor support to some Floorplan stencils
- Fixed NPE in mermaid to draw.io [#drawio-5553]
- Fallback to FO when vertical writing-mode set in HTML [DID-18880]
- Updated github actions, replaced 3rd party actions, and specified needed permissions
11-MAY-2026: 30.0.1
- Corrects rounded of Archimate Techonology Functions shape [jgraph/drawio#5571]
- ci: fix MCP index trigger tag pattern
- Shows up to 4 matching pages in omnisearch dropdown
09-MAY-2026: 30.0.0
- Uses cached sanitized label for SVG support detection
- Updates DOMPurify from 3.4.0 to 3.4.2
- Persists minimized state of floating windows
- Moves adaptive colors to page setup, adds page setup in simple+min UI
- Adds mermaid shapes from native-ports branch
- Sizes math labels and view to rendered MathJax output [jgraph/drawio#3311]
- Fixes math fit-to-window on page switch with sync MathJax typeset
- Adds configurable tooltipFontSize and tooltipMaxWidth
- Adds lockedGroup cell style for grouping cells as one image
- Adds Mindmap Bang, Git Tag, and Smiley Faces in Basic sidebar
- Fixes dropped initialText in cellEditor.startEditing override
- Fixes tab scroller jumping left when switching from rightmost page
- Keeps inline toolbar and popovers inside visible viewport
- Fixed Lucid import chrome extension
- Skips empty drafts on save and cleans up existing ones on startup
- Default adaptive colours no longer simple in desktop
05-MAY-2026: 29.7.12
- Adds boundedLbl for manual input shape
- Removes quip references
- Adds label sanitize https://github.com/jgraph/docker-drawio/security/advisories/GHSA-wj8x-4c77-v8v3
04-MAY-2026: 29.7.11
- Upgrades to JDK 21
- Fixes offline local shape search pagination [jgraph/drawio-desktop#2409]
- Updated mermaid to v11.14.0
- Fixes NPE in insertTableRow on empty table; inserts initial row with single column
- Disables insert column buttons in Format panel for empty tables
- Updates MathJax from 4.1.1 to 4.1.2
- Replaces diagramly source in GAE release
01-MAY-2026: 29.7.10
- Fixed lightbox mode for MS360 files
- Conf Cloud: Added configuration editor
- Added Confluence specific configurations to config-editor
- Inline configuration editor into dialog instead of iframe
- Update i18n submodule with normalized English capitalization
- Add missed lineend/linestart capitalization in i18n submodule
- Remove unused hateApp/loveIt keys and expand procEng in i18n submodule
- Expand Proc. Eng. abbreviation in PID sidebar and i18n submodule
- Fixes page format options vertical alignment
- Fixes print dialog inconsistencies
- Fixes inconsistent sections in Format panel
- Adds rounding for arrow handle values
- Fixes inconsistent padding for Format sections
- Adds glass style support for ellipse and rhombus shapes
- Show style tiles for mixed selections including edge labels
- Fixes fill pattern issues with crop print and color leak [jgraph/drawio#5546]
- Adjusts padding for edge geometry and stroke panels for improved layout
- Fixes ignored current dark mode in config editor
- Replaces rounded button with checkbox in diagram style panel
- Restyles file properties dialog using dialog style guide
- Restyles font dialog using dialog style guide
- Saving embed macro preview with the actual diagram [DID-18496]
- Recovers broken desktop saved PDFs jgraph/drawio-desktop#2394]
- Removed incorrect gitlinks added for submodules
20-APR-2026: 29.7.9
- Skip clipboard init in read-only chromeless EditorUi
- Restricts third-party gitlab integrations without config [DID-18566]
17-APR-2026: 29.7.8
- Fixes NPE in mxEdgeHandler.reset when handle reset triggers destroy
- Fixes NPE in mxCellRenderer.insertStateAfter when node is orphaned
- Fixes NPE in mxWindow.setLocation when window is destroyed during drag
- Fixes NPE in mxVertexHandler.start when handle shapes are not created
- Fixes NPE in EditorUi.diffPages when pages array contains null entries
- Fixes NPE in EmbedFile.isAutosaveOptional when desc is null
- Add defensive settings check in restoreVisibleWindows
14-APR-2026: 29.7.7
- Creates default viewState in patchViewState when null
- Fix null crashes in HoverIcons and mxConstraintHandler during mouse events
- Handle atob error in noFile fallback when error dialog is dismissed
- Fix null crash in PolygonDialog drag when points array is modified
- Exclude InvalidCharacterError from mergeFile error logging
- Guard against non-function success callback in DriveFile.saveFile
- Fix mxObjectCodec mapping default picking up Array.prototype methods
- Persist size of modal resizable edit/insert dialogs
- Guard pasteCellStyles split against non-string cell styles
- Guard mxSvgCanvas2D.setCssText against non-Element nodes
- Guard mxUtils.setStyleFlag against non-string style values
- Add configurable foldingIconSize for collapse/expand icons
- Enable collapse/expand actions for multi-selection [DID-18161]
- Guard EditorUi.highlightElement against null document.body
- Guard Sidebar.addEntry against non-string tags values
- Skip null-geometry cells in Graph.visitTableCells
- Guard Minimal.js hideCurrentMenu override against null editor
- Guard Sidebar.addCustomEntries against missing entry.libs
- Guard Dialog constructor against null document.body
- Guard updateShapes split against non-string cell styles
- Declare loop variable in Menus.showIconOnly
- Fix diffViewState null asymmetry causing checksum errors in mergeFile
- Persist Selection Only state in export dialogs within session
- Updates DOMPurify from 3.3.3 to 3.4.0
- Fixes link dialog layout in confluence connect
12-APR-2026: 29.7.6
- Thinner inline toolbar icons and toggle popover on click
- Shows inline toolbar popover above when below viewport
- Fix InlineToolbar ReferenceError in viewer builds
- Disables server logging for handled errors in handleError
- Excludes "Invalid or unexpected token" SyntaxError from server log
- Use specific color dialog titles instead of panel labels
- Move InlineToolbar creation override to InlineToolbar.js
12-APR-2026: 29.7.5
- Fixes URL hash update when switching pages in presentation mode
- Refactors theme submenu addition logic for better readability and maintainability
- Increases minimum width for shape window to improve layout consistency
- Fixes null reference errors in TableLayout, updateTabContainer, and ColorDialog
- A workaround for multipart doesn't support non ascii characters in diagram save comments
- Adds try-catch for image metadata stripping to handle malformed chunks
- Adds realtime checksum debugging documentation to CLAUDE.md
- Fixes null geometry in TableLayout.execute
- Fixes TypeError in EmbedFile.getTitle when descriptor is null
- Fixes JSON.parse error in loadLibraries when external library returns invalid content
- Handle corrupt page data in getPagesForXml without aborting
- Handles corrupted data errors in async pickFolder callbacks
- Extract InlineToolbar into separate InlineToolbar.js file
- Fixes edge color button in InlineToolbar to pass default color and show diagonal light-dark swatch
- Hides inline toolbar when edge color picker is opened
- Hides inline toolbar when edge color is picked or color picker is closed
- Adds arrow key navigation for sidebar search dropdown
- Excludes errors from blob: URLs in client error logging
- Excludes strict mode errors from extensions.min.js in client error logging
- Adds error handling for JSON.parse of create hash parameter in loadFile
- Adds error handling for menu factory in createMenubar
- Logs decodeChild errors to console instead of throwing
- Logs duplicate ID errors to console instead of throwing in putObject
- Adds null check for geometry in mxGraphHandler.start
- Fixes infinite loop in wedgeArrowDashed2 when stepSize is 0
- Adds null check for bounds in fitDiagramToWindow
10-APR-2026: 29.7.4
- Fixes Sidebar.destroy NPE by destroying sidebar before editor
- Fixes TypeError in updateEdgeState for invalid geometry objects
- Fixes TypeError in mxOutline.getViewBox after destroy
- Fixes TypeError in mxUtils.setStyle for non-string style values
- Refactors link overlay click handling to support custom links and improve link opening logic
- Uses page dropdown with chevronDown in presentation mode toolbar
- Fixes TypeError in refreshBrowserTranslateMirror for destroyed graph
- Fixes TypeError in keydown/keyup handlers for null graph container
- Fixes TypeError in windowResized for destroyed EditorUi
- Fixes TypeError in mxGeometry.equals for non-mxPoint offset objects
- Fixes TypeError in EmbedFile.getDescriptorRevisionId for null descriptor
- Fixes TypeError in mxPolyline.redraw for null node in updatePageBreaks
- Fixes possible NPE in mxCellState.clone
- Fixes possible NPE
- Adds error handling for corrupted data in dialog save actions
- Fixes TypeError in pasteCellStyles for non-string cell style
- Fixes paste style not removing default styles from target [jgraph/drawio-desktop#2383]
- Revert "Fixes encoding for connect attachments comments"
09-APR-2026: 29.7.3
- Changes to dashboard URL
- ci: trigger drawio-mcp search index update on new version tags
- Adds null check for callback in showExportDialog
- Adds null check for setTerminalPoint in cellsRemoved and disconnectGraph
- Fix URIError in StyleFormatPanel.addProperties for malformed style values
- Adds null check for equals in processChange for mxGeometryChange
- Fixes TypeError in addPaletteFunctions by protecting createVertexTemplateFromCells restore in addEntry
- Adds presentation mode for desktop using fullscreen DIV overlay
- Jira Cloud: Fixed a bug in Confluence search [DID-18214]
- Jira Conf: Added support for Forge diagrams in Confluence embed [DID-18214]
- Fix checksum errors from external tools adding extra diagram attributes
09-APR-2026: 29.7.2
- Prefers non-current page in omni search results
- Moves copy/paste text style from edit dropdown to text format panel buttons
- Adds page actions for omnibox access and reuses them in page tab menus
- Restores geUrlLinkContainer class on link dialog URL row for Confluence plugin
- Adds adaptiveColors to viewStateProperties for diff sync
- Fixes NPE in page tab drag when requestAnimationFrame fires after dragend
- Fixes NPE in table color picker when selection changes during async callback
- Fixes stroke color condition typo and non-string style in color scheme panel
- Adds error handling for corrupted data in Graph.decompress
- Adds error handling for corrupted draft data in DraftDialog
- Exposes urlInput property on LinkDialog for stable access from plugins
- Prevents showing sparkle button in simple theme if generate action is null
08-APR-2026: 29.7.1
- Jira Cloud: Fixed Confluence auth in embed [DID-18214]
08-APR-2026: 29.7.0
- Fixes dashboard URL
- Fixes possible NPE for invalid shape picker configuration
- Adds experimental curved text shape in Misc sidebar [jgraph/drawio#2651]
- feat: improve shape search with scored fallback and compound token splitting
- Redesigned edit data dialog
- Redesigned edit geometry dialog
- Redesigned page setup dialog
- Redesigned page background dialog
- Redesigned edit link dialog
- Update dialog style guide
- Redesigned edit library dialog and added resizing
- Redesigned edit diagram dialog
- Redesigned parse dialog
- Redesigned create graph dialog
- Redesigned plugins dialog
- Redesigned text dialog
- Redesigned simple text dialog
- Makes text dialog resizable
- Adds ms365 to proxy list
- Redesigned insert table drop down
- Persists sidebar width across page reloads
- Persists format panel collapsed section states across page reloads
- Persists sidebar library collapsed states across page reloads
- Adds pop animation when inserting single vertices from sidebar via click
- Shortens insert animation and defers selection until it completes
- Adds drag-and-drop reordering of sidebar library entries with persistence
- Convert color picker from modal dialog to non-modal tool window
- Fixes mxWindow title accumulation when browser translation is active
- Adds persistence for window positions, sizes, docking states and visibility
- Fixes layers window disabled state and tool windows not showing on first click
- Fixes recent colors duplication after reset in color picker
- Adds shift+click on tag eye icon to show only that tag
- Adds browserTranslate configuration switch and documentation
- Adds experimental support for browser translation
- Adds browser translation support to GraphViewer and changes default to enabled
- Adds spacer placeholder for page tab drag reorder
- Fixes tab scroller jumping on page activation
- Lazy browser translate init, default on in viewer, same-origin iframe support
- Fixes default color button missing in color picker tool window
- Adjusts animation delay in itemClicked function for faster transitions
- Fixes typing shim stealing focus from clipboard handler during copy/paste
- Adds Ctrl/Cmd+Enter shortcut to omnisearch dropdown for first entry after separator
- Fixes clipped SVG borders in clipSvgDataUri [jgraph/drawio#5534]
- Fixes stencil connection points with direction and aspect=fixed [jgraph/drawio#5537]
- Fixes stencil edge routing bounds with direction and self-loop state corruption [jgraph/drawio#5537]
- Improved localized shape search using fast, local reverse lookup for available resources [jgraph/drawio#5518]
- Adds copy/paste text style feature [jgraph/drawio#4752]
- Adds rounded border support for image shapes
- Fixes Find/Replace window not showing on first invocation from omni search
- Adds exact page name match in omni search when query ends with space
- Removes enableAi hard coded to true in conf connect plugin
- Defaults enableAi to false for new Confluence installs
02-APR-2026: 29.6.10
- Fixes build dashboard URL
- Fixes selection only option in print dialog for single page files [jgraph/drawio#5530]
- Remove unused GraphViewer.mergeXmlDelta and helper functions
- Adds pop effect easter egg to create hash property
- Add collapsible sections to format panel
- Increase sidebar padding and spacing for lighter feel
- Increase sidebar padding and spacing for lighter feel
- Enhance More Shapes dialog with new styles and layout adjustments
- Improve More Shapes dialog footer spacing and alignment
01-APR-2026: 29.6.9
- Adds elastic pop animation and popIn/popOut custom link actions
- fix: skip spacebar panning when focus is in a form element [jgraph/drawio#5529]
31-MAR-2026: 29.6.8
- Adds GraphViewer.mergeXmlDelta
- Fixes dy is not defined in EditorUi.showPublishLinkDialog
- Fixes TypeError in translateCell for invalid geometry objects
- Fixes TypeError in GraphViewer hiddenTags when diagrams is undefined
31-MAR-2026: 29.6.7
- Adds compressed XML support for SVG CLI export [jgraph/drawio-desktop#2143]
- Fixes rasterized fill patterns in PDF export [jgraph/drawio#3620]
- Enhance SVG text rendering by adding support for block elements and improving HTML to SVG conversion
- Add .claude/launch.json to .gitignore
- Enhance HTML to SVG conversion by adding word wrap and HTML tags
- Updates DOMPurify from 3.3.2 to 3.3.3
- Add BR support to HTML-to-SVG conversion and fix wrapped line heights
- Fixes inconsistent table row and column resizing
- feat: add configuration editor dialog with tabbed interface for visual editor and JSON
- docs: add guidance for updating configuration switches in Editor.configure
- feat: Enhance SVG conversion for HTML blocks and inline elements
- fix: Improve dy calculations for superscripts and subscripts in SVG rendering
- fix: Hide inline toolbar during all handle and cell drag operations
- Fixes inconsistent file open handling
- fix: Use whiteSpace instead of svgWhiteSpace when foreignObject is used
- fix: Correct typo in ChangeLog for animated gif export
- Add "Use Current" buttons for default styles in config editor
- fix: Update redrawInnerBends to handle empty geometry points for bends opacity
- fix: Auto-detect Android tablets in Chrome's desktop UA mode [jgraph/drawio#2090]
- Enables Generate dialog with clipboard actions in desktop app
- feat: add setInnerBendsOpacity function to manage inner bends opacity
- feat: add optional optimizeHtmlLabels config to clean up HTML labels [jgraph/drawio#5516]
- feat: Add "Search Shapes in Open Libraries" to omni search [jgraph/drawio-desktop#2320]
- Update resources submodule with translations for searchShapesInOpenLibraries
- fix: round text y-coordinates to 2 decimals in HTML-to-SVG label conversion
- Update resources submodule with translation fixes across 15 languages
- perf: reuse persistent div in getSizeForString to avoid repeated DOM reflows
- refactor: remove unused enableWrap parameter from mxText.updateSize
- refactor: remove IE8 dead code from mxText
- refactor: remove IE and IE11 dead code across entire codebase
- Update resources submodule with removed unused improveContrast key
- feat: make default file type configurable via Editor.configure [jgraph/drawio-desktop#1430]
- Update resources submodule with 9 unused resource keys removed
- fix: respect hidden tags in PDF export and printing [jgraph/drawio#3183]
- feat: populate tags URL/config param with current hidden tags state
- feat: streamline hidden tags handling across export and UI components
- feat: add root/layer metadata and type attribute to svgdata plugin SVG export [jgraph/drawio#5527]
- fix: always prevent default scroll on spacebar when activating panning [jgraph/drawio/issues/5524]
- fix: use this.format instead of undefined self.format in wrapSvgBlockElements
- fix: replace transform with zoom for improved print preview scaling
- feat: add enableLocalFonts config flag for desktop font scanning [jgraph/drawio-desktop#2371]
- fix: resolve %pagenumber% for each page during all-pages PDF export [jgraph/drawio-desktop#2376]
- Refactor export dialog layout and styles
- feat: extract embedded XML from PDF files in CLI export [jgraph/drawio-desktop#2160]
- fix: apply --width/--height to PDF export in CLI [jgraph/drawio-desktop#2162]
- feat: add contractParent and groupPadding styles for auto-shrinking groups [jgraph/drawio#618]
- Restyle embed dialogs and add auto-height for CustomDialog
- Move dialog style guide to separate file and add auto-height to print dialog
- Restyle config-editor dialog to match main app theme
- fix: avoid inline toolbar overlap with edge labels and child elements
- Remove agent and version attributes from mxfile
- fix: disable MathJax inline line breaking for edge labels [jgraph/drawio#5514]
- Add fixedHeader style for swimlane shapes
24-MAR-2026: 29.6.6
- Enhances tab activation and scrolling behavior in the page tab container
- Threads done callback through openFiles/openFileHandle/openLocalFile
- Remove launch configuration file for development servers
- Sanitizes invalid VSDX property names for best-effort import
- Add clipboard actions to generate dialog [jgraph/drawio#5507]
- Update subproject commit reference in resources
- Add smooth scrolling to tab on click in createTab function
- Update chat window dimensions in openGenerateDialog function
- Allow docked windows to be resized
- Update clipboard copy label in ChatWindow dialog
- Adds animated gif export to atlas.min.js
- Add insert diagram from clipboard option in generate dialog
- Improve generate dialog dropdown labels for AI options
- Fixes encoding for connect attachments comments
23-MAR-2026: 29.6.5
- Corrects dashboard path
- Avoid InlineToolbar overlapping edge segments
- Remove embedded XML from images copied to clipboard
- Add showLinkIcons and showTooltipIcons support to GraphViewer
- Fix word wrapping mismatch in autosizeText in-place editor
- Fix MathJax path in embed dev mode
- Fix fill patterns to scale correctly with diagram zoom level
- Fix touch input on Android tablets using Chrome desktop site mode
- Fixes wrong SVG scaling in desktop PNG export [drawio-desktop#1954]
- Adds intersectionSelect configuration switch [drawio#5508]
- Fixes undo for initial fill style change (eg. from auto to hatch)
- Fixes Cmd+, for Chrome settings on macOS
- Fixes fill pattern offset shifting on zoom and window resize
- Add exportProtocol and diffSync options to JSON embed protocol
- Adds configurable shape picker via Editor.configure() [jgraph/drawio#1812,jgraph/drawio#1197,jgraph/drawio#4130,jgraph/drawio#3783]
- Marks imported files with updates page links as dirty [DID-17660]
- Opens draw.io/VSDX files in same window when dropped on blank file
18-MAR-2026: 29.6.4
- Tidies changelog
- Add dev server launch configurations
- Align custom paper size unit dropdown with other format panel elements
- Removes exits from preprocessor
- Fixes possible NPE in mxCellEditor.resize
- Add noExitOnCancel option to template protocol action
- Update InlineToolbar styles for improved dark mode support
16-MAR-2026: 29.6.3
- Fixes NPE
16-MAR-2026: 29.6.2
- Fixed swimlane business template [DID-17965]
- Updates DOMPurify from 3.3.1 to 3.3.2
- Update border color for dark mode dialog windows
- Fix format=0 to hide format panel initially instead of disabling it
- Disable window docking in embedInline mode
- Add sidebarEnabled property to manage sidebar visibility in EditorUi
- Reposition icon in InlineToolbar to avoid overlap with edge waypoint handles
- Adjust minimum widths for toolbar and menus based on embed parameter; enhance flex properties
- Remove minWidth attribute from viewMenu and adjust separator addition in Toolbar initialization
- Enhance passive scroll mode handling in EditorUi to prevent keystroke capture and forward scroll events to parent frame
- Enhance fitWindow method to support centering on page within viewport
- Enhance theme handling for 'kennedy' in EditorUi; adjust format panel and sidebar visibility based on window size
- Fixes delayed scroll for fitDiagramOnLoad option
- Ignores invalid scratchpad data [jgraph/drawio-desktop#2341]
- Adds fitDiagramOnPage switch [jgraph/drawio#5415]
- Refactors getXml function to simplify XML serialization process
- Refactors isRelativeUrl function to improve URL validation logic
- Implements event firing for rubberband selection updates and adds UPDATE event constant
- Adds default link target for SVG exports in Graph class
- Sets mxIsElectron to false in embed mode for better compatibility
- Adds support for plugin menu items and hides specified menu items
- Enhances configuration options for EditorUi, adding support for compact mode, auto-focus suppression, and customizable message sources in embed mode.
- Refactors updateAutosizeTextFontSize to accept style parameter for improved flexibility
- Adds autosize text font size update on text spacing change
- Refactors toggleShapesPanel to include noScroll parameter for improved control over scrolling behavior
- Refactors diagram fitting logic to use initialFitDiagram method for improved readability and consistency
- Adds optional connect handle functionality
- Adds configuration option for connect handle visibility
- Enables debug tooltip with dev-tooltips parameter
- Adds support for passive scroll and no resizers configuration options
- Removes unused code for IE
- Adds support for pasting at mouse pointer if enabled
- Adds edit tooltip functionality for cells in the graph
- Adds support for internal clipboard configuration in Editor and EditorUi
- Adds support for source metadata handling in diagram parsing
- Adds load event for mermaid datain embedded editor
- Disable auto focus in embedded editor with noAutoFocus
- Refactor smartFit action to streamline lightbox resizing and integrate with button click
- Conditional key binding for 'selectVertices' action based on dev parameter
- Enhance connect handle by adding shape picker on click
- Add default connection arrows and connectable settings to Graph prototype
- Improve connectable and connection arrows settings handling in readGraphState
- Add default folding enabled setting and update related configurations
- Force show shape picker on connect handle click
- Add URL parameters for grid and page visibility settings
- Enhance GraphViewer responsiveness by adding max scale configuration
- Refactor message handling in export and autosave processes
- Add custom scale handling and margin adjustments for embedded diagrams
- Add inline embedding support for graph translation adjustments
- Enhance inline embedding by adding UI visibility controls for toolbar and windows
- Enhance responsiveness in GraphViewer by adjusting viewBox calculations and adding border handling
- Add context menu enhancements for passiveScroll mode with shape picker integration
- Fixes insert for cancel in insert polygon
- Adds support for styles in parsed mermaid diagrams [jgraph/drawio#3884]
- Improve overlap detection for inline toolbar positioning
- Delay fitting of popup menu to ensure it is rendered correctly in the viewport
- Add clearSelection action to graph for improved user interaction
- Refactor responsive border handling in GraphViewer for consistent scaling behavior
- Add resetViewOnSave configuration to reset view position on save
- Preserve original XML attribute values in readGraphState for consistent state management
- Update view state management to preserve view position on save
- Add copyStyle/pasteStyle to context menu in passiveScroll mode
- Rename clearSelection embed action to resetEditor and hide menus
- Add bend style dropdown to inline edge toolbar
- Add modelBounds to embed protocol and xml export format
- Honor preset maxWidth in responsive scaling for diagrams
- Refactor maxWidth calculation for responsive scaling in GraphViewer
- Sync fullscreen button state with actual panel visibility
- feat: add noPrint and noExport URL params to hide chromeless toolbar buttons
- Fix inline toolbar icons not visible in dark mode
- Updates all actions to node 24
05-MAR-2026: 29.6.1
- Removes i18n updating from actions
- Fix Cloud Build when using custom service account
- Hide cell ID and make Edit Data dialog resizable for file-level vars
- Prevent focus stealing from external input elements in showTypingShim [DID-17955]
- Adds showTooltipIcons switch
- Reset sync channel on makeCopy to prevent cross-talk with original file [jgraph/drawio#5487]
- Increase dialog height for EmbedDialog instances to improve layout
- Make EmbedDialog resizable with flex layout
- Hides hints while zooming [jgraph/drawio#5486]
27-FEB-2026: 29.6.0
- Fix MS365 SharePoint file picker integration
- Sets ms365 integration live
- Adds format=0 and sidebar=0 URL params for minimal theme
26-FEB-2026: 29.5.6
- AWS shapes update
- Adds ms365 URL parameter
26-FEB-2026: 29.5.5
- Fixes possible NPE in mxLayoutManager
- Fixes return value in Graph.cellsResized override
- Fixes line submenu in edge context menu
- Adds new dialog styles
- Adds file-specific variables [jgraph/drawio#549] [jgraph/drawio#2911] [jgraph/drawio-desktop#2108]
25-FEB-2026: 29.5.4
- Fixes elbow edge style icons
- Fixes update of toolbar edge styles with selected vertices
- Fixes order of horizontal and vertical edge option in Format panel, toolbar, inline toolbar and context menu
- Makes inline toolbar visible by default, uses line menu
- Fixes tooltips for inline toolbar
- Fixes inconsistent edge menus
- Adds dockable tool windows
- Fixes possible stale dropdown menu
- Fixes clipping of labels for Chrome on Windows
- Fixes inconsistent tooltips in Format panel
- Adds tooltips for checkboxes in Format panel
- Adds autosizeText cell style and sticky notes with automatic text size [jgraph/drawio#2570]
- Fixes background image translation in GraphViewer (almost all code overrides getGraphBounds of graph and not viewer which graph.fit uses) [DID-17873]
24-FEB-2026: 29.5.3
- Hides link icons if showLinkIcons disabled
- Fixes IME first keystroke [jgraph/drawio#3642] [jgraph/drawio#4801] [jgraph/drawio#313]
- Fixes broken copy/paste after IME fix
- Fixes error message for missing animations
- Adds zigzag shape in Misc sidebar [jgraph/drawio#4663]
- Adds insert and edit polygon actions [jgraph/drawio#5292]
- Fixes broken panning after IME fix
- Adds optional inline toolbar for edge styles [jgraph/drawio#4794]
- Simplifies horizontal and vertical elbow edge style icons
- Fix VSDX import: make Visio containers non-connectable and add hyperlink null guard [DID-17660]
22-FEB-2026: 29.5.2
- Deletes unused code causing security warnings
- Tidies changelog
- Updates excludes
- Fixes zoom while drawing freehand [jgraph/drawio#3959]
- Updates MathJax from 4.1.0 to 4.1.1
- Fixes panning in active freehand mode [jgraph/drawio#4080]
- Adds animated gif export [jgraph/drawio#3739]
- Moves animated gif functions to correct location
- Fixes error for saving scratchpad [jgraph/drawio-desktop#2341]
- Adds flow direction and fixes background for animated gif export
- Limits show link icons to main graph
- Fixes resources merge issue
- Reviewed and updated translations
20-FEB-2026: 29.5.1
- Updates to emf importer
19-FEB-2026: 29.5.0
- Initial draft for link icon
- Uses validateCellState for update of link icon
- Adds enableExportUrl configuration switch [jgraph/drawio#4336] [jgraph/drawio#5431]
- Fix emoji and supplementary Unicode characters corrupted after save/reload
- Bezier curve falls back to quad for cases it can't handle [jgraph/drawio-desktop#2333]
- Missing var in actions.js [jgraph/drawio#5457]
- Fixes rename and saveAs for StorageFiles
- New emf converter
14-FEB-2026: 29.4.0
- Handles 404 in GitLab group iteration [jgraph/drawio#4528]
- Adds visible modifiers and events for actions
- Fixes ignored parameter in addItem
- Fixes ignored pv and grid URL parameters for create hash with xml
- Sets maximum initial zoom for create hash to 1.2
- Makes connection points dialog resizable [drawio/discussions/5442]
- Adds resizing for image crop dialog [drawio/discussions/5203], handles overflows [drawio/discussions/5478]
- Adds fitDiagramOnLoad switch [jgraph/drawio#5415]
- Fixes realtimeStateChanged triggers notification repaint
- Adds message type for create hash property
- Fixes grid jump while zoom [jgraph/drawio#1440]
- Uses current production wheelZoomDelay
- Adds markers for arc shape [jgraph/drawio#3639]
- Removes fill and gradient option for arc shape
06-FEB-2026: 29.3.8
- Improves create hash handling
- Handles overflows in error dialog
- Conf Cloud: Removed export to URL option [DID-17708]
- Adds debug output in executeCreateHash
03-FEB-2026: 29.3.7
- Adds Claude 4.5 Opus for local LLMS and removes whitespace from response XML
- Shows AI button in Conf and Jira toolbar if not disabled
- Adds scrollbars for overflow content in Generate window
- Bump qs, body-parser and express in /etc/centralizedLogging/GCP
- Adds XML type for create hash property
- Fits create hash property diagram to window
27-JAN-2026: 29.3.6
- Adds delete all pages option
- Improvements for XML import
- Adds custom line dash pattern options
- Update translations submodule to 996b60e
- Disables file size stats
- Adds claude guide to root
- Fixes handling of inherit color value
- Fixes overflow, adds option to insert layer after current layer, moves selection layers [jgraph/drawio#5438]
- Update translations submodule to 6650194
- Update translations submodule to 645f7e6
- Conf Cloud: Fixed race condition in OAuth requests when multiple viewers are in the same page [DID-17497]
- VSDX Import: Fixed some NPE and added a case for embedded images [DID-17282]
20-JAN-2026: 29.3.5
- Add simple.js build to atlas.min.js
20-JAN-2026: 29.3.4
- Added some css filtering for @import and absolute urls [bugcrowd 31d70940-348e-4d9e-ae26-a20396ef5d69]
- Improvements for [bugcrowd 31d70940-348e-4d9e-ae26-a20396ef5d69]
- Adds Kalaallisut to supported languages
19-JAN-2026: 29.3.3
- Adds expandToFront cell style [jgraph/drawio#4413,jgraph/drawio#5419]
- VSDX Import: Improved background color parsing [DID-17382]
- Fixes hide of shape picker on hover icon reset
- Moves autosize text to Misc sidebar [jgraph/drawio-desktop#2313]
- Fixes drag and drop in layers dialog
- Augments existing URL parameters with #P