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