[Comgr] Bump version to 3.4 for amd_comgr_hotswap_rewrite_with_options#3134
Merged
Merged
Conversation
PR #3008 added the amd_comgr_hotswap_rewrite_with_options API but tagged it AMD_COMGR_VERSION_3_3 against the already-bumped 3.3 version. Version 3.3 was consumed by the block-size kernel APIs in #1946; per our policy every commit that adds a new API must also bump the minor version, so the hotswap options API should own its own version. The check_api_consistency.py script only enforces VERSION.txt >= highest tag macro, so the duplicate 3.3 tag passed CI even though it violated the versioning policy. Changes: - VERSION.txt: bump minor 3 -> 4. - amd_comgr.h.in: add AMD_COMGR_VERSION_3_4 macro and retag amd_comgr_hotswap_rewrite_with_options from 3.3 to 3.4. - exportmap.in: move amd_comgr_hotswap_rewrite_with_options into a new @amd_comgr_NAME@_3.4 symbol-version node inheriting from _3.3. The symbol version change is safe: 3.3 has not shipped in a release, so no external consumer depends on the @_3.3 versioned symbol. check_api_consistency.py passes (VERSION.txt=3.4, 69 APIs declared and exported).
chinmaydd
approved these changes
Jun 30, 2026
lamb-j
added a commit
that referenced
this pull request
Jun 30, 2026
## Summary Adds an explicit API-versioning rule to `amd/comgr/AGENT_CONVENTIONS.md` (section 4, PR workflow): every commit that adds a public `AMD_COMGR_API` function must bump the minor version in `VERSION.txt` and tag the new prototype with a fresh `AMD_COMGR_VERSION_X_Y` macro. This codifies the policy that surfaced when #3008 added `amd_comgr_hotswap_rewrite_with_options` under the already-used `3.3` version without bumping (fixed in its follow-up #3134). The rule captures: - One bump per commit, not per function. - Never reuse the current version's macro for a new API in a later commit. - Don't wait for an official release to bump — we don't know which commit lands in each release, so the version advances when the API is introduced. - Add the symbol to `exportmap.in` under a version node matching the new tag. - `check_api_consistency.py` only enforces `VERSION.txt >=` the highest macro, so it cannot catch version reuse — verify the bump by hand. ## Changes - `AGENT_CONVENTIONS.md`: add the "Bump the version when adding a public API" subsection.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #3008, which added the
amd_comgr_hotswap_rewrite_with_optionsAPI but tagged itAMD_COMGR_VERSION_3_3— a version already consumed by the block-size kernel APIs in #1946. Per our policy, every commit that adds a new public API must also bump the minor version, so the hotswap options API should own its own version.The
check_api_consistency.pyscript only enforcesVERSION.txt >=the highest tag macro, so the duplicate3.3tag passed CI even though it reused an existing version.Changes
VERSION.txt: bump minor3->4.amd_comgr.h.in: add theAMD_COMGR_VERSION_3_4macro and retagamd_comgr_hotswap_rewrite_with_optionsfrom3.3to3.4.exportmap.in: moveamd_comgr_hotswap_rewrite_with_optionsinto a new@amd_comgr_NAME@_3.4symbol-version node inheriting from_3.3.The symbol-version change is safe:
3.3has not shipped in a release, so no external consumer depends on the@_3.3versioned symbol.python3 amd/comgr/utils/check_api_consistency.py --comgr-dir amd/comgrpasses (VERSION.txt=3.4, 69 APIs declared and exported).