Releases: PramodTKodag/snark
Releases · PramodTKodag/snark
Release list
v0.3.0
Availability, privacy, and observability improvements since v0.2.0.
Added
- Opt-in structured JSON logging (
LOG_FORMAT=json) + a per-request cost/token log line, for shipping to log/metrics aggregation (Loki/Grafana) - Configurable data-retention windows and PII-redaction controls for stored request data
Changed
- Privacy-forward defaults: request logs auto-expire (30 days), reliability events (90 days), and user input is PII-redacted before storage — all env-overridable
- Streaming concurrency and gunicorn worker/thread counts are now env-configurable
Fixed
- Streaming can no longer exhaust the worker pool — concurrent SSE streams are bounded per worker (excess requests get a fast 503)
Full changelog: v0.2.0...v0.3.0
v0.2.0
First release since v0.1.0 — a full development cycle of admin, observability, and cost-accuracy work.
Added
- Opt-in admin panel with an interactive analytics dashboard — usage, cost, latency, and reliability metrics, persona management, and response-log browsing with retention pruning
- Accurate per-model cost estimation with an input/output token split, priced from a vendored, refreshable LiteLLM cost map (with a configurable override)
- Reliability tracking — error rate, provider-fallback frequency, and content-filter rate, with recent-failure detail
- Token usage now recorded for streamed responses
Fixed
- Streaming reliability, and OpenAPI/Swagger accuracy for the streaming transport
Full changelog: v0.1.0...v0.2.0
v0.1.0 — first public release
First public release of snark — Sarcasm as a Service, an AI-powered humor and utility API where every response is uniquely generated by an LLM.
Highlights
- 28 wit endpoints across humor, developer culture, and workplace comedy
- Multi-provider abstraction (Groq, Gemini, Claude) with automatic fallback on content filters or failures
- Persona system with configurable prompts, tone, temperature, and token limits
- 15 mood modifiers to shift the tone of any endpoint
- Redis caching (5-min responses, 1-hr personas) + anti-repetition logic
- IP-based rate limiting (50 req/hour) — fully public, no authentication
- Health probes (live/ready/status) and OpenAPI/Swagger docs
- Self-contained Docker stack —
docker compose upbrings the API, PostgreSQL, and Redis together - Green CI (Black, isort, Flake8, pytest)
Licensed under AGPL-3.0-or-later.