📢 This new version of bpmn-visualization
introduces a reduction in package size.
Thanks to all the contributors of this release 🌈: @csouchet and @tbouffard
See milestone 0.44.0 to get the list of issues covered by this release.
Highlights
The overall size of the bpmn-visualization
package has been reduced.
For instance, the size of the minified IIFE bundle included in the npm package has decreased from 4750B / 4.63kB.
bundle | 0.43.0 | 0.44.0 |
---|---|---|
bpmn-visualization.esm.js | 209,770 | 204,217 |
bpmn-visualization.js | 1,682,011 | 1,671,953 |
bpmn-visualization.min.js | 990,530 | 985,780 |
This reduction is the result of both code refactoring and the transition from lodash-es
to es-toolkit.
es-toolkit is a modern, high-performance JavaScript utility library that features a smaller bundle size and robust type annotations.
Advantages of using es-toolkit
include:
- More frequent updates
- ESM optimization
- Improved tree-shaking
Breaking Changes
This version introduces minor breaking changes primarily affecting style customization functions.
Removal of Unused Elements in Custom Styling Features
BpmnCanvas.setIconOriginForIconOnBottomLeft
StyleDefault.SHAPE_ACTIVITY_FROM_CENTER_MARGIN
These changes are unlikely to impact users as these methods were not widely utilized. No repositories within the Process Analytics project were found to be using them.
ℹ️ For more details, see #3050.
Removal of IconPainter.paintEmptyIcon
This change is expected to have minimal impact. Applications that extend IconPainter
typically have no reason to override this method.
ℹ️ For more details, see #3054.
Correct CSS Class Name for Adhoc Subprocess
- The CSS class name associated with the adhoc subprocess in the DOM has been updated from
bpmn-sub-process-ad_hoc
tobpmn-sub-process-adhoc
. Any CSS rules or selectors using this class name will need to be updated. - The value of
ShapeBpmnSubProcessKind.AD_HOC
has also changed. Since it is not intended for direct use, this should not affect most users.
ℹ️ For more details, see #3058.
Renaming of Values in ShapeBpmnMarkerKind
Several values in ShapeBpmnMarkerKind
have been renamed. These values are generally not intended for direct use, so this change should not have a significant impact. If your application does use these values, it is recommended to use the enum directly, particularly for:
MULTI_INSTANCE_PARALLEL
MULTI_INSTANCE_SEQUENTIAL
ℹ️ For more details, see #3147.
What's Changed
Full Changelog: v0.43.0...v0.43.1
🐛 Bug Fixes
- fix!: generate correct CSS class name for adhoc subprocess (#3058) @tbouffard
- fix: remove extra spacing between 2 activity markers (#3052) @tbouffard
📝 Documentation
- docs: improve the issue templates (#3148) @tbouffard
- docs(README): add error management in examples (#3144) @tbouffard
- docs(contributors): describe "npm package" tests (#3141) @tbouffard
- docs(mxgraph): update references to custom code (#3137) @tbouffard
- docs: improve the library description (#2184) @csouchet
- docs: advertise the
bv-addons
package in the README (#3102) @tbouffard - docs: improve JSDoc of PaintParameter and StyleDefault (#3049) @tbouffard
🎮 Demo and Examples
- chore(demo): bump fontawesome from 6.5.2 to 6.6.0 (#3136) @tbouffard
- chore(demo): bump fontawesome from 6.5.1 to 6.5.2 (#3070) @tbouffard
📦 Dependency updates
- chore(deps): switch from lodash-es to es-toolkit (#3142) @tbouffard
- chore(deps): bump fast-xml-parser from 4.4.0 to 4.4.1 (#3128) @dependabot
- chore(deps): bump fast-xml-parser from 4.3.4 to 4.4.0 (#3092) @dependabot
👻 Maintenance
- ci: redesign notifications for new releases (#3156) @tbouffard
- refactor: simplify some code using the mxGraph API (#3153) @tbouffard
- refactor!: rename values in
ShapeBpmnMarkerKind
(#3147) @tbouffard - test(e2e): restore report generation and fix location of received images (#3145) @tbouffard
- refactor: simplify
GraphConfigurator
(#3143) @tbouffard - refactor: reduce code duplicated from mxGraph to override shape canvas (#3138) @tbouffard
- chore: bump node from 18 to 20 (#3071) @csouchet
- refactor!: simplify code for shapes without icon (#3054) @tbouffard
- chore: enforce no unused parameters and locals with TypeScript (#3051) @tbouffard
- refactor!: remove
BpmnCanvas.setIconOriginForIconOnBottomLeft
(#3050) @tbouffard - refactor: use internals instead of private class elements (#3048) @tbouffard
- refactor: directly override
svgCanvas2D.getTextCss
(#3046) @tbouffard - refactor: directly override
shape.createSvgCanvas
(#3043) @tbouffard - refactor: inject
IconPainter
in Shapes (#3042) @tbouffard - refactor: simplify shapes registration (#3045) @tbouffard
- refactor: use internal functions rather than static private methods (#3041) @tbouffard