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/codesnadá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.tszabraňuje regresím uconfirm()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ř.
wu3qaaoteví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.tschrání href odkazů, chování nové karty,noopener noreferrerund 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/pricingnebyly blokovány Redirect-Workerem. - Testy:
packages/redirect/tests/unit/redirect.test.tsověř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šechnydpp_scansdaného API-Key-Workspace (active_dpps,scans_by_day,top_dppss 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(migrace0011) — oddělená odscans(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/:dppIds 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ěď obsahujeeu_compliance+preview.changed_fields. - Dashboard: Karta simulátoru v detailu DPP (
/dashboard/dpp/:dppId) — štítky (chips) proDE/AT/FR/IT/ES/NL+ vlastní, rozbalovací nabídka stavu, Preview EU impact / Save changes / Reset. Neblokující přes RemixuseFetcher. - 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/validatenavíc vracíeu_compliance— stejný validátor jakoGET /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-compliancescompliant/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
textiles povinným řetězcem AGEC (tkaní/pletení → barvení/tisk → konfekce), pro každé vláknoorigin_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/importpřijímá CSV a XLSX (kompatibilní s Workery přes SheetJSxlsx, ~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_csvodpovědi 201;GET /v1/dpp/import/templates/:category?format=csv|xlsxposkytuje hotové šablony pro baterie a textil. - Dashboard: Nahrávání přetažením (drag-and-drop) na
/dashboard/dpp/imports 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/validateignorují nové poleeu_compliancebez nutnosti úprav. - Stávající procesy pro
batteryzůstávají beze změny. market_countriesje volitelné a výchozí hodnota je[].
Viz Verzování API pro zásady změn narušujících kompatibilitu.