Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.8.0"
".": "0.9.0"
}
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
# Changelog

## [0.9.0](https://github.com/Miragon/bpmn-cli/compare/v0.8.0...v0.9.0) (2026-10-28)


### ⚠ BREAKING CHANGES

* files without a .bpmnlintrc get element-id-naming's default ids even where their existing ids look different; idConventionsFromLint needs the naming namespace of @miragon/bpmnlint-plugin-rules 0.19 or later; MutationResult.conventions and the conventionsLines export are removed.
* the bpmn-auto-layout engine is removed, together with the `engine` option and the `--engine` flag. Full redraws always use the built-in clean engine.
* mutationWarnings, opWarnings, renderAround, renderContext, renderMetrics, decisionLinkOf, scopeView, assertLossless, kindsSectionJson, runFormatOps, viewDoc and renderShown are no longer exported from @miragon/bpmn-cli, and layoutDocToFile no longer from @miragon/bpmn-cli/node. None of them was documented in docs/library.md.
* use c7, c8 and none as the only platform value and drop the unused in-memory store ([#110](https://github.com/Miragon/bpmn-cli/issues/110))
* the exported TypeScript names change without aliases (Op, AddOp, ... FormatOp, isFormatOp, FormatOps -> EditCommand, AddElement, ... DiagramCommand). A diagram command can no longer name an element a later command of the same batch adds (E_NOT_FOUND), and mixed batches such as add, place, add draw in their order, so their coordinates differ.

### Features

* **kinds:** support complex gateways in plain BPMN ([#74](https://github.com/Miragon/bpmn-cli/issues/74)) ([#91](https://github.com/Miragon/bpmn-cli/issues/91)) ([d535609](https://github.com/Miragon/bpmn-cli/commit/d535609efca08648767ed538f0185156d806b986))
* **kinds:** support groups with members tied by category value ([#73](https://github.com/Miragon/bpmn-cli/issues/73)) ([#92](https://github.com/Miragon/bpmn-cli/issues/92)) ([de47b90](https://github.com/Miragon/bpmn-cli/commit/de47b90781bc081ec489bf9edd74431e3b01164f))


### Bug Fixes

* **flows:** keep conditions off flows out of parallel and event-based gateways ([#94](https://github.com/Miragon/bpmn-cli/issues/94)) ([5b7e7a6](https://github.com/Miragon/bpmn-cli/commit/5b7e7a6cc9a3fb5e50eb891ce2aaffa64f340d01))
* **flows:** refuse sequence flows out of link throw and into link catch events ([#95](https://github.com/Miragon/bpmn-cli/issues/95)) ([8bc7e52](https://github.com/Miragon/bpmn-cli/commit/8bc7e52d117bcee3738c7ad24100400c51d22750))
* make room only for what follows an inserted node and keep the rest of a hand-made drawing in place ([#119](https://github.com/Miragon/bpmn-cli/issues/119)) ([a6b8447](https://github.com/Miragon/bpmn-cli/commit/a6b8447c840f6af0297e1b4f36aa4b6f6de3218a))
* **validate:** refuse boundary events on event sub-processes ([#84](https://github.com/Miragon/bpmn-cli/issues/84)) ([9e68e25](https://github.com/Miragon/bpmn-cli/commit/9e68e25d66d7ae31a63064b42ff0abd1c1c496d2))


### Code Refactoring

* arrange src as a hexagon of domain, application and adapters ([#103](https://github.com/Miragon/bpmn-cli/issues/103)) ([c9b4b39](https://github.com/Miragon/bpmn-cli/commit/c9b4b39cd30a303149f3fb236a55f055fbe00f4e))
* drop the learned id style, new ids follow element-id-naming ([#118](https://github.com/Miragon/bpmn-cli/issues/118)) ([b998c7d](https://github.com/Miragon/bpmn-cli/commit/b998c7d5bdc688079648cc675cd63da5a2f125e1))
* make the codebase smaller and gate on duplication and test-only code ([#112](https://github.com/Miragon/bpmn-cli/issues/112)) ([247e1e1](https://github.com/Miragon/bpmn-cli/commit/247e1e1e7e5ddc8a006e05bd2c06d7ccc1cea3e8))
* move linting out of the domain and merge duplicated domain concepts ([#116](https://github.com/Miragon/bpmn-cli/issues/116)) ([ef1945f](https://github.com/Miragon/bpmn-cli/commit/ef1945f15bdf940e3ba8ee99aa245c2be43f8ccc))
* use c7, c8 and none as the only platform value and drop the unused in-memory store ([#110](https://github.com/Miragon/bpmn-cli/issues/110)) ([6ebce59](https://github.com/Miragon/bpmn-cli/commit/6ebce59943e7489a1e5a65908cd1c4fc34b2fc12))

## [0.8.0](https://github.com/Miragon/bpmn-cli/compare/v0.7.0...v0.8.0) (2026-10-21)


Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@miragon/bpmn-cli",
"version": "0.8.0",
"version": "0.9.0",
"description": "AI-friendly CLI for editing BPMN 2.0 models semantically: agents name elements and operations, never XML or BPMNDI. Keeps hand-made diagrams (incremental layout), redraws engine-owned ones, and offers diagram formatting operations.",
"type": "module",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion plugins/bpmn-cli/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "bpmn-cli",
"displayName": "BPMN CLI",
"version": "0.8.0",
"version": "0.9.0",
"description": "Create, read, change, format and validate BPMN 2.0 models with @miragon/bpmn-cli: semantic edits by id instead of hand-written XML, hand-made drawings kept, Camunda 7 and Camunda 8 implementation details, engine profiles in validate.",
"author": {
"name": "Miragon GmbH",
Expand Down
4 changes: 2 additions & 2 deletions plugins/bpmn-cli/skills/bpmn/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Create, read, change, lay out and validate BPMN 2.0 process models
when_to_use: Any request that creates or touches a .bpmn file, even when it does not say BPMN. Typical phrases are "model the order process", "draw a BPMN diagram", "add an approval step", "add a reminder timer", "add a lane for accounting", "add the customer as a pool with message flows", "the rejection branch should go below", "colour the happy path", "tidy up the layout", "make it deployable on Camunda 8", "external task with input mapping", "Prozess modellieren", "BPMN anpassen", "BPMN-Diagramm erstellen", "Schritt einfügen", "Lane hinzufügen", "Diagramm aufräumen", "Camunda-8-Prozess bauen".
allowed-tools:
- Bash(bpmn *)
- Bash(npx -y @miragon/bpmn-cli@0.8.0 *) # x-release-please-version
- Bash(npx -y @miragon/bpmn-cli@0.9.0 *) # x-release-please-version
---

# BPMN models with the bpmn CLI
Expand All @@ -24,7 +24,7 @@ If that fails or prints a version older than the one pinned here, use this
instead of `bpmn` in every command (Node 22.12+; the first call downloads it):

```bash
npx -y @miragon/bpmn-cli@0.8.0 --version # x-release-please-version
npx -y @miragon/bpmn-cli@0.9.0 --version # x-release-please-version
```

The examples below say `bpmn`. Run each `bpmn` command as its own command line
Expand Down