1.4.0
AI Efficiency, Tool Decomposition & CDN Architecture
AI Agent
- NEWOptimized AI responses: All read endpoints now return 40–50% smaller responses, reducing AI token costs significantly.
- NEWOptimized tool output: `getKeyDetails` returns a more efficient format (55% token reduction) with built-in field legend.
- NEWImmediate HTTP streaming: AI chat opens the HTTP connection instantly, eliminating perceived "hanging" during initialization.
- UPDATEDAI context window: Token counting now uses last step usage instead of cumulative totals.
- UPDATEDAuto-approve UX: Clearer auto-approve prompt flow with semantic XML tags.
Dashboard
- NEWNote activity type: Annotate translation keys with notes tracked in the activity feed.
- NEWBilling cycle toggle: Monthly/yearly pricing with 20% yearly savings badge.
- UPDATEDTool UI decomposition: Monolithic tool.tsx decomposed into 11 focused files with zero visual changes.
Infrastructure
- NEWR2 dual-bucket architecture: Flag images and static assets migrated to dedicated R2 bucket (`s3.better-i18n.com`), separate from translation files.
- UPDATEDPublish query optimization: Parallelized queries for faster response times.
- UPDATEDUser 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.