Skip to content

Release 2.1.231 (2026-10-07)

Bug fixes

  • escape glob metacharacters in nFPM file src paths (#3126) nFPM treats every file contents src as a glob, so a staged file such as {name}.cpp.tmpl failed with 'no matching files'. contents_from_tree now backslash-escapes * ? [ ] { } \ in such a src and sets dst to the parent directory with a trailing slash (an escaped src with a full-file dst nests the file under a directory of its own name). Paths without metacharacters are unchanged. Symlink targets and dir entries are never globbed by nFPM and stay verbatim, as verified against nFPM 2.47.0. Overlay contents keep the author's nFPM glob syntax; a relative overlay src under a repo root containing a metacharacter is refused with a clear error. Ref #3125

Features

  • publish vergil-tooling as a signed .deb/.rpm (#3084) (#3124)
  • add vrg-package matrix --tier {full,reduced} (#3128)
  • feat(package): add vrg-package matrix --tier {full,reduced}

Feature PRs can run a reduced package matrix: every build cell, but one install-test cell per format (first selected target of the format on amd64, else arm64; native targets only when the format has no shared target). The default tier is full and resolve() is unchanged for existing callers. The printed JSON carries a tier key and --github-output appends a tier= line; --manifest always describes the full build output. Ref #3127

  • fix(package): reduced tier tests the oldest release of each format (#3127)

The reduced tier picked the first target by text order, so it chose rhel/10 because "rhel/10" sorts before "rhel/9". It now picks the numerically oldest release per format (amd64 first, else arm64). The oldest release is the strictest compatibility case: lowest glibc, oldest rpm/dnf/systemd. The default 2x2 now reduces to test-rhel-9-amd64 and test-ubuntu-24.04-amd64.

CI Evidence: All gates passed — full audit bundle available. Download →