docs/OnnxReleases.md
The ONNX project, going forward, will plan to release roughly on a four month cadence. We follow the Semver versioning approach and will make decisions as a community on a release by release basis on whether to do a major or minor release.
rel-1.16.0
v1.16.0rc1 (release candidate 1) immediately after the branch is cut, without delays. Acting quickly at this stage also helps to reduce the need for parallel work on both the main and release branches, minimizing merge conflicts, duplicated effort, and coordination overhead. This practice supports a smoother, more transparent release process.
In main branch, before creating the release branch:
LAST_RELEASE_VERSION in version.h.
VERSION_NUMBER in main will be increased to the next future version.Create a release branch
main as Source.After cutting the release branch:
main to the next future release, X.Y+1.0.VERSION_NUMBER file in the new release's branch to X.Y.Zrc1.
1.16.0rc1onnx/defs/operator_sets.h and onnx/defs/schema.h for use by future operator additions and changes.
RC-Candidates
Published to https://pypi.org/ (starting with onnx 1.19.2 before it was test.pypi.org)
Build-mode: Release
This button triggers the build of the different OS
All artifacts of the single runs could be found associated to the job
Before the final merge, it must be confirmed manually via the set up deployment environments.
Partner Validation
User should install the rc-packages with pip install onnx=={rc version}
Test with onnxruntime package:
load, checker.check_model, and shape_inference.infer_shapes, with onnxruntime functions like InferenceSession and InferenceSession.run on certain example ONNX model.Open Issues for external repos:
If issues are found, the bugs are to be fixed in the onnx main branch and then cherry-picked into the release branch.
Validation steps must be completed before this point! This is the point of new return.
rcX" suffix from VERSION_NUMBER file in the new release's branch.Publish release until you are sure no more changes are needed.
Save Draft if need to save and update more later.Announce
Update conda-forge package with the new ONNX version
Conda builds of ONNX are done via conda-forge/onnx-feedstock, which runs infrastructure for building packages and uploading them to conda-forge.
A PR should be created automatically by regro-cf-autotick-bot a few hours after the release is available at https://github.com/onnx/onnx/releases.
If the automatic PR has build failures:
If the automatic PR is not created, you need to submit a PR manually
sha256sum onnx-X.Y.Z.tar.gz) of the release's tar.gz file from https://github.com/onnx/onnx/releases.Merge into main branch
Remove old onnx-weekly packages on PyPI
Remove old release-candidate packages on PyPI