Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji
reacted with thumbs down emoji
reacted with laugh emoji
reacted with hooray emoji
reacted with confused emoji
reacted with heart emoji
reacted with rocket emoji
reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
{{title}}
Uh oh!
There was an error while loading. Please reload this page.
⚡ This new version improves graph fitting, makes i18n fully configurable, and reduces bundle size significantly. ⚡
Resources
Breaking changes
Important
These changes may impact existing usages. Please review them carefully and check the related pull requests for migration guidance.
🔐 Eval usage is now disabled by default
To prevent potential security issues, StylesheetCodec.allowEval is now false by default.
Note
See #736 for details.
🌐 Configurable i18n
The built-in Translations class is no longer used by default. If you want to keep using it, you must now explicitly enable it:
Note
See #737
🧰 Utility functions access changes
Several utils have been reorganized for better clarity and maintainability:
Note
See #740
💥 Removed internal functions
Some functions that were mistakenly exposed as public have been removed:
Utils.copyTextToClipboard is no longer available.
cellArrayUtils.filterCells was removed - just use the native Array.filter() instead!
Highlights
🎯 New: Fit Center
You can now center and fit your graph into the container with the new FitPlugin.
The method is inspired by the former example provided in the JSDoc of Graph.fit() but improved to:
The storybook and TypeScript example have been updated to showcase how it works in various contexts.
PR_733_story_fit_center.mp4Note
See #733
🌍 Configurable i18n support
Until now, the Translations class was always used internally. Now you can:
This makes maxGraph more flexible and lighter by default.
Note
See #737
📦 Smaller bundle size
Thanks to the new i18n configuration, tree-shaking now works better.
Depending on your setup, you could reduce the size of your app by 5-10kB - and probably more with tuned bundler configs!
Tip
Examples use default bundler configs and still show measurable gains.
🔬 Examples in the maxGraph repo
📖 See documentation for what each example includes.
🔬 Examples in maxgraph-integration-examples
All integration projects reuse a shared core similar to ts-example. Here's the app size:
[1] parcel is the sole bundler that increases the size of the application. Parcel was bump from 2.13.3 to 2.14.4 which may have introduced changes.
➰ New story: curved edges
We've added a story to show the difference between:
- default edges
- curved edges
- rounded edges
PR_731_story_edges_curved_and_rounded.mp4Note
See #731
What's Changed
🎉 New Features
🐛 Bug Fixes
📝 Documentation
⚙️ Refactor
🛠 Chore
Full Changelog: v0.16.0...v0.17.0
This discussion was created from the release 0.17.0.