Skip to content

Releases: process-analytics/bpmn-visualization-js

0.29.0

13 Dec 12:50
Compare
Choose a tag to compare

This new version provides the final implementation for the rendering of the Complex Gateway.

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

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

Highlights

Rendering of the Complex Gateway

Now, the Complex Gateway is displayed correctly.

0.28.3 0.29.0
image image

What's Changed

Full Changelog: v0.28.2...v0.29.0

🚄 BPMN rendering

👻 Maintenance

  • [TEST] Visual diff images now only include the diff part (#2386) @tbouffard

0.28.2

28 Nov 09:20
Compare
Choose a tag to compare

This new version focuses on maintenance. The fast-xml-parser dependency has been updated to include the latest bug fixes.

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

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

What's Changed

Full Changelog: v0.28.1...v0.28.2

📦 Dependency updates

👻 Maintenance

0.28.1

14 Nov 13:30
Compare
Choose a tag to compare

This new version brings a new example with an integration in an Angular 14 project.

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

Highlights

New example: Integration in an Angular 14 project

With the help of @akantcheff during Hacktoberfest, we are pleased to announce a new example of integration of the bpmn-visualization library in a single page of an Angular 14 project 👇🏿.

angular_improvements.1_reset_zoom_and_notifications_v02.mp4

Check the source code in the bpmn-visualization-examples repository.

What's Changed

Full Changelog: v0.28.0...v0.28.1

📝 Documentation

  • [DOC] Revert Hacktoberfest hero image from the README (#2328) @csouchet

0.28.0

02 Nov 13:47
Compare
Choose a tag to compare

This new version brings improvements to the library integration, specially with TypeScript.

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

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

Highlights

TypeScript requirement decreases from 4.5 to 4.0

bpmn-visualization can now be integrated into applications using TypeScript 4.0 or higher.

This was a long process that started when we received feedback from a user who could not integrate the library into an Angular 11 application. Angular 11 doesn't support TypeScript 4.5, which was the version required by bpmn-visualization at that time. See #2221 for more details.

Historically, we didn't clarify the required TypeScript version when integrating bpmn-visualization.

We began to improve this by providing guidance in the README in version 0.26.2, and then by generating explicit errors and declaring the requirements in the npm package in version 0.27.0. But at a minimum, TypeScript 4.5 was still required. In version 0.28.0, we were able to reduce this requirement to version 4.0.

Typescript 4.0 was released over 2 years ago, on August 20th, 2020. So, we expect that all projects will now be able to integrate bpmn-visualization.

In addition to this change, we now provide a single file containing the types in the npm package.

This cleans up some internal bpmn-visualization types that were previously exported by mistake, while their corresponding implementation is not exported in the JavaScript files. This could have led to runtime errors if such types were used.

See #2231 for more details and #2249 for an example of additional types that were previously exported.

New demos available

Process Mining scenario

This demo was created to demonstrate the capabilities of bpmn-visualization at the Process Mining Conference 2022.

If you want to test it yourself, try the ⏩ live ICPM 2022 demo.

online_monitoring.mp4

Online Monitoring scenario

This demo was added to version 0.27.1 as part of the release of the getting started tutorial.

It shows a concrete process analytics scenario that is online monitoring. In online monitoring, an administrator monitors the process execution at runtime. It displays two important pieces of information:

  • The running instances and their number ⚙️.
  • The status of the running instances: whether or not they violate the predefined Key Performance Indicators (KPI) ⏱️.

This demo complements the "monitoring" demo that has been around for a while.

Check out the ⏩ live getting started tutorial demo.

getting_started

Breaking changes: npm package content change

We removed all CommonJS (minified and unminified) bundles and the minified ESM bundle from the npm package.

For more information about the reasons of this change, see #2313.

Please use the ESM bundle instead. This change should be transparent for applications integrating bpmn-visualization. Our tests with different bundlers, tools and frameworks (Vite, Parcel, Webpack, Rollup, Angular, ...) showed no issues.

The size of the package decreased thanks to these removals.

bpmn-visualization - Package Phobia
bpmn-visualization - Package Phobia

What's Changed

Full Changelog: v0.27.1...v0.28.0

⤵️ Library Integration

  • [FEAT] Downlevel the minimum supported TS version from 4.5 to 4.0 (#2326) @tbouffard
  • [REFACTOR] Include a single file for types in the npm package (#2325) @tbouffard
  • [INFRA] Remove CommonJS and minified ESM bundles from the npm package (#2313) @tbouffard

📝 Documentation

🎮 Demo and Examples

0.27.1

17 Oct 13:12
Compare
Choose a tag to compare

This is a maintenance release. It simplifies the integration of bpmn-visualization in Angular or Svelte projects.

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

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

Highlights

This new version simplifies the integration in Angular or Svelte projects (and probably with other frameworks).

Previously, it was mandatory to define an id in the HTML div element used to display the BPMN diagram. ⚠️ It is not a common practice to set the id of a component with Angular and Svelte.
As a result, some bpmn-visualization APIs were generating an error when the id was not defined.

With version 0.27.1, the definition of an id is no longer mandatory. So, the configuration is now easier.

What's Changed

Full Changelog: v0.27.0...v0.27.1

🧲 BPMN diagram usability

  • [FIX] Allow BPMN container HTML element without id (#2282) @csouchet

🐛 Bug Fixes

  • [FIX] Allow BPMN container HTML element without id (#2282) @csouchet

📝 Documentation

📦 Dependency updates

👻 Maintenance

0.27.0

03 Oct 13:08
Compare
Choose a tag to compare

This new version brings a breaking change, improvements on the integration of bpmn-visualization in TypeScript projects, a new BPMN support.

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

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

Highlights

Breaking changes

In 0.24.0, it was announced that bpmnVisualization.fit(fitOptions) was deprecated.
From now, this method is completely removed. Use bpmnVisualization.navigation.fit(fitOptions) instead.

Simplify the integration in TypeScript project

Previously, the TypeScript projects need a specific configuration, in the tsconfig.json file, to integrate bpmn-visualization.

From now, the integration of bpmn-visualization in TypeScript projects is simplified. They no longer need this configuration.
The README contains a note about the configuration that was previously required. It should help projects still using an old version.

For more details, see #2258.

In addition, a more explicit error message is displayed when integrating bpmn-visualization in a project that uses a too old TypeScript version. Remember that bpmn-visualization requires TypeScript 4.5 or superior.

New BPMN support

bpmn-visualization supports now the detection of the Complex Gateway.

For now, the Complex Gateway is displayed as a red diamond, as follows:
gateways

What's Changed

Full Changelog: v0.26.2...v0.27.0

🚀 BPMN support

⤵️ Library Integration

  • [FEAT] Explicit error message when using too old TypeScript versions (#2272) @tbouffard
  • [FEAT] Simplify the integration in TypeScript project (#2258) @tbouffard

📝 Documentation

📦 Dependency updates

👻 Maintenance

  • [REFACTOR] Remove the deprecated fit method (#2271) @tbouffard
  • [TEST] Add more tests when passing CSS classes separated by spaces (#2267) @tbouffard

0.26.2

19 Sep 11:30
Compare
Choose a tag to compare

This new version eases the integration of bpmn-visualization in Parcel, Webpack and Angular projects.

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

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

Highlights

Easier integration

This is now easier to use bpmn-visualization in Parcel, Webpack and Angular projects. Previously, it was necessary to add a special configuration to integrate bpmn-visualization. With version 0.26.2, this is not needed anymore.

See #2248 for more details.

What's Changed

Full Changelog: v0.26.1...v0.26.2

🐛 Bug Fixes

⤵️ Library Integration

📝 Documentation

  • [DOC] README indicates the lowest supported TypeScript version (#2251) @tbouffard
  • [DOC] Simplify the introduction of the user documentation (#2242) @tbouffard
  • [DOC] Add a changelog file that refs GH releases (#2241) @tbouffard

0.26.1

05 Sep 10:42
Compare
Choose a tag to compare

This new version brings improvements to the documentation and fixes some issues.

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

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

What's Changed

Full Changelog: v0.26.0...v0.26.1

🧲 BPMN diagram usability

  • [FIX] Filter elements of a participant without a displayed Pool (#2139) @csouchet
  • [FIX] Filter elements of an Expanded Call Activity (#2140) @csouchet

🐛 Bug Fixes

  • [FIX] Filter elements of a participant without a displayed Pool (#2139) @csouchet
  • [FIX] Filter elements of an Expanded Call Activity (#2140) @csouchet

📝 Documentation

👻 Maintenance

  • [INFRA] Improve full changelog visibility in release notes (#2197) @tbouffard

0.26.0

22 Aug 13:27
Compare
Choose a tag to compare

This new version brings improvements to customize the style of the Text Annotation elements and a new BPMN theme in the demo.

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

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

Highlights

Improve the styling capabilities of Text Annotation elements

In previous versions, it was already possible to customize the style of the Text Annotation elements and to configure a fill color (gradient could also be used).
But only a small area of the Text Annotation was filled (the area delimited by the open rectangle).

In version 0.26.0, the whole Text Annotation area is now filled.

0.25.3 0.26.0
text annotation fill color v0.25.3 text annotation fill color v0.26.0

This new feature allows you to highlight the entire text of Text Annotation elements.
Check the Bonita procurement example using #B4AFAF26 for Text Annotation fill color 👇.

image

Demo improvements

More space for diagram rendering

The 'Diagram' title section has been removed. So there is now more space for the BPMN diagram rendering, especially on mobile.
In addition, the 'fit on load', 'fit margin' and 'theme' blocks (from the control panel) align better on small screens.

Check the evolution between version 0.25.2 and version 0.26.0 (shown as 0.25.3-post version here) 👇.
The videos have been done with Chrome 104.

Large screens Small screens
chrome_104_screen_large_800x680_v2_aligned_bpmn_button chrome_104_screen_small_660x680_v2_margin_between_control_and_main_sections

A new Light Blue BPMN theme

A new Light Blue BPMN theme is available. It uses the new improvement about the fill color of the Text Annotation elements 👇.

v0 26 0_new_light-blue_bpmn-theme

What's Changed

Full Changelog: v0.25.3...v0.26.0

🚀 BPMN support

  • [FIX] Don't convert Process without Participant as a Pool (#2129) @csouchet

🌈 BPMN diagram styling

  • [FEAT] Allow to fill the boundaries of the Text Annotation with color (#2190) @tbouffard

🐛 Bug Fixes

  • [FIX] Don't convert Process without Participant as a Pool (#2129) @csouchet

📝 Documentation

🎮 Demo and Examples

👻 Maintenance

  • [INFRA] Fix the demo package: allow deploy on a non root context (#2169) @csouchet

📦 Dependency updates

15 changes

0.25.3

08 Aug 14:08
Compare
Choose a tag to compare

This new release focuses on maintenance.

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

What's Changed

👻 Maintenance

  • [TEST] JsonBuilder: Add laneSet & lane on a Process (#2150) @csouchet
  • [TEST] JsonBuilder: Add sequenceFlow on a Process (#2149) @csouchet
  • [TEST] JsonBuilder: Add subProcess on the generated Definitions JSON (#2148) @csouchet
  • [TEST] JsonBuilder: Don't generate Bounds for Edge (#2147) @csouchet
  • [REFACTOR] JsonBuilder: Add missing field in Call activity: calledElement and isExpanded (#2146) @csouchet
  • [REFACTOR] JsonBuilder: Choose the kind of the task to generate (#2145) @csouchet
  • [REFACTOR] JsonBuilder: Choose if a participant should be generated on each Process and not for every Process (#2144) @csouchet
  • [REFACTOR] JsonBuilder: Don't generate a default name if it's not in the parameter to build flownode (#2143) @csouchet
  • [REFACTOR] JsonBuilder: Choose the kind of the gateway to generate (#2142) @csouchet
  • [REFACTOR] JsonBuilder: Ensure that the generated events have the fields of their kind (#2141) @csouchet

📦 Dependency updates

17 changes

Full Changelog: v0.25.2...v0.25.3