Skip to content
prune.

Changelog

What shipped, when.

v0.11.0

  • Semantic cache is opt-in only; every semantic tier must match numbers, names, units and word order exactly
  • Hot path no longer waits on Redis/DB round trips (local-first counters, background usage logging)
  • Savings are measured from the provider's real usage; every savings field is signed (receipt fields v2)
  • Tool output is untrusted: injected instructions are stripped or blocked, and send/HTTP/shell tool calls to destinations that only appear in tool output are refused
  • Model-written emails, phones, cards and street addresses are redacted in streams (even split across chunks) and normal responses; caller-supplied recipients are kept
  • Raw PEM public key at /v1/public-key.pem; one error shape on every route; public /openapi.json
  • SDK 0.3.5 (receipt v2 verify) is prepared but not yet published to PyPI/npm

v0.10.0

  • Task fence wired on every proxy path; run receipts no longer 404 when X-Prune-Run-Id is set
  • Tool/function injection is always blocked (not detect-only)
  • Stream end-of-stream signed receipt (event: prune.receipt) on OpenAI and Anthropic SSE
  • Receipt allowlist covers cache_type and dollar fields; request hash is client-reproducible (v1)
  • Stream redaction catches email as well as phone/SSN; sub-cent run budgets work
  • Bearer prune_ keys accepted on analytics and key-management routes

v0.9.0

  • Paid plans live: Starter and Pro checkout via Polar, Team coming soon
  • Public pricing on the homepage
  • Overview savings numbers reconciled with request logs

v0.8.0

  • Claude Code through Prune: streamed requests logged, tool calls and context fields handled
  • Loop breaker no longer blocks legitimate cache and batch traffic
  • Usage metering hardened for streaming and modality routes

v0.7.0

  • Semantic cache hardened against Redis interruptions
  • Tool governance enforced before cache on every agent proxy path
  • Kilo Code, Cline, and Claude Code fixes on OpenRouter-backed routes

v0.6.0

  • Opt-in backup model when a provider model is unavailable
  • Paste-to-detect key vault on Connect
  • Shield rebuilt with independent controls and working presets
  • Model routing and compression controls in Optimize

v0.5.1

  • Self-serve signup open to everyone
  • Signed receipts download as a file; /verify keeps the original JSON
  • Prune Check: free prompt cost and security check, no account needed
  • Comparison pages: Portkey, Helicone, Cloudflare AI Gateway

v0.5.0

  • Groq, Mistral, DeepSeek, xAI, Together, and Cohere direct proxy routes
  • Request dedupe: identical requests sent at the same moment share one provider call instead of each paying for it
  • Prompt dedupe: repeated system prompts and RAG blocks across turns are detected and sent with provider prompt caching (context_blocks_deduped on the receipt)

v0.4.0

  • Gemini proxy route
  • Plan limits and billing groundwork
  • Team workspaces
  • TypeScript SDK
  • Streaming on /v1/proxy routes

v0.3.0

  • Prune Shield phase 2 - IP allowlists, anomaly detection
  • Agent playground
  • Savings preferences

v0.2.0

  • OpenAI proxy + compat routes for Cursor
  • Semantic cache with verification
  • Dashboard onboarding wizard

v0.1.0

  • Anthropic proxy
  • Python SDK on PyPI
  • Dashboard analytics

Have an account? Sign in · PyPI.