Skip to content

Commit f98dc24

Browse files
committed
29.6.1 release
1 parent b2a9aa1 commit f98dc24

117 files changed

Lines changed: 18695 additions & 12646 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,63 @@
1+
05-MAR-2026: 29.6.1
2+
3+
- Removes i18n updating from actions
4+
- Fix Cloud Build when using custom service account
5+
- Hide cell ID and make Edit Data dialog resizable for file-level vars
6+
- Prevent focus stealing from external input elements in showTypingShim [DID-17955]
7+
- Adds showTooltipIcons switch
8+
- Reset sync channel on makeCopy to prevent cross-talk with original file [jgraph/drawio#5487]
9+
- Increase dialog height for EmbedDialog instances to improve layout
10+
- Make EmbedDialog resizable with flex layout
11+
- Hides hints while zooming [jgraph/drawio#5486]
12+
13+
27-FEB-2026: 29.6.0
14+
15+
- Fix MS365 SharePoint file picker integration
16+
- Sets ms365 integration live
17+
- Adds format=0 and sidebar=0 URL params for minimal theme
18+
19+
26-FEB-2026: 29.5.6
20+
21+
- AWS shapes update
22+
- Adds ms365 URL parameter
23+
24+
26-FEB-2026: 29.5.5
25+
26+
- Fixes possible NPE in mxLayoutManager
27+
- Fixes return value in Graph.cellsResized override
28+
- Fixes line submenu in edge context menu
29+
- Adds new dialog styles
30+
- Adds file-specific variables [jgraph/drawio#549] [jgraph/drawio#2911] [jgraph/drawio-desktop#2108]
31+
32+
25-FEB-2026: 29.5.4
33+
34+
- Fixes elbow edge style icons
35+
- Fixes update of toolbar edge styles with selected vertices
36+
- Fixes order of horizontal and vertical edge option in Format panel, toolbar, inline toolbar and context menu
37+
- Makes inline toolbar visible by default, uses line menu
38+
- Fixes tooltips for inline toolbar
39+
- Fixes inconsistent edge menus
40+
- Adds dockable tool windows
41+
- Fixes possible stale dropdown menu
42+
- Fixes clipping of labels for Chrome on Windows
43+
- Fixes inconsistent tooltips in Format panel
44+
- Adds tooltips for checkboxes in Format panel
45+
- Adds autosizeText cell style and sticky notes with automatic text size [jgraph/drawio#2570]
46+
- Fixes background image translation in GraphViewer (almost all code overrides getGraphBounds of graph and not viewer which graph.fit uses) [DID-17873]
47+
48+
24-FEB-2026: 29.5.3
49+
50+
- Hides link icons if showLinkIcons disabled
51+
- Fixes IME first keystroke [jgraph/drawio#3642] [jgraph/drawio#4801] [jgraph/drawio#313]
52+
- Fixes broken copy/paste after IME fix
53+
- Fixes error message for missing animations
54+
- Adds zigzag shape in Misc sidebar [jgraph/drawio#4663]
55+
- Adds insert and edit polygon actions [jgraph/drawio#5292]
56+
- Fixes broken panning after IME fix
57+
- Adds optional inline toolbar for edge styles [jgraph/drawio#4794]
58+
- Simplifies horizontal and vertical elbow edge style icons
59+
- Fix VSDX import: make Visio containers non-connectable and add hyperlink null guard [DID-17660]
60+
161
22-FEB-2026: 29.5.2
262

363
- Deletes unused code causing security warnings

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ We make no copyright claim on diagrams you create with this software.
2020

2121
## Contributions
2222

23-
We do not accept pull requests. The project is developed entirely by the core team. The entire draw.io editor is human written by the core, full-time development team, no AI generation.
23+
We do not accept pull requests. The project is developed entirely by the core team.
2424

2525
## Scope
2626

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
29.5.2
1+
29.6.1

etc/dependencies/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"mermaid": "11.12.1",
1616
"pako": "2.1.0",
1717
"crypto-js": "3.1.2",
18-
"dompurify": "3.3.1",
18+
"dompurify": "3.3.2",
1919
"spin.js": "2.0.0",
2020
"roughjs": "4.6.6",
2121
"mathjax": "4.1.1"

src/main/webapp/js/app.min.js

Lines changed: 4200 additions & 4073 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/webapp/js/diagramly/App.js

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,11 @@ App.MODE_DROPBOX = 'dropbox';
180180
*/
181181
App.MODE_ONEDRIVE = 'onedrive';
182182

183+
/**
184+
* M365 Mode
185+
*/
186+
App.MODE_M365 = 'm365';
187+
183188
/**
184189
* Github Mode
185190
*/
@@ -1604,6 +1609,30 @@ App.prototype.init = function()
16041609
initOneDriveClient();
16051610
}
16061611

1612+
if (urlParams['ms365'] != '0')
1613+
{
1614+
try
1615+
{
1616+
this.m365 = new OneDriveClient(this, false, false, false, true);
1617+
1618+
this.m365.addListener('userChanged', mxUtils.bind(this, function()
1619+
{
1620+
this.updateButtonContainer();
1621+
this.restoreLibraries();
1622+
}));
1623+
1624+
// Notifies listeners of new client
1625+
this.fireEvent(new mxEventObject('clientLoaded', 'client', this.m365));
1626+
}
1627+
catch (e)
1628+
{
1629+
if (window.console != null)
1630+
{
1631+
console.log('M365Client disabled: ' + e.message);
1632+
}
1633+
}
1634+
}
1635+
16071636
/**
16081637
* Lazy-loading for Trello
16091638
*/
@@ -4874,7 +4903,7 @@ App.prototype.saveFile = function(forceDialog, success)
48744903
window.openFile.setData(this.getFileData(true));
48754904
this.openLink(this.getUrl(window.location.pathname), null, true);
48764905
}
4877-
else if (prev != mode)
4906+
else if (forceDialog || prev != mode) // create a new file also with saveAs even if mode is the same as current
48784907
{
48794908
var createFile = mxUtils.bind(this, function(folderId)
48804909
{
@@ -5044,6 +5073,9 @@ App.prototype.getModeForChar = function(char)
50445073
{
50455074
return App.MODE_ONEDRIVE;
50465075
}
5076+
else if (char == 'M') {
5077+
return App.MODE_M365;
5078+
}
50475079
else if (char == 'H')
50485080
{
50495081
return App.MODE_GITHUB;
@@ -5112,6 +5144,10 @@ App.prototype.isModeEnabled = function(mode)
51125144
mxClient.IS_SVG && (document.documentMode == null ||
51135145
document.documentMode > 9);
51145146
}
5147+
else if (mode == App.MODE_M365)
5148+
{
5149+
return this.m365 != null;
5150+
}
51155151
else
51165152
{
51175153
return false;
@@ -5250,6 +5286,10 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold
52505286
{
52515287
this.oneDrive.insertFile(title, data, fileCreated, error, false, folderId);
52525288
}
5289+
else if (mode == App.MODE_M365 && this.m365 != null)
5290+
{
5291+
this.m365.insertFile(title, data, fileCreated, error, false, folderId);
5292+
}
52535293
else if (mode == App.MODE_BROWSER)
52545294
{
52555295
StorageFile.insertFile(this, title, data, fileCreated, error);
@@ -6853,6 +6893,10 @@ App.prototype.getServiceForName = function(name)
68536893
{
68546894
return this.oneDrive;
68556895
}
6896+
else if (name == App.MODE_M365)
6897+
{
6898+
return this.m365;
6899+
}
68566900
else if (name == App.MODE_DROPBOX)
68576901
{
68586902
return this.dropbox;
@@ -6888,6 +6932,10 @@ App.prototype.getTitleForService = function(name)
68886932
{
68896933
return mxResources.get('oneDrive');
68906934
}
6935+
else if (name == App.MODE_M365)
6936+
{
6937+
return mxResources.get('m365');
6938+
}
68916939
else
68926940
{
68936941
return EditorUi.prototype.getTitleForService.apply(this, arguments);
@@ -6940,6 +6988,20 @@ App.prototype.pickFolder = function(mode, fn, enabled, direct, force, returnPick
69406988
}
69416989
}), direct);
69426990
}
6991+
else if (enabled && mode == App.MODE_M365 && this.m365 != null)
6992+
{
6993+
this.m365.pickFolder(mxUtils.bind(this, function (files)
6994+
{
6995+
var folderId = null;
6996+
resume();
6997+
6998+
if (files != null && files.value != null && files.value.length > 0)
6999+
{
7000+
folderId = OneDriveFile.prototype.getIdOf(files.value[0]);
7001+
fn((returnPickerValue) ? files : folderId);
7002+
}
7003+
}), direct);
7004+
}
69437005
else if (enabled && mode == App.MODE_GITHUB && this.gitHub != null)
69447006
{
69457007
this.gitHub.pickFolder(mxUtils.bind(this, function(folderPath)

src/main/webapp/js/diagramly/Devel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if (!mxIsElectron)
2222
'img-src * data: blob:; media-src * data:; font-src * data:; ' +
2323
// www.draw.io required for browser data migration to app.diagrams.net and
2424
// viewer.diagrams.net required for iframe embed preview
25-
'frame-src %frame-src% \'self\' https://viewer.diagrams.net https://www.draw.io https://*.google.com; ' +
25+
'frame-src %frame-src% \'self\' https://viewer.diagrams.net https://www.draw.io https://*.google.com https://*.sharepoint.com https://login.microsoftonline.com; ' +
2626
'style-src %style-src% \'self\' https://fonts.googleapis.com \'unsafe-inline\'; ' +
2727
'base-uri \'none\'; ' +
2828
'child-src \'self\'; ' +

0 commit comments

Comments
 (0)