Skip to content

Improve search (make fuzzy again and more robust)#932

Merged
nikku merged 12 commits intodevelopfrom
fix-search
Nov 4, 2024
Merged

Improve search (make fuzzy again and more robust)#932
nikku merged 12 commits intodevelopfrom
fix-search

Conversation

@nikku
Copy link
Member

@nikku nikku commented Sep 23, 2024

Proposed Changes

We found various issues with our existing search, both in terms of robustness and behavior:

This PR solves these issues, while keeping the generally desirable properties:

  • We sort search results semantically, preferring
    • start of word
    • start of term (in word)
    • we sort alphabetically (where items are equal in semantics)

The overall goal is to offer a snappy, robust, and intuitive search behavior, and I'd like to put up to a test if we accomplished that:

capture iz7QYp_optimized

Try it out via

npx @bpmn-io/sr bpmn-io/bpmn-js#use-search -l bpmn-io/diagram-js#fix-search

Checklist

To ensure you provided everything we need to look at your PR:

  • Brief textual description of the changes present
  • Visual demo attached
  • Steps to try out present, i.e. using the @bpmn-io/sr tool
  • Related issue linked via Closes {LINK_TO_ISSUE} or Related to {LINK_TO_ISSUE}

@bpmn-io-tasks bpmn-io-tasks bot added the needs review Review pending label Sep 23, 2024
@nikku nikku requested a review from philippfromme September 23, 2024 16:27
@nikku nikku requested a review from barmac September 23, 2024 16:27
@nikku
Copy link
Member Author

nikku commented Sep 23, 2024

Additional finding, debugging the implementation:

We do no longer tokenize between spaces, this makes it impossible to match two works, such as this:

image

@nikku

This comment was marked as outdated.

nikku added a commit to camunda/camunda-modeler that referenced this pull request Sep 23, 2024
fix: correct popup menu search on duplicate entries

  Related to bpmn-io/diagram-js#932
nikku added a commit to camunda/camunda-bpmn-js that referenced this pull request Sep 23, 2024
@nikku nikku added the in progress Currently worked on label Sep 25, 2024 — with bpmn-io-tasks
@nikku nikku removed the needs review Review pending label Sep 25, 2024
@barmac barmac marked this pull request as draft September 27, 2024 13:07
@nikku nikku mentioned this pull request Oct 2, 2024
4 tasks
@nikku nikku requested a review from lmbateman October 10, 2024 14:03
@lmbateman
Copy link

Is there a playground where I can try this out? Alternatively, if you need my review, could you please do a quick screen capture to demonstrate the changes? Thanks!

@nikku
Copy link
Member Author

nikku commented Oct 10, 2024

Cf. bpmn-io/bpmn-js#2235 (comment). I'll give you an E2E demo once I'm done with implementing the search, unless you want a demo earlier, to discuss what we do (did), and why.

@nikku nikku added the ready Ready to be worked on label Oct 11, 2024 — with bpmn-io-tasks
@nikku nikku removed the in progress Currently worked on label Oct 11, 2024
@nikku nikku force-pushed the fix-search branch 2 times, most recently from 9b3228e to 1fbd403 Compare October 31, 2024 16:44
@nikku nikku changed the title fix(search): correctly handle duplicate entries Improve search (make fuzzy again and more robust) Oct 31, 2024
@nikku nikku marked this pull request as ready for review October 31, 2024 16:55
@bpmn-io-tasks bpmn-io-tasks bot added needs review Review pending and removed ready Ready to be worked on labels Oct 31, 2024
@nikku nikku force-pushed the fix-search branch 2 times, most recently from 6c502b7 to e1fe8ef Compare October 31, 2024 17:04
@nikku
Copy link
Member Author

nikku commented Oct 31, 2024

I updated this PR to be fuzzy again, and solve all other outstanding issues.

Just now tests revealed that we're not fully fuzzy, actually match too many things, cf. original comment in the popup menu that I subscribe to:

// every word of `search term` should be included in one of the searchable fields

Our current behavior, leading to more search results popping up is:

// at least one word of `search term` should be included in one of the searchable fields

Need to do another round tomorrow.

@misiekhardcore
Copy link
Contributor

One general question that crossed my mind when I was playing with it:
Do we want to match partial searches? What I mean
There is an element named User task and user types in the search Ustk so few letters taken from the name in the order of occurance "User task".

@nikku
Copy link
Member Author

nikku commented Nov 4, 2024

Do we want to match partial searches?

This initiative aims to unify search across all places where we use it.

Given the new infrastructure in place (global search utility) integrators can choose what kind of search experience they want.

At the core we want to offer a search that is simple enough, downstream you may plug-in your fuzzy search provider, cf. camunda/camunda-bpmn-js#367.

nikku and others added 12 commits November 4, 2024 17:51
The implementation for comparing entries did not properly account for
entries that are "equal", and whenever they occur it ran into a loop.

The implementation proposed does two things:

* First we simplify the existing logic to be a two step
  filter + sort mechanism
* Second, the search comparison is simple and robust, and handles
  equality well.

This should fix the loop issues we're seeing.

Related to camunda/camunda-hub#10940
Reverts 34a65d32abc0c80cc822be13c440c61757ae6376
We ensure that for every entry that is a match we _always_ provide
tokens. This ensures that a user can rely on these tokens being there,
i.e. to render the results.

Related to bpmn-io/bpmn-js#2235
This ensures we properly handle fuzzy results (again),
where parts of the search is matched across different
keys.

This ensures we're not overly strict in filtering things.

Related to bpmn-io/bpmn-js#2235
Tokens returned by `search` are now recognized by the component,
this makes conversion simpler.
Co-authored-by: Michał Konopski <58469680+misiekhardcore@users.noreply.github.com>
`search` is now generic, items returned will match the type closure
of searchedEntries (whatever that is).
@nikku
Copy link
Member Author

nikku commented Nov 4, 2024

Squashed the changes, @misiekhardcore ready for another look.

@nikku nikku requested a review from misiekhardcore November 4, 2024 16:54
@nikku nikku merged commit 3ab3be3 into develop Nov 4, 2024
@nikku nikku deleted the fix-search branch November 4, 2024 20:32
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Nov 4, 2024
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Dec 10, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [bpmn-js](https://redirect.github.com/bpmn-io/bpmn-js) | [`17.11.1` ->
`18.1.1`](https://renovatebot.com/diffs/npm/bpmn-js/17.11.1/18.1.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/bpmn-js/18.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bpmn-js/18.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bpmn-js/17.11.1/18.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bpmn-js/17.11.1/18.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bpmn-io/bpmn-js (bpmn-js)</summary>

###
[`v18.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1811)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.0...v18.1.1)

- `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io/diagram-js#953](https://redirect.github.com/bpmn-io/diagram-js/pull/953))
- `FIX`: ignore whitespace when searching
([bpmn-io/diagram-js#954](https://redirect.github.com/bpmn-io/diagram-js/pull/954))

###
[`v18.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1810)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.0.0...v18.1.0)

- `FIX`: clear selection when opening search pad
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
- `FIX`: correct dangling selection after search pad interaction
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
-   `DEPS`: update to `diagram-js@15.2.2`

###
[`v18.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1800)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.11.1...v18.0.0)

- `FEAT`: remove `outline` from `Viewer` modules
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FEAT`: make `Canvas` a focusable element
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: implicit keyboard binding
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: integrate with global `search`
([#&#8203;2235](https://redirect.github.com/bpmn-io/bpmn-js/pull/2235))
- `FEAT`: integrate `popup-menu` with `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FEAT`: recognize modern `search` tokens in `search-pad`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: correctly handle duplicate entries and whitespace in `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: find `search` terms across all keys
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: `search` always returns tokens for matched items
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: prevent crash during label adjustment
([#&#8203;2239](https://redirect.github.com/bpmn-io/bpmn-js/issues/2239))
- `FIX`: keep existing loop characteristics when toggling through the
replace menu
([#&#8203;2251](https://redirect.github.com/bpmn-io/bpmn-js/pull/2251))
- `FIX`: prevent covering multi selection with black box in `Viewer`
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FIX`: generate types for main entry
([`986e2bb`](https://redirect.github.com/bpmn-io/bpmn-js/commit/986e2bb51ea301e6e0df56f3606a27424fb90179))
- `FIX`: correct handling of group name with whitespace only
([#&#8203;2231](https://redirect.github.com/bpmn-io/bpmn-js/issues/2231))
- `DEPS`: update to `bpmn-moddle@9`
([#&#8203;2114](https://redirect.github.com/bpmn-io/bpmn-js/pull/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.
- 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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIl19-->
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Jan 9, 2025
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [bpmn-js](https://redirect.github.com/bpmn-io/bpmn-js) | [`17.11.1` ->
`18.1.2`](https://renovatebot.com/diffs/npm/bpmn-js/17.11.1/18.1.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/bpmn-js/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bpmn-js/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bpmn-js/17.11.1/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bpmn-js/17.11.1/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bpmn-io/bpmn-js (bpmn-js)</summary>

###
[`v18.1.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1812)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.1...v18.1.2)

- `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))

###
[`v18.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1811)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.0...v18.1.1)

- `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io/diagram-js#953](https://redirect.github.com/bpmn-io/diagram-js/pull/953))
- `FIX`: ignore whitespace when searching
([bpmn-io/diagram-js#954](https://redirect.github.com/bpmn-io/diagram-js/pull/954))

###
[`v18.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1810)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.0.0...v18.1.0)

- `FIX`: clear selection when opening search pad
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
- `FIX`: correct dangling selection after search pad interaction
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
-   `DEPS`: update to `diagram-js@15.2.2`

###
[`v18.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1800)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.11.1...v18.0.0)

- `FEAT`: remove `outline` from `Viewer` modules
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FEAT`: make `Canvas` a focusable element
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: implicit keyboard binding
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: integrate with global `search`
([#&#8203;2235](https://redirect.github.com/bpmn-io/bpmn-js/pull/2235))
- `FEAT`: integrate `popup-menu` with `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FEAT`: recognize modern `search` tokens in `search-pad`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: correctly handle duplicate entries and whitespace in `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: find `search` terms across all keys
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: `search` always returns tokens for matched items
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: prevent crash during label adjustment
([#&#8203;2239](https://redirect.github.com/bpmn-io/bpmn-js/issues/2239))
- `FIX`: keep existing loop characteristics when toggling through the
replace menu
([#&#8203;2251](https://redirect.github.com/bpmn-io/bpmn-js/pull/2251))
- `FIX`: prevent covering multi selection with black box in `Viewer`
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FIX`: generate types for main entry
([`986e2bb`](https://redirect.github.com/bpmn-io/bpmn-js/commit/986e2bb51ea301e6e0df56f3606a27424fb90179))
- `FIX`: correct handling of group name with whitespace only
([#&#8203;2231](https://redirect.github.com/bpmn-io/bpmn-js/issues/2231))
- `DEPS`: update to `bpmn-moddle@9`
([#&#8203;2114](https://redirect.github.com/bpmn-io/bpmn-js/pull/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.
- 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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled because a matching PR was automerged
previously.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS42OS4zIiwidXBkYXRlZEluVmVyIjoiMzkuNzIuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIl19-->
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Jan 9, 2025
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [bpmn-js](https://redirect.github.com/bpmn-io/bpmn-js) | [`17.11.1` ->
`18.1.2`](https://renovatebot.com/diffs/npm/bpmn-js/17.11.1/18.1.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/bpmn-js/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bpmn-js/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bpmn-js/17.11.1/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bpmn-js/17.11.1/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bpmn-io/bpmn-js (bpmn-js)</summary>

###
[`v18.1.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1812)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.1...v18.1.2)

- `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))

###
[`v18.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1811)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.0...v18.1.1)

- `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io/diagram-js#953](https://redirect.github.com/bpmn-io/diagram-js/pull/953))
- `FIX`: ignore whitespace when searching
([bpmn-io/diagram-js#954](https://redirect.github.com/bpmn-io/diagram-js/pull/954))

###
[`v18.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1810)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.0.0...v18.1.0)

- `FIX`: clear selection when opening search pad
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
- `FIX`: correct dangling selection after search pad interaction
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
-   `DEPS`: update to `diagram-js@15.2.2`

###
[`v18.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1800)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.11.1...v18.0.0)

- `FEAT`: remove `outline` from `Viewer` modules
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FEAT`: make `Canvas` a focusable element
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: implicit keyboard binding
([bpmn-io/diagram-js#662](https://redirect.github.com/bpmn-io/diagram-js/pull/662))
- `FEAT`: integrate with global `search`
([#&#8203;2235](https://redirect.github.com/bpmn-io/bpmn-js/pull/2235))
- `FEAT`: integrate `popup-menu` with `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FEAT`: recognize modern `search` tokens in `search-pad`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: correctly handle duplicate entries and whitespace in `search`
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: find `search` terms across all keys
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: `search` always returns tokens for matched items
([bpmn-io/diagram-js#932](https://redirect.github.com/bpmn-io/diagram-js/pull/932))
- `FIX`: prevent crash during label adjustment
([#&#8203;2239](https://redirect.github.com/bpmn-io/bpmn-js/issues/2239))
- `FIX`: keep existing loop characteristics when toggling through the
replace menu
([#&#8203;2251](https://redirect.github.com/bpmn-io/bpmn-js/pull/2251))
- `FIX`: prevent covering multi selection with black box in `Viewer`
([#&#8203;2135](https://redirect.github.com/bpmn-io/bpmn-js/issues/2135))
- `FIX`: generate types for main entry
([`986e2bb`](https://redirect.github.com/bpmn-io/bpmn-js/commit/986e2bb51ea301e6e0df56f3606a27424fb90179))
- `FIX`: correct handling of group name with whitespace only
([#&#8203;2231](https://redirect.github.com/bpmn-io/bpmn-js/issues/2231))
- `DEPS`: update to `bpmn-moddle@9`
([#&#8203;2114](https://redirect.github.com/bpmn-io/bpmn-js/pull/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.
- 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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled because a matching PR was automerged
previously.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS42OS4zIiwidXBkYXRlZEluVmVyIjoiMzkuNzIuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIl19-->
ElRaptorus pushed a commit to 5minds/bpmn-js that referenced this pull request Feb 4, 2025
# Changes 

Siehe Changelog:
https://github.com/bpmn-io/bpmn-js/blob/develop/CHANGELOG.md

## 18.1.2

* `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io/diagram-js#956](bpmn-io/diagram-js#956))
* `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io/diagram-js#956](bpmn-io/diagram-js#956))
* `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io/diagram-js#956](bpmn-io/diagram-js#956))

## 18.1.1

* `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io/diagram-js#953](bpmn-io/diagram-js#953))
* `FIX`: ignore whitespace when searching
([bpmn-io/diagram-js#954](bpmn-io/diagram-js#954))

## 18.1.0

* `FIX`: clear selection when opening search pad
([bpmn-io/diagram-js#947](bpmn-io/diagram-js#947))
* `FIX`: correct dangling selection after search pad interaction
([bpmn-io/diagram-js#947](bpmn-io/diagram-js#947))
* `DEPS`: update to `diagram-js@15.2.2`

## 18.0.0

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

## 17.11.1

* `FIX`: handle searching elements without labels
([bpmn-io#2232](bpmn-io#2232),
[bpmn-io#2234](bpmn-io#2234))

## 17.11.0

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

## 17.10.0

* `CHORE`: correct various type hints
([bpmn-io#2228](bpmn-io#2228))
* `FIX`: pasting compensation activity without boundary event
([bpmn-io#2070](bpmn-io#2070))
* `FIX`: lane resize constraints for se and nw direction
([bpmn-io#2209](bpmn-io#2209))
* `FIX`: auto place elements vertically in sub-processes
([bpmn-io#2127](bpmn-io#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
([bpmn-io#2208](bpmn-io#2208))
ElRaptorus pushed a commit to 5minds/diagram-js that referenced this pull request Feb 4, 2025
# Changes 

Siehe Changelog:
https://github.com/bpmn-io/diagram-js/blob/develop/CHANGELOG.md

## 15.2.4

* `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io#956](bpmn-io#956))
* `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io#956](bpmn-io#956))
* `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io#956](bpmn-io#956))

## 15.2.3

* `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io#953](bpmn-io#953))
* `FIX`: ignore whitespace when searching
([bpmn-io#954](bpmn-io#954))

## 15.2.2

* `FIX`: correct `Keyboard#bind` and config types
([bpmn-io#948](bpmn-io#948))

## 15.2.1

* `FIX`: limit overly permissive regex
([bpmn-io#949](bpmn-io#949))

## 15.2.0

* `FIX`: clear selection when opening search pad
([bpmn-io#947](bpmn-io#947))
* `FIX`: correct dangling selection after search pad interaction
([bpmn-io#947](bpmn-io#947))
* `CHORE`: simplify search pad pre-selection behavior
([bpmn-io#947](bpmn-io#947))

## 15.1.0

* `FEAT`: integrate `popup-menu` with `search`
([bpmn-io#932](bpmn-io#932))
* `FEAT`: recognize modern `search` tokens in `search-pad`
([bpmn-io#932](bpmn-io#932))
* `FEAT`: improve `search` types
([bpmn-io#932](bpmn-io#932))
* `FIX`: correctly handle duplicate entries and whitespace in `search`
([bpmn-io#932](bpmn-io#932))
* `FIX`: find `search` terms across all keys
([bpmn-io#932](bpmn-io#932))
* `FIX`: `search` always returns tokens for matched items
([bpmn-io#932](bpmn-io#932))

## 15.0.0

* `FEAT`: make canvas browser selectable
([bpmn-io#659](bpmn-io#659))
* `FEAT`: make keyboard binding implicit
([bpmn-io#661](bpmn-io#661))
* `FEAT`: make multi-selection outline an outline concern
([bpmn-io#944](bpmn-io#944))

### Breaking Changes

* `Keyboard` binding target can no longer be chosen. Configure keyboard
binding via the `keyboard.bind` configuration and rely on keybindings to
work if the canvas has browser focus.
([bpmn-io#661](bpmn-io#661))
* The `Canvas` is now a focusable component, that is recognized
accordingly by the browser, with all benefits for UX and interaction.
Components that pull focus from the `Canvas` during modeling must ensure
to restore the focus (if intended), via `Canvas#restoreFocus`.
([bpmn-io#661](bpmn-io#661))
* The `selection` feature does not provide visual outline by default
anymore. Use the `outline` feature to re-enable it.
([bpmn-io#944](bpmn-io#944))

## 14.11.3

* `CHORE`: simplify viewbox cloning
([bpmn-io#935](bpmn-io#935))

## 14.11.2

* `FIX`: restore search result highlight
([bpmn-io#931](bpmn-io#931))
* `FIX`: correct search result highlight not being removed
([bpmn-io#931](bpmn-io#931))
* `FIX`: do not change zoom when search openes
([bpmn-io#931](bpmn-io#931))

## 14.11.1

_Partially reverts v14.11.0._

* `FIX`: revert `search` integration into popup menu

## 14.11.0

* `FEAT`: add `search` utility
* `FEAT`: sort popup entry search results semantically
([bpmn-io#916](bpmn-io#916))

## 14.10.0

* `FEAT`: align search styling with other popups
([bpmn-io#913](bpmn-io#913))
* `CHORE`: use existing outline in search
([bpmn-io#913](bpmn-io#913))
* `FIX`: only commit search viewport changes on `ENTER`
([bpmn-io#913](bpmn-io#913))

## 14.9.0

* `CHORE`: export types compatible with `verbatimModuleSyntax`
([bpmn-io#927](bpmn-io#927),
[bpmn-io#864](bpmn-io#864))
* `CHORE`: re-compute context pad position next frame
([bpmn-io#920](bpmn-io#920))
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Jan 26, 2026
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [bpmn-js](https://redirect.github.com/bpmn-io/bpmn-js) | [`^8.6.0` →
`^18.0.0`](https://renovatebot.com/diffs/npm/bpmn-js/8.10.0/18.10.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/bpmn-js/18.10.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bpmn-js/8.10.0/18.10.1?slim=true)
|
| [bpmn-js](https://redirect.github.com/bpmn-io/bpmn-js) | [`18.6.2` →
`18.10.1`](https://renovatebot.com/diffs/npm/bpmn-js/18.6.2/18.10.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/bpmn-js/18.10.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bpmn-js/18.6.2/18.10.1?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bpmn-io/bpmn-js (bpmn-js)</summary>

###
[`v18.10.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#18101)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.10.0...v18.10.1)

- `DEPS`: update to `min-dash@4.2.3`
- `DEPS`: update to `tiny-svg@3.1.3`

###
[`v18.10.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#18100)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.9.1...v18.10.0)

- `FEAT`: add ability to duplicate elements
([bpmn-io/diagram-js#998](https://redirect.github.com/bpmn-io/diagram-js/pull/998))
- `DEPS`: update to diagram-js\@&#8203;15.5.0

###
[`v18.9.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1891)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.9.0...v18.9.1)

- `FIX`: only draw links for currently selected elements
([#&#8203;2365](https://redirect.github.com/bpmn-io/bpmn-js/pull/2365))

###
[`v18.9.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1890)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.8.0...v18.9.0)

- `FEAT`: visually link external label with its target
([#&#8203;2328](https://redirect.github.com/bpmn-io/bpmn-js/pull/2328))
- `FEAT`: add support for labels to `OutlineProvider#getOutline`
- `FIX`: ensure `BpmnRenderer#getShapePath` returns correct path for
labels

###
[`v18.8.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1880)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.7.0...v18.8.0)

- `FEAT`: allow copying data object references and `isCollection`
property
([#&#8203;2348](https://redirect.github.com/bpmn-io/bpmn-js/pull/2348))

###
[`v18.7.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1870)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.5...v18.7.0)

- `FEAT`: support disabled entries in popup menu
([bpmn-io/diagram-js#987](https://redirect.github.com/bpmn-io/diagram-js/pull/987))
- `DEPS`: update to `diagram-js@15.4.0`

###
[`v18.6.5`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1865)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.4...v18.6.5)

- `FIX`: ensure popup menu keyboard navigation accounts for group order
([bpmn-io/diagram-js#989](https://redirect.github.com/bpmn-io/diagram-js/pull/989))
- `DEPS`: update to `diagram-js@15.3.1`

###
[`v18.6.4`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1864)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.3...v18.6.4)

- `FIX`: revert `AdHocSubProcess#cancelRemainingInstances` default value
removal
([bpmn-io/bpmn-moddle#132](https://redirect.github.com/bpmn-io/bpmn-moddle/pull/132))
- `DEPS`: update to `bpmn-moddle@9.0.4`

###
[`v18.6.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1863)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.2...v18.6.3)

- `FIX`: remove `AdHocSubProcess#cancelRemainingInstances` default value
([bpmn-io/bpmn-moddle#131](https://redirect.github.com/bpmn-io/bpmn-moddle/issues/131))
- `DEPS`: update to `bpmn-moddle@9.0.3`

###
[`v18.6.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1862)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.1...v18.6.2)

- `FIX`: center task markers
([#&#8203;1995](https://redirect.github.com/bpmn-io/bpmn-js/issues/1995))

###
[`v18.6.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1861)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.6.0...v18.6.1)

- `FIX`: copy error, escalation, message and signal references when
copying elements
([#&#8203;1906](https://redirect.github.com/bpmn-io/bpmn-js/issues/1906),
[#&#8203;2249](https://redirect.github.com/bpmn-io/bpmn-js/issues/2249),
[#&#8203;2301](https://redirect.github.com/bpmn-io/bpmn-js/pull/2301))

###
[`v18.6.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1860)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.5.0...v18.6.0)

- `FEAT`: support searching through arrays in popup menu
([bpmn-io/diagram-js#970](https://redirect.github.com/bpmn-io/diagram-js/pull/970))
- `FEAT`: prioritize `search` over `description` when matching popup
menu entries
([bpmn-io/diagram-js#963](https://redirect.github.com/bpmn-io/diagram-js/pull/963))
- `FEAT`: sort `search` terms across all keys
([bpmn-io/diagram-js#963](https://redirect.github.com/bpmn-io/diagram-js/pull/963))
- `FIX`: always select first search entry
([bpmn-io/diagram-js#967](https://redirect.github.com/bpmn-io/diagram-js/pull/967))
- `DEPS`: update to `diagram-js@15.3.0`

###
[`v18.5.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1850)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.4.0...v18.5.0)

- `FEAT`: allow text annotations for message flows
([#&#8203;2281](https://redirect.github.com/bpmn-io/bpmn-js/issues/2281))

###
[`v18.4.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1840)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.3.2...v18.4.0)

- `FEAT`: render collapsed event subprocess icons
([#&#8203;50](https://redirect.github.com/bpmn-io/bpmn-js/issues/50))

###
[`v18.3.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1832)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.3.1...v18.3.2)

- `FIX`: remove default start event for ad-hoc subprocess
([#&#8203;2295](https://redirect.github.com/bpmn-io/bpmn-js/issues/2295))
- `FIX`: show modeling feedback error for data objects
([#&#8203;2290](https://redirect.github.com/bpmn-io/bpmn-js/pull/2290))

###
[`v18.3.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1831)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.3.0...v18.3.1)

- `FIX`: move artifacts when a participant is resized by space tool
([#&#8203;2285](https://redirect.github.com/bpmn-io/bpmn-js/pull/2285))

###
[`v18.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1830)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.2.0...v18.3.0)

- `FEAT`: allow to replace between variants of typed events
([#&#8203;2282](https://redirect.github.com/bpmn-io/bpmn-js/pull/2282))

###
[`v18.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1820)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.2...v18.2.0)

- `FEAT`: add ad-hoc subprocess option to replace menu
([#&#8203;2276](https://redirect.github.com/bpmn-io/bpmn-js/pull/2276))

###
[`v18.1.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1812)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.1...v18.1.2)

- `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))
- `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io/diagram-js#956](https://redirect.github.com/bpmn-io/diagram-js/pull/956))

###
[`v18.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1811)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.1.0...v18.1.1)

- `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io/diagram-js#953](https://redirect.github.com/bpmn-io/diagram-js/pull/953))
- `FIX`: ignore whitespace when searching
([bpmn-io/diagram-js#954](https://redirect.github.com/bpmn-io/diagram-js/pull/954))

###
[`v18.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1810)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v18.0.0...v18.1.0)

- `FIX`: clear selection when opening search pad
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
- `FIX`: correct dangling selection after search pad interaction
([bpmn-io/diagram-js#947](https://redirect.github.com/bpmn-io/diagram-js/pull/947))
- `DEPS`: update to `diagram-js@15.2.2`

###
[`v18.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1800)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.11.1...v18.0.0)

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

###
[`v17.11.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#17111)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.11.0...v17.11.1)

- `FIX`: handle searching elements without labels
([#&#8203;2232](https://redirect.github.com/bpmn-io/bpmn-js/issues/2232),
[#&#8203;2234](https://redirect.github.com/bpmn-io/bpmn-js/pull/2234))

###
[`v17.11.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#17110)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.10.0...v17.11.0)

- `FEAT`: align search styles with other popups
([#&#8203;2187](https://redirect.github.com/bpmn-io/bpmn-js/pull/2187))
- `FEAT`: prioritize start of tokens in search results
([#&#8203;2187](https://redirect.github.com/bpmn-io/bpmn-js/pull/2187))
- `FIX`: do not commit viewport changes on `ESC`
([#&#8203;2189](https://redirect.github.com/bpmn-io/bpmn-js/issues/2189),
[#&#8203;2187](https://redirect.github.com/bpmn-io/bpmn-js/pull/2187))
- `DEPS`: update to `diagram-js@14.10.0`

###
[`v17.10.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#17100)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.9.2...v17.10.0)

- `CHORE`: correct various type hints
([#&#8203;2228](https://redirect.github.com/bpmn-io/bpmn-js/issues/2228))
- `FIX`: pasting compensation activity without boundary event
([#&#8203;2070](https://redirect.github.com/bpmn-io/bpmn-js/issues/2070))
- `FIX`: lane resize constraints for se and nw direction
([#&#8203;2209](https://redirect.github.com/bpmn-io/bpmn-js/issues/2209))
- `FIX`: auto place elements vertically in sub-processes
([#&#8203;2127](https://redirect.github.com/bpmn-io/bpmn-js/issues/2127))
- `FIX`: hide lane label during direct editing
- `DEPS`: update to `diagram-js@14.9.0`

###
[`v17.9.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1792)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.9.1...v17.9.2)

- `FIX`: keep direction when collapsing pools
([#&#8203;2208](https://redirect.github.com/bpmn-io/bpmn-js/issues/2208))

###
[`v17.9.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1791)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.9.0...v17.9.1)

- `FIX`: show delete action for labels
([#&#8203;2163](https://redirect.github.com/bpmn-io/bpmn-js/issues/2163))

###
[`v17.9.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1790)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.8.3...v17.9.0)

- `FIX`: remove incorrect attribute in replace menu
([#&#8203;2196](https://redirect.github.com/bpmn-io/bpmn-js/pull/2196))
- `DEPS`: update to diagram-js\@&#8203;14.7.2

###
[`v17.8.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1783)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.8.2...v17.8.3)

- `FIX`: add accessible label to drill down button
([#&#8203;2194](https://redirect.github.com/bpmn-io/bpmn-js/pull/2194))

###
[`v17.8.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1782)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.8.1...v17.8.2)

- `FIX`: do not suggest root elements in search
([#&#8203;2143](https://redirect.github.com/bpmn-io/bpmn-js/issues/2143))

###
[`v17.8.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1781)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.8.0...v17.8.1)

- `FIX`: gracefully handle missing process DI in drilldown
([#&#8203;2180](https://redirect.github.com/bpmn-io/bpmn-js/pull/2180))
- `FIX`: do not cause HTML validation errors on move preview
([#&#8203;2179](https://redirect.github.com/bpmn-io/bpmn-js/issues/2179))
- `DEPS`: update to `diagram-js@14.7.1`

###
[`v17.8.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1780)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.7.1...v17.8.0)

- `FEAT`: keep global elements when deleting last participant
([#&#8203;2175](https://redirect.github.com/bpmn-io/bpmn-js/pull/2175))
- `FIX`: allow undo after deleting last participants and data store
([#&#8203;1676](https://redirect.github.com/bpmn-io/bpmn-js/issues/1676))
- `FIX`: allow styling markers with `canvas.addMarker` and css
([#&#8203;2173](https://redirect.github.com/bpmn-io/bpmn-js/pull/2173))
- `CHORE`: render flow markers as part of `djs-visual`
([#&#8203;2173](https://redirect.github.com/bpmn-io/bpmn-js/pull/2173))
- `DEPS`: update to `diagram-js@14.7.0`

###
[`v17.7.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1771)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.7.0...v17.7.1)

- `FIX`: correct call activity outline
([#&#8203;2167](https://redirect.github.com/bpmn-io/bpmn-js/issues/2167))
- `FIX`: gracefully handle missing `BPMNDiagram#plane`
([#&#8203;2172](https://redirect.github.com/bpmn-io/bpmn-js/pull/2172),
[#&#8203;2171](https://redirect.github.com/bpmn-io/bpmn-js/pull/2171))

###
[`v17.7.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1770)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.6.4...v17.7.0)

- `DEPS`: update to `diagram-js@14.6.0`

###
[`v17.6.4`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1764)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.6.3...v17.6.4)

- `DEPS`: update to `diagram-js@14.5.4`

###
[`v17.6.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1763)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.6.2...v17.6.3)

- `DEPS`: update to `diagram-js@14.5.3`

###
[`v17.6.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1762)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.6.1...v17.6.2)

- `DEPS`: update to `diagram-js@14.5.2`
([#&#8203;2158](https://redirect.github.com/bpmn-io/bpmn-js/pull/2158))

###
[`v17.6.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1761)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.6.0...v17.6.1)

- `DEPS`: update to `diagram-js@14.5.1`
([#&#8203;2157](https://redirect.github.com/bpmn-io/bpmn-js/pull/2157))

###
[`v17.6.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1760)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.5.0...v17.6.0)

- `FEAT`: add ability to type services and events
([#&#8203;2121](https://redirect.github.com/bpmn-io/bpmn-js/issues/2121),
[#&#8203;2153](https://redirect.github.com/bpmn-io/bpmn-js/pull/2153))
- `FIX`: remove preview on context pad close
([#&#8203;2150](https://redirect.github.com/bpmn-io/bpmn-js/issues/2150))
- `FIX`: use tagged template in error logging
([#&#8203;2151](https://redirect.github.com/bpmn-io/bpmn-js/pull/2151))

###
[`v17.5.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1750)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.4.0...v17.5.0)

- `FEAT`: remove direct editing outline for embedded labels
([#&#8203;2147](https://redirect.github.com/bpmn-io/bpmn-js/pull/2147))
- `FEAT`: do not translate technical errors
([#&#8203;2145](https://redirect.github.com/bpmn-io/bpmn-js/pull/2145))
- `DEPS`: update to `diagram-js-direct-editing@3.0.1`

###
[`v17.4.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1740)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.3.0...v17.4.0)

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

###
[`v17.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1730)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.2.2...v17.3.0)

- `FEAT`: auto-place elements vertically
([#&#8203;2110](https://redirect.github.com/bpmn-io/bpmn-js/issues/2110))

###
[`v17.2.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1722)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.2.1...v17.2.2)

- `FIX`: correct navigated viewer outline
([#&#8203;2133](https://redirect.github.com/bpmn-io/bpmn-js/issues/2133))

###
[`v17.2.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1721)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.2.0...v17.2.1)

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

###
[`v17.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1720)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.1.0...v17.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`

###
[`v17.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1710)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.0.2...v17.1.0)

- `FEAT`: handle splitting vertical lanes
([#&#8203;2101](https://redirect.github.com/bpmn-io/bpmn-js/pull/2101))

###
[`v17.0.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1702)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.0.1...v17.0.2)

- `FIX`: create hit boxes for vertical lanes
([#&#8203;2093](https://redirect.github.com/bpmn-io/bpmn-js/issues/2093))

###
[`v17.0.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1701)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v17.0.0...v17.0.1)

- `FIX`: fix rendering of gateway without marker
([#&#8203;2102](https://redirect.github.com/bpmn-io/bpmn-js/pull/2102))

###
[`v17.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1700)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.5.0...v17.0.0)

- `FEAT`: add to selection through SHIFT
([bpmn-io/diagram-js#796](https://redirect.github.com/bpmn-io/diagram-js/pull/851),
[#&#8203;2053](https://redirect.github.com/bpmn-io/bpmn-js/issues/2053))
- `CHORE`: remove broken touch interaction
([bpmn-io/diagram-js#796](https://redirect.github.com/bpmn-io/diagram-js/issues/796))
- `DEPS`: update to `diagram-js@14.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.

###
[`v16.5.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1650)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.4.0...v16.5.0)

- `FEAT`: handle adding vertical lanes
([#&#8203;2086](https://redirect.github.com/bpmn-io/bpmn-js/issues/2086))
- `FIX`: don't fill multiple parallel events
([#&#8203;2085](https://redirect.github.com/bpmn-io/bpmn-js/issues/2085))

###
[`v16.4.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1640)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.3.2...v16.4.0)

- `FEAT`: handle resizing of vertical lanes
([#&#8203;2062](https://redirect.github.com/bpmn-io/bpmn-js/issues/2062))
- `FEAT`: allow text annotations to overlap with the borders of
subprocesses and pools
([#&#8203;2049](https://redirect.github.com/bpmn-io/bpmn-js/issues/2049))
- `FEAT`: support modeling of gateway without marker
([#&#8203;2063](https://redirect.github.com/bpmn-io/bpmn-js/issues/2063))
- `FIX`: correctly remove vertical lanes
([#&#8203;2081](https://redirect.github.com/bpmn-io/bpmn-js/pull/2081))
- `FIX`: do not set label on planes
([#&#8203;2033](https://redirect.github.com/bpmn-io/bpmn-js/issues/2033))

###
[`v16.3.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1632)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.3.1...v16.3.2)

- `FIX`: support core replace in compensation behavior
([#&#8203;2073](https://redirect.github.com/bpmn-io/bpmn-js/issues/2073))

###
[`v16.3.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1631)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.3.0...v16.3.1)

- `FIX`: do not remove connection that is being created when pasting
compensation boundary event and handler
([#&#8203;2069](https://redirect.github.com/bpmn-io/bpmn-js/pull/2069))

###
[`v16.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1630)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.2.0...v16.3.0)

- `FEAT`: improve handling of compensation association
([#&#8203;2038](https://redirect.github.com/bpmn-io/bpmn-js/issues/2038))

###
[`v16.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1620)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.1.0...v16.2.0)

- `DEPS`: update to `bpmn-moddle@8.1.0`

###
[`v16.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1610)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v16.0.0...v16.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

###
[`v16.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1600)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.2.2...v16.0.0)

- `FEAT`: render vertical pools and lanes
([#&#8203;2024](https://redirect.github.com/bpmn-io/bpmn-js/pull/2024))
- `FEAT`: sentence case titles and labels
([#&#8203;2023](https://redirect.github.com/bpmn-io/bpmn-js/issues/2023))
- `FIX`: ensure all error translations are collected
([#&#8203;2040](https://redirect.github.com/bpmn-io/bpmn-js/pull/2040))
- `DEPS` update to diagram-js\@&#8203;13.0.0

##### Breaking Changes

- Major updates to
[diagram-js@13](https://redirect.github.com/bpmn-io/diagram-js/blob/develop/CHANGELOG.md#1300)
and
[didi@10](https://redirect.github.com/nikku/didi/blob/main/CHANGELOG.md#1000).
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.

###
[`v15.2.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1522)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.2.1...v15.2.2)

- `FIX`: use correct types in BpmnRenderUtil
([#&#8203;2036](https://redirect.github.com/bpmn-io/bpmn-js/pull/2036))

###
[`v15.2.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1521)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.2.0...v15.2.1)

- `DEPS`: update to `diagram-js@13.8.1`

###
[`v15.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1520)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.1.3...v15.2.0)

- `FEAT`: remove selection outline from connections
([diagram-js#826](https://redirect.github.com/bpmn-io/diagram-js/pull/826))
- `FEAT`: position context pad according to last waypoint for
connections
([diagram-js#826](https://redirect.github.com/bpmn-io/diagram-js/pull/826))
- `FIX`: prevent access of non-existing connection bounds
([diagram-js#824](https://redirect.github.com/bpmn-io/diagram-js/pull/824))
- `FIX`: correct selection outline size for end event
([#&#8203;2026](https://redirect.github.com/bpmn-io/bpmn-js/pull/2026))
- `DEPS`: update to `diagram-js@13.8.0`

###
[`v15.1.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1513)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.1.2...v15.1.3)

- `FIX`: revert `djs-dragging` CSS class changes
([#&#8203;2016](https://redirect.github.com/bpmn-io/bpmn-js/pull/2016))
- `FIX`: clear context pad hover timeout on close
([#&#8203;2016](https://redirect.github.com/bpmn-io/bpmn-js/pull/2016))
- `DEPS`: update to `diagram-js@12.7.2`

###
[`v15.1.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1512)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.1.1...v15.1.2)

- `FIX`: revert selection outline removal for connections
([#&#8203;2011](https://redirect.github.com/bpmn-io/bpmn-js/pull/2011))
- `DEPS`: update to `diagram-js@12.7.1`

###
[`v15.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1511)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.1.0...v15.1.1)

- `FIX`: adjust selection outline to external label
([#&#8203;2001](https://redirect.github.com/bpmn-io/bpmn-js/issues/2001))

###
[`v15.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1510)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v15.0.0...v15.1.0)

- `FEAT`: add toggle for non-interrupting events
([#&#8203;2000](https://redirect.github.com/bpmn-io/bpmn-js/pull/2000))
- `FEAT`: keep events non-interrupting when using `bpmnReplace` by
default
([#&#8203;2000](https://redirect.github.com/bpmn-io/bpmn-js/pull/2000))
- `DEPS`: update to `diagram-js@12.7.0`

###
[`v15.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1500)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.2.0...v15.0.0)

- `FEAT`: align selection outline with element's shape
([#&#8203;1996](https://redirect.github.com/bpmn-io/bpmn-js/issues/1996))
- `FEAT`: preview append on hover
([#&#8203;1985](https://redirect.github.com/bpmn-io/bpmn-js/pull/1985))
- `FEAT`: allow overriding `fill`, `stroke`, `width` and `height` when
rendering elements
([#&#8203;1985](https://redirect.github.com/bpmn-io/bpmn-js/pull/1985))
- `FIX`: renderer only renders actual flow elements
([#&#8203;1985](https://redirect.github.com/bpmn-io/bpmn-js/pull/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`)

###
[`v14.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1420)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.1.3...v14.2.0)

- `FEAT`: make spacetool local per default
([bpmn-io/diagram-js#811](https://redirect.github.com/bpmn-io/diagram-js/pull/811),
[#&#8203;1975](https://redirect.github.com/bpmn-io/bpmn-js/issues/1975))
- `FEAT`: add complex preview feature
([bpmn-io/diagram-js#807](https://redirect.github.com/bpmn-io/diagram-js/pull/807))
- `CHORE`: mark connection as dragging when moving bendpoint
([bpmn-io/diagram-js#807](https://redirect.github.com/bpmn-io/diagram-js/pull/807))
- `DEPS`: update to `diagram-js@12.5.0`

###
[`v14.1.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1413)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.1.2...v14.1.3)

- `CHORE`: correctly output tag in
[#&#8203;1982](https://redirect.github.com/bpmn-io/bpmn-js/pull/1982)

###
[`v14.1.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1412)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.1.1...v14.1.2)

- `CHORE`: fix POST\_RELEASE job in
[#&#8203;1980](https://redirect.github.com/bpmn-io/bpmn-js/pull/1980)

###
[`v14.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1411)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.1.0...v14.1.1)

- `FIX`: asset path by
[@&#8203;nikku](https://redirect.github.com/nikku) in
[#&#8203;1977](https://redirect.github.com/bpmn-io/bpmn-js/pull/1977)

###
[`v14.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1410)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v14.0.0...v14.1.0)

- `FEAT`: ensure lanes aren't resized when using space tool in
[#&#8203;1972](https://redirect.github.com/bpmn-io/bpmn-js/pull/1972)
- `DOCS`: update translations for v14.0.0 by
[@&#8203;bpmn-io-bot](https://redirect.github.com/bpmn-io-bot) in
[#&#8203;1948](https://redirect.github.com/bpmn-io/bpmn-js/pull/1948)

###
[`v14.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1400)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.2.2...v14.0.0)

- `FEAT`: do not hide overlays on canvas move per default
([diagram-js#798](https://redirect.github.com/bpmn-io/diagram-js/issues/798))
- `FEAT`: translate *Append TextAnnotation* context pad action
([#&#8203;1932](https://redirect.github.com/bpmn-io/bpmn-js/pull/1932))
- `FIX`: allow to create connection + event-based gateway
([#&#8203;1490](https://redirect.github.com/bpmn-io/bpmn-js/issues/1490))
- `FIX`: make breadcrumb styling more robust
([#&#8203;1945](https://redirect.github.com/bpmn-io/bpmn-js/pull/1945))
- `FIX`: correct copy of default sequence flow elements
([#&#8203;1935](https://redirect.github.com/bpmn-io/bpmn-js/issues/1935))
- `CHORE`: extract `modeling-feedback` into dedicated module
([#&#8203;1940](https://redirect.github.com/bpmn-io/bpmn-js/pull/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`.

###
[`v13.2.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1322)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.2.1...v13.2.2)

- `FIX`: do not vertically resize empty pools using the space tool
([#&#8203;1769](https://redirect.github.com/bpmn-io/bpmn-js/issues/1769))

###
[`v13.2.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1321)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.2.0...v13.2.1)

- `FIX`: improve regular expression
([#&#8203;1927](https://redirect.github.com/bpmn-io/bpmn-js/pull/1927))
- `FIX`: show non-interrupting event version in replace menu
([#&#8203;1924](https://redirect.github.com/bpmn-io/bpmn-js/pull/1924))

###
[`v13.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1320)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.1.0...v13.2.0)

- `CHORE`: provide align and distribute context pad and popup menu icons
as html
([#&#8203;1920](https://redirect.github.com/bpmn-io/bpmn-js/pull/1920))
- `DEPS`: update to `diagram-js@12.2.0`

###
[`v13.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1310)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.8...v13.1.0)

- `FEAT`: allow event rendering without icons
([#&#8203;1917](https://redirect.github.com/bpmn-io/bpmn-js/pull/1917))

###
[`v13.0.8`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1308)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.7...v13.0.8)

*Republish of v13.0.7.*

###
[`v13.0.7`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1307)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.6...v13.0.7)

*Republish of v13.0.6.*

###
[`v13.0.6`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1306)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.5...v13.0.6)

- `DOCS`: update translations

###
[`v13.0.5`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1305)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.4...v13.0.5)

- `DEPS`: update to `diagram-js@12.1.0`

###
[`v13.0.4`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1304)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.3...v13.0.4)

- `DEPS`: bump to `diagram-js@12.0.2`

###
[`v13.0.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1303)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.2...v13.0.3)

- `FIX`: update label on `modeling.updateModdleProperties`
([#&#8203;1872](https://redirect.github.com/bpmn-io/bpmn-js/issues/1872))

###
[`v13.0.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1302)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.1...v13.0.2)

- `FIX`: export types as `type`
([#&#8203;1897](https://redirect.github.com/bpmn-io/bpmn-js/pull/1897))
- `DEPS`: bump to `diagram-js@12.0.1`

###
[`v13.0.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1301)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v13.0.0...v13.0.1)

- `FIX`: correct some type definitions
([#&#8203;1896](https://redirect.github.com/bpmn-io/bpmn-js/pull/1896))

###
[`v13.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1300)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v12.1.1...v13.0.0)

- `FEAT`: rework and complete type definitions
([#&#8203;1886](https://redirect.github.com/bpmn-io/bpmn-js/pull/1886))
- `DEPS`: update to `diagram-js@12.0.0`

###
[`v12.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1211)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v12.1.0...v12.1.1)

- `DEPS`: update to `diagram-js@11.13.0`

###
[`v12.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1210)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v12.0.0...v12.1.0)

- `FIX`: correct `Viewer#saveXML` type definition
([#&#8203;1885](https://redirect.github.com/bpmn-io/bpmn-js/pull/1885))
- `FIX`: correct `Viewer` constructor type definition
([#&#8203;1882](https://redirect.github.com/bpmn-io/bpmn-js/issues/1882))

###
[`v12.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1200)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.5.0...v12.0.0)

- `FEAT`: move `create-append-anything` to [external
module](https://redirect.github.com/bpmn-io/bpmn-js-create-append-anything)
([#&#8203;1873](https://redirect.github.com/bpmn-io/bpmn-js/pull/1873),
[#&#8203;1862](https://redirect.github.com/bpmn-io/bpmn-js/issues/1862))
- `CHORE`: use `diagram-js@11.11.0` built-in selection after replace
feature
([#&#8203;1857](https://redirect.github.com/bpmn-io/bpmn-js/pull/1857))
- `DEPS`: update to `diagram-js@11.12.0`

##### Breaking Changes

- The create/append anything features moved to an [external
module](https://redirect.github.com/bpmn-io/bpmn-js-create-append-anything).
Include it to restore the `v11` create/append behavior.

###
[`v11.5.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1150)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.4.1...v11.5.0)

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

###
[`v11.4.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1141)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.4.0...v11.4.1)

- `FIX`: correct redo triggering on international keyboard layouts
([#&#8203;1842](https://redirect.github.com/bpmn-io/bpmn-js/issues/1842))

###
[`v11.4.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1140)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.3.1...v11.4.0)

- `FEAT`: translate append menu entry labels and groups
([#&#8203;1810](https://redirect.github.com/bpmn-io/bpmn-js/pull/1810))
- `FEAT`: activate direct editing on participant creation
([#&#8203;1845](https://redirect.github.com/bpmn-io/bpmn-js/pull/1845))
- `FIX`: dragging append menu entries creates element connection
([#&#8203;1843](https://redirect.github.com/bpmn-io/bpmn-js/pull/1843))
- `FIX`: append shortcut triggers create menu if append not allowed
([#&#8203;1840](https://redirect.github.com/bpmn-io/bpmn-js/issues/1840))
- `FIX`: restore marker rendering workaround
([`9c6e475`](https://redirect.github.com/bpmn-io/bpmn-js/commit/9c6e475681dd6b6a418b2fbc1dac19a9df360953))

###
[`v11.3.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1131)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.3.0...v11.3.1)

*Republish of `v11.3.0`.*

###
[`v11.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1130)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.2.0...v11.3.0)

- `FEAT`: feature `service` and `user` tasks more prominently in replace
menu
([#&#8203;1836](https://redirect.github.com/bpmn-io/bpmn-js/pull/1836))
- `FEAT`: hide rare items initially from create/append menus
([#&#8203;1836](https://redirect.github.com/bpmn-io/bpmn-js/pull/1836))
- `FEAT`: retrieve instantiation modules with context
([#&#8203;1835](https://redirect.github.com/bpmn-io/bpmn-js/pull/1835))
- `DEPS`: update to `diagram-js@11.9.0`

###
[`v11.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1120)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.1.1...v11.2.0)

*Adds create/append anything.*

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

###
[`v11.1.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1111)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.1.0...v11.1.1)

- `FIX`: correct popup menu display in fullscreen
([#&#8203;1795](https://redirect.github.com/bpmn-io/bpmn-js/issues/1795))
- `DEPS`: update to `diagram-js@11.4.3`

###
[`v11.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1110)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.0.5...v11.1.0)

- `FEAT`: add replace element keyboard binding
([#&#8203;1785](https://redirect.github.com/bpmn-io/bpmn-js/pull/1785))
- `FEAT`: add `replaceElement` editor action
([#&#8203;1785](https://redirect.github.com/bpmn-io/bpmn-js/pull/1785))
- `DEPS`: update to `diagram-js@11.4.1`

###
[`v11.0.5`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1105)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.0.4...v11.0.5)

- `DEPS`: update to `diagram-js@11.3.0`

###
[`v11.0.4`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1104)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.0.3...v11.0.4)

- `DEPS`: update to `diagram-js@11.2.0`

###
[`v11.0.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1103)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.0.1...v11.0.3)

*Re-release of `v11.0.2`.*

###
[`v11.0.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1101)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v11.0.0...v11.0.1)

- `DEPS`: update to `diagram-js@11.1.1`

###
[`v11.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1100)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v10.3.0...v11.0.0)

*Reworks popup menu UI.*

- `FEAT`: integrate new popup menu UI
([#&#8203;1776](https://redirect.github.com/bpmn-io/bpmn-js/pull/1776))
- `DEPS`: update to `diagram-js@11.1.0`
([#&#8203;1776](https://redirect.github.com/bpmn-io/bpmn-js/pull/1776))

##### Breaking Changes

- New popup menu UI introduced with `diagram-js@11`. See [`diagram-js`
breaking changes and migration
guide](https://redirect.github.com/bpmn-io/diagram-js/blob/develop/CHANGELOG.md#breaking-changes).
- Keyboard-related features no longer use `KeyboardEvent#keyCode`. Use a
polyfill (e.g.
[keyboardevent-key-polyfill](https://www.npmjs.com/package/keyboardevent-key-polyfill))
if you need to support old browsers.

###
[`v10.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1030)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v10.2.1...v10.3.0)

- `FEAT`: add BPMN specific space tool
([#&#8203;1344](https://redirect.github.com/bpmn-io/bpmn-js/pull/1344))
- `FIX`: do not resize `bpmn:TextAnnotation` when using space tool
([#&#8203;1344](https://redirect.github.com/bpmn-io/bpmn-js/pull/1344))
- `FIX`: correct attachers left hanging when using space tool
([#&#8203;1344](https://redirect.github.com/bpmn-io/bpmn-js/pull/1344))
- `FIX`: stick labels to label targets when using space tool
([#&#8203;1344](https://redirect.github.com/bpmn-io/bpmn-js/pull/1344),
[#&#8203;1302](https://redirect.github.com/bpmn-io/bpmn-js/issues/1302))
- `DEPS`: update to `diagram-js@10`

###
[`v10.2.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1021)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v10.2.0...v10.2.1)

- `FIX`: correct preserving of outgoing connections on event-based
gateway morph
([#&#8203;1738](https://redirect.github.com/bpmn-io/bpmn-js/issues/1738))

###
[`v10.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1020)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v10.1.0...v10.2.0)

- `DEPS`: update to `bpmn-moddle@8`

###
[`v10.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1010)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v10.0.0...v10.1.0)

- `DEPS`: update to `diagram-js@9.1.0`

###
[`v10.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#1000)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.4.1...v10.0.0)

*Updates the library target to ES2018.*

- `FEAT`: use ES2018 syntax
([#&#8203;1737](https://redirect.github.com/bpmn-io/bpmn-js/pull/1737))

##### Breaking Changes

- Migrated to ES2018 syntax. [Read the blog post with details and a
migration
guide](https://bpmn.io/blog/posts/2022-migration-to-es2018.html).

###
[`v9.4.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#941)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.4.0...v9.4.1)

- `FIX`: ignore elements which cannot be colored
([#&#8203;1734](https://redirect.github.com/bpmn-io/bpmn-js/pull/1734))

###
[`v9.4.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#940)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.3.2...v9.4.0)

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

###
[`v9.3.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#932)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.3.1...v9.3.2)

- `FIX`: prevent unnecessary scrollbar
([#&#8203;1692](https://redirect.github.com/bpmn-io/bpmn-js/issues/1692))
- `FIX`: check for replacement using actual target
([#&#8203;1699](https://redirect.github.com/bpmn-io/bpmn-js/pull/1699))
- `DEPS`: update to `diagram-js@8.7.1`

###
[`v9.3.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#931)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.3.0...v9.3.1)

- `FIX`: properly size icons for distribute/align menu
([#&#8203;1694](https://redirect.github.com/bpmn-io/bpmn-js/pull/1694))

###
[`v9.3.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#930)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.2.2...v9.3.0)

- `FEAT`: add aligment and distribution menu
([#&#8203;1680](https://redirect.github.com/bpmn-io/bpmn-js/issues/1680),
[#&#8203;1691](https://redirect.github.com/bpmn-io/bpmn-js/issues/1691))
- `DEPS`: update to `diagram-js@8.7.0`

###
[`v9.2.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#922)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.2.1...v9.2.2)

- `FIX`: correctly toggle loop characteristics
([#&#8203;1673](https://redirect.github.com/bpmn-io/bpmn-js/issues/1673))

###
[`v9.2.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#921)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.2.0...v9.2.1)

- `FIX`: cancel direct editing before shape deletion
([#&#8203;1677](https://redirect.github.com/bpmn-io/bpmn-js/issues/1677))

###
[`v9.2.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#920)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.1.0...v9.2.0)

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

###
[`v9.1.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#910)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.0.4...v9.1.0)

- `FEAT`: allow to select participant and subprocess via click on body
([#&#8203;1646](https://redirect.github.com/bpmn-io/bpmn-js/pull/1646))
- `FIX`: comply with strict style-src CSP
([#&#8203;1625](https://redirect.github.com/bpmn-io/bpmn-js/issues/1625))
- `FIX`: complete direct editing when selection changes
([#&#8203;1648](https://redirect.github.com/bpmn-io/bpmn-js/pull/1648))
- `DEPS`: update to `diagram-js@8.3.0`
- `DEPS`: update to `min-dom@3.2.0`

###
[`v9.0.4`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#904)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.0.3...v9.0.4)

- `FIX`: remove `label` property on empty label
([#&#8203;1637](https://redirect.github.com/bpmn-io/bpmn-js/issues/1637))
- `FIX`: create drilldown overlays on `viewer.open`
([`574a67438`](https://redirect.github.com/bpmn-io/bpmn-js/commit/574a674381d6449b509396b6d17c4ca94674ea1c))
- `FIX`: render data association inside collapsed sub-processes
([#&#8203;1619](https://redirect.github.com/bpmn-io/bpmn-js/issues/1619))
- `FIX`: preserve multi-instance properties when toggling between
parallel and sequential
([#&#8203;1581](https://redirect.github.com/bpmn-io/bpmn-js/issues/1581))
- `FIX`: correct hanging sequence flow label after collapsing
sub-process
([#&#8203;1617](https://redirect.github.com/bpmn-io/bpmn-js/issues/1617))
- `FIX`: correct start event not added to newly created sub-process
([#&#8203;1631](https://redirect.github.com/bpmn-io/bpmn-js/issues/1631))

###
[`v9.0.3`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#903)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.0.2...v9.0.3)

- `FIX`: submit direct editing result on drilldown
([#&#8203;1609](https://redirect.github.com/bpmn-io/bpmn-js/issues/1609))
- `DEPS`: bump to `diagram-js@8.2.0`
([2bac149](https://redirect.github.com/bpmn-io/bpmn-js/commit/2bac1495058601fec203c134b41efe5600e5fc97))

###
[`v9.0.2`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#902)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.0.1...v9.0.2)

- `FIX`: support modeling of groups in collapsed subporcesses
([#&#8203;1606](https://redirect.github.com/bpmn-io/bpmn-js/issues/1606))
- `FIX`: override default padding of breadcrumb element
([#&#8203;1608](https://redirect.github.com/bpmn-io/bpmn-js/pull/1608))

###
[`v9.0.1`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#901)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v9.0.0...v9.0.1)

- `FIX`: use ES5 everywhere
([#&#8203;1605](https://redirect.github.com/bpmn-io/bpmn-js/pull/1605))
- `FIX`: support DIs without associated business object
([#&#8203;1605](https://redirect.github.com/bpmn-io/bpmn-js/pull/1605))
- `DEPS`: bump to `diagram-js@8.1.2`
([bdf9cf3](https://redirect.github.com/bpmn-io/bpmn-js/commit/bdf9cf3e752254a4c8172031d8a493955a9fca9c))

###
[`v9.0.0`](https://redirect.github.com/bpmn-io/bpmn-js/blob/HEAD/CHANGELOG.md#900)

[Compare
Source](https://redirect.github.com/bpmn-io/bpmn-js/compare/v8.10.0...v9.0.0)

- `FEAT`: support drilldown and modeling of collapsed subprocesses
([#&#8203;1443](https://redirect.github.com/bpmn-io/bpmn-js/issues/1443))
- `FEAT`: update embedded label bounds when shape is moved
([#&#8203;1586]

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At 08:00 PM through 11:59 PM and 12:00
AM through 08:59 AM, Monday through Friday ( * 20-23,0-8 * * 1-5 ), Only
on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXJlYS9mcm9udGVuZCIsImF1dG9tZXJnZSIsImRlcGVuZGVuY2llcyJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants