Skip to content

feat: plumb module_version through as a separate field#329

Open
eseidel wants to merge 3 commits intomainfrom
feat/module-version
Open

feat: plumb module_version through as a separate field#329
eseidel wants to merge 3 commits intomainfrom
feat/module-version

Conversation

@eseidel
Copy link
Copy Markdown
Contributor

@eseidel eseidel commented Apr 2, 2026

Summary

  • Add module_version: Option<String> to YamlConfig (parsed from shorebird.yaml)
  • Propagate through UpdateConfig to PatchCheckRequest
  • Sent alongside release_version (skipped when null via serde(skip_serializing_if))

Context

Part of shorebirdtech/shorebird#793

Instead of overriding release_version with the module version, we plumb module_version as a separate optional field. This keeps release_version as the host app's version (for analytics) while module_version is used for patch lookup.

Companion PRs:

Test plan

  • Verify module_version is parsed from shorebird.yaml when present
  • Verify module_version is null when not in yaml
  • Verify PatchCheckRequest includes module_version when set
  • Verify PatchCheckRequest omits module_version when null

Comment thread Cargo.toml
Add module_version as an optional field through the full updater stack:

- YamlConfig: parse module_version from shorebird.yaml
- UpdateConfig: propagate module_version from yaml config
- PatchCheckRequest: send module_version alongside release_version
  (skipped when null via serde skip_serializing_if)

The server uses module_version for patch lookup when present,
while release_version always contains the host app's version
for analytics. This avoids polluting release_version data with
git hashes from module releases.

Part of shorebirdtech/shorebird#793
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant