chore(manifests): reset every plugin to a fresh 1.0.0/0.9.0 baseline#228
Merged
Conversation
…try release Aligns the source-tree manifests with the versions the next registry patch cycle will publish. Only the plugins whose folder saw commits since their current registry tag are touched here — the other 12 stay untouched: Stable v1.1.0 → v1.1.1 data_load_csv csv-loader data_stream_foxglove_bridge foxglove-bridge data_load_mcap mcap-loader data_stream_pj_bridge plotjuggler-bridge data_stream_ros2 ros2-topic-subscriber toolbox_mosaico toolbox-mosaico toolbox_transform_editor toolbox-transform-editor Immature v0.999.0 → v0.999.1 data_stream_mqtt mqtt-subscriber data_stream_udp udp-server data_stream_webrtc webrtc-client data_stream_zmq zmq-subscriber This is the follow-up "align the baseline" commit so the next release_extension.py run (without --version) reads the right patch version. It carries no code change; only manifest version fields.
The registry-tag baseline had drifted from in-tree manifests across most plugins (manifest-bump commits repeatedly failed to land while tags kept shipping ahead). Rather than continue patching around that drift, reset every plugin to a clean starting point: stable-tier plugins to 1.0.0, immature-tier plugins to 0.9.0. All existing tags and GitHub Releases are being removed so the next release_extension.py run for each plugin starts from this baseline with no stale history. Also documents the release mechanism in CLAUDE.md (annotated tag -> build-release.yml -> auto-created GitHub Release -> optional registry submission) since it wasn't previously described anywhere.
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
Original scope of this PR was a patch-bump of the 11 plugins whose folders had commits since their last registry tag. While reviewing it we found:
data_load_parquet,data_load_ulog,parser_json,parser_protobuf,parser_ros,toolbox_quaternion,toolbox_fft) had the same drift and were missing from the original list.scripts/release_extension.pypushing a tag without its manifest-bump commit reliably landing onmain— has left in-tree manifests drifted from published tags for most plugins, going back further than one cycle.Rather than keep chasing per-plugin drift, this PR resets every plugin manifest to a clean baseline:
1.0.00.9.0All 25 plugin manifests are touched. As a companion (out-of-band) action, all existing git tags and GitHub Releases for this repo are being removed so the next
release_extension.pyrun for each plugin starts clean from this baseline instead of colliding with or drifting from old history.Also adds a Release Process section to
CLAUDE.md— it wasn't documented anywhere that pushing an annotated<dir>/vX.Y.Ztag is what auto-creates the GitHub Release (viabuild-release.yml+softprops/action-gh-release), or howauto_submit_to_registrytag metadata triggers the registry-submission job.Why
See discussion on the original patch-bump approach — the drift wasn't limited to the 11 originally-scoped plugins, and manually reconciling each one's "correct" next version against its last tag was error-prone and kept discovering more affected plugins. A clean reset removes the ambiguity.
Test plan
versionfield validated against the repo's actualSEMVER_REGEX(scripts/release_tools.py) — all 25 pass.mainin (submodule repin toplotjuggler_sdkv0.18.0 / commit9def534, CI Windows cache changes, source fixes from feat: typed sort keys for mcap/ulog tables + mosaico sort indicators #229/fix(streams): system_clock timestamps; dialog manifest + overload-guard consistency sweep #230/build: repin SDK at the retagged v0.18.0; restore two-arg PJ_DIALOG_PLUGIN #232) — no conflicts with manifest-only changes.release_extension.py <plugin>(no--version) reads1.0.0/0.9.0from the manifest and tags cleanly with no pre-existing tag collision.