Skip to content

Rebrand to Open Workflow Specification #1676

Closed

Description

@mathecruz

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 under pom.xml / module pom.xml files)
  • Java base package: io.serverlessworkflow.* across api, impl, types, annotations, serialization, mermaid modules
  • Root pom.xml metadata:
    • <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 at git@github.com:serverlessworkflow/sdk-java.git / https://github.com/serverlessworkflow/sdk-java
  • .github/ISSUE_TEMPLATE/*.md: "Serverless Workflow Java SDK" wording in bug-report.md, enhancement.md, question.md
  • README.md and module README.md files (impl/, impl/persistence/, impl/persistence/mvstore/, fluent/, mermaid/): remaining io.serverlessworkflow / serverlessworkflow-* snippets in dependency examples and badges (Gitpod/FOSSA badges already updated to open-workflow-specification, but Maven coordinate examples were not)

Open questions to resolve before implementation:

  1. What is the new groupId / Maven Central coordinates?
  2. Do we keep io.serverlessworkflow as a deprecated/shaded compatibility package, or is this a clean break?
  3. 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-publish plugin 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

  1. self-assigned this
    on Sep 16, 2026
  2. mathecruz commented on Sep 16, 2026

    @mathecruz
    CollaboratorAuthor
  3. ricardozanini commented on Sep 16, 2026

    @ricardozanini
    Collaborator

    The namespace should be either (a) cloud.openworkflow or (b) org.openworkflowspec to mimic our DNS. I tend to like "(a)" more, but I'm ok with both.

  4. fjtirado commented on Sep 16, 2026

    @fjtirado
    Collaborator

    @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)

  5. ricardozanini commented on Sep 16, 2026

    @ricardozanini
    Collaborator

    @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.

  6. ricardozanini commented on Sep 16, 2026

    @ricardozanini
    Collaborator

    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)

    org.openworkflow works ok too. cloud.openworkflow mimics our DNS: https://openworkflow.cloud/, also approved by CNCF.

  7. fjtirado commented on Sep 16, 2026

    @fjtirado
    Collaborator

    @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.

  8. fjtirado commented on Sep 16, 2026

    @fjtirado
    Collaborator

    @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.

  9. mathecruz commented on Sep 16, 2026

    @mathecruz
    CollaboratorAuthor

    @mcruzdev what is iml?

    It is related to IDEA files, sorry.

  10. ricardozanini commented on Sep 16, 2026

    @ricardozanini
    Collaborator

    @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.

    Those are not CNCF projects :)

  11. fjtirado commented on Sep 16, 2026

    @fjtirado
    Collaborator

    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.

  12. ricardozanini commented on Sep 16, 2026

    @ricardozanini
    Collaborator

    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.

  13. fjtirado commented on Sep 17, 2026

    @fjtirado
    Collaborator

    @ricardozanini I think probably next week, Ill let you know.

  14. 3 remaining items

  15. added 13 commits that reference this issue on Oct 9, 2026
    c9a16e9
    9327a7b
    7c32abf
    9d371fe
    4ea3977
    d425fd9
    2dc7d01
    55b8266
    4514b24
    8593ea4
    2b1fd59
    29eb464
    0ac78b0
  16. added a commit that references this issue on Oct 14, 2026
    e5472d7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions