release: v0.10.2 - #242
Merged
Merged
Conversation
Cuts v0.10.2 from main. The only unreleased change since the published 0.10.1 (npm/PyPI, gitHead 2a83cf0) is #233, the global command-policy floor fix (rf-adth, sable-nz4y): a repo's .rafter.yml could previously replace the machine owner's command policy wholesale rather than only tighten it. #233 merged after 0.10.1 was already cut, so main and the published 0.10.1 package share a version string despite differing in this fix — 0.10.2 makes that distinguishable again. Also folds in the CHANGELOG heading 0.10.1 never got: the Unreleased section had accumulated the 0.10.1-era entries (rf-ss67, sable-l10k x4, the Action timeout/retry changes) but was never renamed when 0.10.1 shipped, so this closes that gap before adding 0.10.2's own section. Bumps node/package.json, python/pyproject.toml, and both rafter-security-skill.md frontmatters to 0.10.2 (validate-release parity). Version-only change; no source/behavior changes beyond #233, which already merged separately. After merge, promote main -> prod to trigger the npm + PyPI publish.
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.
Patch release bundling the one unreleased change on
mainsince 0.10.1.Why this release exists
npm
@rafter-security/cli0.10.1 and PyPIrafter-cli0.10.1 were published 2026-09-09T01:59:14Z from gitHead2a83cf04(#237). #233 — the global command-policy floor fix — merged over an hour later, at 03:10:49Z, and is now the tip ofmain. The published 0.10.1 artifact does not contain it, and because #233 landed after 0.10.1 was already cut,mainand the published package are both labelled0.10.1—--versioncannot tell them apart. This release exists to make that distinguishable.Verified:
gh api repos/Raftersecurity/rafter-cli/compare/12a1429f...2a83cf04(main HEAD vs. published gitHead) returnsdiverged, 35 ahead / 3 behind. Positive controlgh api .../compare/31f9c114...2a83cf04(#238, which is in the release) returnsahead, 36/0.Contents
fix(policy): make the global command policy a floor a project cannot lower(rf-adth, sable-nz4y). A repo-supplied.rafter.ymlcould replace the machine owner's global command policy wholesale instead of only tightening it; the global config is now a floor (union onblockedPatterns/requireApproval,modeaccepted only when at least as strict).That is the only unreleased change with any effect on shipped behavior. The one other commit ahead of the published gitHead, #240 (
ci: add the Node 18 smoke test that 5409a84 left missing), is CI-only and not user-facing — not included in the CHANGELOG entry, consistent with how this repo has treated CI-only PRs in every prior release.Release mechanics
node/package.json+python/pyproject.toml→ 0.10.2 (parity checked), and bothrafter-security-skill.mdfrontmatter versions (node + python).## [0.10.2] - 2026-09-09to CHANGELOG.md with the fix(policy): make the global command policy a floor a project cannot lower (sable-nz4y, rf-adth) #233 entry.## [0.10.1] - 2026-09-09heading that 0.10.1 never got — the[Unreleased]section had accumulated the 0.10.1-era entries (rf-ss67, sable-l10k ×4, the Action timeout/retry changes) but nothing renamed the heading when 0.10.1 was cut (its version bump was folded into fix(security): CLI ship set — classifier + install/verify hardening (rf-6pqx, rf-3rsj, sable-c6an, rf-7dda, rf-er8a, rf-fuwy) #235 rather than a standalone release commit, and that commit only added bullets under[Unreleased]without renaming it). This closes that gap so[0.10.2]'s own heading has something correct to sit above. Note this does not backfill the 0.10.1 entries that were never written in the first place — PR fix(security): CLI ship set — classifier + install/verify hardening (rf-6pqx, rf-3rsj, sable-c6an, rf-7dda, rf-er8a, rf-fuwy) #235's ship set (rf-6pqx, rf-3rsj, sable-c6an, rf-7dda, rf-er8a, rf-fuwy) and fix: stop sending the API key across redirects (sable-2s6p) #223/fix: an unreadable scan report is not a clean scan (sable-fgk7) #224 have no CHANGELOG entries under[0.10.1]even though they shipped in it. Flagging that gap here rather than silently patching it in, since backfilling accurate descriptions of already-shipped changes is a separate piece of work from cutting this release.What else is on
mainbeyond #233Full accounting, everything merged after the published gitHead
2a83cf04:ci: add the Node 18 smoke test that 5409a84 left missingfix(policy): make the global command policy a floor a project cannot lowerNothing else sits on
mainunreleased.Validation
tsc) clean.pnpm exec vitest run(full suite, maxWorkers=4) — see CI / session notes for pass/fail counts.pytest tests/(full suite) — see CI / session notes for pass/fail counts.After merge, promote
main→prodto trigger the npm + PyPI publish (OIDC). Verify the artifact, not the workflow exit code:npm view @rafter-security/cli versionmust read0.10.2andpip index versions rafter-cli(or the PyPI JSON API) must show0.10.2before considering this shipped.Not merged, not tagged, not published by this PR — review and merge is Rome's call.