Repository navigation
Rebrand to Open Workflow Specification #1676
Description
What would you like to be added:
The Serverless Workflow Specification has been renamed to the Open Workflow Specification(open-workflow-specification/specification).
This SDK needs to follow suit. The GitHub org has already moved (README links already point to
open-workflow-specification), but the Maven coordinates, Java packages, and remaining branding are still
on the old name. Given the scope, this should land as a breaking change in 8.0.0.
Known places still referencing the old name/branding:
- Maven
groupId:io.serverlessworkflow→cloud.openworkflow - Maven
artifactIds (all underpom.xml/ modulepom.xmlfiles) - Java base package:
io.serverlessworkflow.*acrossapi,impl,types,annotations,serialization,mermaidmodules - Root
pom.xmlmetadata:<name>Serverless Workflow :: Parent</name>(and per-module<name>tags)<url>https://serverlessworkflow.io/sdk-java/</url><organization><name>Serverless Workflow Specification Authors</name><scm>block still points atgit@github.com:serverlessworkflow/sdk-java.git/https://github.com/serverlessworkflow/sdk-java
.github/ISSUE_TEMPLATE/*.md: "Serverless Workflow Java SDK" wording inbug-report.md,enhancement.md,question.mdREADME.mdand moduleREADME.mdfiles (impl/,impl/persistence/,impl/persistence/mvstore/,fluent/,mermaid/): remainingio.serverlessworkflow/serverlessworkflow-*snippets in dependency examples and badges (Gitpod/FOSSA badges already updated toopen-workflow-specification, but Maven coordinate examples were not)
Open questions to resolve before implementation:
- What is the new
groupId/ Maven Central coordinates? - Do we keep
io.serverlessworkflowas a deprecated/shaded compatibility package, or is this a clean break? - New Java base package name to replace
io.serverlessworkflow.*?
Proposed approach for old-coordinate compatibility (re: question 2):
Instead of a shaded/deprecated compatibility package, use Maven's built-in POM relocation mechanism.
Publish 8.0.0 under the new coordinates, and alongside it publish a stub POM for each of the nine
old serverlessworkflow-* artifacts containing only a <distributionManagement><relocation> pointing at
the corresponding new groupId:artifactId:version. Maven consumers (direct and transitive) resolving the
old coordinates get automatically redirected to the new artifact with a warning, no source changes
required. Example for serverlessworkflow-api:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>io.serverlessworkflow</groupId>
<artifactId>serverlessworkflow-api</artifactId>
<version>8.0.0</version>
<packaging>pom</packaging>
<distributionManagement>
<relocation>
<groupId>cloud.openworkflow</groupId>
<artifactId>openworkflow-api</artifactId>
<version>8.0.0</version>
<message>io.serverlessworkflow:serverlessworkflow-api has moved to org.openworkflow:openworkflow-api.</message>
</relocation>
</distributionManagement>
</project>Caveats:
- Requires one stub POM per module (all nine artifacts).
- Publishing to Maven Central requires being a verified owner of both the old and new groupId namespaces.
- Gradle's
maven-publishplugin can generate relocation POMs and Gradle does resolve them, but this path is less battle-tested than Maven's own resolver — verify with a real Gradle consumer before relying on it. - Relocation only redirects dependency resolution; it does not rewrite
io.serverlessworkflow.*Java imports, so consumer code still needs a manual package migration regardless. - Sources: Apache Maven — Guide to relocation, Gradle — The Maven Publish Plugin, Relocation of Maven Package in Maven Central
Why is this needed:
The upstream spec project completed its rename to Open Workflow Specification. Keeping the old
io.serverlessworkflow naming in Maven coordinates and Java packages after the spec's rebrand is
confusing for consumers and inconsistent with the already-updated README/org references. 8.0.0 (major
version bump) is the right place to make this breaking change.
Activity
mathecruz commentedon Sep 16, 2026
cc: @ricardozanini @fjtirado
ricardozanini commentedon Sep 16, 2026
The namespace should be either (a)
cloud.openworkflowor (b)org.openworkflowspecto mimic our DNS. I tend to like "(a)" more, but I'm ok with both.fjtirado commentedon Sep 16, 2026
@mcruzdev what is iml? And why do we need to do something on maven? Already published versions use the old groupId and new version will use the new groupId
To be honest, Im not a fan of renaming the java packages,I do not think the package name must match the product/groupId name. It is dserirable? yes, it is mandatory? no, in my opinion (unless, for some reason, we are legally required to do so). I would just change the groupId-artifactId on Maven, which I agree might be confusing (and probably legally we must do anyway)
If we are going to change the package names, I think we have to break backward compatibility and my preference both for package and group id is org.openworkflow (cloud is confusing, the engine can be run embedded into a regular JVM)
ricardozanini commentedon Sep 16, 2026
@fjtirado we MUST change the package names to match the new CNCF re-branding. It will be a new major version anyway. We can do one commit/PR just moving the files, it will keep history and authorship the same.
In Maven, we must add a note to the artifact that we have moved the group ID. It's a good thing and users will see this notice in the Maven repo website.
ricardozanini commentedon Sep 16, 2026
org.openworkflowworks ok too.cloud.openworkflowmimics our DNS: https://openworkflow.cloud/, also approved by CNCF.fjtirado commentedon Sep 16, 2026
@ricardozanini Why we must? Wildfly and EAP still has packaged that refers to former project name, jboss.
I think Maven group/artifact id is a completely different thing than the java package name.
fjtirado commentedon Sep 16, 2026
@mcruzdev also, we shoudl rename all modules in the repo, not just the nine that the description is mentioning. I mean, we do not need to single out them, I think is enough with saying that ALL modules needs to be rebrand.
mathecruz commentedon Sep 16, 2026
It is related to IDEA files, sorry.
ricardozanini commentedon Sep 16, 2026
Those are not CNCF projects :)
fjtirado commentedon Sep 16, 2026
Ok, lets change the package name to org.openworkflow. It is just renaming all files in the repo from io.serverlessworkflow to org.openworkflow. But before doing that we need to branch main.
ricardozanini commentedon Sep 16, 2026
Yes, just let me know when you guys consider 7.x done, and I'll branch 7.x.
8.0.0 should be rebranding + Jackson 3.x migration.
fjtirado commentedon Sep 17, 2026
@ricardozanini I think probably next week, Ill let you know.
3 remaining items
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Copilot comments
[Fix open-workflow-specification#1676] Updating to org.openworkflow.sdk
[Fix open-workflow-specification#1676] Updating to org.openworkflow.sdk
[Fix open-workflow-specification#1676] Updating to org.openworkflow.sdk
[Fix open-workflow-specification#1676] Updating to org.openworkflow.sdk
[Fix open-workflow-specification#1676] Updating to org.openworkflow.sdk
[Fix open-workflow-specification#1676] Error types backward compatibilty
[Fix open-workflow-specification#1676] Renaming io.serverlesworkflow …