plugin-ep-webgpu/RELEASE.md
This document describes the release conventions and process for the WebGPU plugin EP.
The plugin follows Semantic Versioning:
The current version is tracked in VERSION_NUMBER.
All release refs are namespaced under plugin-ep-webgpu/ so they group together in git branch / git tag
listings and don't collide with the main ONNX Runtime release refs.
plugin-ep-webgpu/rel-X.Y
plugin-ep-webgpu/rel-1.0).main at the point of the first release on that line.plugin-ep-webgpu/vX.Y.Z
plugin-ep-webgpu/v1.0.0).plugin-ep-webgpu/vX.Y.Z-rc.N (semver-style)
The rel- prefix on branches and the v prefix on tags ensure branches and tags are never ambiguous at the ref
level.
The main ORT repo uses per-patch release branches of the form rel-X.Y.Z (e.g. rel-1.20.0, rel-1.20.1).
This plugin deliberately uses per-minor branches (rel-X.Y) instead.
The per-minor model is simpler: one long-lived branch per supported minor line, with each patch release marked by a tag on that branch. Tags are the immutable record of what shipped; the branch is just where the next patch is staged. For a component of this size and release cadence, that is sufficient and avoids the branch sprawl of the per-patch model.
The per-minor model is also the broader open-source convention (Linux, LLVM, Python, Node, Kubernetes), so
contributors coming from outside the ORT ecosystem will find it familiar. The namespaced ref prefix
(plugin-ep-webgpu/) keeps the plugin's release refs cleanly separated from the main ORT release refs.
plugin-ep-webgpu/rel-X.Y from main.
main's VERSION_NUMBER should already be X.Y.0, reflecting the release that is about to be cut.VERSION_NUMBER on main to the next development version (e.g. X.(Y+1).0).VERSION_NUMBER on the release branch to X.Y.Z.main or made directly in the
release branch. The latter should be re-integrated into main unless the fix is specific to the release branch.plugin-ep-webgpu/vX.Y.Z.