All notable changes to bpmnlint are documented here. We use semantic versioning for releases.
Note: Yet to be released changes appear here.
CHORE
: require Node@20
- Node@20 is required to use this library.
FIX
: correct false positive inglobal
rule (#139)FIX
: correct false positive inno-implicit-end
rule (#140)FIX
: correctlabel-required
not triggering for boundary events (#141)
FEAT
: addglobal
rule (#137)FEAT
: add types forRuleTester#verify
API (#138)DEPS
: update tobpmn-moddle@8.1.0
DEPS
: update tomin-dash@4.2.1
CHORE
: eagerly filter non-DI elements inno-overlapping-elements
rule (c40cd8a
)
FIX
: gracefully handle missing DI inno-overlapping-elements
rule (#135)
FIX
: correct compensation activities triggeringno-implicit-start
(#132)
FEAT
: addlink-event
rule (#128)
FEAT
: addsuperfluous-termination
rule (#19)
DEPS
: update to@bpmn-io/moddle-utils@0.2.1
FIX
: applyfake-join
andno-implicit-split
on all activities (#126)CHORE
: require Node>= 16
FEAT
: compile custom rule imports to package local references (#115)FIX
: correct custom rule path compilation on Windows (#112, #114)
FEAT
: addno-overlapping-elements
rule (#107, #72)FEAT
: detect intermediate events overlapping tasks (#71, #107)
FEAT
: introducerule-error
category for rule errors (#109)
- rule errors are now reported as
rule-error
category instead oferror
FIX
: correctno-implicit-start
andno-implicit-end
in different scenarios (#106)
DEPS
: update to@bpmn-io/moddle-utils@0.2.0
FEAT
: addno-implicit-start
andno-implicit-end
rules (#88)FEAT
: allow to resolve rules from custom paths (#99)DEPS
: bump tobpmn-moddle@8.0.1
DEPS
: bump tomin-dash@4.1.1
DEPS
: bump tobpmnlint-utils@1.1.1
FEAT
: supportinfo
type (#102)
FIX
: correct category inrecommended
config (#94)
FEAT
: add--max-warnings
cli switch (#92)
FEAT
: detect message flows without DI (#85)FEAT
: serialize disabled rules (#90)DEPS
: depend on@bpmn-io/moddle-utils
(31de95a3
)CHORE
: dropNode@10
support
FEAT
: fuzzy test for equality of nodes when usingRuleTester#verify
(#79)
FEAT
: allow passing object as third parameter toReporter#report
(#75)
FEAT
: add optionalpath
parameter toReporter#report
(#73)FEAT
: add optionalname
parameter toRuleTester#verify
(#68)CHORE
: update tobpmn-moddle@7.1.2
FEAT
: resolve local package by name (#64)
FEAT
: support--version
command line flag (#65)FEAT
: allow rule testers to provide customit
FIX
: makeno-bpmndi
handle missingLaneSet#lanes
gracefully (#63, #66)
FIX
: exclude compensation boundary and activity inno-disconnected
check (#60)
FEAT
: addno-bpmndi
rule (#55)
FEAT
: allow rules to skip sub-tree traversal (#53)FEAT
: allow rules to hook into nodeenter
andleave
(#52)
CHORE
: drop debug log statement
CHORE
: update tobpmn-moddle@7
CHORE
: reduce library footprintCHORE
: requireNodeJS>=10
FEAT
: add globbing support (#46)DOCS
: add explaination tono-inclusive-gateway
rule
FEAT
: addsuperfluous-gateway
check (#42)
FEAT
: support rules and configuration provided by scoped packages (#35)CHORE
: improveNode >= 12.20
compatibility (#37)
DOCS
: document existing rules (#14)
FIX
: exclude event-based sub-processes fromno-disconnected
check (#31)
FEAT
: allow tool to be used withNode >= 8
FEAT
: resolve local rules in plug-ins without prefix (640e411a
)
FEAT
: resolve plug-in provided rules/configuration local to working directory (f1bf331f
)CHORE
: improve errors on rule/plugin resolution failuresCHORE
: require>= node@10.12
FEAT
: add--init
option to create.bpmnlintrc
in current working directory
FEAT
: provide help on missing.bpmnlintrc
DOCS
: add package description
CHORE
: exclude additional development assets from distribution
FEAT
: addno-duplicate-sequence-flows
rule (#22)FEAT
: catch more BPMN parse errorsFEAT
: be able to define multiple expected test results inRuleTester
FIX
: makenyc
a development dependencyCHORE
: update tobpmn-moddle@6
FEAT
: don't expose utils to rules; usebpmnlint-utils
instead
FEAT
: handle and report diagram import errors and warnings via CLIFEAT
: properly handle generic moddle elements during rule checkingFEAT
: report rule execution errors
FEAT
: add ability to batch lint multiple files via CLIFEAT
: don't resolve disabled rules (6c45f3f9
)CHORE
: unify messages of built-in rulesCHORE
: adopt cli output to eslint styling
FIX
: handle empty flow element containers in rules
FEAT
: do not expose disabled rules when bundling.bpmnlintrc
DOCS
: fix readme code snippet
FEAT
: add ability to pass linter configuration via constructor
FEAT
: add support script to compile.bpmnlintrc
files to JavaScript (cf53a389
)
FEAT
: treat unprefixed rules as built-in ones
CHORE
: makeNodeResolver
a constructorCHORE
: unify file names todashed-case
CHORE
: reworkResolver
APIs
FEAT
: addStaticResolver
to load cached resourcesFEAT
: add{ Linter }
as a library exportCHORE
: move rule and config name resolution to linterCHORE
: catch all cli errors and exit accordingly
FEAT
: add numerous new rules (#5)FEAT
: addbpmnlint:all
configurationFEAT
: improvelabel-required
rule (#11)FEAT
: group lint results by rule namesFEAT
: exit cli with code=1 on lint errorsFEAT
: addisAny(node, [ ... types ])
method toutils
CHORE
: improve / test cover existing rulesCHORE
: include new rules inbpmnlint:recommended
configuration
DOCS
: documentation simplification / improvements
Initial stable release.
FEAT
: configure, resolve and execute local and external rulesFEAT
: extend external configuration viaextends
FEAT
: make rule and configuration resolution asyncFEAT
: providebpmnlint:recommended
configurationCHORE
:linter
is now a constructor, offering a#lint(moddleElement, config)
methodCHORE
: moved library to bpmn-io/bpmnlintCHORE
: full rewrite of internalsCHORE
:utils
API change
Check git log
for earlier history.