All notable changes to dmn-js are documented here. We use semantic versioning for releases.
Note: Yet to be released changes appear here.
FEAT
: autocomplete BKMs as snippets (#785, #827)FEAT
: make inputs commit on blur, and let browser handle undo/redo (#859)FIX
: show FEEL expressions with line wrapping (#838)FIX
: make add column buttons keyboard-accessible (#847)FIX
: make add row button keyboard-accessible (#846)
DEPS
: update todiagram-js@14.5.4
DEPS
: update todiagram-js@14.5.3
FEAT
: context pad position absolute instead of relative to element (bpmn-io/diagram-js#888)FEAT
: do not scale context pad and popup menu by default (bpmn-io/diagram-js#883)DEPS
: update todiagram-js@14.5.2
FIX
: add$inject
in DmnFactory to make app work when minified
FIX
: add$inject
to make app work when minified
FIX
: correct imports
FEAT
: add support for implementing BKM as literal expression (#704, #826)FEAT
: remove background for DRGElements (#855)DEPS
: update todiagram-js-direct-editing@3.0.1
(#855)DEPS
: update to@bpmn-io/dmn-variable-resolver@0.5.0
(#853)
FEAT
: allow to provide accessible names to form fields (#843)FIX
: add accessible names to multiple components (#843)FIX
: improve contrastFIX
: make table cells visible to screen readers (#821)
FIX
: correct DRD replace menu position
FIX
: correctdist
assets missing from package
CHORE
: remove broken touch interaction from DRD editor (bpmn-io/diagram-js#796)DEPS
: update todiagram-js@14.3.1
DEPS
: update totable-js@9.1.0
DEPS
: update to@bpmn-io/feel-editor@1.3.0
DEPS
: update todiagram-js-direct-editing@2.1.2
DEPS
: update toids@1.0.5
- Migrated to
diagram-js@14
which removes touch interaction module, and dependency on unsupportedhammerjs
package. If you rely on touch interaction, you need to support touch interaction on your own.
FEAT
: user friendly context pad entries' titles (#818)DEPS
: update todiagram-js@13.4.0
DEPS
: update to@bpmn-io/feel-editor@1.1.0
FEAT
: make drilldown buttons navigable via keyboard (#778)FEAT
: adjust titles and labels (#801)DEPS
: update to didi@10DEPS
: update to table-js@9.0.0DEPS
: update to diagram-js@13.0.0DEPS
: update to lerna@8
- Several translation labels changed. Make sure to update your translations accordingly.
FEAT
: adjust selection outline to shapes (#799)FIX
: make literal expression box grow with content (#789)DEPS
: update dependency @bpmn-io/feel-editor to v1DEPS
: update todiagram-js@12.7.1
FEAT
: add variable suggestions to literal expression (#785)
FIX
: make FEEL editor in literal expression save value (#786)
FIX
: correctly position autocomplete in literal expression
DEPS
: update to@bpmn-io/feel-editor@0.9.1
FEAT
: use FEEL editor in literal expression (#780)
FIX
: display FEEL autocomplete suggestions in correct positionFIX
: increase line height in decision table cell editor
FEAT
: change table cell font tomonospace
(4643870
)FEAT
: use FEEL editor for decision table cell (#774)FIX
: do not close input editor on enter
FEAT
: use FEEL editor for input expression (#768)
DEPS
: update to diagram-js@12.2.0DEPS
: update dev dependencies
DEPS
: use table-js@8.0.2
DEPS
: support diagram-js@12
FIX
: fix crash in decision table editor whentypeRef
is not defined (#750)
FIX
: fix crash in literal expression viewer whentypeRef
is not defined (#748)
FIX
: break additional table headers (#737)
FEAT
: break long table headers in multiple lines (#719)
DEPS
: update dependencies (#725)
DEPS
: update todiagram-js-direct-editing@2
FIX
: addtype=button
to view drd button (#721)DEPS
: update todiagram-js@11.3.0
(#772)DEPS
: update totable-js@8.0.1
(#772)
- New popup menu UI introduced with
diagram-js@11
. Seediagram-js
breaking changes and migration guide.
FEAT
: use ES2018 syntax (#717)
- Migrated to ES2018 syntax. Read the blog post with details and a migration guide.
FEAT
: add missing translations (#710, #88)DEPS
: update todidi@8
DEPS
: useinherits-browser
DEPS
: update DRD editor todiagram-js@8.8.0
DEPS
: update totable-js@7.3.0
FIX
: fix DRD SVG creation (#708)
FEAT
: change default black to off black (#701)FIX
: do not display simple button without reason (#668)FIX
: complete direct editing when selection changes (#700)DEPS
: update todiagram-js@8.7.0
FIX
: clear active view during re-import (#697)FIX
: make sure Input Select options are always accessible (#695)
FEAT
: add configuration for default colors in DRD (#679)
FIX
: make simple duration edit work with empty cell (#690)
FEAT
: remove Camunda Platform-specific features (#673)FEAT
: dropcamunda:inputVariable
support (#680)FEAT
: make data types configurable (#677)FEAT
: use FEEL data types (#674)FEAT
: allow to change expression language only when other option available (#686)FEAT
: drop Camunda Platform expression languages (#675)DEPS
: dropcamunda-dmn-moddle
(#682)
camunda
namespace moddle extension is no longer part of the package. Consider using camunda/camunda-dmn-js to support Camunda Platform.- The input variable field is removed. Use camunda/camunda-dmn-js
to support adding and modifying
camunda:inputVariable
. - The only expression language selectable per default is FEEL.
To change the list, pass respective ELs via
expressionLanguages
configuration. - Types
integer
,double
, andlong
have been replaced withnumber
. - Simple edit for
date
uses now FEEL date. For FEELdate and time
, usedateTime
type.
FIX
: fix a broken import (#671)
FEAT
: use reduced color palette (#663)FEAT
: use CSS variables for fonts (#662)FIX
: keep selection of a replaced element (#667)FIX
: validate definitions ID (#611)DEPS
: update dev dependencies
FIX
: update simple mode button position in decision table view (#543)FIX
: consistently display decision entries in viewer and editor (#651)DEPS
: update totable-js@7.2.0
(f472b1f)
FIX
: correctly use inter-package imports (beaec56)
FEAT
: make#fromXML
,#saveXML
,#saveSVG
, and#open
APIs awaitable (#514)FIX
: correct event life-cycle of#importXML
API for error case (49fcb1b
)FIX
: fix typo inimport.done
event propertywarnings
(4ef46e0
)CHORE
: deprecatedimport.parse.complete
context payload (9739df4
)CHORE
: bump todmn-moddle@10.0.0
(b9ddbad
)
- The toolkit now requires the ES6
Promise
to be present. To support IE11 you must polyfill it.
FEAT
: focus on row added via context menu (#638)
DEPS
: update todiagram-js-direct-editing@1.6.3
FIX
: allow to add output if dmn:Input is missing (#635)
FEAT
: enable connect tool for text annotation (#628)
CHORE
: bump todiagram-js@7.2
CHORE
: bump totable-js@7.1.0
CHORE
: bump toinferno@5.6
CHORE
: build withNODE_ENV=production
CHORE
: addnpm start
script
FEAT
: make first row and column of decision table sticky (#606)CHORE
: bump totable-js@7
CHORE
: bump todiagram-js@7
- table element now wrapped in an additional container which might affect your styles
FEAT
: allow decision name to take empty space (#579)FEAT
: improve rule focus behavior onENTER
(e17931fb
)
FIX
: use absolute position for InputSelect options (#590)
CHORE
: bump to diagram-js@6.7.1
FEAT
: enable context-menu for index cells (#555)FEAT
: enable context-menu for annotations (eb280e52
)FEAT
: place project logo in bottom-right corner (#573)FEAT
: allow placeholder for ContentEditable (79369fbf
)FEAT
: display input/output placeholders for decision table head (#552)FIX
: make event listeners return values (#568)FIX
: update bounds on shape resize for drd (c838fcc4
)FIX
: clear clipboard after pasting (01da4bec
)
FIX
: display indicator within cell (#562)
FEAT
: close select (i.a. decision table hit policy select) whenever there is user interaction outside of it (#546, #559)FEAT
: center decision table resize column hitbox (#554)FIX
: remove unnecessary click event cancel action (#558)
FIX
: broken style (7ac2031e
)
FEAT
: align colors with Camunda Modeler (#542)FIX
: correct target indicator for drag and drop (#557)FIX
: correct layout in decision tables (a66d4140
)FIX
: complete direct-editing after drill down (#547)
FIX
: open input/output editing at correct position (#545)
FEAT
: add decision table columns resizing (#500)FEAT
: move drag'n'drop handle to top left of decision table head cells (518bfd5
)FEAT
: move hit policy explanations to title prop (be21448
)FEAT
: wrap decision rule cells content (844a505
)FEAT
: re-design decision table head (5734b49
)FEAT
: re-design literal expression layout (#515)FEAT
: pass actual event to blur and focus handlers for EditableComponent (93c1d92
)FEAT
: display FEEL as default expression language for inputs (#527)FEAT
: center placeholder for empty input rules (#533)FEAT
: set.empty
class on EditableComponent (f52cb3e
)FIX
: correctly display decision table bottom borders (#540)FIX
: correct title for add output button (#532)FIX
: set correct active view when views change (#528)CHORE
: bump to dmn-moddle@9.1.0CHORE
: bump to table-js@6.1.0
- Dropped IE 11 support. Migrate to modern browsers or use 8.x series.
- Literal expression and decision table viewers no longer allow to change decision ID. Use dmn-js-properties-panel or other custom module to allow that.
FEAT
: rework input/output editing (#501)FEAT
: allow to provide custom label component for List (f99bae4
)FEAT
: rework decision table head (#497, #498, #499)FEAT
: rework context menu for input/output columns (#495)FIX
: fireviews.changed
only on actual change (#388)
FIX
: allow to connect text annotations in both directions (#519)FIX
: fix missing extension in camunda-bpmn-moddle import (#517)CHORE
: remove redundant waypoints update (#522)
FEAT(drd)
: change layout of information requirements (#492)FEAT(drd)
: add auto-place feature (#492)FEAT(drd)
: connect from new shape to source on append (#492)CHORE(drd)
: bump to diagram-js@6.6.1
FEAT(drd)
: improve label editing (#487)FEAT(decision-table)
: set FEEL as default expression language (#491)
FEAT(decision-table)
: add new rule on bottom rule <enter> (#345)FEAT(drd)
: activate direct editing after text annotation create (#185)FIX
: update association's refs on element id change(#397)
CHORE
: usemin-dash#find
as polyfill forArray.prototype.find
CHORE
: bump todmn-moddle@8.0.3
FEAT
: migrate to DMN 1.3 (#452)FEAT(drd)
: generate DMN standards compliant DI informationFEAT(drd)
: make alignment and distribution utilities available as editor actionsFIX(decision-table)
: correct placeholders shown in table footerFIX(decision-table)
: do not show misleading-
placeholder for output cellsFIX(drd)
: correctly handle source element ID change (#467)CHORE
: bump todmn-moddle@8.0.0
- Dropped DMN 1.1 support. To keep opening DMN 1.1 diagrams those must be migrated to DMN 1.3 before passing them over to the toolkit. Cf. release blog post, DMN compatibility example.
- Grapical information is now stored using standardized
DMNDI
and support for the DI vendor extension is removed. - DI waypoints of new
dmn:Association
elements no longer point to middle of source and target and have same coordinates as connection waypoints. - Renamed
updateProperties
command indmn-js-drd
toelement.updateProperties
to align with other libraries
FEAT(decision-table)
: add new rule on bottom rule <enter> (#345)FEAT(drd)
: activate direct editing after text annotation create (#185)FIX
: update association's refs on element id change(#397)
CHORE
: usemin-dash#find
as polyfill forArray.prototype.find
FIX(decision-table)
: correct placeholders shown in table footer
FIX(decision-table)
: do not show misleading-
placeholder for output cells
FIX(drd)
: correctly handle source element ID change (#467)
CHORE(drd)
: make alignment and distribution utilities available as editor actions
FEAT
: migrate to DMN 1.3 (#452)FEAT(drd)
: bind current diagram todmn:Definitions#di
CHORE
: bump todmn-moddle@8.0.0
- Dropped DMN 1.1 support. Migration to DMN 1.3 necessary (c.f. @bpmn-io/dmn-migrate).
DrdFactory
usesdmndi
namespace instead ofbiodi
.- DI waypoints of new dmn:Association no longer point to middle of source and target and have same coordinates as connection waypoints.
FEAT(drd)
: add grid snappingFEAT(drd)
: add element to element snappingFEAT(drd)
: add keyboard selection moveFEAT(drd)
: add alignment and distribution utilitiesFEAT(decision-table)
: add i18n support (#446)CHORE
: bump todiagram-js@6.3.0
FIX(drd)
: fix serialization ofbiodi:Waypoint
elements (#437)FIX(drd)
: allow connections to be moved with DMN elements (#438)FIX(drd)
: do not movebiodi:Edge
elements to text annotation targets (#436)FIX(drd)
: replace connection on reconnect (#436)FIX(drd)
: correct append behavior (#439)CHORE
: bump todiagram-js@6.0.2
FEAT(drd)
: inverse allow inverse connectionsFEAT(decision-table)
: only allow standardized hit policy valuesFEAT(decision-table)
: preserve aggregation when COLLECT is selected againFEAT(decision-table)
: allow aggreation to be cleared from dropdown (#370, #389)FEAT(decision-table)
: use JUEL as the default input expression language (#405)FIX(drd)
: correct connection rulesFIX(decision-table)
: correctly handle value erasing (#826)FIX(decision-table)
: correctly display simple mode edit control when cell selection changes (#341)FIX(decision-table)
: do not close input on user selection (#421)FIX(decision-table)
: do not navigate when clearing pre-defined hints (#431)FIX(decision-table)
: prevent context menu jump in larger tablesFIX(decision-table)
: do not close context on user selectionCHORE
: bump todiagram-js@6
CHORE
: bump totable-js@6.0.3
FEAT(decision-table)
: add background color to even table rows (#404)
FIX(decision-table)
: fix empty table layout on Firefox (#380)
FEAT(drd)
: add connection previewsCHORE(project)
: upgrade tobabel@7
CHORE(project)
: bump todiagram-js@4
FEAT(drd)
: consistently layout connection on reconnect start and end (#398)FIX(drd)
: prevent HTML injection in direct editing and search
FIX(project)
: fix npmignore
FIX(project)
: include core directory in npm packages
FEAT(decision-table)
: show input and output label first in editors (#346)
CHORE
: correctdmn-js-shared
repository meta-data
FIX
: properly destroy individual viewers on dmn-js destruction (#392)
CHORE
: bumptiny-svg
dependency to circumvent MS Edge bugCHORE
: bumpselection-ranges
dependency
CHORE
: emitattach
anddetach
events
CHORE
: bump todiagram-js@3
FEAT
: add ability to move canvas and selected elements with keyboard arrowsFEAT
: supportSHIFT
modifier to move elements / canvas with keyboard arrows at accelerated speedFEAT
: useCtrl/Cmd
modifier key to move the canvas via keyboard arrowsCHORE
: bind DRD editor actions and keyboard shortcuts for explicitly added features onlyCHORE
: update todiagram-js@3.0.0
EditorActions
/Keyboard
do not pull in features implicitly anymore. If you roll your own DRD editor, include features you would like to ship with manually to provide the respective actions / keyboard bindings (a68c9b68
)
CHORE
: bump todiagram-js@2.6.1
FIX
: update ChangeSupport id binding on <element.updateId> (#367)
FIX
: correct focus handling in IE11 (#361)
FEAT
: emitsaveXML
life-cycle events
Republished v5.0.0-1
as stable version.
FIX
: don't distribute test assets
FEAT
: transpile to ES5 + ES modulesCHORE
: bump totable-js@5
CHORE
: bump todiagram-js@2
FEAT(decision-table)
: exposedata-row-id
anddata-col-id
in Viewer (#357)
CHORE
: bump inferno dependency toinferno@5.0.5
FEAT(drd)
: add ability to intercept drill-down via event listener (#353)CHORE
: bump todiagram-js@1.4.0
FIX(decision-table)
: correct context menu positioning in scrolling tables
FIX(decision-table)
: close input editor onENTER
CHORE
: bump todiagram-js@1.3.0
FIX(drd)
: label editing now correctly activates on element creation (#339)FIX(decision-table)
: be able to edit inputs without text (#347)
FEAT
: improve copy/paste interaction with native browser behaviorFEAT
: improve selection with copy-pasteFEAT
: add ability to navigate decision properties in decision table via keyboardFIX
: fix copy/paste not being possible in decision table cells and editorsFIX
: escape element ids in CSS selectors
FIX
: deconflict styles by putting shared declarations intodmn-js-shared.css
FIX
: don't close editor on allowed value add
We've migrated all remaining parts of dmn-js as well as it's foundations to ES modules:
CHORE
: migratedmn-js-drd
to ES modulesCHORE
: migrate todiagram-js@1.0.0
CHORE
: migrate toinferno@5.0.0
CHORE
: migrate totable-js@5.0.0
FEAT
: add keyboard controls to decision table input selectsFEAT
: add generic keyboard controls to context-menu like componentsFEAT
: add ability to open decision table without inputFEAT
: add ability to add input if there are no inputsCHORE
: improve size of pre-built bundlesCHORE
: cleanup stylesFIX
: improve css by converting HEX to RGBA values
Check git log
for earlier history.