Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

bpmn-js

bpmn-io302kSEE LICENSE IN LICENSE18.6.1TypeScript support: included

A bpmn 2.0 toolkit and web modeler

bpmn, bpmn-js, toolkit, web modeler, modeler, modeling, process modeling

readme

bpmn-js - BPMN 2.0 for the web

Build Status

View and edit BPMN 2.0 diagrams in the browser.

bpmn-js screencast

Installation

Use the library pre-packaged or include it via npm into your node-style web-application.

Usage

To get started, create a bpmn-js instance and render BPMN 2.0 diagrams in the browser:

const xml = '...'; // my BPMN 2.0 xml
const viewer = new BpmnJS({
  container: 'body'
});

try {
  const { warnings } = await viewer.importXML(xml);

  console.log('rendered');
} catch (err) {
  console.log('error rendering', err);
}

Checkout our examples for many more supported usage scenarios.

Dynamic Attach/Detach

You may attach or detach the viewer dynamically to any element on the page, too:

const viewer = new BpmnJS();

// attach it to some element
viewer.attachTo('#container');

// detach the panel
viewer.detach();

Resources

Build and Run

Prepare the project by installing all dependencies:

npm install

Then, depending on your use-case you may run any of the following commands:

# build the library and run all tests
npm run all

# spin up a single local modeler instance
npm start

# run the full development setup
npm run dev

You may need to perform additional project setup when building the latest development snapshot.

bpmn-js builds on top of a few powerful tools:

  • bpmn-moddle: Read / write support for BPMN 2.0 XML in the browsers
  • diagram-js: Diagram rendering and editing toolkit

It is an extensible toolkit, complemented by many additional utilities.

License

Use under the terms of the bpmn.io license.

changelog

Changelog

All notable changes to bpmn-js are documented here. We use semantic versioning for releases.

Unreleased

_Note: Yet to be released changes appear here._

18.6.1

  • FIX: copy error, escalation, message and signal references when copying elements (#2301)

18.6.0

18.5.0

  • FEAT: allow text annotations for message flows (#2281)

18.4.0

  • FEAT: render collapsed event subprocess icons (#50)

18.3.2

  • FIX: remove default start event for ad-hoc subprocess (#2295)
  • FIX: show modeling feedback error for data objects (#2290)

18.3.1

  • FIX: move artifacts when a participant is resized by space tool (#2285)

18.3.0

  • FEAT: allow to replace between variants of typed events (#2282)

18.2.0

  • FEAT: add ad-hoc subprocess option to replace menu (#2276)

18.1.2

18.1.1

18.1.0

18.0.0

Breaking Changes

  • Require Node >= 20
  • Canvas is now a focusable element and provides better support for native browser behaviors. Focus can be controlled with new focus and restoreFocus APIs (bpmn-io/diagram-js#662).
  • Keyboard is now implicitly bound to canvas SVG element. Calls to keyboard.bind and keyboard.bindTo now result with a descriptive console error and have no effect (bpmn-io/diagram-js#662).

17.11.1

  • FIX: handle searching elements without labels (#2232, #2234)

17.11.0

  • FEAT: align search styles with other popups (#2187)
  • FEAT: prioritize start of tokens in search results (#2187)
  • FIX: do not commit viewport changes on ESC (#2189, #2187)
  • DEPS: update to `diagram-js@14.10.0`

17.10.0

  • CHORE: correct various type hints (#2228)
  • FIX: pasting compensation activity without boundary event (#2070)
  • FIX: lane resize constraints for se and nw direction (#2209)
  • FIX: auto place elements vertically in sub-processes (#2127)
  • FIX: hide lane label during direct editing
  • DEPS: update to `diagram-js@14.9.0`

17.9.2

  • FIX: keep direction when collapsing pools (#2208)

17.9.1

  • FIX: show delete action for labels (#2163)

17.9.0

17.8.3

  • FIX: add accessible label to drill down button (#2194)

17.8.2

  • FIX: do not suggest root elements in search (#2143)

17.8.1

  • FIX: gracefully handle missing process DI in drilldown (#2180)
  • FIX: do not cause HTML validation errors on move preview (#2179)
  • DEPS: update to `diagram-js@14.7.1`

17.8.0

  • FEAT: keep global elements when deleting last participant (#2175)
  • FIX: allow undo after deleting last participants and data store (#1676)
  • FIX: allow styling markers with canvas.addMarker and css (#2173)
  • CHORE: render flow markers as part of djs-visual (#2173)
  • DEPS: update to `diagram-js@14.7.0`

17.7.1

  • FIX: correct call activity outline (#2167)
  • FIX: gracefully handle missing BPMNDiagram#plane (#2172, #2171)

17.7.0

17.6.4

17.6.3

17.6.2

17.6.1

17.6.0

  • FEAT: add ability to type services and events (#2121, #2153)
  • FIX: remove preview on context pad close (#2150)
  • FIX: use tagged template in error logging (#2151)

17.5.0

17.4.0

17.3.0

  • FEAT: auto-place elements vertically (#2110)

17.2.2

  • FIX: correct navigated viewer outline (#2133)

17.2.1

17.2.0

17.1.0

  • FEAT: handle splitting vertical lanes (#2101)

17.0.2

  • FIX: create hit boxes for vertical lanes (#2093)

17.0.1

  • FIX: fix rendering of gateway without marker (#2102)

17.0.0

Breaking Changes

  • Migrated to diagram-js@14 which removes touch interaction module, and dependency on unsupported hammerjs package. If you rely on touch interaction, you need to support touch interaction on your own.

16.5.0

  • FEAT: handle adding vertical lanes (#2086)
  • FIX: don't fill multiple parallel events (#2085)

16.4.0

  • FEAT: handle resizing of vertical lanes (#2062)
  • FEAT: allow text annotations to overlap with the borders of subprocesses and pools (#2049)
  • FEAT: support modeling of gateway without marker (#2063)
  • FIX: correctly remove vertical lanes (#2081)
  • FIX: do not set label on planes (#2033)

16.3.2

  • FIX: support core replace in compensation behavior (#2073)

16.3.1

  • FIX: do not remove connection that is being created when pasting compensation boundary event and handler (#2069)

16.3.0

  • FEAT: improve handling of compensation association (#2038)

16.2.0

16.1.0

16.0.0

  • FEAT: render vertical pools and lanes (#2024)
  • FEAT: sentence case titles and labels (#2023)
  • FIX: ensure all error translations are collected (#2040)
  • DEPS update to diagram-js@13.0.0

Breaking Changes

  • Major updates to diagram-js@13 and didi@10. Make sure to check out the linked changelog updates.
  • Multiple translation labels has been updated to sentence case. If you rely on the old casing, you need to update your translations.

15.2.2

  • FIX: use correct types in BpmnRenderUtil (#2036)

15.2.1

15.2.0

15.1.3

  • FIX: revert djs-dragging CSS class changes (#2016)
  • FIX: clear context pad hover timeout on close (#2016)
  • DEPS: update to `diagram-js@12.7.2`

15.1.2

15.1.1

  • FIX: adjust selection outline to external label (#2001)

15.1.0

  • FEAT: add toggle for non-interrupting events (#2000)
  • FEAT: keep events non-interrupting when using bpmnReplace by default (#2000)
  • DEPS: update to `diagram-js@12.7.0`

15.0.0

  • FEAT: align selection outline with element's shape (#1996)
  • FEAT: preview append on hover (#1985)
  • FEAT: allow overriding fill, stroke, width and height when rendering elements (#1985)
  • FIX: renderer only renders actual flow elements (#1985)
  • DEPS: update to `diagram-js@12.6.0`

Breaking Changes

  • BpmnRenderer only renders actual flow elements (e.g. bpmn:IntermediateCatchEvent but not bpmn:MessageEventDefinition)

14.2.0

14.1.3

14.1.2

14.1.1

14.1.0

14.0.0

  • FEAT: do not hide overlays on canvas move per default (diagram-js#798)
  • FEAT: translate Append TextAnnotation context pad action (#1932)
  • FIX: allow to create connection + event-based gateway (#1490)
  • FIX: make breadcrumb styling more robust (#1945)
  • FIX: correct copy of default sequence flow elements (#1935)
  • CHORE: extract modeling-feedback into dedicated module (#1940)
  • CHORE: drop deprecated callback support from public API
  • CHORE: drop deprecated import.parse.complete event member context
  • DEPS: update to `diagram-js@12.3.0`
  • DEPS: update to `bpmn-moddle@8.0.1`
  • DEPS: update to `ids@1.0.3`

Breaking Changes

  • Deprecated callback style API removed. Migrate to promise-based APIs, released with v7.0.0.
  • Deprecated import.parse.complete event member context removed. Access the same information via the event itself, as released with v7.0.0.

13.2.2

  • FIX: do not vertically resize empty pools using the space tool (#1769)

13.2.1

  • FIX: improve regular expression (#1927)
  • FIX: show non-interrupting event version in replace menu (#1924)

13.2.0

  • CHORE: provide align and distribute context pad and popup menu icons as html (#1920)
  • DEPS: update to `diagram-js@12.2.0`

13.1.0

  • FEAT: allow event rendering without icons (#1917)

13.0.9

  • CHORE: update translations infra

13.0.8

Republish of v13.0.7.

13.0.7

Republish of v13.0.6.

13.0.6

  • DOCS: update translations

13.0.5

13.0.4

13.0.3

  • FIX: update label on modeling.updateModdleProperties (#1872)

13.0.2

13.0.1

  • FIX: correct some type definitions (#1896)

13.0.0

12.1.1

12.1.0

  • FIX: correct Viewer#saveXML type definition (#1885)
  • FIX: correct Viewer constructor type definition (#1882)

12.0.0

Breaking Changes

  • The create/append anything features moved to an external module. Include it to restore the v11 create/append behavior.

11.5.0

  • FEAT: add root elements to definitions when provided via modeling#update(Moddle)Properties

11.4.1

  • FIX: correct redo triggering on international keyboard layouts (#1842)

11.4.0

  • FEAT: translate append menu entry labels and groups (#1810)
  • FEAT: activate direct editing on participant creation (#1845)
  • FIX: dragging append menu entries creates element connection (#1843)
  • FIX: append shortcut triggers create menu if append not allowed (#1840)
  • FIX: restore marker rendering workaround (9c6e475)

11.3.1

Republish of v11.3.0.

11.3.0

  • FEAT: feature service and user tasks more prominently in replace menu (#1836)
  • FEAT: hide rare items initially from create/append menus (#1836)
  • FEAT: retrieve instantiation modules with context (#1835)
  • DEPS: update to `diagram-js@11.9.0`

11.2.0

Adds create/append anything.

  • FEAT: append menu available via context pad (#1802, #1809, #1815, #1818, #1831)
  • FEAT: create menu available via palette (#1811, #1809, #1817)
  • FEAT: simplify connection-multi icon (#1822)
  • FEAT: join paths round by default (1827)
  • FEAT: improved BPMN symbol rendering (#1830)
  • FEAT: round connection corners (#1828)
  • FEAT: improve visibility of popup menu (#1812)
  • FIX: missing special attributes in bpmnElementFactory (#1807)
  • FIX: handle bpmn:DataObjectReference without data object in replace menu (#1823)
  • DEPS: update to `diagram-js@11.8.0`

11.1.1

11.1.0

11.0.5

11.0.4

11.0.3

Re-release of v11.0.2.

11.0.2

  • FIX: correct test for replace options (#1787)

11.0.1

11.0.0

Reworks popup menu UI.

Breaking Changes

10.3.0

  • FEAT: add BPMN specific space tool (#1344)
  • FIX: do not resize bpmn:TextAnnotation when using space tool (#1344)
  • FIX: correct attachers left hanging when using space tool (#1344)
  • FIX: stick labels to label targets when using space tool (#1344, #1302)
  • DEPS: update to diagram-js@10

10.2.1

  • FIX: correct preserving of outgoing connections on event-based gateway morph (#1738)

10.2.0

  • DEPS: update to bpmn-moddle@8

10.1.0

10.0.0

Updates the library target to ES2018.

  • FEAT: use ES2018 syntax (#1737)

Breaking Changes

9.4.1

  • FIX: ignore elements which cannot be colored (#1734)

9.4.0

  • FEAT: allow clipboard to be serialized (#1707)
  • FEAT: allow cloning of elements (#1707)
  • FEAT: copy groups in a safe manner (#1707)
  • FIX: make clipboard contents immutable (#1707)
  • FIX: do not alter inputs passed to ElementFactory#create (#1711)
  • FIX: prevent bogus meta-data to be attached on paste (#1707)
  • FIX: only claim existing IDs (#1707)
  • FIX: prevent double paste on label creation (#1707)
  • FIX: move labels when collapsing sub-process (#1695)
  • FIX: assign default size when expanding element (#1687)
  • FIX: render sequence flows always on top (#1716)
  • DEPS: update to `diagram-js@8.9.0`
  • DEPS: update to `bpmn-moddle@7.1.3`

9.3.2

9.3.1

  • FIX: properly size icons for distribute/align menu (#1694)

9.3.0

9.2.2

  • FIX: correctly toggle loop characteristics (#1673)

9.2.1

  • FIX: cancel direct editing before shape deletion (#1677)

9.2.0

  • FEAT: rework select and hover interaction on the diagram (#1616, #640, #643)
  • FEAT: rework diagram interaction handles (#640)
  • FEAT: clearly distinguish select and hover states (#1616)
  • FEAT: allow text annotation on sequence flows (#1652)
  • FEAT: add multi-element context pad (#1525)
  • FEAT: change default color to off black (#1656)
  • FEAT: select connection after connect (#644)
  • FIX: copy elements with string extension properties (#1518)
  • FIX: cancel direct editing before shape deletion (#1664)
  • FIX: remove connection on source connection deletion (#1663)
  • FIX: set correct label color when batch coloring elements (#1653)
  • FIX: always reconnect labels and associations (#1659)
  • FIX: correct connection drop highlighting
  • DEPS: replace inherits with inherits-browser
  • DEPS: bump to `diagram-js@8.5.0`

9.1.0

  • FEAT: allow to select participant and subprocess via click on body (#1646)
  • FIX: comply with strict style-src CSP (#1625)
  • FIX: complete direct editing when selection changes (#1648)
  • DEPS: update to `diagram-js@8.3.0`
  • DEPS: update to `min-dom@3.2.0`

9.0.4

  • FIX: remove label property on empty label (#1637)
  • FIX: create drilldown overlays on viewer.open (574a67438)
  • FIX: render data association inside collapsed sub-processes (#1619)
  • FIX: preserve multi-instance properties when toggling between parallel and sequential (#1581)
  • FIX: correct hanging sequence flow label after collapsing sub-process (#1617)
  • FIX: correct start event not added to newly created sub-process (#1631)

9.0.3

9.0.2

  • FIX: support modeling of groups in collapsed subporcesses (#1606)
  • FIX: override default padding of breadcrumb element (#1608)

9.0.1

9.0.0

  • FEAT: support drilldown and modeling of collapsed subprocesses (#1443)
  • FEAT: update embedded label bounds when shape is moved (#1586)
  • FIX: create di for embedded labels (#1579)
  • CHORE: expose BpmnRenderer extension points (#1585)
  • DEPS: bump to `diagram-js@8.1.1`

Breaking Changes

  • Reworked the link of elements to bpmn DIs. You must access the di directly from the diagram element instead of the businessObject #1472.
  • Reworked viewer.open behavior for single planes (#1576).
  • Reworked import and BpmnFactory APIs #1472.
  • Added bpmn-js.css, which is required to display drilldown overlays correctly.

8.10.0

  • CHORE: provide ModelUtil#isAny utility (#1604)
  • CHORE: provide ModelUtil#getDi utility (#1604)

8.9.1

  • FIX: re-use process for redo of first participant (#1439)
  • FIX: ensure IDs are claimed when used (#1555)
  • FIX: prevent morphing data stores outside participants (#1508)

8.9.0

  • FEAT: select newly created sub-process (6214772b)
  • FEAT: select newly created group for immediate resizing (56eb34cc)
  • FEAT: simplify color scheme
  • FIX: set label color on bpmndi:BPMNLabel#color (#1543)
  • FIX: don't create illegal bpmndi:BPMNEdge#waypoints property (#1544)
  • FIX: correct direct editing on touch devices
  • DEPS: update to `diagram-js@7.8.2`

8.8.3

  • FIX: correct resize handles hidden behind element (#1520)
  • FIX: handle close to source or target drop on flow (#1541)
  • CHORE: bump to `diagram-js@7.6.3`

8.8.2

  • FIX: properly re-use ID of a copied element if available (#1503)

8.8.1

  • FIX: re-use ID of a copied element if available (#1503)
  • CHORE: unbuild circular dependency with ResizeUtil (#1500)

8.8.0

  • FEAT: give keyboard fine-grained control over which events to handle (#1493)
  • FIX: correct keyboard shortcuts not working in direct editing mode (#1493)
  • DEPS: update to `diagram-js@7.15`

8.7.3

  • FIX: convert file to ES6 module (#1478)

8.7.2

  • CHORE: improve error recovery in ordering provider
  • DEPS: update build dependencies

8.7.1

8.7.0

8.6.2

  • DEPS: update diagram-js-direct-editing to v1.6.3

8.6.1

  • FIX: serialize bpmn:DataStoreReference correctly in case if first participant is an empty pool (#1456)

8.6.0

8.5.0

  • FEAT: reconnect message flows when participant is collapsed (#1432)
  • FEAT: replace elements on create (#1340)
  • FEAT: show message name on message flow (#777)
  • FEAT: ensure auto-placed elements are visible
  • FIX: fix reversed connection preview (#1431)
  • FIX: copy root element references on replace (#1430)
  • DEPS: update to `diagram-js@7.3.0`

8.4.0

  • FIX: disallow inserting multiple elements on a sequence flow (#1440)

8.3.1

  • FIX: correctly serialize xml attributes on Any elements
  • DEPS: update bump to `bpmn-moddle@7.0.5`

8.3.0

  • FEAT: enable connection tool for text annotations (#1428)

8.2.2

  • FIX: always emit saveXML.done
  • FIX: correct path intersections not being detected in certain cases
  • CHORE: bump to `diagram-js@7.2.3`

8.2.1

  • FIX: prevent bendpoint hover error (#1387)

8.2.0

  • FIX: correct label colors on connect / hover (#1380)
  • FIX: correct new parent indicator when leaving lane (#1413)
  • CHORE: update to `diagram-js@7.2.0`

8.1.0

  • TEST: simplify markup created by built-in test helpers

8.0.1

  • FIX: activate, not toggle global connect tool on palette click
  • FIX: only allow cancel boundary events on transactions
  • CHORE: add npm start script for demo purposes

8.0.0

  • FEAT: improve replace label for collapsed pools (8faee2bd)
  • FEAT: allow participant multiplicity marker to be toggled (#533)
  • FEAT: support soft breaks / discretionary hyphens in labels (#1383)
  • FEAT: improve tool activation via keyboard shortcuts or editor actions
  • FEAT: allow components to react to auxiliary mouse button interactions
  • FEAT: move canvas on auxiliary button mouse down
  • CHORE: bump to diagram-js@7

Breaking Changes

  • Auxiliary mouse button events will now be passed as element.* mouse events to components. You must filter your event listeners to prevent reactions to these events (1063f7c1).

7.5.0

  • FEAT: update translatable strings (#1364)
  • FEAT: add collection marker to DataObjectReference (#381)
  • FEAT: provide generic command for updating moddle properties (#1376)
  • FEAT: add switch between DataStoreReference and DataObjectReference in replace menu (#1372)
  • FIX: align collection and parallel instance markers style (#1371)

7.4.2

  • FIX: correctly emit out element.event after drop-on-flow (#1366)

7.4.1

  • FIX: correct keyboard zoom in key on international keyboard shortcuts (#1362)

7.4.0

7.3.1

7.3.0

  • FEAT: disallow typed start events inside non-event based sub processes (#831)
  • CHORE: bump to `diagram-js@6.7.0`

7.2.1

  • FIX: disallow boundary events as message flow targets (#1300)

7.2.0

Republish of v7.1.0.

7.1.0

  • FEAT: allow annotating groups (#1327)

7.0.1

7.0.0

  • FEAT: make import and export APIs awaitable (#812)
  • FEAT: update watermark (#1281)
  • CHORE: deprecated import.parse.complete context payload (157aec6e)
  • CHORE: clarify license terms (bc98a637)
  • CHORE: bump to `bpmn-moddle@7.0.1`

Breaking Changes

  • The toolkit now requires the ES6 Promise to be present. To support IE11 you must polyfill it.

6.5.1

6.5.0

  • FEAT: prefer straight layout for sub-process connections (#1309)
  • FEAT: move common auto-place feature to diagram-js, add BPMN-specific auto-place feature (#1284)
  • CHORE: make bpmn-font a development dependency (63045bdf)
  • CHORE: bump to `diagram-js@6.6.1`

6.4.2

6.4.1

6.4.0

  • FEAT: serialize link events with an empty name (#1296)

6.3.5

  • FIX: correct accidental resizing of label target (#1294)

6.3.4

  • FIX: export BPMNDI in correct order (#985)

6.3.3

  • FIX: resize empty text annotations
  • CHORE: bump min-dom version
  • CHORE: bump to `diagram-js@6.4.1`

6.3.2

  • FIX: correctly move flows when adding lane (#1287)
  • FIX: restore semantic IDs for non flow nodes (#1285)

6.3.1

  • FIX: prevent editor crash in some strict execution environments (#1283)

6.3.0

  • FEAT: generate more generic IDs for new elements (035bb0c1)
  • FEAT: copy referenced root elements (message, signal, ...) (dc5a566e)
  • FEAT: ensure minimum size when resizing elements with space tool (7ee304f4)
  • FIX: correct interaction events inside bpmn:Group elements (#1278)
  • FIX: correct copy and paste of collapsed sub-processes (#1270)
  • FIX: correct various space tool related issues (#1019, #878)
  • CHORE: rework space tool
  • CHORE: update to `diagram-js@6.4.0`

6.2.1

  • FIX: correct serialization of DataAssociation#assignment
  • CHORE: update to `bpmn-moddle@6.0.2`

6.2.0

  • FIX: keep non-duplicate outgoing connection when dropping on flows (#1263)
  • FIX: properly reconnect message flows when collapsing participant
  • CHORE: update to `diagram-js@6.3.0`
  • CHORE: update to `bpmn-moddle@6.0.1`

6.1.2

  • FIX: translate Append ReceiveTask
  • FIX: allow associations where data associations are allowed, too (4a675b37)
  • FIX: correct origin snapping on multi-element create (27fec8bd)
  • CHORE: update to `diagram-js@6.2.2`

6.1.1

Republish of v6.1.0.

6.1.0

  • FEAT: copy signals, escalations and errors (#1245)
  • FEAT: provide base viewer / modeler distributions (bb94b206)
  • FEAT: add horizontal and vertical resize handles
  • FEAT: improve connection cropping (bump to path-intersection@2)
  • FIX: correctly mark elements as changed on {shape|connection}.create undo
  • FIX: do not open replace menu after multi create (#1255)
  • CHORE: update to `diagram-js@6.2.0`

6.0.7

  • FIX: disable waypoints-cropping after pasting connections (9f8a724e)

6.0.6

  • FIX: create nested lanes in the correct parent again (#1256, #1253, #1254)

6.0.5

  • FIX: only update Lane#flownNodeRefs once during paste (4455c3fc)
  • FIX: do not adjust labels on paste (b2b607f5)
  • FIX: do not snap connection waypoints on paste (d769e6dd)

6.0.4

  • FIX: correctly fix hover on cleanup (#1247)

6.0.3

6.0.2

  • CHORE: bump diagram-js-direct-editing dependency

6.0.1

6.0.0

  • FEAT: rework (re-)connecting of shapes (#427)

Breaking Changes

Connecting and re-connecting shapes got reworked via #427:

  • The rules connection.reconnectStart and connection.reconnectEnd got replaced with connection.reconnect rule
  • BpmnLayouter#layoutConnection waypoints can be specified via hint

5.1.2

  • FIX: account for label pasting in label behavior (#1227)

5.1.1

  • FIX: re-select only existing elements when dragging is finished (#1225)
  • FIX: correctly hide nested children of a collapsed shape
  • CHORE: bump to diagram-js@5.1.1

5.1.0

  • FEAT: adjust label position post creation (41c6af18)
  • FEAT: copy and paste boundary events (2e27d743)
  • FIX: ordering after moving boundary events between hosts (#1207)
  • FIX: do not remove sequence flow condition on type change (b2900786)
  • FIX: do not remove default sequence flow on type change (37bcd070)
  • FIX: do not duplicate flow node references (168a1493)
  • FIX: ignore labels that are being created in adaptive label positioning (44cceb5d)

5.0.5

  • FIX: snap connections to task mid (86c61b0)
  • FIX: snap connections to sub process mid (83e9f05)
  • FIX: complete direct editing when auto place starts (dcf440b)
  • FIX: do not clear diagram if no diagram to clear (#1181)
  • FIX: copy boundary events attachments (#1190)
  • FIX: do not copy generic properties (a74d83)

5.0.4

  • FIX: correct sequence flow layout after drop on flow (#1178)

5.0.3

Republish of v5.0.2.

5.0.2

5.0.1

  • FIX: import boundary event associations (#1170)

5.0.0

  • FEAT: add two-step copy and paste (#1137)
  • FEAT add elements.create rule for creating multiple elements (#1137)
  • FEAT: make containers draggable via their borders / labels only (#1097, #957)
  • FEAT: allow copied elements to be filtered (#888)
  • FIX: prevent accidental dragging of participants and sub-processes (#1097, #957)
  • FIX: keep labels during pool extraction (#921)
  • FIX: duplicate bpmn:CategoryValue when copying groups (#1055)
  • FIX: translate group creation entry in palette (#1146)
  • CHORE: use element.copyProperty event to copy category value when copying group (12bedca5)
  • CHORE: bump to diagram-js@5

Breaking Changes

Copy and paste as well as create is completely reworked:

  • CopyPaste: remove ModelCloneHelper in favor of ModdleCopy service, remove property.clone event, add moddleCopy.canCopyProperties, moddleCopy.canCopyProperty and moddleCopy.canSetCopiedProperty event
  • BpmnRules: removed elements.paste rule in favor of elements.create rule
  • BpmnRules: removed element.paste rule
  • ElementFactory: use attrs.di property instead of attrs.colors for fill and stroke when creating element through ElementFactory#createBpmnElement
  • To prevent additional behavior on create after paste you should check for the createElementsBehavior hint, cf. bf180321

4.0.4

  • FIX: creating bpmn:Participant on single bpmn:Group throwing error (#1133)
  • CHORE: bump to `diagram-js@4.0.3`

4.0.3

  • FIX: prevent dropping on labels and bpmn:Group elements (#1131)

4.0.2

4.0.1

  • FIX: prevent adding lane from crashing IE (#746)
  • FIX: correct inverse space tool visuals (#1105)
  • CHORE: update diagram-js-direct-editing to prevent install warning
  • CHORE: update to `diagram-js@4.0.1`

4.0.0

  • FEAT: add top, right, bottom, left snapping with container elements (#1108)
  • FEAT: add grid snapping (#987)
  • FEAT: allow modeling of groups (#343)
  • FEAT: improve modeling rules behind event-based gateways (#1006)
  • FEAT: adjust default collapsed pool to standard height (5affe2570)
  • FEAT: add connection previews (#743)
  • FEAT: create expanded sub-process with start event included (#1039)
  • FEAT: improve automatic label adjustment for boundary events (#1064)
  • FEAT: improve creation of initial participant (#1046)
  • FEAT: improve boundary to host loop layout (#1070)
  • FEAT: make connection segment move the primary connection drag behavior
  • FEAT: allow label and group movement everywhere (#1080)
  • FEAT: improve message flow to participant connection in the presence of lanes (#950)
  • FEAT: allow detaching of boundary and attaching of intermediate events (#1045)
  • FEAT: simplify requested palette and context pad translations (#1027)
  • FEAT: simplify participant dragging in the presence of nested lanes (fdb299dc)
  • FEAT: correctly render all kinds of multiple events (#1091)
  • CHORE: validate BPMN 2.0 XML ids as QNames (92c03679a)
  • FIX: correctly handle flow reconnection + type replacement (#896, #1008)

Breaking Changes

3.5.0

  • FEAT: restore Viewer#importDefinitions and make it public API (#1112)

3.4.3

2.5.4

3.4.2

  • FIX: do not evaluate pasted text as HTML (#1073)

2.5.3

  • FIX: do not evaluate pasted text as HTML (#1073)

3.4.1

Republish of v3.4.0 without .git folder.

3.4.0

  • FIX: properly render colored connection markers (#981)
  • FEAT: add ability to open different DI diagrams (#87)
  • FIX: correctly layout straight boundary to target connections (#891)
  • FEAT: resize participant to standard size on collapse (#975)
  • FEAT: consistently layout connection on reconnect start and end (#971)
  • FEAT: layout connection on element removal (#989)
  • FIX: properly crop sequence flow ends on undo/redo (#940)
  • CHORE: bump to diagram-js@3.3.0

3.3.1

3.3.0

  • FEAT: display DataInput / DataOutput labels (89719de3b)
  • FEAT: support basic DataInput / DataOutput move (#962)
  • FIX: properly handle DataInput / DataOutput move (#961)

3.2.3

3.2.2

  • FIX: gracefully handle missing waypoints (45486f2)

3.2.1

3.2.0

  • FEAT: set isHorizontal=true for new and updated participant/lane DIs (#934)

3.1.1

3.1.0

3.0.4

  • FIX: render labels always on top (#920)

3.0.3

  • FIX: do not join incoming/outgoing flows other than sequence flows on element deletion (#917)

3.0.2

  • FIX: correct IE 11 delete keybinding (#904)

3.0.1

  • FIX: restore copy-paste behavior

3.0.0

  • FEAT: improve context pad tooltip titles for EventBasedGateway (350a5ab)
  • FEAT: display group names (#844)
  • FEAT: add ability to move selection with keyboard arrows (#376)
  • FEAT: support SHIFT modifier to move elements / canvas with keyboard arrows at accelerated speed
  • FEAT: require Ctrl/Cmd to be pressed as a modifier key to move the canvas via keyboard errors
  • FEAT: auto-expand elements when children resize (#786)
  • CHORE: bind editor actions and keyboard shortcuts for explicitly added features only (#887)
  • CHORE: update to diagram-js@3.0.0
  • FIX: disallow attaching of BoundaryEvent to a ReceiveTask following an EventBasedGateway (#874)
  • FIX: fix date in license (#882)

Breaking Changes

  • BpmnGlobalConnect provider got removed. Use connection.start rule to customize whether connection should allowed to be started (#565, #870)
  • EditorActions / Keyboard do not pull in features implicitly anymore. If you roll your own editor, include features you would like to ship with manually to provide the respective actions / keyboard bindings (645265ad)
  • Moving the canvas with keyboard arrows now requires the Ctrl/Cmd modifiers to be pressed.

2.5.2

  • FIX: correct horizontal embedded label padding

2.5.1

  • FIX: prevent error to be thrown on lane move (#855)

2.5.0

  • FEAT: snap message flows to bpmn:Event center during connect (#850)
  • CHORE: bump to `diagram-js@2.6.0`
  • FIX: allow label movement over message flow (#849)

2.4.1

  • FIX: make viewer IE 9 compatible
  • FIX: prevent duplicate connections after drop on flow (#774)
  • FIX: fix rules not preventing redundant loop (#836)

2.4.0

  • FEAT: improve layouting of boundary event to host loops (#467)
  • FEAT: allow circular activity to activity loops (#824)
  • FEAT: create label on appropriate free position (#825)
  • CHORE: bump to `diagram-js@2.5.0`
  • FIX: repair label position not being adapted on host move

2.3.1

  • FIX: revert to Arial as the default rendering font (#819)
  • FIX: keep event definitions when switching from interrupting to non-interrupting boundary event (#799)

2.3.0

2.2.1

  • FIX: correct updating of multiple data stores (300e7010)

2.2.0

  • FEAT: emit export events (#813)
  • FEAT: unset businessObject name if empty (6c081d85)
  • FEAT: resize text annotation on text change (100f3fb2)
  • FIX: apply data store behavior in collaboration only (5cc28d5d)
  • FIX: create/update labels when updating element name via Modeling#updateProperties (4a0f6da8)

2.1.0

  • FEAT: support specifying lineHeight for text rendering (#256)
  • FEAT: bpmn:LaneSet elements get an ID assigned on creation
  • FEAT: external labels can be deleted, clearing the elements name (#791)
  • FEAT: add ability to override default element colors (#713)
  • FEAT: add ability to override font family and size of rendered labels (4bb270f1)

2.0.1

Republish of v2.0.0 due to registry error.

2.0.0

  • FEAT: allow data store to be modeled between participants (#483)
  • CHORE: update to diagram-js@2.0.0
  • FIX: correctly handle missing bpmndi:Label bounds during model updating (#794)

Breaking Changes

  • The PopupMenu API got rewritten, cf. b1852e1d

1.3.3

1.3.2

  • FIX: correctly serialize extension attributes on bpmn:Expression

1.3.1

  • FIX: correctly auto-place from boundary events attached to host edges (#788)

1.3.0

  • FEAT: expose additional BpmnTreeWalker APIs for advanced import use-cases
  • CHORE: bump diagram-js and object-refs version

1.2.1

  • FIX: correct side-effects config to not include *.css files

1.2.0

  • FEAT: add initial snapping when creating associations
  • CHORE: update to `diagram-js@1.3.0`
  • FIX: allow message flows between collapsed pools
  • FIX: complete direct editing on popup menu use
  • FIX: focus label editing box on element creation

1.1.1

  • FIX: escape data-element-id in CSS selectors

1.1.0

  • FEAT: show gateway icon on context pad without marker (15dfab6b)

1.0.4

  • FIX: properly wire $parent on copy + paste
  • FIX: improve boundary event rendering to correct SVG to image conversion

1.0.3

  • FIX: re-expose TestHelper#bootstrapBpmnJS util

1.0.2

  • FIX: correct library default export

1.0.1

Republished 1.0.0 with CHANGELOG entries.

1.0.0

  • CHORE: convert code base to ES modules
  • CHORE: update utility toolbelt

Breaking Changes

  • You must now configure a module transpiler such as Babel or Webpack to handle ES module imports and exports.

0.31.0

  • FEAT: encode entities in body properties during XML export
  • CHORE: bump to bpmn-moddle@4.0.0
  • CHORE: bump utility version

0.30.0

...

Check git log for earlier history.