Skip to content

release: v0.5.3 - #10

Merged
Raftersecurity merged 1 commit into
prodfrom
main
Feb 21, 2026
Merged

release: v0.5.3#10
Raftersecurity merged 1 commit into
prodfrom
main

Conversation

@Rome-1

@Rome-1 Rome-1 commented Feb 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

v0.5.3 — SARIF output, shell completions, custom patterns, agent status, Python gitleaks auto-download, and force push detection.

New Features

  • SARIF 2.1.0 output (Node + Python): rafter agent scan --format sarif for GitHub/GitLab security tabs. --format text|json|sarif; --json remains as alias.
  • Shell completions (Node + Python): rafter completion bash|zsh|fish
  • Custom patterns from disk (Node + Python): ~/.rafter/patterns/*.txt and *.json merged with built-ins
  • .rafterignore suppression (Node + Python): path/glob rules to suppress findings
  • rafter agent status (Node + Python): config, gitleaks, hooks, OpenClaw, audit log summary
  • Python gitleaks auto-download: full port of binary-manager.ts to Python

Fixed

  • Force push detection: git push -f, --force-with-lease, --force-if-includes, refspec force syntax
  • Gitleaks tarball extraction: binary-only filter, no more LICENSE/README in ~/.rafter/bin/
  • patterns/ README written on first init
  • VERSION constant in node/src/index.ts was hardcoded 0.5.0; now correct
  • CI fix: removed committed node/rafter-security-cli-0.1.0.tgz and extracted node/package/ artifacts that caused test-package to pick up the stale tarball (missing resources/). CI glob now uses rafter-security-cli-*.tgz instead of *.tgz | head -1. test-package now also runs on main pushes and PRs to prod.

Tests

  • 92 Node / 195 Python tests passing

Test plan

  • validate-versions — pass
  • test-build — pass
  • test-package — pass (tarball contains resources/pre-commit-hook.sh, install-hook end-to-end works)
  • Merge triggers publish.yml → npm + PyPI publish

🤖 Generated with Claude Code

Root cause: node/rafter-security-cli-0.1.0.tgz was committed to the
repo. The test-package CI job used `ls *.tgz | head -1` which picked up
the old 0.1.0 tarball (sorts before 0.5.3 alphabetically) instead of
the freshly packed one. The old tarball lacks resources/ (was created
before resources/ was added to the files field).

Also removes node/package/ and node/package 2/ (accidentally extracted
tarball contents from a previous local npm pack run).

Fixes:
- Remove the three committed artifacts from git
- Add *.tgz, node/package/, node/package */ to .gitignore
- Change CI tarball glob to rafter-security-cli-*.tgz (matches only the
  freshly packed tarball, not any pre-existing files)
- Add test-package job to validate-release.yml so packaging is tested
  on every PR to prod and every push to main (not just on prod push)
- Add push:main trigger to validate-release.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Raftersecurity
Raftersecurity merged commit f45ecd5 into prod Feb 21, 2026
6 checks passed
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