v2.2.0
Upgrade
If you already have Pensar installed, upgrade to the latest version:
pensar upgradeFresh Install
macOS / Linux (Quick Install)
curl -fsSL https://pensarai.com/install.sh | bashHomebrew
brew tap pensarai/tap
brew install apexnpm
npm install -g @pensar/apexWhat's Changed
- feat(prompt-injections): export catalog schema + validator for producers by @joshkotrous in #877
- feat(prompt-injections): deliver library payloads via browser_fill by @joshkotrous in #878
- fix(offsec): enforce per-request rate limit on the http_request tool by @kylejryan in #872
- feat(pentest): add report_error tool + cookie extraction for self-auth by @joshkotrous in #879
- feat(whitebox-recon): bound total agent concurrency across apps by @joshkotrous in #881
- feat(shell): merge sandbox-provided agent env vars into execute_command by @joshkotrous in #883
- Remove authenticate_session tool by @joshkotrous in #884
- fix(ai): request Bedrock extended thinking via reasoningConfig by @Yuvanesh-ux in #882
- feat(apex): agent data model — native execution IDs, Bedrock stream recovery, threat-model wedge fixes by @jorgeraad in #851
- fix(pentest): share orchestrator's browser session with sandbox workers (fixes sandbox OOM) by @joshkotrous in #886
- fix(ai): request adaptive thinking only on 4.6+ models by @jorgeraad in #887
- fix(pentest): share orchestrator browser session with workers — the real OOM fix (supersedes #886) by @joshkotrous in #888
- fix(ai): don't route extended thinking to non-adaptive models by @jorgeraad in #890
- fix(tui): render orchestrator replies and keep logs off the live frame by @jorgeraad in #891
- fix(pentest): cap Firefox content processes to cut per-browser memory by @joshkotrous in #892
- fix(pentest): surface operator credentials into the pentest agent prompt by @joshkotrous in #893
- feat(pentest): generate next-run objectives at end of each run by @Yuvanesh-ux in #863
- fix(ai): record cache read tokens in trace usage telemetry by @kylejryan in #895
- Feed credential Context to all pentest agents; stop forcing browser login by @joshkotrous in #896
- fix(pentest): strengthen orchestrator auth handling guidance by @joshkotrous in #897
- perf(sandbox): reclaim per-subagent scratch artifacts mid-scan to avo… by @joshkotrous in #898
- Add adaptive-thinking effort level to reasoning provider options by @joshkotrous in #899
- feat(pentest): add fast-strike mode for single-operator targeted runs by @kylejryan in #900
- Gpt 5.5 bedrock mantle support by @Yuvanesh-ux in #885
- fix(tui): stop browser/clipboard child stderr from corrupting the TUI by @jorgeraad in #906
- feat(threat-model): enumerate framework-derived attack surface by @jorgeraad in #908
- fix(agents): protect verified creds + non-destructive proof-of-impact by @jorgeraad in #910
- feat(agents): give subagents their own ses_ execution-session ids by @jorgeraad in #902
- feat: expose abortAndDrain for bounded Camoufox teardown by @Yuvanesh-ux in #914
- feat(ai): add GPT-5.6 model support by @kylejryan in #912
- feat(attack-surface): recognize and test gRPC endpoints by @jorgeraad in #901
- fix(agents): redact credential secrets from execute_command output by @jorgeraad in #911
- feat(pentest): deterministic destructive-action guard by @joshkotrous in #915
- feat(models): add Kimi K3 to OpenRouter by @kylejryan in #919
- Add issue retest support to the Pensar CLI by @joshkotrous in #920
- Merge canary by @joshkotrous in #923
Full Changelog: v2.1.2...v2.2.0