Přeskočit na obsah

Changelog

Changelog

Vybrané hlavní body z posledních vydání. Úplné verze API a zásady pro změny narušující kompatibilitu naleznete v Verzování API & LTS zásady.

Podrobné změny u jednotlivých koncových bodů: Specifikace OpenAPI a interaktivní reference k API.


2026-04 · Analytika dashboardu pro QR kódy

  • Dashboard: Tlačítko analytiky v seznamu QR kódů nyní otevírá stránku se statistikami příslušného QR kódu na adrese /dashboard/codes/{id}.
  • Směrování: Alias /dashboard/codes nadále přesměrovává na /dashboard, ale již nezachytává detailní trasy jako /dashboard/codes/{id}.
  • API: Detailní stránka načítá QR kód přímo pomocí GET /v1/codes/:id; díky tomu již nezávisí na limitech stránkování seznamu.
  • Testy: Regresní testy pokrývají přesměrování aliasu a přímé načtení kódu.

2026-04 · Dialog pro smazání QR kódů v dashboardu

  • Dashboard: Ikona koše v seznamu QR kódů nyní otevírá vlastní React dialog namísto nativního vyskakovacího okna prohlížeče.
  • Zpětná vazba: Po smazání se zobrazí toast oznámení o úspěchu nebo chybě.
  • Testy: packages/dashboard/tests/dashboard.test.ts zabraňuje regresím u confirm() v procesu mazání QR kódu.

2026-04 · Test krátkých odkazů v dashboardu pro dynamické QR kódy

  • Dashboard: Krátké kódy (shortcodes) v seznamu QR kódů jsou nyní přímo klikatelné jako externí přesměrovací odkazy. Ikona externího odkazu vedle např. wu3qaa otevírá https://qr3.app/{shortCode} na nové kartě.
  • i18n: Doplněny texty tooltipů pro němčinu a angličtinu.
  • Testy: packages/dashboard/tests/dashboard.test.ts chrání href odkazů, chování nové karty, noopener noreferrer und ikonu před regresí.

2026-04 · Směrovací trasa Redirect-Workeru pro dynamické QR kódy

  • Fix: Dynamické QR kódy na https://qr3.app/{shortCode} jsou opět zpracovávány Redirect-Workerem. Produkční trasa nyní používá qr3.app/*, protože trasy Cloudflare Workerů nepodporují parametry cesty :code.
  • Zabezpečení: Neodpovídající cesty jsou předávány na původní landing page (landing origin), aby běžné stránky jako /de/pricing nebyly blokovány Redirect-Workerem.
  • Testy: packages/redirect/tests/unit/redirect.test.ts ověřuje wildcard trasu, zpracování krátkých kódů a předávání na původní origin.

2026-04 · Přehled skenů DPP ve workspace (Q3.4.2)

  • Novinka: GET /v1/workspace/stats/dpp?days=30 — agreguje všechny dpp_scans daného API-Key-Workspace (active_dpps, scans_by_day, top_dpps s názvem produktu/kategorií).
  • Dashboard: Karta na úvodní stránce (/dashboard) s 30denním sloupcovým grafem + žebříčky nejlepších — paralelně ke kartám QR kódů.
  • Veřejné: Marketingový krátký odkaz GET /dpp/dpp_<id> (jeden segment) pro živá dema, paralelně k /dpp/{gtin}/{serial}.

2026-04 · Analytika skenů DPP (Q3.4.1)

  • Novinka: GET /v1/dpp/:id/stats?days=30 — agregované skeny veřejného GS1 resolveru pro DPP. Pole: total_scans, period_scans, scans_by_day, top_countries, top_devices, top_representations.
  • Novinka: Tabulka dpp_scans (migrace 0011) — oddělená od scans (Redirect-Worker). IP adresy jsou hashovány s denně rotující solí (salt), surové IP adresy se do D1 nikdy nedostanou.
  • Dashboard: Miniaturní karta s grafem (SVG, bez knihovny pro grafy) na /dashboard/dpp/:dppId s 30denními sloupci + rozborem top 3. Prázdný stav (empty state), jakmile je DPP aktivní, ale ještě nemá žádné skeny.

2026-04 · Živý simulátor shody s předpisy EU (Q3.3.7)

  • Novinka: POST /v1/dpp/:id/validate-update — simuluje částečné aktualizace stateless (bezstavově; stav, seznam trhů, …) bez perzistence. Odpověď obsahuje eu_compliance + preview.changed_fields.
  • Dashboard: Karta simulátoru v detailu DPP (/dashboard/dpp/:dppId) — štítky (chips) pro DE/AT/FR/IT/ES/NL + vlastní, rozbalovací nabídka stavu, Preview EU impact / Save changes / Reset. Neblokující přes Remix useFetcher.
  • Zabezpečení: Vyčleněné pomocné funkce simulátoru (readUpdatePatchFromForm, marketCountriesKey) + 18 nových unit testů; oprava chyby: osamocený vstup mimo ISO již nemaže seznam trhů.

2026-04 · Živý náhled shody s předpisy EU ve formuláři pro vytvoření (Q3.3.6)

  • Změněno: POST /v1/dpp/validate navíc vrací eu_compliance — stejný validátor jako GET /v1/dpp/:id/eu-compliance, bezstavově před uložením.
  • Dashboard: Náhled pod stávajícím validačním panelem + nový Save-Guard banner před odesílacími tlačítky, pokud jsou přítomny chyby/varování (i18n pluralizace DE/EN).

2026-04 · EU validátor + textilní UI (Q3.3.4 + Q3.3.5)

  • Novinka: Validátor shody s předpisy EU s 5 textilními pravidly (TEXTILE_AGEC_REQUIRED, TEXTILE_MICROPLASTICS_CONSISTENCY, TEXTILE_SVHC_THRESHOLD, TEXTILE_GREENWASHING, TEXTILE_ESPR_READY).
  • Novinka: GET /v1/dpp/:id/eu-compliance s compliant / espr_ready / issues[] / summary.
  • Dashboard: Sekce shody s předpisy EU v detailu DPP (souhrnné dlaždice, seskupené karty problémů, štítek ESPR-Ready v záhlaví).

2026-04 · Schéma textilního DPP (Q3.3.1–Q3.3.3)

  • Novinka: Kategorie textile s povinným řetězcem AGEC (tkaní/pletení → barvení/tisk → konfekce), pro každé vlákno origin_country + recycled_pct, svhc_substances[], ESPR-Opt-in (PEF, životnost, Recyclability).
  • Novinka: Základní pole market_countries: string[] (ISO 3166-1 alpha-2) u všech kategorií DPP — řídí specifická francouzská pravidla AGEC a povinné francouzské upozornění pro spotřebitele.
  • Novinka: HTML šablona pro spotřebitele s varovným boxem AGEC pro mikroplasty, 3stupňovým řetězcem původu (vlaječky), seznamem SVHC a sekcemi Durability a Recyclability.
  • Migrace: 0010_dpp_market_countries (D1).

2026-04 · Hromadný import DPP (Q3.2.1–Q3.2.5)

  • Novinka: POST /v1/dpp/import přijímá CSV a XLSX (kompatibilní s Workery přes SheetJS xlsx, ~283 KB gzip balíček).
  • Škálování: limit na základě tarifu (Free 100 → Enterprise 10k) + dávkování db.batch() po 100 + limit těla požadavku (body limit) 5 MB.
  • Novinka: Chybový report jako CSV v poli errors_csv odpovědi 201; GET /v1/dpp/import/templates/:category?format=csv|xlsx poskytuje hotové šablony pro baterie a textil.
  • Dashboard: Nahrávání přetažením (drag-and-drop) na /dashboard/dpp/import s proxy šablon a přímým stahováním CSV.

Změny bez narušení kompatibility — rozšíření LTS

Všechny výše uvedené změny jsou aditivní:

  • Stávající klienti POST /v1/dpp/validate ignorují nové pole eu_compliance bez nutnosti úprav.
  • Stávající procesy pro battery zůstávají beze změny.
  • market_countries je volitelné a výchozí hodnota je [].

Viz Verzování API pro zásady změn narušujících kompatibilitu.