Agent-Native Intelligence, OAuth Apps & CDN Reliability
MCP — Smarter AI Agent Tooling
Better i18n's MCP server now helps AI agents avoid common mistakes and clean up data issues autonomously.
Semantic Duplicate Detection `NEW`
When an AI agent creates a key with `createKeys`, the response now warns if the same source text already exists in another namespace. For example, creating `actions.removeItem` with value "Sil" when `common.delete` already has the same text will return a reuse hint. This prevents translation fragmentation where the same phrase gets translated independently across namespaces — saving AI costs and keeping translations consistent.
Pass `force: true` to skip the check for fast bulk imports.
Phantom Key Detection `NEW`
`listKeys` now flags legacy duplicate rows (`p: true`) that shadow proper namespaced keys and corrupt CDN files during publish. AI agents can call `deleteKeys` with the flagged IDs, then `publishTranslations` to fix CDN corruption — no database access needed.
`createKeys` also warns when a phantom exists for a key being created, with actionable cleanup instructions in the `warnings[]` response.
Translation Context v2 — Per-Key RAG `NEW`
`getTranslationContext` now accepts a `keys` parameter with up to 50 key UUIDs. The response includes pgvector-retrieved passages (glossary terms, past translations, project instructions) ranked by cosine similarity per key — giving AI agents the same context the platform's AI drawer uses.
Other MCP Improvements
---
- `setTranslations` — New bulk write tool with ~55-65% smaller payload than `updateKeys` for multi-language batches
- `cancelSync` — Abort pending publish jobs before they reach CDN
- `getSync` with `waitMs` — Server-side blocking wait replaces 3-6 polling round-trips
- CDN format metadata — `fileStructure` and `keyFormat` fields in `getProject` and publish hints
OAuth App Installation System `BETA`
A GitHub-Apps-style OAuth 2.0 flow for partners to integrate Better i18n into their platforms.
---
- Scope-based authorization with Cloudflare-style two-step consent UI
- Installation tokens — short-lived, project-scoped API access
- Connected Apps management in user settings with bulk revoke
- Security email notifications on grant create and revoke
- Partner API — project creation, language management, and translation access
CDN Publish Pipeline Hardening
April saw significant reliability improvements to the sync worker — the most critical service in the platform.
Hash-Based CDN Diff `NEW`
Publish now computes SHA-256 hashes of generated files and only uploads files whose content actually changed. For the landing project (2,310 CDN files), this dropped per-publish R2 writes from 2,310 to ~22 — a 99% reduction in CDN write operations.
Source Author Attribution `NEW`
Translation keys now carry their Git author (name, email, avatar) from the commit that introduced them. Visible in the dashboard with avatar display.
Namespace CDN Delivery `NEW`
Projects can now serve translations as one file per namespace (`/en/auth.json`, `/en/common.json`) instead of a single monolithic file. Configurable via `fileStructure` (single_file / namespaced_folders) and `keyFormat` (flat / nested).
Other Pipeline Fixes
---
- Phantom row skip — File generator now deterministically skips legacy duplicate rows that caused random CDN value corruption
- Slim manifest — Per-locale namespace objects removed from manifest, reducing payload size
- Queue concurrency — `max_concurrency` set to 5 to eliminate head-of-line blocking
- Parameter overflow protection — Large ID arrays chunked to stay under PostgreSQL's 65K limit
- Status update batching — Batch size increased 100→2,000 for large projects
Platform Improvements
- Unified quota enforcement — Vercel-style billing UI with plan limits enforced across all surfaces (MCP, dashboard, API)
- Context-aware AI suggestions — AI drawer now shows contextual suggestions based on the current page
- Content CMS webhooks — Comprehensive event dispatch for translations, keys, languages, and sync operations
- Path collision detection — `createKeys` now detects leaf↔object conflicts in nested JSON before they reach CDN
- Admin dashboard — Real CDN analytics, queue monitoring, and rate limiter panels wired to Cloudflare APIs