This document explains the release process for the Go SDK. You can find the most recent version under Github Releases.
If the version to be released has backwards incompatible changes, i.e., it does not support older versions of the Numaflow platform,
you must update the MinimumNumaflowVersion
constant in the pkg/info/types.go
file to the minimum Numaflow version that is supported by your new SDK version.
Ensure that this change is merged and included in the release.
This can be done via the Github UI.
- In the
Releases
section of the Go SDK repo, clickDraft a new release
- Create an appropriate tag for the version number following the semantic versioning specification and select it. The tag should be prefixed with a
'v'
- Make the title the same as the tag
- Click
Generate release notes
so 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 release
orSet as a pre-release
, depending on your situation - Finally, click
Publish release
, and your version tag will be the newest release on the repository
- Once a new version has been released, and its corresponding version tag exists on the remote repo, you want to update the
go.mod
files to reflect this new version:./hack/update_examples.sh -u <version-tag>
- Create a PR for the changes that the script made. Once merged, it will trigger the
Docker Publish
workflow. 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 the local references) - Since the Go SDK is a dependency of Numaflow, once a new version has been released, the
go.mod
file in the Numaflow repo should be updated- If you set the SDK release as
latest
, in your Numaflow repo run:Followed by:go get github.com/numaproj/numaflow-go@latest
Create a PR for these changesgo mod tidy
- If you set the SDK release as
pre-release
, in your Numaflow repo run:Wherego get github.com/numaproj/numaflow-go@<commit-sha>
commit-sha
is the latest commit SHA in the SDK repo. Then run:Create a PR for these changesgo mod tidy
- If you set the SDK release as