Skip to content

Changelog

Changelog

A legutóbbi kiadások válogatott kiemelései. A teljes API-verziókért és a visszamenőleges kompatibilitást érintő változások (breaking changes) irányelveiért lásd az API-verziókezelés és LTS-irányelv oldalt.

Az egyes végpontok részletes változásai: OpenAPI-specifikáció und interaktív API-referencia.


2026-04 · Dashboard-analitika QR-kódonként

  • Dashboard: A QR-kód listában található Analytics gomb mostantól az adott QR-kód statisztikai oldalát nyitja meg a /dashboard/codes/{id} útvonalon.
  • Routing: A /dashboard/codes álnév (alias) továbbra is átirányít a /dashboard oldalra, de már nem fogja el a részletes útvonalakat, mint például a /dashboard/codes/{id}.
  • API: A részletes oldal közvetlenül a GET /v1/codes/:id hívással tölti be a QR-kódot; ezáltal már nem függ a lista lapozási korlátaitól (pagination limits).
  • Tesztek: Regressziós tesztek fedik le az álnév-átirányítást (alias redirect) és a közvetlen kód-betöltést.

2026-04 · Dashboard törlési párbeszédpanel QR-kódokhoz

  • Dashboard: A QR-kód listában lévő kuka ikon mostantól egy saját React párbeszédpanelt (dialog) nyit meg a natív böngészős felugró ablak (popup) helyett.
  • Visszajelzés: Törlés után egy toast értesítés jelenik meg a sikerről vagy a hibáról.
  • Tesztek: A packages/dashboard/tests/dashboard.test.ts megakadályozza a confirm()-ra vonatkozó regressziókat a QR-kód törlési folyamatában.
  • Dashboard: A QR-kód listában szereplő shortcode-ok mostantól közvetlenül kattintható külső átirányítási linkként működnek. A külső link ikon (pl. a wu3qaa mellett) új lapon nyitja meg a https://qr3.app/{shortCode} címet.
  • i18n: Német és angol nyelvű tooltip szövegek hozzáadva.
  • Tesztek: A packages/dashboard/tests/dashboard.test.ts védi a link href-et, az új lapon való megnyitást, a noopener noreferrer attribútumot és az ikont a regressziókkal szemben.

2026-04 · Redirect-Worker útvonal dinamikus QR-kódokhoz

  • Javítás: A https://qr3.app/{shortCode} alatti dinamikus QR-kódokat ismét a Redirect-Worker dolgozza fel. Az éles (production) útvonal mostantól a qr3.app/* mintát használja, mivel a Cloudflare Worker útvonalak nem támogatják a :code útvonal-paramétereket.
  • Robusztusság: A nem egyező útvonalak továbbításra kerülnek a landing origin felé, így a normál oldalak, mint például a /de/pricing, nincsenek blokkolva a Redirect-Worker által.
  • Tesztek: A packages/redirect/tests/unit/redirect.test.ts ellenőrzi a wildcard útvonalat, a shortcode feldolgozást és az origin-továbbítást (pass-through).

2026-04 · Workspace DPP-beolvasási áttekintő (Q3.4.2)

  • Új: GET /v1/workspace/stats/dpp?days=30 — összesíti az API-kulcshoz tartozó workspace összes dpp_scans adatát (active_dpps, scans_by_day, top_dpps terméknévvel/kategóriával).
  • Dashboard: Kártya a kezdőlapon (/dashboard) 30 napos oszlopdiagrammal + toplistákkal — a QR-kód kártyákkal párhuzamosan.
  • Nyilvános: GET /dpp/dpp_<id> marketing rövid link (egy szegmens) élő demókhoz, a /dpp/{gtin}/{serial} útvonallal párhuzamosan.

2026-04 · DPP-beolvasási analitika (Q3.4.1)

  • Új: GET /v1/dpp/:id/stats?days=30 — a nyilvános GS1-resolver összesített beolvasásai DPP-nként. Mezők: total_scans, period_scans, scans_by_day, top_countries, top_devices, top_representations.
  • Új: dpp_scans tábla (migráció: 0011) — elkülönítve a scans táblától (Redirect-Worker). Az IP-címek naponta változó (rotáló) salt segítségével kerülnek hashelésre, a nyers IP-címek soha nem érik el a D1-et.
  • Dashboard: Mini diagram kártya (SVG, diagram-könyvtár nélkül) a /dashboard/dpp/:dppId oldalon 30 napos oszlopokkal + top 3 részletezéssel. Üres állapot (empty state), amint egy DPP élővé válik, de még nem volt beolvasása.

2026-04 · Élő EU-megfelelőségi szimulátor (Q3.3.7)

  • Új: POST /v1/dpp/:id/validate-update — részleges frissítéseket szimulál állapotmentesen (stateless) (státusz, piacok listája, …) perzisztencia nélkül. A válasz tartalmazza az eu_compliance + preview.changed_fields mezőket.
  • Dashboard: Szimulátor kártya a DPP részleteiben (/dashboard/dpp/:dppId) — DE/AT/FR/IT/ES/NL + egyedi chipek, státusz legördülő menü, Preview EU impact / Save changes / Reset. Nem blokkoló működés Remix useFetcher segítségével.
  • Robusztusság: Kiszervezett szimulátor segédfunkciók (readUpdatePatchFromForm, marketCountriesKey) + 18 új unit teszt; hibajavítás: az egyedülálló nem-ISO bemenet már nem törli a piacok listáját.

2026-04 · Élő EU-megfelelőségi előnézet a létrehozási űrlapon (Q3.3.6)

  • Módosítva: A POST /v1/dpp/validate kiegészítőleg visszaadja az eu_compliance mezőt — ugyanaz a validátor, mint a GET /v1/dpp/:id/eu-compliance, állapotmentesen a mentés előtt.
  • Dashboard: Előnézet a meglévő validációs panel alatt + új Save-Guard banner a beküldő gombok előtt, ha hibák/figyelmeztetések vannak nyitva (német/angol i18n többes szám kezeléssel).

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

  • Új: EU-megfelelőségi validátor 5 textil-szabállyal (TEXTILE_AGEC_REQUIRED, TEXTILE_MICROPLASTICS_CONSISTENCY, TEXTILE_SVHC_THRESHOLD, TEXTILE_GREENWASHING, TEXTILE_ESPR_READY).
  • Új: GET /v1/dpp/:id/eu-compliance a compliant / espr_ready / issues[] / summary mezőkkel.
  • Dashboard: EU-megfelelőségi szekció a DPP részleteiben (összegző kártyák, csoportosított probléma-kártyák, ESPR-Ready jelvény a fejlécben).

2026-04 · Textil DPP-séma (Q3.3.1–Q3.3.3)

  • Új: textile kategória kötelező AGEC-lánccal (szövés/kötés → festés/nyomás → konfekcionálás), szálankénti origin_country + recycled_pct, svhc_substances[], ESPR opt-in (PEF, élettartam, újrahasznosíthatóság).
  • Új: market_countries: string[] (ISO 3166-1 alpha-2) alapmező minden DPP-kategórián — vezérli a francia-specifikus AGEC-szabályokat és a kötelező francia fogyasztói tájékoztatót.
  • Új: Fogyasztói HTML-sablon AGEC mikroműanyag-figyelmeztető dobozzal, 3 lépcsős származási lánccal (zászló-pill-ek), SVHC-listával, tartóssági (durability) és újrahasznosíthatósági (recyclability) szekcióval.
  • Migráció: 0010_dpp_market_countries (D1).

2026-04 · DPP tömeges import (Q3.2.1–Q3.2.5)

  • Új: A POST /v1/dpp/import elfogad CSV és XLSX fájlokat (Worker-kompatibilis a SheetJS xlsx használatával, ~283 KB gzip csomagméret).
  • Skálázott: csomagalapú korlát (Free 100 → Enterprise 10k) + darabolt db.batch() 100-asával + 5 MB body-méretkorlát.
  • Új: Hibajelentés CSV formátumban a 201-es válasz errors_csv mezőjében; a GET /v1/dpp/import/templates/:category?format=csv|xlsx kész sablonokat biztosít az akkumulátorhoz és a textilhez.
  • Dashboard: Drag-and-drop feltöltés a /dashboard/dpp/import oldalon sablon-proxyval és beágyazott (inline) CSV-letöltéssel.

Nem visszamenőlegesen kompatibilitást érintő (Non-breaking) — LTS-bővítések

Minden fent említett változás additív:

  • A meglévő POST /v1/dpp/validate kliensek változtatás nélkül figyelmen kívül hagyják az új eu_compliance mezőt.
  • A meglévő battery folyamatok változatlanok.
  • A market_countries opcionális, és alapértelmezetten [].

Lásd az API-verziókezelés oldalt a breaking change irányelvekért.