2.2.0

GitHub Sync repensé, moteur de workflows renforcé et suppression de compte self-serve

GitHub Sync repensé `IMPROVED`

  • Autodétection de la file structure + key format depuis l'arbre du repo et le contenu (`flat` vs `nested`)
  • Carte de recommandation façon Cloudflare avec drapeaux et noms de langue, ancrée sur la langue source
  • La modale d'édition expose File Structure et Key Format ; la sauvegarde préserve la structure existante

Quatre structures de fichiers — désormais avec Astro `NEW`

  • Single file `locales/en.json` · Locale folders `locales/en/common.json` · Namespace folders `faq/en.json` *(nouveau)* · Locale-suffixed `faq.en.json`
  • Détection, lecture et écriture symétrique end-to-end, y compris le manifest CDN v2

Connexion et re-sync plus fluides `IMPROVED`

  • Bouton "Sync now" avec polling jusqu'à la fin
  • Les repos déjà liés/orphelins sont réconciliés au lieu d'un 409
  • Écran "You're all set" ; le flux GitHub Sync saute les étapes framework/SDK inutiles

Moteur de workflows de traduction — renforcé `IMPROVED`

  • Traduction concurrente par langue ; contrat LLM key-keyed + chunking dual-limit + retry
  • GPT-4.1 Mini pour les workflows batch ; les traductions en masse passent par le workflow
  • Cancel end-to-end ; `translateBatch` corrigé (tournait en no-op, échoue maintenant clairement)

Apportez votre propre DeepL `NEW`

DeepL utilise désormais votre propre clé API au lieu d'un compte partagé. Chaque projet traduit sur son propre quota.

Cohérence read-after-write `IMPROVED`

  • Éditeur, sync, statut de publish et activation du CMS lisent à jour
  • Billing comble l'écart — le plan payant se reflète instantanément après Checkout
  • **Sécurité**: l'état d'autorisation est toujours lu uncached

Suppression de compte self-serve `NEW`

  • Suppression confirmée par email, page dédiée + email de clôture (aussi OAuth)
  • Bouton Resend + modale de suppression renforcée ; FKs utilisateur à null

Content CMS — publication sûre, uploads & Trash `IMPROVED`

  • Save-before-publish + gating dirty-state ; Trash, uploads média, états par langue plus clairs
  • Champs de relation multivalués ; plus d'analytics inventées

Fiabilité et sécurité `IMPROVED`

  • Fix du stuck-splash au cold-load + boot watchdog ; états error/not-found/empty redessinés
  • Partner OAuth: CRUD de contenu, minting de clés API ; Chinois (`zh`) comme langue ; plus de stack traces en production