Okapi
Changelog

What's new in Okapi.

Every release in plain language — ship notes for humans and the agents reading them.

v0.4.0

MCP server for agents

Point a Sentry SDK at Okapi, hand your agent a token, and errors get fixed.

MCP server, first-class — mounted at /mcp with scoped agent tokens (read / triage / admin), rate-limited and audited
An error tracker agents can drivewhats_new, get_issue_context, check_resolution, bulk triage, resolve-in-commit, agent-executed onboarding; agent actions attributed in the UI
Prompt-injection defense — every event-derived string returned to an agent is fenced as untrusted data
Organizations — multi-tenant workspaces isolated by Postgres row-level security; owner/member roles; usage quotas that degrade gracefully instead of surprise-billing
Okapi Cloud — hosted Okapi with a 14-day trial, flat plans, no overage bills
Self-host licenses — flat yearly pricing, a year of updates; your instance never stops ingesting
System monitoring, built in — live CPU/RAM/disk tiles, zoomable history, and threshold alerts for the instance itself
v0.3.2
In-app notifications — a bell and a full notifications page
Account settings — rename, verified email change, password change
Email verification + password reset — single-use hashed tokens; a reset signs out every session
Event stepping — walk an issue's events with prev/next
v0.3.1
SDK backoff done right — 429s carry Retry-After and X-Sentry-Rate-Limits so SDKs pause instead of hammering
Load shedding — a bounded ingest queue sheds bursts with 429s before they hurt the database
Per-project retention — override the global event window per project
Live-updating issues list — new and updated counts appear without a reload
Hardened dashboard auth — CSRF gating and timing-safe checks
v0.3.0

Source maps

Source map upload — sentry-cli compatible, per-project upload tokens
Symbolication before grouping — minified JS frames resolve to real code, so fingerprints survive builds
All-new UI — full redesign, light + dark, compact density
Guided empty states — every zero-state teaches the next step
v0.2.3
Deep-linkable everything — filters and page live in the URL; back/forward-safe, shareable
Release detail pages — what each release introduced and resolved
Real event trends — per-issue sparklines from actual event counts
DSN key last-used — see which keys are alive before revoking one
v0.2.2
Projects dashboard — cards with 30-day sparklines, environments, platforms, latest release; per-user stars
Pagination + bulk actions — issues, logs, releases paginate; select-all-matching bulk resolve/snooze/delete
⌘K command palette — jump anywhere
Update checker — self-host instances learn when a newer Okapi exists (telemetry is opt-out)
v0.2.1

Alerts

Alert rules — get notified when issues fire, with per-rule throttling
Slack + email notifiers — bring-your-own SMTP; evaluation runs off the ingest hot path
v0.2.0

Structured logs

Structured logs — log records ingested from SDK envelopes, with searchable attributes and their own retention window
Logs view — filter by level, search body and attributes
Experimental MCP server — list projects, triage issues, search logs from an agent
v0.1.2
Browser SDK support — CORS on ingest, so frontend SDKs report directly
Per-key rate limiting — a runaway error loop can't flood the instance
Sentry-style numeric project IDs — DSNs look and parse exactly like Sentry's
v0.1.1
Release tracking — events carry their release; issues show where they first appeared
Regression detection — a resolved issue that recurs reopens, flagged as a regression
Snooze with expiry — silence an issue until a time; it wakes itself up
Retention — events pruned past a configurable window
v0.1.0

First release

The first working Okapi: point a Sentry SDK at it and get grouped, triageable errors.

Sentry-compatible ingeststore and envelope endpoints; existing SDKs work by swapping the DSN
Issue grouping — stacktrace fingerprinting groups events into issues; resolve and snooze
Projects & DSN keys — multiple projects per instance, revocable keys
Team basics — session auth, first-run setup, member invites
Single-binary deploy — one Go binary + Postgres; Docker Compose quickstart