This document explains the release process for the Java SDK. You can find the most recent version under Github Releases.
- Before releasing a new SDK version, make sure to update all references from the old version to the new one.
For example, the version in the
README.md, as well as thepom.xmlin the root and example directories should be updated (for reference ). The specified version should follow the semantic versioning specification - If version to be released has backwards incompatible changes, i.e. it does not support older versions of the Numaflow platform,
you must update the
MINIMUM_NUMAFLOW_VERSIONconstant in thesrc/main/java/io/numaproj/numaflow/info/ServerInfo.javafile to the minimum Numaflow version that is supported by your new SDK version - After making these changes, create a PR. Once merged, it will trigger the
Docker Publishworkflow, and should be included in the release. As a result, the correct SDK version will always be printed in the server information logs, and the example images will always be using the latest changes (due to pointing to the local maven repository that is built)
This can be done via the Github UI.
- In the
Releasessection of the Java SDK repo, clickDraft a new release - Create a tag that has the same name as the version that you specified in the root
pom.xml, prefix it with a'v', and select it - Make the title the same as the tag
- Click
Generate release notesso that all the changes made since the last release are documented. If there are any major features or breaking changes that you would like to highlight as part of the release, add those to the description as well - Select
Set as the latest releaseorSet as a pre-release, depending on your situation - Finally, click
Publish release, and your version tag will be the newest release on the repository
After your release, a Github Actions workflow, Publish to Maven Central and Github Packages, will be triggered. Monitor the workflow run and ensure that it succeeds.