Skip to content

release: 0.41.2#162

Merged
mobileoverlord merged 1 commit into
mainfrom
rel/0.41.2
Jun 29, 2026
Merged

release: 0.41.2#162
mobileoverlord merged 1 commit into
mainfrom
rel/0.41.2

Conversation

@mobileoverlord

Copy link
Copy Markdown
Contributor

Release 0.41.2

Patch release bumping avocado-cli from 0.41.1 to 0.41.2.

Changes

ext package: bake the resolved extension version into the published avocado.yaml (#161)

The in-source program extensions template version: '{{ env.AVOCADO_EXT_VERSION }}' so the packaged version tracks Cargo.toml, but that env only exists at package time. The literal template survived into the RPM payload, so a downstream runtime build (no AVOCADO_EXT_VERSION in scope) interpolated it to '' and failed semver validation. ext package now resolves and bakes the concrete semver into the shipped config while leaving every other template ({{ avocado.target }}, etc.) for the consumer to resolve at build time.

The bake is robust to how the version is actually resolved (from the merged config):

  • Template-keyed extensions (avocado-bsp-{{ avocado.target }}) are matched the same way find_ext_in_mapping resolves them — direct key, then {{ avocado.target }} interpolation — instead of a literal compare that would hard-fail.
  • Version from a target-<name>: override block no longer aborts the package: a concrete base version: is inserted, and version: inside target-*/kernel-* override blocks is baked too, so no template survives to interpolate to '' downstream. Deeper packages.*.version is left untouched.
  • .yml configs stage and bake under their real on-disk name rather than a hardcoded avocado.yaml.
  • The resolved version is carried only through the base64 payload — it is no longer interpolated into the rpmbuild shell, closing a potential injection path via pre-release/build metadata.

The bake helper lives in utils/config_edit.rs alongside the other comment-preserving avocado.yaml editors, with unit coverage for the template-key, nested-version, multi-extension, and target-block cases.

Verification

cargo fmt --check, cargo clippy --all-targets --all-features -- -D warnings, and cargo test all green.

@jetm jetm self-requested a review June 29, 2026 21:20

@jetm jetm left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mobileoverlord mobileoverlord merged commit 849458f into main Jun 29, 2026
8 checks passed
@mobileoverlord mobileoverlord deleted the rel/0.41.2 branch June 29, 2026 21:25
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.

2 participants