Skip to content

0.3.7

Latest

Choose a tag to compare

@bojtospeter bojtospeter released this 02 Sep 11:14
· 468 commits to main since this release

Camunda 7 to 8 Migration Tooling 0.3.7

This release makes migration analysis more actionable: Camunda Forms are now first-class migration assets, converted models can be inspected before adoption, and code recipes provide safer guidance for the places where Camunda 7 and Camunda 8 differ most.

Highlights

Camunda Forms join the migration workflow

The Diagram Converter now handles .form files in both the CLI and web application.

  • Convert form platform metadata for Camunda 8 while preserving the form’s semantics.
  • Analyze forms alongside BPMN and DMN, with findings for schema versions, unsupported components, unsafe expressions, and other items requiring review.
  • Safely transform simple JUEL variable references such as ${customerName} or #{customerName} into FEEL (= customerName). Complex expressions, method calls, interpolation, and execution-context references remain visible as manual-review findings instead of being changed blindly.
  • Preview converted forms directly in the web application.
  • Detect generated task forms and flag them for manual migration with actionable guidance.

Why it’s awesome: less repetitive cleanup, better visibility into migration risk, and a conservative conversion path that protects behavior when an automatic transformation is not provably safe.

Inspect the result before you commit to it

The Diagram Converter web application now turns analysis into an interactive review experience.

  • Preview the converted BPMN and DMN content, not just the original models.
  • See findings for every supported file type, including forms.
  • Filter findings by severity, understand what each severity means, and jump from a finding to its element in the BPMN diagram.
  • Review results in a real modal with improved keyboard and semantic accessibility.
  • Recover gracefully from conversion failures and keep navigation available.
  • Export analysis as machine-readable JSON from both the CLI and web application, alongside the existing CSV, XLSX, and Markdown formats.
  • Get clearer upload guidance, batch-limit feedback, and a better path to the local converter for larger or sensitive migrations.

Why it’s awesome: migration stops being a black box. You can understand what changed, prioritize the risky findings, automate downstream reporting, and make an informed decision before deploying converted assets.

Code recipes are safer around migration edge cases

The code-conversion recipes now provide more useful output for APIs and patterns that do not have a direct one-to-one equivalent in Camunda 8.

  • Detect HistoryService usage and add TODO guidance with relevant Orchestration Cluster REST API endpoints.
  • Migrate businessKey to businessId in supported start-process methods, while keeping explicit review guidance where semantics differ or business-key propagation continues through a call activity.
  • Preserve delegate logic when client and delegate recipes run together, correct processDefinitionKey(...).list() migrations, and warn when business logic or business-key filters need human follow-up.
  • Add explicit deployment guidance for converted BPMN and DMN resources, including cases where Camunda 7 relied on implicit classpath deployment.
  • Expand the migration skill with a model-migration path and a C7 engine fallback when local BPMN/DMN files are not available.

Why it’s awesome: the tooling is more honest about what it can automate—and much better at leaving precise next steps instead of silently dropping behavior or producing incomplete migrations.

Issues addressed

  • #2085 prevents delegate business logic from being silently lost when client and delegate recipes are combined.
  • #2368 brings safe, simple JUEL-to-FEEL form expression migration into the conversion pipeline while retaining review findings for unsafe cases.

Reliability and security

  • Align data and history migration with Camunda 8’s enforced OpenAPI nullability contract and required placeholder values.
  • Fix Cockpit plugin packaging so the plugin loads correctly in-browser.
  • Prevent CSV formula injection in analysis output.
  • Include npm manifests in JAR artifacts and update dependency handling for vulnerability scanning.
  • Address multiple high-severity dependency vulnerabilities across logging, HTTP, Jackson, Tomcat, and npm dependencies.
  • Improve Windows coverage, database compatibility test stability, runtime test parallelization, failure reporting, and release publication to Maven Central.

Full changelog

[Compare 0.3.5...0.3.7](0.3.5...0.3.7)