Skip to content

0.46.0

Latest
Compare
Choose a tag to compare
@tbouffard tbouffard released this 12 Mar 20:26
· 23 commits to refs/heads/master since this release

This new release focuses on improving ESM support, reducing bundle size, and refining dependency management, along with updates to documentation, dependency bumps, and maintenance improvements. 🚀

Thanks to all the contributors of this release 🌈: @tbouffard

See milestone 0.46.0 to get the list of issues covered by this release.

Dependency Changes

Improved ESM Support

fast-xml-parser and strnum now provide ESM support, improving tree shaking and overall performance.
This also eliminates a warning when integrating bpmn-visualization in Angular applications, which previously flagged CommonJS dependencies as potential issues.

For an example integration with Angular, see the TypeScript Angular example.

Bundle Size Reduction

The bundle size has slightly decreased, leading to improved efficiency:

  • The minified IIFE bundle is now ~978.9 kB (previously 985.8 kB in 0.45.1) → 7 kB reduction.
  • In the bpmn-visualization demo (built with Vite), the main.js script (which includes fast-xml-parser) shrank from 130.57 kB to 122.73 kB.

Impact of Bundler Choice on Size Reduction

Because fast-xml-parser is not currently marked as "side effects" free, the actual size reduction may vary depending on the bundler used.
For example, in the JavaScript Webpack example:

  • With bpmn-visualization 0.45.1, the bundle size was 980.2 kB.
  • With bpmn-visualization 0.46.0, the bundle size is 980.1 kB → only 0.1 kB reduction.

This should improve in future releases. See fast-xml-parser issue #733 for updates.

Removal of strnum as a Direct Dependency

We no longer declare strnum as a direct dependency because:

  • It is a transitive dependency (not used directly in our code), so it’s easier to let fast-xml-parser manage it.
  • It was initially pinned due to stability concerns, but experience has shown that strnum is stable enough. The version guard is no longer necessary.

What's Changed

Full Changelog: v0.45.1...v0.46.0

📝 Documentation

  • docs: update "how-to bump mxgraph" with up-to-date information (#3274) @tbouffard

📦 Dependency updates

👻 Maintenance