Releases: peg/rampart
Releases · peg/rampart
v0.6.1
v0.6.0
v0.5.0
v0.4.12
v0.4.11
What's fixed in v0.4.11
rampart upgradeskipped policy refresh when already on latest — the command returned early when the installed binary matched the latest release, bypassing the policy update step. Users who upgraded binaries manually or were already on the latest version never received policy improvements from newer releases without knowing to runrampart init --forceseparately. Now always refreshes installed profiles unless--no-policy-updateis set.
Full changelog: CHANGELOG.md
v0.4.10
What's fixed in v0.4.10
Six bugs found during hands-on testing on agent-01 and agent-02 after v0.4.9 shipped.
rampart auditsubcommands crash with default path —tail,verify,stats,search, andreplayall failed immediately because~in the default--audit-dirwas never expanded. Fixed in the shared helpers (listAuditFiles,listAnchorFiles) so all five subcommands are covered.rampart benchapproval-gated coverage always 0% — corpus entries withexpected_action: require_approvalwere never counted in coverage math. The 4 correctly-gated sudo/shred entries appeared in decisions but were invisible to the percentage. Coverage now correctly reflects bothdenyandrequire_approvalexpected entries. Privilege-escalation coverage: 28% → 50%.rampart benchcrashes with no args on installed binaries — default corpus path wasbench/corpus.yamlrelative to CWD, breaking for any installed user. Corpus is now embedded in the binary.rampart benchworks anywhere and showsCorpus: built-in.rampart doctorshows lint error forcall_count—call_countwas added to the engine in v0.4.8 but the linter's known-fields map was never updated. Every user runningrampart doctorwithstandard.yamlsaw a spurious red lint error.rampart statusundercounts blocking decisions —require_approvalandwebhookdecisions were silently dropped from today's event stats. Now counted alongsidedeny.rampart policy generateemits verbose null/empty fields — generated YAML includedpriority: 0,enabled: null,agent: "", and all-empty condition slices. Addedomitemptyto relevant struct fields. Marshaling-only change — existing policy files parse identically.
Full changelog: CHANGELOG.md
v0.4.9
What's new in v0.4.9
Added
rampart policy generate— natural language to policy YAML. Describe what you want to block in plain English (rampart policy generate "block all curl requests to external hosts") and get a ready-to-use policy file.rampart bench— policy coverage scoring against a built-in 84-entry attack corpus. Shows what percentage of known attack patterns your active policy catches, broken down by category (exfil, credential-theft, supply-chain, persistence, privilege-escalation, prompt-injection, destructive). Includes--strictflag and--jsonoutput for CI.block-prompt-injectionprofile — installable viarampart init --profile block-prompt-injection. Three tiers:deny(high-confidence role override attempts),require_approval(medium-confidence patterns),watch(existing standard patterns). Covers "ignore previous instructions", DAN-style jailbreaks, exfil directives, and more.- Approval message enrichment — install commands in approval messages now include a direct link to the package registry entry (npm, PyPI, crates.io) so reviewers can inspect the package before approving.
Fixed
- Prompt injection pattern false positives — tightened four patterns in
standard.yamlandblock-prompt-injection.yaml: bareignore instructionsnow requires a qualifier;you are now (a|an)removed;your new (role|task|purpose) isnarrowed to instructions-only context;[SYSTEM]token removed.developer mode enableddemoted fromdenytorequire_approval. rm -rfdeny scoped to dangerous paths — no longer hard-deniesrm -rfon all paths. Denies are scoped to home dirs and system dirs (/etc,/usr,/boot,/root,/lib,/lib64,/var). Explicitly excluded:/tmp,/var/tmp,/var/log,/var/run,/var/cache— agents can clean up build artifacts and logs without hitting a wall.rampart benchacceptsrequire_approvalin corpus — corpus entries withexpected_action: require_approvalnow parse correctly. Previously caused an immediate error.rampart upgraderefreshes opt-in profiles — upgrade now re-installsblock-prompt-injection.yamlalongsidestandard.yamlwhen the profile is active.
Full changelog: CHANGELOG.md
v0.4.8
v0.4.7
v0.4.6
Changelog
- accd7cf Merge branch 'main' into staging
- 8672c93 feat(hook): inject PostToolUseFailure feedback on deny
- 7a4eac7 feat(policy): block environment variable injection attacks
- 658ef90 feat(policy): block environment variable injection attacks
- d355472 fix(dashboard): responsive header on mobile — Connect button no longer clipped
- a3b1872 fix(policy): split env-var-injection into hard-deny and watch tiers
- 6a8bbc3 fix(preload): default port 19090 → defaultServePort (9090) + honour RAMPART_URL env
- 4da9621 fix(site): mobile UX — Docs link, code font size, hero/install button layout
- 4aee720 fix: address code review findings for v0.4.6
- c04f7c3 fix: apply all validation fixes to main repo docs
- ab0c8d3 fix: correct stale port 18275 in hook and setup CLI descriptions
- 3799e4a fix: stale port 18275 in docs-site markdown + CHANGELOG env var list