Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protocol Jackson improvements #8837

Closed
npepinpe opened this issue Feb 24, 2022 · 1 comment · Fixed by #8945, #8948, #8973 or #8977
Closed

Protocol Jackson improvements #8837

npepinpe opened this issue Feb 24, 2022 · 1 comment · Fixed by #8945, #8948, #8973 or #8977
Assignees
Labels
kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0

Comments

@npepinpe
Copy link
Member

npepinpe commented Feb 24, 2022

Description

There are some existing issues with the current implementation of the protocol-jackson module. The main issues are:

  1. For every type created in protocol, we need to add a corresponding type in protocol-jackson.
  2. This is error prone (as example, we already have missing types), and it's not so easy to add tests to guarantee this (though do-able)
  3. This adds unnecessary overhead for developers
  4. The Immutable implementations are hidden - this was to reduce the API surface, but it turns out that this blocks, to some extent, interoperability with other tools and libraries, especially those operating by reflection (e.g. fixture/data generators)
  5. Each of the types added in protocol-jackson need to also define how to deserialize nested types. This is also error prone and adds overhead for developers, and difficult to ensure via tests.
  6. Copying into an immutable structure is a shallow copy, as Immutables doesn't recognize that, say, JobRecordValue is equivalent to AbstractJobRecordValue.

The proposed solution is:

  • Annotate the existing types in the protocol module directly. These annotations are compile-time only, and as such, there is no extra dependency added to the module.
  • We combine all required annotations in a single one: ZeebeProtocolValue (or even just ProtocolValue - or suggest anything). This not only makes it easier to guarantee all types are correctly annotated, but also opens up the way for Use annotations to link values, value types, and intents together #8886 and other properties we would like to enforce in our protocol
  • We would not add the Jackson bindings there, however, but instead keep protocol-jackson specifically to define a ZeebeProtocolModule, as is common with Jackson to define custom serialization.
  • A new module will be created, protocol-util, which would add utilities to help using the protocol, notably make explicit the mapping of ValueType, Intent, and T extends RecordValue, and also keep track of the mapping between the interface types (e.g. JobRecordValue), their immutable counter part (e.g. ImmutableJobRecordValue), and their builders (e.g. ImmutableJobRecordValue.Builder). This is then used by the protocol-jackson module and any other module which wants this information (e.g. protocol-test-util).

This has several advantages:

  1. Copying is now a deep copy, as you would expect
  2. You can more easily use the Immutable* variants when you need to, and if you don't care about the serialization part, you can still use them
  3. We can easily add a ArchUnit test which checks that the interface types are correctly annotated (which guarantees they will generate an immutable equivalent)
  4. The mapping of ValueType, Intent, and values is made explicit - this can be further improved via Use annotations to link values, value types, and intents together #8886
  5. It makes it very easy to add a random record generator once we have protocol-util and the immutable variants
  6. The protocol-jackson module now is better defined - it's literally just a single Jackson module which you add to your object mapper and now knows how to deserialize the Zeebe protocol.
  7. Having a random record factory which you can semi control (i.e. reusing protocol-util) makes it much easier to write exporter unit tests, where the data in the records isn't so important in most cases

See the draft PR for an idea of what it would look like.

@npepinpe npepinpe added the kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. label Feb 24, 2022
@npepinpe npepinpe added this to In progress in Zeebe Feb 25, 2022
@npepinpe npepinpe self-assigned this Mar 14, 2022
@npepinpe npepinpe changed the title [PLACEHOLDER] Protocol Jackson improvements Protocol Jackson improvements Mar 14, 2022
ghost pushed a commit that referenced this issue Mar 15, 2022
8904: deps(maven): bump maven-compiler-plugin from 3.10.0 to 3.10.1 r=npepinpe a=dependabot[bot]

Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.10.0 to 3.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/apache/maven-compiler-plugin/releases">maven-compiler-plugin's releases</a>.</em></p>
<blockquote>
<h2>3.10.1</h2>
<!-- raw HTML omitted -->
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-426">[MCOMPILER-426]</a> - add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a> - workaround to jdk bug: assertion error from javaxcompiler javax.tools API (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/97">#97</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-485">[MCOMPILER-485]</a> - Fixes internal string format in generated package-info.class (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/95">#95</a>) <a href="https://github.com/dbwiddis"><code>@​dbwiddis</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>Other contributions</h2>
<ul>
<li>thanks to <a href="https://github.com/basil"><code>@​basil</code></a> for providing an IT test for the fix of <a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4e08e2b9518fbbda7252236315b2ce03edcef505"><code>4e08e2b</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.10.1</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/6795b0f508343dbc64dba384b85af2f1f3684b7a"><code>6795b0f</code></a> [MCOMPILER-426] add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>)</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/1de8c91fba76fc345dca64cea300839bef436cba"><code>1de8c91</code></a> MCOMPILER 346 workaround to jdk bug: assertion error from javaxcompiler javax...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/96ed94f5bcc0de6b6bd36816ce5caf3100dcd840"><code>96ed94f</code></a> use shared release drafter</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/fa80028166ffde859b1a1e20547701a9bed34d54"><code>fa80028</code></a> [MCOMPILER-485] Fixes internal string format in generated package-info.class ...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/f605c0f52f20bf80c7473ec642474ba4fc028d4c"><code>f605c0f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a> from apache/dependabot/maven/org.apache.maven.plugins-...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4a54a9a01486e3c806518df56204cb1528545bb9"><code>4a54a9a</code></a> Bump maven-javadoc-plugin from 3.3.1 to 3.3.2</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/87b5a7ff8aef572238f8ccef7d213ea0772ce49d"><code>87b5a7f</code></a> [maven-release-plugin] prepare for next development iteration</li>
<li>See full diff in <a href="https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.10.0...maven-compiler-plugin-3.10.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-compiler-plugin&package-manager=maven&previous-version=3.10.0&new-version=3.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8910: Update docker dependencies as well r=npepinpe a=npepinpe

## Description

We previously omitted updating the Docker dependencies in the Go project, as there was some weird redirects/replacements going on then. I think these have largely been fixed (emphasis on I think 😅), so I would like to try again updating them, since they're often flagged as security issues by dependabot.



Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8910: Update docker dependencies as well r=npepinpe a=npepinpe

## Description

We previously omitted updating the Docker dependencies in the Go project, as there was some weird redirects/replacements going on then. I think these have largely been fixed (emphasis on I think 😅), so I would like to try again updating them, since they're often flagged as security issues by dependabot.



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8904: deps(maven): bump maven-compiler-plugin from 3.10.0 to 3.10.1 r=npepinpe a=dependabot[bot]

Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.10.0 to 3.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/apache/maven-compiler-plugin/releases">maven-compiler-plugin's releases</a>.</em></p>
<blockquote>
<h2>3.10.1</h2>
<!-- raw HTML omitted -->
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-426">[MCOMPILER-426]</a> - add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a> - workaround to jdk bug: assertion error from javaxcompiler javax.tools API (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/97">#97</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-485">[MCOMPILER-485]</a> - Fixes internal string format in generated package-info.class (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/95">#95</a>) <a href="https://github.com/dbwiddis"><code>@​dbwiddis</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>Other contributions</h2>
<ul>
<li>thanks to <a href="https://github.com/basil"><code>@​basil</code></a> for providing an IT test for the fix of <a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4e08e2b9518fbbda7252236315b2ce03edcef505"><code>4e08e2b</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.10.1</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/6795b0f508343dbc64dba384b85af2f1f3684b7a"><code>6795b0f</code></a> [MCOMPILER-426] add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>)</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/1de8c91fba76fc345dca64cea300839bef436cba"><code>1de8c91</code></a> MCOMPILER 346 workaround to jdk bug: assertion error from javaxcompiler javax...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/96ed94f5bcc0de6b6bd36816ce5caf3100dcd840"><code>96ed94f</code></a> use shared release drafter</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/fa80028166ffde859b1a1e20547701a9bed34d54"><code>fa80028</code></a> [MCOMPILER-485] Fixes internal string format in generated package-info.class ...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/f605c0f52f20bf80c7473ec642474ba4fc028d4c"><code>f605c0f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a> from apache/dependabot/maven/org.apache.maven.plugins-...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4a54a9a01486e3c806518df56204cb1528545bb9"><code>4a54a9a</code></a> Bump maven-javadoc-plugin from 3.3.1 to 3.3.2</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/87b5a7ff8aef572238f8ccef7d213ea0772ce49d"><code>87b5a7f</code></a> [maven-release-plugin] prepare for next development iteration</li>
<li>See full diff in <a href="https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.10.0...maven-compiler-plugin-3.10.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-compiler-plugin&package-manager=maven&previous-version=3.10.0&new-version=3.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8913: deps(maven): bump versions-maven-plugin from 2.9.0 to 2.10.0 r=npepinpe a=dependabot[bot]

Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mojohaus/versions-maven-plugin/releases">versions-maven-plugin's releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have no version in current POM but in parent POM (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/562">#562</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/538">#538</a> switch to non-deprecated ModelInterpolator (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/549">#549</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li>Fixed regression in the maven site rendering (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/537">#537</a>) <a href="https://github.com/sultan"><code>@​sultan</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/543">#543</a> set-property: add back support for multiple property names separates by &quot;,&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/546">#546</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/542">#542</a> display-dependency-updates: restore support for writing output files (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/547">#547</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/544">#544</a> set-property: improve validation of plugin parameters: (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/545">#545</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> Rename parameter versions.displayTerminalWidth to versions.outputLineWidth (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/573">#573</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable whether project.build.outputTimestamp is updated or not (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/570">#570</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump mockito-core from 4.3.1 to 4.4.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/569">#569</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/566">#566</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-api from 3.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/556">#556</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-impl from 3.0.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/557">#557</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump modello-maven-plugin from 1.11 to 2.0.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/560">#560</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.3.0 to 4.3.1 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/548">#548</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.2.0 to 4.3.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/541">#541</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-plugin from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/534">#534</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-annotations from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/535">#535</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>👻 Maintenance</h2>
<ul>
<li>Maven Wrapper v3.1.0 with Maven v3.8.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/565">#565</a>) <a href="https://github.com/nhojpatrick"><code>@​nhojpatrick</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e15c8420e9afae98709516ee6a88edda1ca074b9"><code>e15c842</code></a> [maven-release-plugin] prepare release versions-maven-plugin-2.10.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/d0eb53ced829df1af9cfd927540dbf0a3ce4622c"><code>d0eb53c</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> rename parameter versions.displayTerminalWidth to versions.outputLineWidth</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/ba4e673214d7fd18bbb8d4ff0ea87d61d636ee40"><code>ba4e673</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable wh...</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8cfe5d00f3caeed84cdf0d49bae074e2e498c487"><code>8cfe5d0</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>)</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/65fa0ee274104f7aec4984594c440184dee92df0"><code>65fa0ee</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have not version in current POM but in parent POM</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/50e624a20ab1b18305168917eb0a3b019615e857"><code>50e624a</code></a> Maven Wrapper v3.1.0 with Maven v3.8.4</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/c5f4a7a828e1ffe9f04db959fe54db1644b927dd"><code>c5f4a7a</code></a> Bump mockito-core from 4.3.1 to 4.4.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/79d94af3d7958a5f50fb845e3a8503d55126a72d"><code>79d94af</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8aa57f237550992c455b8e389947ce70352b6b65"><code>8aa57f2</code></a> Bump maven-reporting-api from 3.0 to 3.1.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e5d77b88e91a83d6770155d4b406e87ede460d98"><code>e5d77b8</code></a> Bump maven-reporting-impl from 3.0.0 to 3.1.0</li>
<li>Additional commits viewable in <a href="https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.9.0...versions-maven-plugin-2.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.codehaus.mojo:versions-maven-plugin&package-manager=maven&previous-version=2.9.0&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8906: feat: introduce foreign keys r=oleschoenburg a=oleschoenburg

## Description

This introduces a new type `DbForeignKey` that wraps an inner key and contains the name of the column family that the inner key belongs to. When used in place of regular keys or values, this allows `TransactionalColumnFamily` to check during insert/update/upsert, that the foreign key does exist in the specified column family. The lookup is implemented in `ForeignKeyChecker` which can be thought of as a flexible version of `TransactionalColumnFamily` that supports lookups over arbitrary column families.

To avoid the cost of recursively unwrapping composite keys to search for foreign keys that should be checked, constructing a composite key pre-collects a list of contained foreign keys.

The checking of foreign keys can be controlled by the feature flag `zeebe.broker.experimental.consistencyChecks.enableForeignKeys` which is off by default except for tests.

## Related issues

<!-- Which issues are closed by this PR or are related -->

relates to #8884 


8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8913: deps(maven): bump versions-maven-plugin from 2.9.0 to 2.10.0 r=npepinpe a=dependabot[bot]

Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mojohaus/versions-maven-plugin/releases">versions-maven-plugin's releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have no version in current POM but in parent POM (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/562">#562</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/538">#538</a> switch to non-deprecated ModelInterpolator (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/549">#549</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li>Fixed regression in the maven site rendering (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/537">#537</a>) <a href="https://github.com/sultan"><code>@​sultan</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/543">#543</a> set-property: add back support for multiple property names separates by &quot;,&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/546">#546</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/542">#542</a> display-dependency-updates: restore support for writing output files (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/547">#547</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/544">#544</a> set-property: improve validation of plugin parameters: (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/545">#545</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> Rename parameter versions.displayTerminalWidth to versions.outputLineWidth (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/573">#573</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable whether project.build.outputTimestamp is updated or not (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/570">#570</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump mockito-core from 4.3.1 to 4.4.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/569">#569</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/566">#566</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-api from 3.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/556">#556</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-impl from 3.0.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/557">#557</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump modello-maven-plugin from 1.11 to 2.0.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/560">#560</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.3.0 to 4.3.1 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/548">#548</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.2.0 to 4.3.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/541">#541</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-plugin from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/534">#534</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-annotations from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/535">#535</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>👻 Maintenance</h2>
<ul>
<li>Maven Wrapper v3.1.0 with Maven v3.8.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/565">#565</a>) <a href="https://github.com/nhojpatrick"><code>@​nhojpatrick</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e15c8420e9afae98709516ee6a88edda1ca074b9"><code>e15c842</code></a> [maven-release-plugin] prepare release versions-maven-plugin-2.10.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/d0eb53ced829df1af9cfd927540dbf0a3ce4622c"><code>d0eb53c</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> rename parameter versions.displayTerminalWidth to versions.outputLineWidth</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/ba4e673214d7fd18bbb8d4ff0ea87d61d636ee40"><code>ba4e673</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable wh...</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8cfe5d00f3caeed84cdf0d49bae074e2e498c487"><code>8cfe5d0</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>)</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/65fa0ee274104f7aec4984594c440184dee92df0"><code>65fa0ee</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have not version in current POM but in parent POM</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/50e624a20ab1b18305168917eb0a3b019615e857"><code>50e624a</code></a> Maven Wrapper v3.1.0 with Maven v3.8.4</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/c5f4a7a828e1ffe9f04db959fe54db1644b927dd"><code>c5f4a7a</code></a> Bump mockito-core from 4.3.1 to 4.4.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/79d94af3d7958a5f50fb845e3a8503d55126a72d"><code>79d94af</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8aa57f237550992c455b8e389947ce70352b6b65"><code>8aa57f2</code></a> Bump maven-reporting-api from 3.0 to 3.1.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e5d77b88e91a83d6770155d4b406e87ede460d98"><code>e5d77b8</code></a> Bump maven-reporting-impl from 3.0.0 to 3.1.0</li>
<li>Additional commits viewable in <a href="https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.9.0...versions-maven-plugin-2.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.codehaus.mojo:versions-maven-plugin&package-manager=maven&previous-version=2.9.0&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: Ole Schönburg <ole.schoenburg@gmail.com>
Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8913: deps(maven): bump versions-maven-plugin from 2.9.0 to 2.10.0 r=npepinpe a=dependabot[bot]

Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mojohaus/versions-maven-plugin/releases">versions-maven-plugin's releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have no version in current POM but in parent POM (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/562">#562</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/538">#538</a> switch to non-deprecated ModelInterpolator (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/549">#549</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li>Fixed regression in the maven site rendering (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/537">#537</a>) <a href="https://github.com/sultan"><code>@​sultan</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/543">#543</a> set-property: add back support for multiple property names separates by &quot;,&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/546">#546</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/542">#542</a> display-dependency-updates: restore support for writing output files (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/547">#547</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/544">#544</a> set-property: improve validation of plugin parameters: (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/545">#545</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> Rename parameter versions.displayTerminalWidth to versions.outputLineWidth (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/573">#573</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable whether project.build.outputTimestamp is updated or not (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/570">#570</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump mockito-core from 4.3.1 to 4.4.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/569">#569</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/566">#566</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-api from 3.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/556">#556</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-impl from 3.0.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/557">#557</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump modello-maven-plugin from 1.11 to 2.0.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/560">#560</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.3.0 to 4.3.1 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/548">#548</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.2.0 to 4.3.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/541">#541</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-plugin from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/534">#534</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-annotations from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/535">#535</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>👻 Maintenance</h2>
<ul>
<li>Maven Wrapper v3.1.0 with Maven v3.8.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/565">#565</a>) <a href="https://github.com/nhojpatrick"><code>@​nhojpatrick</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e15c8420e9afae98709516ee6a88edda1ca074b9"><code>e15c842</code></a> [maven-release-plugin] prepare release versions-maven-plugin-2.10.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/d0eb53ced829df1af9cfd927540dbf0a3ce4622c"><code>d0eb53c</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> rename parameter versions.displayTerminalWidth to versions.outputLineWidth</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/ba4e673214d7fd18bbb8d4ff0ea87d61d636ee40"><code>ba4e673</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable wh...</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8cfe5d00f3caeed84cdf0d49bae074e2e498c487"><code>8cfe5d0</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>)</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/65fa0ee274104f7aec4984594c440184dee92df0"><code>65fa0ee</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have not version in current POM but in parent POM</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/50e624a20ab1b18305168917eb0a3b019615e857"><code>50e624a</code></a> Maven Wrapper v3.1.0 with Maven v3.8.4</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/c5f4a7a828e1ffe9f04db959fe54db1644b927dd"><code>c5f4a7a</code></a> Bump mockito-core from 4.3.1 to 4.4.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/79d94af3d7958a5f50fb845e3a8503d55126a72d"><code>79d94af</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8aa57f237550992c455b8e389947ce70352b6b65"><code>8aa57f2</code></a> Bump maven-reporting-api from 3.0 to 3.1.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e5d77b88e91a83d6770155d4b406e87ede460d98"><code>e5d77b8</code></a> Bump maven-reporting-impl from 3.0.0 to 3.1.0</li>
<li>Additional commits viewable in <a href="https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.9.0...versions-maven-plugin-2.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.codehaus.mojo:versions-maven-plugin&package-manager=maven&previous-version=2.9.0&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8913: deps(maven): bump versions-maven-plugin from 2.9.0 to 2.10.0 r=npepinpe a=dependabot[bot]

Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mojohaus/versions-maven-plugin/releases">versions-maven-plugin's releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have no version in current POM but in parent POM (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/562">#562</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/538">#538</a> switch to non-deprecated ModelInterpolator (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/549">#549</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li>Fixed regression in the maven site rendering (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/537">#537</a>) <a href="https://github.com/sultan"><code>@​sultan</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/543">#543</a> set-property: add back support for multiple property names separates by &quot;,&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/546">#546</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/542">#542</a> display-dependency-updates: restore support for writing output files (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/547">#547</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/544">#544</a> set-property: improve validation of plugin parameters: (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/545">#545</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> Rename parameter versions.displayTerminalWidth to versions.outputLineWidth (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/573">#573</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable whether project.build.outputTimestamp is updated or not (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/570">#570</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump mockito-core from 4.3.1 to 4.4.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/569">#569</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/566">#566</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-api from 3.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/556">#556</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-impl from 3.0.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/557">#557</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump modello-maven-plugin from 1.11 to 2.0.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/560">#560</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.3.0 to 4.3.1 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/548">#548</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.2.0 to 4.3.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/541">#541</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-plugin from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/534">#534</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-annotations from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/535">#535</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>👻 Maintenance</h2>
<ul>
<li>Maven Wrapper v3.1.0 with Maven v3.8.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/565">#565</a>) <a href="https://github.com/nhojpatrick"><code>@​nhojpatrick</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e15c8420e9afae98709516ee6a88edda1ca074b9"><code>e15c842</code></a> [maven-release-plugin] prepare release versions-maven-plugin-2.10.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/d0eb53ced829df1af9cfd927540dbf0a3ce4622c"><code>d0eb53c</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> rename parameter versions.displayTerminalWidth to versions.outputLineWidth</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/ba4e673214d7fd18bbb8d4ff0ea87d61d636ee40"><code>ba4e673</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable wh...</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8cfe5d00f3caeed84cdf0d49bae074e2e498c487"><code>8cfe5d0</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>)</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/65fa0ee274104f7aec4984594c440184dee92df0"><code>65fa0ee</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have not version in current POM but in parent POM</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/50e624a20ab1b18305168917eb0a3b019615e857"><code>50e624a</code></a> Maven Wrapper v3.1.0 with Maven v3.8.4</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/c5f4a7a828e1ffe9f04db959fe54db1644b927dd"><code>c5f4a7a</code></a> Bump mockito-core from 4.3.1 to 4.4.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/79d94af3d7958a5f50fb845e3a8503d55126a72d"><code>79d94af</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8aa57f237550992c455b8e389947ce70352b6b65"><code>8aa57f2</code></a> Bump maven-reporting-api from 3.0 to 3.1.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e5d77b88e91a83d6770155d4b406e87ede460d98"><code>e5d77b8</code></a> Bump maven-reporting-impl from 3.0.0 to 3.1.0</li>
<li>Additional commits viewable in <a href="https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.9.0...versions-maven-plugin-2.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.codehaus.mojo:versions-maven-plugin&package-manager=maven&previous-version=2.9.0&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ghost pushed a commit that referenced this issue Mar 15, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 16, 2022
8904: deps(maven): bump maven-compiler-plugin from 3.10.0 to 3.10.1 r=npepinpe a=dependabot[bot]

Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.10.0 to 3.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/apache/maven-compiler-plugin/releases">maven-compiler-plugin's releases</a>.</em></p>
<blockquote>
<h2>3.10.1</h2>
<!-- raw HTML omitted -->
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-426">[MCOMPILER-426]</a> - add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a> - workaround to jdk bug: assertion error from javaxcompiler javax.tools API (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/97">#97</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-485">[MCOMPILER-485]</a> - Fixes internal string format in generated package-info.class (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/95">#95</a>) <a href="https://github.com/dbwiddis"><code>@​dbwiddis</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>Other contributions</h2>
<ul>
<li>thanks to <a href="https://github.com/basil"><code>@​basil</code></a> for providing an IT test for the fix of <a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4e08e2b9518fbbda7252236315b2ce03edcef505"><code>4e08e2b</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.10.1</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/6795b0f508343dbc64dba384b85af2f1f3684b7a"><code>6795b0f</code></a> [MCOMPILER-426] add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>)</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/1de8c91fba76fc345dca64cea300839bef436cba"><code>1de8c91</code></a> MCOMPILER 346 workaround to jdk bug: assertion error from javaxcompiler javax...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/96ed94f5bcc0de6b6bd36816ce5caf3100dcd840"><code>96ed94f</code></a> use shared release drafter</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/fa80028166ffde859b1a1e20547701a9bed34d54"><code>fa80028</code></a> [MCOMPILER-485] Fixes internal string format in generated package-info.class ...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/f605c0f52f20bf80c7473ec642474ba4fc028d4c"><code>f605c0f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a> from apache/dependabot/maven/org.apache.maven.plugins-...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4a54a9a01486e3c806518df56204cb1528545bb9"><code>4a54a9a</code></a> Bump maven-javadoc-plugin from 3.3.1 to 3.3.2</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/87b5a7ff8aef572238f8ccef7d213ea0772ce49d"><code>87b5a7f</code></a> [maven-release-plugin] prepare for next development iteration</li>
<li>See full diff in <a href="https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.10.0...maven-compiler-plugin-3.10.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-compiler-plugin&package-manager=maven&previous-version=3.10.0&new-version=3.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8913: deps(maven): bump versions-maven-plugin from 2.9.0 to 2.10.0 r=npepinpe a=dependabot[bot]

Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mojohaus/versions-maven-plugin/releases">versions-maven-plugin's releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have no version in current POM but in parent POM (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/562">#562</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/538">#538</a> switch to non-deprecated ModelInterpolator (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/549">#549</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li>Fixed regression in the maven site rendering (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/537">#537</a>) <a href="https://github.com/sultan"><code>@​sultan</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/543">#543</a> set-property: add back support for multiple property names separates by &quot;,&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/546">#546</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/542">#542</a> display-dependency-updates: restore support for writing output files (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/547">#547</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/544">#544</a> set-property: improve validation of plugin parameters: (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/545">#545</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> Rename parameter versions.displayTerminalWidth to versions.outputLineWidth (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/573">#573</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable whether project.build.outputTimestamp is updated or not (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/570">#570</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
<li><a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>) <a href="https://github.com/stefanseifert"><code>@​stefanseifert</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump mockito-core from 4.3.1 to 4.4.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/569">#569</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/566">#566</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-api from 3.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/556">#556</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-reporting-impl from 3.0.0 to 3.1.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/557">#557</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump modello-maven-plugin from 1.11 to 2.0.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/560">#560</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.3.0 to 4.3.1 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/548">#548</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump mockito-core from 4.2.0 to 4.3.0 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/541">#541</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-plugin from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/534">#534</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>Bump maven-plugin-annotations from 3.6.2 to 3.6.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/535">#535</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>👻 Maintenance</h2>
<ul>
<li>Maven Wrapper v3.1.0 with Maven v3.8.4 (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/565">#565</a>) <a href="https://github.com/nhojpatrick"><code>@​nhojpatrick</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e15c8420e9afae98709516ee6a88edda1ca074b9"><code>e15c842</code></a> [maven-release-plugin] prepare release versions-maven-plugin-2.10.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/d0eb53ced829df1af9cfd927540dbf0a3ce4622c"><code>d0eb53c</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> rename parameter versions.displayTerminalWidth to versions.outputLineWidth</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/ba4e673214d7fd18bbb8d4ff0ea87d61d636ee40"><code>ba4e673</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/568">#568</a> introduce updateBuildOutputTimestamp property to make it configurable wh...</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8cfe5d00f3caeed84cdf0d49bae074e2e498c487"><code>8cfe5d0</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/563">#563</a> introduce property &quot;versions.displayTerminalWidth&quot; (<a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/564">#564</a>)</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/65fa0ee274104f7aec4984594c440184dee92df0"><code>65fa0ee</code></a> <a href="https://github-redirect.dependabot.com/mojohaus/versions-maven-plugin/issues/550">#550</a> ignore plugins which have not version in current POM but in parent POM</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/50e624a20ab1b18305168917eb0a3b019615e857"><code>50e624a</code></a> Maven Wrapper v3.1.0 with Maven v3.8.4</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/c5f4a7a828e1ffe9f04db959fe54db1644b927dd"><code>c5f4a7a</code></a> Bump mockito-core from 4.3.1 to 4.4.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/79d94af3d7958a5f50fb845e3a8503d55126a72d"><code>79d94af</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/8aa57f237550992c455b8e389947ce70352b6b65"><code>8aa57f2</code></a> Bump maven-reporting-api from 3.0 to 3.1.0</li>
<li><a href="https://github.com/mojohaus/versions-maven-plugin/commit/e5d77b88e91a83d6770155d4b406e87ede460d98"><code>e5d77b8</code></a> Bump maven-reporting-impl from 3.0.0 to 3.1.0</li>
<li>Additional commits viewable in <a href="https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.9.0...versions-maven-plugin-2.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.codehaus.mojo:versions-maven-plugin&package-manager=maven&previous-version=2.9.0&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8922: deps(maven): bump agrona from 1.14.0 to 1.15.0 r=npepinpe a=dependabot[bot]

Bumps [agrona](https://github.com/real-logic/agrona) from 1.14.0 to 1.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/real-logic/agrona/releases">agrona's releases</a>.</em></p>
<blockquote>
<h2>1.15.0</h2>
<ul>
<li>Fix bug with buffer expansion with <code>putAsciiInt</code> / <code>putAsciiLong</code> methods. PR <a href="https://github-redirect.dependabot.com/real-logic/agrona/issues/252">#252</a>.</li>
<li>Add <code>MemoryAccess</code> for abstract access to memory fences.</li>
<li>Treat warnings as errors during build.</li>
<li>Hide JCStress output unless there is an error.</li>
<li>Upgrade to guava-testlib 31.1-jre.</li>
<li>Upgrade to BND 6.2.0.</li>
<li>Upgrade to Versions 0.42.0.</li>
<li>Upgrade to Shadow 7.1.2.</li>
<li>Upgrade to JMH 1.34.</li>
<li>Upgrade to Mockito 4.4.0.</li>
<li>Upgrade to ByteBuddy 1.12.7.</li>
<li>Upgrade to JCStress 0.15.</li>
<li>Upgrade to Checkstyle 9.3.</li>
<li>Upgrade to JUnit 5.8.2.</li>
<li>Upgrade to Gradle 7.4.1.</li>
</ul>
<p>Binaries can be found <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.agrona%22%20agrona">here...</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/real-logic/agrona/commit/cf3afdf7a480895764c9b0871df16a5ac40e9efd"><code>cf3afdf</code></a> 1.15.0 released.</li>
<li><a href="https://github.com/real-logic/agrona/commit/36013cbb11694d03b61b0abce74c6050a3b93465"><code>36013cb</code></a> [Java] Upgrade to Gradle 7.4.1.</li>
<li><a href="https://github.com/real-logic/agrona/commit/999ce4ca33601679776f5cfbf23eb4b57d1d4abf"><code>999ce4c</code></a> Upgrade to Mockito 4.4.0.</li>
<li><a href="https://github.com/real-logic/agrona/commit/a798a46a91cb1ce8953785db9aa6737daaad7c43"><code>a798a46</code></a> [Java] Fix a bug in <code>putIntAscii/putLongAscii</code> methods with insufficient capa...</li>
<li><a href="https://github.com/real-logic/agrona/commit/4bd7848f80486506de2748b0b68a92dcd17cc5e9"><code>4bd7848</code></a> [Java] Upgrade to guava-testlib 31.1-jre.</li>
<li><a href="https://github.com/real-logic/agrona/commit/2a2a43b32f3a4dbafef26ac115ab1fd649b34f87"><code>2a2a43b</code></a> Upgrade to BND 6.2.0.</li>
<li><a href="https://github.com/real-logic/agrona/commit/a5f87d08b0af59495881c79071c748e4cfc26293"><code>a5f87d0</code></a> Javadoc.</li>
<li><a href="https://github.com/real-logic/agrona/commit/b9cd03e6fba85098aa6e940d62ce70d06eb06f61"><code>b9cd03e</code></a> Upgrade to Checkstyle 9.3.</li>
<li><a href="https://github.com/real-logic/agrona/commit/6373da6bb337973d4be9880a3b55d800587ae083"><code>6373da6</code></a> Upgrade to Versions 0.42.0.</li>
<li><a href="https://github.com/real-logic/agrona/commit/181ce5664f873aafcd4e6eda0481543c607e1a49"><code>181ce56</code></a> Upgrade to Mockito 4.3.1.</li>
<li>Additional commits viewable in <a href="https://github.com/real-logic/agrona/compare/1.14.0...1.15.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.agrona:agrona&package-manager=maven&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8923: deps(go): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 in /clients/go r=npepinpe a=dependabot[bot]

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/stretchr/testify/commit/083ff1c0449867d0d8d456483ee5fab8e0c0e1e6"><code>083ff1c</code></a> Fixed didPanic to now detect panic(nil).</li>
<li><a href="https://github.com/stretchr/testify/commit/1e36bfe10404cb77c12f6dfc8665564f3a41ad7e"><code>1e36bfe</code></a> Use cross Go version compatible build tag syntax</li>
<li><a href="https://github.com/stretchr/testify/commit/e798dc2763edab11eadc45df377ff160c6c86fd1"><code>e798dc2</code></a> Add docs on 1.17 build tags</li>
<li><a href="https://github.com/stretchr/testify/commit/83198c2c50a6190cf9b038c485c65c5ed8b6cd3a"><code>83198c2</code></a> assert: guard CanConvert call in backward compatible wrapper</li>
<li><a href="https://github.com/stretchr/testify/commit/087b655c75372ea14309c2df573a2280c54afac6"><code>087b655</code></a> assert: allow comparing time.Time</li>
<li><a href="https://github.com/stretchr/testify/commit/7bcf74e94f95af11a6a7c0b9a5d9a719605d4faa"><code>7bcf74e</code></a> fix msgAndArgs forwarding</li>
<li><a href="https://github.com/stretchr/testify/commit/c29de713426fdf9068696c483705fdbb24a815ac"><code>c29de71</code></a> add tests for correct msgAndArgs forwarding</li>
<li><a href="https://github.com/stretchr/testify/commit/f87e2b211992baaf0251ae5ad1a530aaa9266570"><code>f87e2b2</code></a> Update builds</li>
<li><a href="https://github.com/stretchr/testify/commit/ab6dc3262822ed562480c19876b0257ace761e3e"><code>ab6dc32</code></a> fix linting errors in /assert package</li>
<li><a href="https://github.com/stretchr/testify/commit/edff5a049b1c4eacd84bec25bcf7e7852b7c1163"><code>edff5a0</code></a> fix funtion name</li>
<li>Additional commits viewable in <a href="https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.0&new-version=1.7.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 16, 2022
8904: deps(maven): bump maven-compiler-plugin from 3.10.0 to 3.10.1 r=npepinpe a=dependabot[bot]

Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.10.0 to 3.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/apache/maven-compiler-plugin/releases">maven-compiler-plugin's releases</a>.</em></p>
<blockquote>
<h2>3.10.1</h2>
<!-- raw HTML omitted -->
<h2>🚀 New features and improvements</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-426">[MCOMPILER-426]</a> - add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a> - workaround to jdk bug: assertion error from javaxcompiler javax.tools API (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/97">#97</a>) <a href="https://github.com/olamy"><code>@​olamy</code></a></li>
<li><a href="https://issues.apache.org/jira/browse/MCOMPILER-485">[MCOMPILER-485]</a> - Fixes internal string format in generated package-info.class (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/95">#95</a>) <a href="https://github.com/dbwiddis"><code>@​dbwiddis</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>Other contributions</h2>
<ul>
<li>thanks to <a href="https://github.com/basil"><code>@​basil</code></a> for providing an IT test for the fix of <a href="https://issues.apache.org/jira/browse/MCOMPILER-346">[MCOMPILER-346]</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4e08e2b9518fbbda7252236315b2ce03edcef505"><code>4e08e2b</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.10.1</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/6795b0f508343dbc64dba384b85af2f1f3684b7a"><code>6795b0f</code></a> [MCOMPILER-426] add flag to enable-preview java compiler feature (<a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/98">#98</a>)</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/1de8c91fba76fc345dca64cea300839bef436cba"><code>1de8c91</code></a> MCOMPILER 346 workaround to jdk bug: assertion error from javaxcompiler javax...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/96ed94f5bcc0de6b6bd36816ce5caf3100dcd840"><code>96ed94f</code></a> use shared release drafter</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/fa80028166ffde859b1a1e20547701a9bed34d54"><code>fa80028</code></a> [MCOMPILER-485] Fixes internal string format in generated package-info.class ...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/f605c0f52f20bf80c7473ec642474ba4fc028d4c"><code>f605c0f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/apache/maven-compiler-plugin/issues/94">#94</a> from apache/dependabot/maven/org.apache.maven.plugins-...</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/4a54a9a01486e3c806518df56204cb1528545bb9"><code>4a54a9a</code></a> Bump maven-javadoc-plugin from 3.3.1 to 3.3.2</li>
<li><a href="https://github.com/apache/maven-compiler-plugin/commit/87b5a7ff8aef572238f8ccef7d213ea0772ce49d"><code>87b5a7f</code></a> [maven-release-plugin] prepare for next development iteration</li>
<li>See full diff in <a href="https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.10.0...maven-compiler-plugin-3.10.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-compiler-plugin&package-manager=maven&previous-version=3.10.0&new-version=3.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 16, 2022
8908: Add missing protocol-jackson types for DMN records r=npepinpe a=npepinpe

## Description

This PR adds the missing protocol types for DMN records, and a test which will fail if a new interface is added under `io.camunda.protocol.record.value` (or a sub-package) which has no corresponding abstract type (with the exception of `ProcessInstanceRelated`).

This isn't the ideal solution, and I would still push for #8837, but as I don't know when that will happen, this should help things fo r now.



8912: Rename distribution artifact from camunda-cloud-zeebe to camunda-zeebe r=npepinpe a=npepinpe

## Description

This PR renames the distribution artifact produced by `dist` to `camunda-zeebe`. This aligns the artifact names with other Camunda 8 artifacts in order to avoid confusion between Camunda and Camunda Cloud.

NOTE: I haven't tested the release since our release job picks up the scripts from `main`. I will test it once it's merged, but before the release. I anyway need to test the repo move before the release in April, so I would test them both then.

## Related issues

closes #8911



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
@npepinpe
Copy link
Member Author

First step would be:

  1. Annotate the protocol types directly, but do not use them yet.
  2. Introduce protocol-util, use accordingly in protocol-jackson.
  3. Refactor protocol-jackson to use the new types, i.e. it now only produces a single ZeebeProtocolModule as its public API. Update anywhere else which was using protocol-jackson.

We could do this in 3 PRs, ideally without too much time in between as otherwise there's dead code floating around which just leads to confusion.

ghost pushed a commit that referenced this issue Mar 21, 2022
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe

## Description

Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.

Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.

We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this.

This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).

## Related issues

related to #8837



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 21, 2022
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe

## Description

Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.

Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.

We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this.

This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).

## Related issues

related to #8837



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 21, 2022
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe

## Description

Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.

Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.

We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this.

This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).

## Related issues

related to #8837



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 21, 2022
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe

## Description

Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.

Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.

We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this.

This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).

## Related issues

related to #8837



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 21, 2022
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe

## Description

Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.

Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.

We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this.

This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).

## Related issues

related to #8837



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
ghost pushed a commit that referenced this issue Mar 22, 2022
8942: Rename Record#clone to Record#copyOf r=npepinpe a=npepinpe

## Description

Renames the `clone` method to `copyOf`. This was flagged as warning as the clone method is a special method in Java, with specific semantics, and the `Cloneable` interface is simply a marker interface to reuse the built-in cloning facitilities. As we were always implementing the method and changing the semantics, it's more accurate to use a copy method instead.

Marks the changes of renaming `Record#clone` to `Record#copyOf` as non-ABI breaking. This isn't technically correct, however:

- The interfaces in the protocol are meant purely for consumption and not for implementation
- The impact of renaming `clone` to `copyOf` is fairly minimal, and the upgrade path is very simple
- Most users of the method would be exporters, which already receive a copied record, and thus usually don't need to use this method
- Cloneable is a marker interface which was useless, as we were re-implementing the clone method, and changing its semantics. Removing it is expected to have very little impact

## Related issues

related to #8837 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
@KerstinHebel KerstinHebel removed this from In progress in Zeebe Mar 23, 2022
zeebe-bors-camunda bot added a commit that referenced this issue Mar 25, 2022
8945: Introduce new immutable protocol r=npepinpe a=npepinpe

## Description

Introduces a new immutable protocol directly under `protocol`, which annotates the types directly. This has several advantages:

- We can now easily recursively copy the types (except for `Record`, which is a special case due to its generic typing)
- It's less error prone thanks to an ArchUnit test guaranteeing we don't forget to annotate the types
- It's less overhead for developers when adding new types
- It allows us to easily collect metadata about the types via reflection using annotations

This is the first step for #8837 - the next step will remove the immutable variants in `protocol-jackson` and replace them with this.

## Related issues

related to #8837 



8995: Introduce new commands to deploy resources in the Go client r=npepinpe a=npepinpe

## Description

This PR reverts the previous breaking changes and instead introduces new commands to deploy decisions and decision requirements. The client must now use `client.NewDeployResourceCommand()`, and the old `client.NewDeployProcessCommand()` has been restored. Similarly, `zbctl` now supports its old `zbctl deploy <path> <path>` behavior, but also supports `zbctl deploy resource mySuper.dmn` as well, which behaves the same as the old deploy command but can deploy DMN files.

## Related issues

<!-- Which issues are closed by this PR or are related -->

related to #8979 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this issue Mar 26, 2022
8948: Introduce new protocol-util module r=npepinpe a=npepinpe

## Description

Adds a new module for protocol utilities, which for now provides a centralized way to discover type mappings, e.g. mapping value type to values or intents, or abstract protocol types to concrete protocol types.

These will be used in `protocol-jackson` in the next step, and later on in other modules, e.g. to generate random records.

## Related issues

related to #8837 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this issue Mar 26, 2022
8973: Refactor protocol-jackson to use the new immutable protocol r=npepinpe a=npepinpe

## Description

This PR updates the `protocol-jackson` module to make use of the new immutable protocol classes in `protocol`, using the `protocol-util` module to discover and map the abstract and concrete types together. As mentioned in the issue, the tests are somewhat minimal, but will be fleshed out as soon as the record factory is added in the next step.

## Related issues

related to #8837 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this issue Mar 29, 2022
8977: Add random protocol record/value factory r=npepinpe a=npepinpe

## Description

Adds a new utility to the `protocol-test-util` module which allows to generate random records and values in a deterministic way. Note that as data is randomly generated, the data has no meaning in itself - keys, positions, etc., are completely random. However, the `value` and `intent` are guaranteed to always be derived from the `valueType`.

This is currently used to properly test the deserialization of the protocol via Jackson, but can later be used for exporter related unit tests.

## Related issues

closes #8837 



8999: Add commit and record write quantile panels r=Zelldon a=Zelldon

## Description

Taking a look at performance issues often forces me at the end to look at the commit latencies, because of #8551 It is currently quite hard to compare latencies from two benchmarks, since this is show as a heatmap. 

![old-panels](https://user-images.githubusercontent.com/2758593/160366627-bfd3e8f3-9c59-4bd6-8831-6df5f4a6e8ca.png)

This PR should solve this issue, and allows me to not always recreate my panels (to see a difference).

It addes two new panels, one for the commit latency and one for the record write latency. Both show the quantiles (p90, p99), the median and the avg. 

The formulars were based on :  https://theswissbay.ch/pdf/Books/Computer%20science/prometheus_upandrunning.pdf (I use the book)


The new panels look like this:

![new-panels](https://user-images.githubusercontent.com/2758593/160366881-52720cfc-1bcd-4d46-8055-27c59a873c64.png)

this allows to easier compare it to other benchmark which perform worse like:

![otherbench-new-panels](https://user-images.githubusercontent.com/2758593/160366975-ffc7ac5d-3488-4ea7-9fd9-0839b365bfb1.png)


<!-- Please explain the changes you made here. -->

## Related issues

<!-- Which issues are closed by this PR or are related -->

related to #8551



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Co-authored-by: Christopher Zell <zelldon91@googlemail.com>
zeebe-bors-camunda bot added a commit that referenced this issue Mar 29, 2022
8977: Add random protocol record/value factory r=npepinpe a=npepinpe

## Description

Adds a new utility to the `protocol-test-util` module which allows to generate random records and values in a deterministic way. Note that as data is randomly generated, the data has no meaning in itself - keys, positions, etc., are completely random. However, the `value` and `intent` are guaranteed to always be derived from the `valueType`.

This is currently used to properly test the deserialization of the protocol via Jackson, but can later be used for exporter related unit tests.

## Related issues

closes #8837 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this issue Mar 30, 2022
8977: Add random protocol record/value factory r=npepinpe a=npepinpe

## Description

Adds a new utility to the `protocol-test-util` module which allows to generate random records and values in a deterministic way. Note that as data is randomly generated, the data has no meaning in itself - keys, positions, etc., are completely random. However, the `value` and `intent` are guaranteed to always be derived from the `valueType`.

This is currently used to properly test the deserialization of the protocol via Jackson, but can later be used for exporter related unit tests.

## Related issues

closes #8837 



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
@deepthidevaki deepthidevaki added the version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 label May 3, 2022
@Zelldon Zelldon added the version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0 label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0
Projects
None yet
4 participants