---
title: Changelog
description: Notable changes to the AgentPing API, SDKs, dashboard, and infrastructure.
section: changelog
order: 1
---

# Changelog

Notable changes to the AgentPing API, SDKs, dashboard, and infrastructure. Newest first. Times are UTC.

## 2026-06-12

### Plans

- Limits up, prices down or unchanged. The new structure is Free $0 / Starter $99 / Team $199 / Business $399, with named limits and no metered billing, ever. Included events rise across every plan (100k / 2M / 10M / 25M), seats and teams are unlimited everywhere, and retention becomes two honest numbers per plan ([details](/docs/billing/retention)). Founding members keep their price where lower and carry double evaluations for life.
- Evaluations ship out of the box: AI review of whether each run achieved its goal, no scorers to write. Monthly allowances by plan (1,000 / 6,000 / 20,000), spread evenly across the month with smart sampling, and $25 [top-ups](/docs/billing/top-ups) when a month runs hot. Health checks stay unlimited on every plan, including Free. [How evaluations work](/docs/billing/evaluations).
- Events become a true soft cap: going over your included events never breaks ingestion and never costs extra. We tell you, and if it keeps happening we talk about the right plan together.

### Ingest

- OpenTelemetry ingest: point any OTLP/HTTP exporter at `/v1/traces` and your existing traces become runs, steps, and costs. [Docs](/docs/integrations/opentelemetry).
- Runs accept a `goal` on start; evaluations use it to judge outcomes. OTel traffic maps `agentping.goal` or the root span name automatically.
- Metadata limits are now identical on every plan (40 keys, 128-char keys, 1KB values, 8KB total) and fail loudly with a 422 naming the offending key.

## 2026-05-16

### SDKs

- Python SDK: concurrent `agentping.run(...)` blocks under asyncio no longer cross-contaminate events when you run multiple agents in the same process. **Upgrade recommended.**
- SDKs now default the ingest base URL from the API key's region segment. `apk_eu_*` calls `https://eu.ingest.agentping.io`; `apk_us_*` calls `https://us.ingest.agentping.io`. Override via the `base_url` / `baseUrl` init option or `AGENTPING_BASE_URL`. The previous shared `api.agentping.io` host is retired.

## 2026-05-15

### SDKs

- Python SDK v0.1.0. Client-generated UUIDv7 IDs, bounded background queue, auto-instrumentation for Anthropic and OpenAI, streaming wrap that preserves the original iterator. <https://github.com/agent-ping/agent-ping-python>.
- TypeScript SDK v0.1.0. ESM, Node 18+, AsyncIterable streaming wrap for Anthropic and OpenAI, atexit flush with a 5-second deadline. <https://github.com/agent-ping/agent-ping-typescript>.
- Go SDK v0.1.0. Stdlib only, `http.RoundTripper`-based instrumentation, no external dependencies beyond the providers you already pull. <https://github.com/agent-ping/agent-ping-go>.
- Laravel SDK v0.1.0. Listens to `Laravel\Ai\Events\AgentPrompted` out of the box, config publishable via Artisan. <https://github.com/agent-ping/agent-ping-laravel>.

### Platform

- Quota hard-cap enforcement now flows end-to-end. The dashboard detects 150% of monthly cap and the ingest edge picks up the flag on the next sync, returning `429 monthly_cap` with `Retry-After` counting down to the calendar rollover. Full behaviour in [Rate limits](/docs/api/rate-limits) and [Quotas](/docs/billing/quotas).

### API

- `GET /v1/ping` accepts both `apk_*` and `ping_*` tokens; the `ping_*` token is now the recommended choice for cron, curl, and n8n use cases.
- Idempotent retries on `POST /v1/runs` return `200 OK` when the supplied ID was already stored with matching fields, distinct from `202 Accepted` for first-time accepts.

### Billing

- Annual billing available across every tier, saving 20% off list. Pick monthly or annual when you start a subscription. Tier details in [Tiers](/docs/billing/tiers).

## 2026-05-10

### Platform

- Onboarding wizard ships. Fresh accounts route through `/onboarding`; the user picks a tier, names their first agent, and ingests a heartbeat via the language of their choice before reaching the dashboard.

### API

- Soft-cap detection moved to a scheduled job that runs every five minutes, evaluates teams above 100% of monthly cap, queues a banner row, and sends one email to the account owner. Repeat alerts suppressed for the rest of the calendar month.

## 2026-05-06

### Platform

- Schedule freshness checks live. Pulse now distinguishes between agents that have ingested in the last expected window and agents that haven't; missed schedules raise an alert with the agent's owning team and the configured channel list.

### Dashboard

- Verify drift detection lands for Team and Business tiers. Score distributions are computed nightly per rubric, and a Wasserstein-distance heuristic flags rubrics whose score distribution has shifted by more than a tier-configurable threshold relative to the 14-day baseline.

## 2026-05-01

### Platform

- Two-region ingest live. The ingest edge runs in `europe-west1` and `us-central1`. Credentials carry a region segment (`apk_eu_*`, `apk_us_*`, `ping_eu_*`, `ping_us_*`); the edge returns `401 region_mismatch` if a credential is sent to the wrong region. Customer data stays in the region of the credential that wrote it.

---

This page is updated by hand at each platform change; it is not auto-generated. If you spot something missing or wrong, let us know.
