パッケージの詳細

bpmn-js

bpmn-io305.1kSEE LICENSE IN LICENSE18.6.2

A bpmn 2.0 toolkit and web modeler

bpmn, bpmn-js, toolkit, web modeler

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.

Related

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

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.2

  • FIX: center task markers (#1995)

18.6.1

  • FIX: copy error, escalation, message and signal references when copying elements (#1906, #2249, #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

  • FEAT: remove outline from Viewer modules (#2135)
  • FEAT: make Canvas a focusable element (bpmn-io/diagram-js#662)
  • FEAT: implicit keyboard binding (bpmn-io/diagram-js#662)
  • FEAT: integrate with global search (#2235)
  • FEAT: integrate popup-menu with search (bpmn-io/diagram-js#932)
  • FEAT: recognize modern search tokens in search-pad (bpmn-io/diagram-js#932)
  • FIX: correctly handle duplicate entries and whitespace in search (bpmn-io/diagram-js#932)
  • FIX: find search terms across all keys (bpmn-io/diagram-js#932)
  • FIX: search always returns tokens for matched items (bpmn-io/diagram-js#932)
  • FIX: prevent crash during label adjustment (#2239)
  • FIX: keep existing loop characteristics when toggling through the replace menu (#2251)
  • FIX: prevent covering multi selection with black box in Viewer (#2135)
  • FIX: generate types for main entry (986e2bb)
  • FIX: correct handling of group name with whitespace only (#2231)
  • DEPS: update to bpmn-moddle@9 (#2114)
  • DEPS: update to diagram-js@15.1.0
  • DEPS: update to diagram-js-direct-editing@3.2.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).
  • Selection outline is no longer included in the viewer. If needed, add it as an additional module (#2253).

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

  • FIX: remove incorrect attribute in replace menu (#2196)
  • DEPS: update to diagram-js@14.7.2

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

  • DEPS: update to diagram-js@14.6.0

17.6.4

  • DEPS: update to diagram-js@14.5.4

17.6.3

  • DEPS: update to diagram-js@14.5.3

17.6.2

  • DEPS: update to diagram-js@14.5.2 (#2158)

17.6.1

  • DEPS: update to diagram-js@14.5.1 (#2157)

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

  • FEAT: remove direct editing outline for embedded labels (#2147)
  • FEAT: do not translate technical errors (#2145)
  • DEPS: update to diagram-js-direct-editing@3.0.1

17.4.0

  • FEAT: do not scale popup menu and context pad
  • DEPS: update to diagram-js@14.4.1

17.3.0

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

17.2.2

  • FIX: correct navigated viewer outline (#2133)

17.2.1

  • FIX: render popup menu on top
  • DEPS: update to diagram-js@14.3.1

17.2.0

  • FEAT: make popup menu keyboard navigatable
  • FIX: address various accessibility issues
  • FIX: correct various typing issues
  • DEPS: update to diagram-js@14.3.0
  • DEPS: update to diagram-js-direct-editing@2.1.2

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

  • DEPS: update to bpmn-moddle@8.1.0

16.1.0

  • DEPS: update to diagram-js@13.4.0
  • DEPS: update to diagram-js-direct-editing@2.1.1
  • DEPS: drop unused object-refs dependency

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

  • DEPS: update to diagram-js@13.8.1

15.2.0

  • FEAT: remove selection outline from connections (diagram-js#826)
  • FEAT: position context pad according to last waypoint for connections (diagram-js#826)
  • FIX: prevent access of non-existing connection bounds (diagram-js#824)
  • FIX: correct selection outline size for end event (#2026)
  • DEPS: update to diagram-js@13.8.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

  • FIX: revert selection outline removal for connections (#2011)
  • DEPS: update to diagram-js@12.7.1

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

  • DEPS: update to diagram-js@12.1.0

13.0.4

  • DEPS: bump to diagram-js@12.0.2

13.0.3

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

13.0.2

  • FIX: export types as type (#1897)
  • DEPS: bump to diagram-js@12.0.1

13.0.1

  • FIX: correct some type definitions (#1896)

13.0.0

  • FEAT: rework and complete type definitions (#1886)
  • DEPS: update to diagram-js@12.0.0

12.1.1

  • DEPS: update to diagram-js@11.13.0

12.1.0

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

12.0.0

  • FEAT: move create-append-anything to external module (#1873, #1862)
  • CHORE: use diagram-js@11.11.0 built-in selection after replace feature (#1857)
  • DEPS: update to diagram-js@11.12.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

  • FIX: correct popup menu display in fullscreen (#1795)
  • DEPS: update to diagram-js@11.4.3

11.1.0

  • FEAT: add replace element keyboard binding (#1785)
  • FEAT: add replaceElement editor action (#1785)
  • DEPS: update to diagram-js@11.4.1

11.0.5

  • DEPS: update to diagram-js@11.3.0

11.0.4

  • DEPS: update to diagram-js@11.2.0

11.0.3

Re-release of v11.0.2.

11.0.2

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

11.0.1

  • DEPS: update to diagram-js@11.1.1

11.0.0

Reworks popup menu UI.

  • FEAT: integrate new popup menu UI (#1776)
  • DEPS: update to diagram-js@11.1.0 (#1776)

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

  • DEPS: update to diagram-js@9.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

  • FIX: prevent unnecessary scrollbar (#1692)
  • FIX: check for replacement using actual target (#1699)
  • DEPS: update to diagram-js@8.7.1

9.3.1

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

9.3.0

  • FEAT: add aligment and distribution menu (#1680, #1691)
  • DEPS: update to diagram-js@8.7.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

  • FIX: submit direct editing result on drilldown (#1609)
  • DEPS: bump to diagram-js@8.2.0 (2bac149)

9.0.2

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

9.0.1

  • FIX: use ES5 everywhere (#1605)
  • FIX: support DIs without associated business object (#1605)
  • DEPS: bump to diagram-js@8.1.2 (bdf9cf3)

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

  • FIX: allow connecting bpmn:MessageFlow to bpmn:CallActivity (#1467)
  • DEPS: update to bpmn-moddle@7.1.2

8.7.0

  • FEAT: support BPMN in Color (#1453)
  • DEPS: update to bpmn-moddle@7.1.1

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

  • FEAT: support Promise in inject test helper (#1450)
  • DEPS: update to hosted-git@2.8.9 (#1447)

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

  • CHORE: bump to diagram-js@6.8.0
  • CHORE: migrate to travis-ci.com

7.3.1

  • CHORE: bump to diagram-js@6.7.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

  • FIX: roundtrip default xml namespace (#1319)
  • CHORE: bump to bpmn-moddle@7.0.3

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

  • FIX: correct namespaces being removed on diagram export (#1310)
  • CHORE: bump to bpmn-moddle@6.0.6

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

  • CHORE: bump to bpmn-moddle@6.0.5

6.4.1

  • FIX: parse > in attribute names and body tag
  • CHORE: bump to bpmn-moddle@6.0.4

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

  • FIX: render colored BPMN groups (#1246)
  • CHORE: bump to diagram-js@6.0.2

6.0.2

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

6.0.1

  • CHORE: bump to diagram-js@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

  • FIX: allow reconnecting to loops (#1121)
  • CHORE: bump to diagram-js@5.0.1

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

  • FIX: correct element positioning update (#1129)
  • CHORE: bump to diagram-js@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

  • FIX: prevent HTML injection in search (diagram-js#362)
  • CHORE: bump to diagram-js@2.6.2

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

  • FIX: ignore unchanged direct editing completion
  • CHORE: update to diagram-js-direct-editing@1.4.2

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

  • FIX: update to diagram-js-direct-editing@1.4.1 to trim trailing/leading whitespace in task names (#763)

3.2.2

  • FIX: gracefully handle missing waypoints (45486f2)

3.2.1

  • FIX: bump to diagram-js@3.1.3 / tiny-svg@2.2.1 to work around MS Edge bug (ed798a15)

3.2.0

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

3.1.1

  • CHORE: update to diagram-js@3.1.1

3.1.0

  • CHORE: update to diagram-js@3.1

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

  • CHORE: update to diagram-js@2.4.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.