Skip to content

Tags: Temikus/butter

Tags

v0.6.0

Toggle v0.6.0's commit message
Release v0.6.0

v0.5.1

Toggle v0.5.1's commit message
Release v0.5.1

v0.5.0

Toggle v0.5.0's commit message
Release v0.5.0

v0.4.0

Toggle v0.4.0's commit message
Release v0.4.0

v0.3.3

Toggle v0.3.3's commit message
Release v0.3.3

v0.3.2

Toggle v0.3.2's commit message
Release v0.3.2

v0.3.1

Toggle v0.3.1's commit message
Release v0.3.1

v0.3.0

Toggle v0.3.0's commit message
Release v0.3.0

v0.2.0

Toggle v0.2.0's commit message
v0.2.0 — WASM plugin system

Completes Phase 3 of the roadmap.

New features:
- WASM plugin sandbox via Extism/wazero (pure Go, no CGo)
  - Load external .wasm plugins via wasm_plugins config section
  - JSON ABI: pre_http, post_http, pre_llm, post_llm hooks
  - Fail-open: errors logged, never propagated to clients
  - CompiledPlugin (compile-once) + per-call Instance for concurrency safety
- plugin/sdk package: public Request/Response types for plugin authors
- plugins/example-wasm: TinyGo example plugin (build with `just build-example-wasm`)

Security:
- Bump google.golang.org/grpc 1.79.2 → 1.79.3 (CVE authorization bypass fix)

All new dependencies are BSD-3/Apache-2.0/MIT licensed.

v0.1.0

Toggle v0.1.0's commit message
v0.1.0 — Phases 1–5 complete

Core proxy:
- OpenRouter, OpenAI, Anthropic providers
- Model-based routing with priority failover and exponential backoff
- Weighted API key selection with per-model allowlists
- Native passthrough endpoint (/native/{provider}/*)
- In-memory LRU response cache with TTL

Plugin system (built-in):
- Rate limiter (token bucket, global or per-IP)
- Request logger (structured slog)
- Prometheus metrics (OTel SDK, /metrics endpoint)
- Distributed tracing (OTel OTLP HTTP; no-op when unconfigured)

Production readiness:
- Config hot-reload (mtime polling, atomic engine state swap)
- Graceful shutdown (SIGINT/SIGTERM)
- Health check (/healthz)
- Docker image (multi-stage, distroless)
- Race-detector clean test suite

Performance (Apple M2):
- Dispatch overhead: ~1.4μs (target <50μs)
- Full HTTP round-trip overhead: ~48μs non-streaming