Aller au contenu

Changelog

Changelog

Points forts sélectionnés des dernières versions. Pour les versions complètes de l’API et la politique de rupture de compatibilité, consultez la Politique de versioning de l’API & LTS.

Modifications détaillées des différents points de terminaison : Spécification OpenAPI et référence API interactive.


2026-04 · Analyses du tableau de bord par code QR

  • Tableau de bord : Le bouton d’analyses dans la liste des codes QR ouvre désormais la page de statistiques du code QR correspondant sous /dashboard/codes/{id}.
  • Routage : L’alias /dashboard/codes redirige toujours vers /dashboard, mais n’intercepte plus les routes détaillées comme /dashboard/codes/{id}.
  • API : La page de détails charge le code QR directement via GET /v1/codes/:id ; elle ne dépend donc plus des limites de pagination de la liste.
  • Tests : Les tests de régression couvrent la redirection d’alias et le chargement direct du code.

2026-04 · Boîte de dialogue de suppression des codes QR sur le tableau de bord

  • Tableau de bord : L’icône de corbeille dans la liste des codes QR ouvre désormais une boîte de dialogue React dédiée au lieu d’une fenêtre contextuelle native du navigateur.
  • Retour d’information : Après la suppression, une notification toast apparaît pour indiquer le succès ou l’échec.
  • Tests : packages/dashboard/tests/dashboard.test.ts empêche les régressions sur confirm() dans le flux de suppression de code QR.

2026-04 · Test de lien court sur le tableau de bord pour les codes QR dynamiques

  • Tableau de bord : Les codes courts dans la liste des codes QR sont désormais directement cliquables en tant que liens de redirection externes. L’icône de lien externe à côté de par ex. wu3qaa ouvre https://qr3.app/{shortCode} dans un nouvel onglet.
  • i18n : Ajout des textes d’infobulle pour l’allemand et l’anglais.
  • Tests : packages/dashboard/tests/dashboard.test.ts protège le href du lien, le comportement du nouvel onglet, noopener noreferrer et l’icône contre les régressions.

2026-04 · Route du Worker de redirection pour les codes QR dynamiques

  • Correctif : Les codes QR dynamiques sous https://qr3.app/{shortCode} sont à nouveau traités par le Worker de redirection. La route de production utilise désormais qr3.app/* car les routes de Cloudflare Workers ne prennent pas en charge les paramètres de chemin :code.
  • Renforcement : Les chemins non correspondants sont transmis à l’origine de la page d’atterrissage afin que les pages normales comme /de/pricing ne soient pas bloquées par le Worker de redirection.
  • Tests : packages/redirect/tests/unit/redirect.test.ts vérifie la route générique, le traitement du code court et le passage à l’origine.

2026-04 · Aperçu des scans DPP de l’espace de travail (Q3.4.2)

  • Nouveau : GET /v1/workspace/stats/dpp?days=30 — agrège tous les dpp_scans de l’espace de travail de la clé API (active_dpps, scans_by_day, top_dpps avec nom de produit/catégorie).
  • Tableau de bord : Carte sur la page d’accueil (/dashboard) avec un graphique à barres sur 30 jours + listes des tops — en parallèle des cartes de codes QR.
  • Public : Lien court marketing GET /dpp/dpp_<id> (un segment) pour les démos en direct, en parallèle de /dpp/{gtin}/{serial}.

2026-04 · Analyses des scans DPP (Q3.4.1)

  • Nouveau : GET /v1/dpp/:id/stats?days=30 — scans agrégés du résolveur public GS1 par DPP. Champs : total_scans, period_scans, scans_by_day, top_countries, top_devices, top_representations.
  • Nouveau : Table dpp_scans (migration 0011) — séparée de scans (Worker de redirection). Les adresses IP sont hachées avec un sel rotatif quotidien, les IP brutes n’atteignent jamais D1.
  • Tableau de bord : Carte mini-graphique (SVG, sans bibliothèque de graphiques) sur /dashboard/dpp/:dppId avec barres sur 30 jours + ventilations du top 3. État vide dès qu’un DPP est en ligne mais n’a pas encore eu de scans.

2026-04 · Simulateur de conformité UE en direct (Q3.3.7)

  • Nouveau : POST /v1/dpp/:id/validate-update — simule des mises à jour partielles sans état (statut, liste de marchés, …) sans persistance. La réponse contient eu_compliance + preview.changed_fields.
  • Tableau de bord : Carte de simulateur dans les détails du DPP (/dashboard/dpp/:dppId) — puces pour DE/AT/FR/IT/ES/NL + personnalisé, menu déroulant de statut, Preview EU impact / Save changes / Reset. Non bloquant via Remix useFetcher.
  • Renforcement : Assistants de simulation externalisés (readUpdatePatchFromForm, marketCountriesKey) + 18 nouveaux tests unitaires ; correction de bug : une entrée non-ISO isolée ne supprime plus la liste des marchés.

2026-04 · Aperçu de la conformité UE en direct dans le formulaire de création (Q3.3.6)

  • Modifié : POST /v1/dpp/validate fournit en plus eu_compliance — le même validateur que GET /v1/dpp/:id/eu-compliance, sans état avant l’enregistrement.
  • Tableau de bord : Aperçu sous le panneau de validation existant + nouvelle bannière de protection de sauvegarde avant les boutons de soumission si des erreurs/avertissements sont en suspens (pluralisation i18n DE/EN).

2026-04 · Validateur UE + UI Textile (Q3.3.4 + Q3.3.5)

  • Nouveau : Validateur de conformité UE avec 5 règles textiles (TEXTILE_AGEC_REQUIRED, TEXTILE_MICROPLASTICS_CONSISTENCY, TEXTILE_SVHC_THRESHOLD, TEXTILE_GREENWASHING, TEXTILE_ESPR_READY).
  • Nouveau : GET /v1/dpp/:id/eu-compliance avec compliant / espr_ready / issues[] / summary.
  • Tableau de bord : Section de conformité UE dans les détails du DPP (tuiles de résumé, cartes de problèmes groupées, badge ESPR-Ready dans l’en-tête).

2026-04 · Schéma DPP Textile (Q3.3.1–Q3.3.3)

  • Nouveau : Catégorie textile avec chaîne d’obligation AGEC (tissage/tricotage → teinture/impression → confection), par fibre origin_country + recycled_pct, svhc_substances[], opt-in ESPR (PEF, durée de vie, recyclabilité).
  • Nouveau : Champ de base market_countries: string[] (ISO 3166-1 alpha-2) sur toutes les catégories de DPP — contrôle les règles AGEC spécifiques à la France et la notice obligatoire pour les consommateurs français.
  • Nouveau : Modèle HTML consommateur avec boîte d’avertissement sur les microplastiques AGEC, chaîne d’origine à 3 étapes (badges de drapeaux), liste SVHC, sections durabilité et recyclabilité.
  • Migration : 0010_dpp_market_countries (D1).

2026-04 · Importation en lot de DPP (Q3.2.1–Q3.2.5)

  • Nouveau : POST /v1/dpp/import accepte CSV et XLSX (compatible Worker via SheetJS xlsx, bundle gzip d’environ 283 Ko).
  • Mise à l’échelle : Limite basée sur le forfait (Free 100 → Enterprise 10k) + db.batch() fragmenté par 100 + limite de corps de 5 Mo.
  • Nouveau : Rapport d’erreurs au format CSV dans le champ errors_csv de la réponse 201 ; GET /v1/dpp/import/templates/:category?format=csv|xlsx fournit des modèles prêts à l’emploi pour les batteries et le textile.
  • Tableau de bord : Téléchargement par glisser-déposer sous /dashboard/dpp/import avec proxy de modèle et téléchargement CSV en ligne.

Sans rupture — Extensions LTS

Toutes les modifications mentionnées ci-dessus sont additives :

  • Les clients existants de POST /v1/dpp/validate ignorent le nouveau champ eu_compliance sans modification.
  • Les flux battery existants restent inchangés.
  • market_countries est facultatif et a pour valeur par défaut [].

Consultez le Versioning de l’API pour la politique de rupture de compatibilité.