Changelog

Latest updates and improvements

2.2.0

GitHub Sync Reimagined, a Hardened Workflow Engine & Self-Serve Account Control

One-click GitHub onboarding that auto-detects your repo layout (now including Astro content collections), a production-hardened translation workflow engine, bring-your-own DeepL, read-after-write consistency across the platform, self-serve account deletion, and a safer Content CMS with Trash and uploads.

GitHub Sync, Reimagined `IMPROVED`

Connecting a repository used to mean guessing your file layout. Now the wizard reads your repo and pre-fills everything — a Cloudflare-style recommendation card shows exactly what we detected before you commit to it.

Auto-detect file structure + key format `NEW`

The connect wizard inspects your repository tree and file contents, then recommends the right file structure and key format automatically. No more manual guessing that fails the first sync with "Source language files not found."

Four file structures — now including Astro `NEW`

We named and documented the four repository layouts, and added first-class support for namespace-folders (`faq/en.json`, `home/en.json`) used by Astro content collections:

Detection, reading, and the symmetric write path are wired end-to-end, including the v2 CDN manifest namespace breakdown.

Smoother connect & re-sync `IMPROVED`

---

  • Detects the locale + namespace layout straight from the tree
  • Reads file **content** to tell `flat` (`"auth.login": "..."`) from `nested` (`{ "auth": { "login": "..." } }`)
  • Recommendation card surfaces detected languages with flags and language names, anchored on your source language
  • The edit modal now exposes both File Structure and Key Format, and saving preserves the structure you already have
  • Single file — `locales/en.json`
  • Locale folders — `locales/en/common.json` (next-i18next)
  • Namespace folders — `faq/en.json` *(new)*
  • Locale-suffixed — `faq.en.json`
  • "Sync now" button in integration settings — polls to completion and refreshes the editor when done
  • Re-connecting an already-linked or orphaned repo now reconciles it instead of throwing a 409/CONFLICT
  • A re-sync of an existing repo updates its detected structure
  • Branded, context-aware "You're all set" screen; the GitHub Sync flow skips the framework/SDK steps you don't need and auto-advances once the sync completes

Translation Workflow Engine — Production-Hardened `IMPROVED`

The Mastra workflow engine that shipped in v2.1.0 got a full reliability pass on Cloudflare Workers.

---

  • Concurrent target-language translation — languages translate in parallel instead of one after another
  • Key-keyed LLM contract + dual-limit chunking + retry — large batches no longer overflow context or drop rows
  • GPT-4.1 Mini for batch workflows — faster and cheaper for high-volume translation
  • Bulk translations route to the workflow instead of looping single proposals
  • Cancel works end-to-end — aborting on the client cancels the run server-side, with a per-card Cancel button
  • `translateBatch` fixed — it silently ran as a no-op for async-generator tools; it now executes, fails loudly on dead provider credentials, and stops rendering failed runs as "Translated 1 key"
  • Worker CPU limit raised to 300s to stop AI chat/workflow timeouts

Bring Your Own DeepL `NEW`

DeepL now uses your own API key instead of a shared platform account. The enable modal is a single key field — paste your key and go. Each project translates on its own DeepL quota.

---

Read-After-Write Consistency `IMPROVED`

Edits made through the AI agent, the editor, or the CMS now reflect immediately — no more "I just changed this, why is it stale?"

We introduced an uncached database path and inverted the default to uncached, opting in to caching only for hot reads:

---

  • Editor, sync, publish status, and CMS enablement read through fresh
  • Billing bridges the read-after-write gap — a paid plan reflects instantly after Checkout
  • Security: authorization state (auth, membership) is always read uncached, never from a stale cache
  • Namespace and target-language IDs resolve via `INSERT … RETURNING` to kill read-after-write data loss

Self-Serve Account Deletion `NEW`

A clean account closure flow, including for OAuth users:

---

  • Email-confirmation deletion with a dedicated confirm page and a closure email
  • A Resend button on the awaiting-confirmation state, plus a tightened delete modal
  • User foreign keys set to null on deletion so closures aren't blocked by related records

Content CMS — Safer Publishing, Uploads & Trash `IMPROVED`

A full admin UX overhaul focused on not losing work and not publishing the wrong thing.

---

  • Save-before-publish and dirty-state gating on Save — you can't publish stale edits
  • Trash for deleted entries, media uploads, and clearer per-language state
  • Multi-valued relation fields — an entry can now reference many others (repeatable content)
  • Stops fabricating entry analytics when there is no data
  • Fixes: date-picker selection, properties-panel scroll, clipped dialog footer, full-page setup wizard, and the new-post route losing its layout shell

Publish & CDN Reliability `IMPROVED`

Hardening across the customer-facing publish pipeline:

---

  • Structure-aware path resolution so `namespace-folders` CDN files aren't generated empty
  • Batch publish to GitHub preserves your repo's file shape (nested stays nested)
  • Deletion-only and normal publish paths both strip deleted keys from per-namespace files
  • CDN publish is gated to CDN-only projects — GitHub-connected repos are never mirrored to the CDN
  • Keys and translations are read fresh so edits aren't published stale
  • Tolerates duplicate keys on CDN import instead of failing the whole batch

Billing Reliability `IMPROVED`

---

  • Subscription status refetches on return from Stripe Checkout
  • Trial-started fires on transition, with per-attempt payment dunning
  • Stripe price IDs repointed to the active account and currency repriced

Partner OAuth — Content Extras `IMPROVED`

Building on the v2.1.0 partner OAuth release:

---

  • Partner endpoints for full content CRUD — models, fields, bulk operations, duplicate
  • Mint content API keys via OAuth
  • Partner content-api-key grants per-model read and self-heals on reuse

Reliability & Polish `IMPROVED`

  • Stuck-splash cold-load fix — root-caused a redirect-in-`beforeLoad` crash plus a boot watchdog and auto-recovery
  • Redesigned error / not-found / org-empty states
  • Notion-style content skeleton for the AI drawer loading state
  • API key deletion hardened against malformed metadata and scoped by owner
  • Chinese (`zh`) added as a standalone language option
  • Production no longer leaks stack traces in error responses
  • Onboarding guide panel in the sidebar footer until the SDK is actually installed
2.1.0

Agent Workflows, In-App Support & Partner OAuth

Mastra-native AI agent with live workflow execution, in-app support powered by Helpway, partner OAuth becomes self-serve, Content CMS gains per-entry analytics, and the dashboard moves from top nav to a collapsible sidebar.

AI Agent v3 — Built on Mastra

Our AI drawer is now a fully Mastra-native agent. The chat surface, the tool execution layer, and the message history all run through Mastra's runtime — replacing the hand-rolled AI SDK plumbing that was getting harder to extend.

Mastra Migration `NEW`

`handleChatStream` is now the canonical chat route. The legacy `/api/chat` AI SDK route has been removed. The agent definition lives in `apps/api/domains/ai/agents/project-agent.ts` and ships with native tool calls, streaming, and step limits.

Cross-thread Semantic Memory `NEW`

`@mastra/memory` is wired into the chat with a postgres.js storage adapter ("Path B") that survives the `prepare:true` mode used by Cloudflare Workers. Embeddings are pinned to 768 dimensions for a 4× storage reduction, and HNSW indexing is re-enabled. Each user has multi-tenant isolation enforced at the `Vector.query` filter layer.

The result: the agent recalls earlier conversations and applies their context to the current thread — even across sessions.

HITL via `useChat` `IMPROVED`

The drawer switched to `@ai-sdk/react` `useChat` with native Human-in-the-Loop. `askQuestion`, `createPlan`, and `proposeTranslations` render inline approval cards that the agent suspends on, then resumes from the user's answer — no custom snapshot endpoints, no D1 round-trips.

Auto-Apply Writes `IMPROVED`

Confidence-gated write tools (`proposeTranslations`, `proposeKeys`, `proposeContentEntries`, `proposePublishEntries`, `proposeTranslationEdits`, language add/edit) now apply on execute and AI-narrate what they did. Approve/Deny cards are reserved for genuinely destructive operations. The agent gets honest counts — partial successes surface as "wrote 38 / requested 40" rather than fake-perfect numbers.

Smarter Tooling

---

  • `webSearch` via Exa — project-aware research with a monthly quota
  • `getContentEntries` resolves relation field UUIDs to names/titles and supports `focusNamespace` for sub-group expansion
  • 70%+ context cut — Memory writes are slim for read/web/edit/workflow tools, full payloads stay out of the LLM context window
  • Anti-hallucination — write tools refuse to claim success on empty result sets

Workflow Engine on Cloudflare Workers `NEW`

For multi-step work (bulk translation, content batch creation), the agent now hands off to a real workflow engine instead of looping tool calls.

`createPlan` + `startWorkflow` produce a live, suspendable, per-step pipeline that streams progress directly into the chat UI via SSE. The workflow card renders steps, per-language progress for translation batches, and a phase-by-phase live status pill.

Built on Mastra's default engine with D1 storage. The Cloudflare Workers idle timeout is handled by a low-overhead SSE heartbeat. Workflow snapshots round-trip through `toRawMessages` so a refresh in the middle of a 1,500-key translation batch restores the live card without losing state.

The two workflows shipping this month:

The plan can ask the user one focused question when scope is genuinely ambiguous; otherwise it runs straight through.

---

  • `translation-batch` — bulk translation with per-language progress bars
  • `content-creation` — DISCOVERY → plan → write → verify, with feedback-driven rejection

Helpway In-App Support `NEW`

Better i18n now ships with Helpway-powered in-app support. The sidebar surfaces an anchored preview for the latest support announcement or unread conversation, with a monochrome avatar treatment that matches the platform.

Clicking an announcement deep-links into the entry detail, not a generic inbox view. Helpway's `@helpway/react` SDK moved from 0.10 → 0.12 over the month, integrating with the dashboard sidebar and tightening the visual treatment.

The bigger story: Helpway itself is now the first external product running on Better i18n's partner OAuth — its production dashboard authenticates against our auth surface via installation tokens.

---

Sidebar Navigation Overhaul `IMPROVED`

The dashboard moved from a top navbar to a collapsible sidebar, modeled on ElevenLabs' navigation pattern.

The content editor also moved to a unified single-header layout with breadcrumb navigation (Content / Model / Title), a flat properties tab, and a redesigned icon-tab sidebar.

---

  • Scope-aware settings sidebar — context follows you across org and project boundaries
  • Last-context navigation — back-and-forth between settings and main app remembers where you were
  • Compact usage card moved into the sidebar footer
  • Members and Billing surfaced in the org settings sidebar
  • Expandable sub-navigation for nested sections
  • User menu with name/email plus a sidebar help button

Partner OAuth 2.0 `STABLE`

Partner OAuth now ships with self-serve onboarding for third-party tools.

Helpway is the first production consumer of installation tokens.

---

  • OAuth (no-key) MCP onboarding for Claude Code and Cursor — no copy-paste API keys, the IDE handshakes directly
  • RFC 7591 dynamic client registration — with deduplication via a native before-hook
  • `GET /v1/installations` — grant discovery endpoint for installed partners
  • Consent screen polish — auto-redirect after 3s on success, `IconCode` fallback for clients without `logo_uri`
  • Grant revocation reads through `dbDirect` — revokes are reflected immediately, not after cache TTL

Content CMS Analytics `NEW`

Every content entry now ships with view analytics.

`publishEntry` now refuses to mark entries with empty body translations as published — prevents accidental "ghost" entries in the CDN.

---

  • Per-entry sparkline in the entry table — gradient fill, hover tooltip with count, 7d/30d period toggle
  • Cloudflare-style TimeRangePicker — 10 presets, custom range, timezone awareness, recently-used
  • Analytics sidebar with country and referrer breakdowns
  • Backend — full stats endpoint on Cloudflare Analytics Engine, KV-cached per period, deterministic cache busting
  • In-place CMS enablement from the empty state — no separate setup flow

Onboarding Wizard `IMPROVED`

---

  • Inline website analysis with auto background enrichment — runs through OpenRouter (`gpt-4o-mini`) instead of Gemini for the analyzer
  • OAuth MCP step for Claude Code and Cursor — no-key handshake
  • Chrome-aware skeleton for the setup wizard pending state — page shape matches the real layout
  • Setup wizard migrated to canonical `projectId` throughout

Telemetry & Reliability `IMPROVED`

---

  • PostHog Managed Reverse Proxy migration — drop the self-hosted proxy, exceptions captured via proxy-rewritten extension chunks
  • Sourcemap pipeline wired to PostHog for readable production stack traces
  • `no-cache` on index.html — returning users always get current chunks (the root cause of intermittent stale-chunk crashes)
  • **`vite: preloadError` recovery** — auto-reload with cache bust plus a session-capped retry budget
  • **TanStack Router #7120 workaround** — root route uses `wrapInSuspense: true` to close the first-load race that threw bare `undefined` in `<MatchInnerImpl>`

Security `IMPROVED`

---

  • `samlify` >= 2.13.0 — GHSA-34r5-q4jw-r36m (XML injection)
  • `dompurify` >= 3.4.0 — editor XSS surface closed
  • `next` >= 16.2.6 — 8 high CVEs patched via override
  • Release workflow actions pinned to commit SHAs
  • `osv-scanner` gate aligned to high+ severity policy
  • CODEOWNERS plus an org-level security baseline wired across the workspace

Bug Fixes & Polish

  • Stripe sync now uses plugin callbacks (`onSubscriptionCreated` / `onSubscriptionUpdate`) instead of `databaseHooks` — fixes the May 5 incident where subscription state diverged from the billing UI
  • Webhook `findFirst` → `findMany` + `deletedAt` filter — fixes silent push drop when a deleted project shared the same repo
  • Admin impersonate banner moved from layout to a sidebar card
  • Stop button actually halts running workflows, not just the chat fetch
  • Session selector redesigned to match the Select component style
  • Multiple chat persistence fixes: rich tool parts restore 1:1 with the live stream, interactive parts preserve on same-id stream continuation, terminal workflow snapshots round-trip through restore
2.0.0

Agent-Native Intelligence, OAuth Apps & CDN Reliability

Semantic duplicate detection for AI agents, phantom key cleanup tools, OAuth app installation system, CDN publish pipeline hardening, and namespace delivery.

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
1.6.0

Bulk Operations, Navigation Redesign & Content API Keys

Bulk translation workflow, relation fields for Content CMS, Content API keys, and project navigation redesign.

Translation Editor

  • Bulk translation workflow: Select, approve, reject, or translate multiple translations at once with Shift+click range select and batch operations.

Content CMS

  • Relation fields & built-in Users model: Content models now support relation fields with proper editor rendering and built-in author references.
  • Content API keys with integration guide: Quick Start section with cURL examples, SDK install commands, and code snippets after creating an API key.
  • Cloudflare AI migration & Content MCP: Faster AI translations powered by Cloudflare AI with model-based authorization and llm.txt endpoints.

Dashboard

  • Interactive AI chat in Quick Start: Try the AI assistant directly from the onboarding flow without leaving the setup wizard.
  • Project navigation redesign: Cleaner tab structure with Languages merged into Overview and settings reorganized with sidebar layout.
  • Redesigned "Add Languages" flow: Popular languages section, search-as-you-type filtering, and regional variant grouping.

Bug Fixes & Improvements

  • FIXEDTeam Members permissions: Admins can no longer assign Owner role or remove other admins. Pending invites count now displays correctly.
  • FIXEDUsage Overview: Translation Keys and AI Usage values now pull real data from the API.
  • FIXEDContent editor crash: Fixed "Expected drag drop context" error on entry detail pages.
1.5.0

Content Management, AI Translations & Onboarding

Content CMS with blog, changelog and roadmap support, rich text editor, auto-approve translations, and getting started guide.

Content CMS

  • Blog, changelog and roadmap content: Create and edit content entries with full localization support.
  • Rich text editor: Writing experience powered by PlateJS with formatting, code blocks, and more.
  • Multi-language content translations: Manage translations for each content entry across all project languages.
  • Draft/published status control: Control when content goes live with status management.
  • Unsplash integration: Search and add free stock images directly from the editor.
  • Auto-save: Never lose your work with automatic saving.

AI Translations

  • Auto-approve mode: Complete the entire translation process with a single click.
  • Faster translation suggestions: Improved AI models deliver better quality translations.

Dashboard

  • Help menu: Quick access menu for support and resources.
  • Getting started guide: Step-by-step setup wizard with estimated time and notes for each step.
  • Visual progress indicators: Track completed onboarding steps at a glance.
  • Drag-and-drop language ordering: Arrange languages in your preferred display order.
  • Reset language order: Quickly reset to default ordering with English on top.
1.4.0

AI Efficiency, Tool Decomposition & CDN Architecture

Optimized AI responses with 40-50% smaller payloads, note activity type, R2 dual-bucket architecture, and billing cycle toggle.

AI Agent

  • Optimized AI responses: All read endpoints now return 40–50% smaller responses, reducing AI token costs significantly.
  • Optimized tool output: `getKeyDetails` returns a more efficient format (55% token reduction) with built-in field legend.
  • Immediate HTTP streaming: AI chat opens the HTTP connection instantly, eliminating perceived "hanging" during initialization.
  • AI context window: Token counting now uses last step usage instead of cumulative totals.
  • Auto-approve UX: Clearer auto-approve prompt flow with semantic XML tags.

Dashboard

  • Note activity type: Annotate translation keys with notes tracked in the activity feed.
  • Billing cycle toggle: Monthly/yearly pricing with 20% yearly savings badge.
  • Tool UI decomposition: Monolithic tool.tsx decomposed into 11 focused files with zero visual changes.

Infrastructure

  • R2 dual-bucket architecture: Flag images and static assets migrated to dedicated R2 bucket (`s3.better-i18n.com`), separate from translation files.
  • Publish query optimization: Parallelized queries for faster response times.
  • User attribution: Sync jobs now track which user triggered them.

Bug Fixes & Improvements

  • FIXEDMCP publish: Fixed failing when CDN is enabled but no files uploaded yet.
  • FIXEDSoft-delete rename: Fixed transaction using single connection for find+rename+insert.
  • FIXEDVList height: Fixed height mismatch for small translation lists (<20 items).
  • FIXEDCache invalidation: Fixed organization settings cache invalidation key.
1.3.0

MCP Publish Workflow & Reliability Fixes

MCP publish tools for IDE-driven deployments, default CDN format change to JSON nested, and improved key recreation safety.

MCP Tools

  • MCP publish tools: Two new tools — `getPendingChanges` to preview deployments and `publish` to deploy translations to CDN, all from your IDE.
  • Complete MCP workflow: AI assistants can now follow the full cycle: read → translate → verify → publish → confirm.
  • Pending publish hints: Write operations now return hints reminding AI to call publish when changes are ready.
  • MCP router documentation: Comprehensive tool documentation with categories and recommended workflow guide.

CDN & Publishing

  • Default CDN format: Changed default from JSON_FLAT to JSON_NESTED for better i18n library compatibility.
  • CDN fallback by default: New projects automatically get fallback language support enabled.

Dashboard

  • Safer key recreation: Fixed soft-delete rename with single database transaction, preventing conflicts.
  • Better chat compaction: `/compact` command now shows user message and actual summarization content.
  • Language sorting: Languages are now sorted by status: active → draft → archived.

Bug Fixes & Improvements

  • FIXEDSlash command auto-submit: Fixed double submission issue.
  • FIXEDSummarization cleanup: Removed deprecated summarization tool from server-side.
1.2.0

Namespace Context, Fallback Languages & Open Source

AI namespace context for smarter translations, localization fallback for new languages, and open source release on GitHub.

AI & MCP

  • Namespace context for AI: AI models can now attach rich context (description, team, domain, AI prompt, tags) when creating or updating keys.
  • Smarter key mentions: Keys mentioned in AI chat now include their namespace context for precise AI targeting.
  • Faster Gemini streaming: Optimized system prompts for significantly faster streaming with Gemini models.

SDKs & Platform

  • Localization fallback: When adding a new language, missing keys automatically inherit from the fallback language.
  • Open source release: Packages, MCP server, and landing page now public at github.com/better-i18n/oss.
  • Relational namespaces: Translation keys now have proper relational connection to namespaces for better organization.

Dashboard

  • Redesigned project settings: Completely revamped project settings interface for better usability.
  • Enhanced filter UI: Improved filtering experience across the translation dashboard.
  • CDN republish support: Deleting CDN files now resets published status, allowing clean republishing.
1.1.0

AI Performance Boost & Smoother Streaming

Smooth AI streaming with SDK v6, smart context caching, better MCP tool schemas, and saved view descriptions.

AI Agent

  • Smoother AI responses: Upgraded AI SDK to v6.0.39 with smoothStream for fluid, natural response streaming.
  • Smart context caching: 30-second cache for project context queries reduces database load and speeds up AI responses.
  • Smarter AI thinking: Upgraded thinking configuration for more accurate translation decisions.

MCP & Developer Tools

  • Better MCP tool schemas: Redesigned MCP tool input format for more intuitive IDE integration.
  • Instant MCP translations: Keys created via MCP are now automatically approved.
  • Enhanced key mentions: Namespace field added to key mentions in AI chat for better context awareness.

Dashboard

  • Saved view descriptions: Add descriptions and privacy settings to your saved translation views.
  • Cleaner chat UI: Simplified copy button design for less visual clutter.

Bug Fixes & Improvements

  • FIXEDMessage parsing: Fixed message parsing removing debug console.logs.
  • FIXEDPublish reliability: Improved publish batch processor reliability.
  • FIXEDData integrity: Enhanced soft-delete helper functions for better data integrity.
1.0.0

Smarter AI Agent & MCP Tools

MCP delete keys tool, developer tools modal, admin impersonation, and RLS security fixes.

AI Agent

  • MCP delete keys tool: Soft delete translation keys directly from your IDE using the MCP server.
  • AI agent performance: Faster response times and better context handling.
  • Chat summarization: Improved conversation summarization for long sessions.
  • Gemini integration: Migrated to new thinkingBudget API for better AI responses.

Dashboard

  • Developer tools modal: New modern DevTools with chat sessions viewer and network inspector.
  • Admin impersonation: Team admins can now impersonate users for debugging.

Bug Fixes & Improvements

  • FIXEDRLS security: Fixed RLS bypass with proper transaction handling.
  • FIXEDSoft-delete policies: Resolved soft-delete RLS policies not working correctly.
  • FIXEDAPI key decryption: Fixed API key decryption issues.