Skip to content

Muutosloki

Muutosloki

Viimeisimpien julkaisujen kuratoidut kohokohdat. Katso täydelliset API-versiot ja rikkovien muutosten käytännöt (breaking changes) sivulta API-versiointi & LTS-käytäntö.

Yksityiskohtaiset muutokset yksittäisiin päätepisteisiin: OpenAPI-määritys ja interaktiivinen API-viite.


2026-04 · QR-koodikohtainen Dashboard-analytiikka

  • Dashboard: QR-koodiluettelon Analytics-painike avaa nyt kyseisen QR-koodin tilastosivun osoitteessa /dashboard/codes/{id}.
  • Reititys: Alias /dashboard/codes ohjaa edelleen osoitteeseen /dashboard, mutta ei enää kaappaa yksityiskohtaisia reittejä, kuten /dashboard/codes/{id}.
  • API: Yksityiskohtasivu lataa QR-koodin suoraan kutsulla GET /v1/codes/:id; tämän ansiosta se ei ole enää riippuvainen luettelon sivutusrajoista (pagination limits).
  • Testit: Regressiotestit kattavat alias-uudelleenohjauksen ja suoran koodin latauksen.

2026-04 · QR-koodien poistovalintaikkuna Dashboardissa

  • Dashboard: QR-koodiluettelon roskakorikuvake avaa nyt oman React-valintaikkunan selaimen natiivin ponnahdusikkunan sijaan.
  • Palaute: Poistamisen jälkeen näytetään toast-ilmoitus onnistumisesta tai virheestä.
  • Testit: packages/dashboard/tests/dashboard.test.ts estää regressiot confirm()-kutsussa QR-koodin poistovuossa.

2026-04 · Dynaamisten QR-koodien lyhytlinkkitesti Dashboardissa

  • Dashboard: QR-koodiluettelon lyhytkoodit (shortcodes) ovat nyt suoraan klikattavissa ulkoisina uudelleenohjauslinkkeinä. Ulkoisen linkin kuvake esimerkiksi koodin wu3qaa vieressä avaa osoitteen https://qr3.app/{shortCode} uudessa välilehdessä.
  • i18n: Työkaluvihjetekstit (tooltips) lisätty saksaksi ja englanniksi.
  • Testit: packages/dashboard/tests/dashboard.test.ts suojaa linkin href-osoitetta, uuden välilehden toimintaa, määritteitä noopener noreferrer ja kuvaketta regressioilta.

2026-04 · Ohjaus-Workerin reitti dynaamisille QR-koodeille

  • Korjaus: Redirect-Worker käsittelee jälleen dynaamiset QR-koodit osoitteessa https://qr3.app/{shortCode}. Tuotantoreitti käyttää nyt muotoa qr3.app/*, koska Cloudflare Worker -reitit eivät tue :code-polkuparametreja.
  • Vankistus: Täsmäämättömät polut välitetään eteenpäin laskeutumissivun alkuperään (landing origin), jotta Redirect-Worker ei estä normaaleja sivuja, kuten /de/pricing.
  • Testit: packages/redirect/tests/unit/redirect.test.ts testaa wildcard-reitin, lyhytkoodien käsittelyn ja alkuperän läpiviennin (origin pass-through).

2026-04 · Työtilan DPP-skannausyleiskatsaus (Q3.4.2)

  • Uutta: GET /v1/workspace/stats/dpp?days=30 — aggregoi kaikki API-avaimen työtilan dpp_scans-tapahtumat (active_dpps, scans_by_day, top_dpps tuotenimellä/kategorialla).
  • Dashboard: Aloitussivun (/dashboard) kortti, jossa on 30 päivän pylväskaavio + Top-listat — rinnakkain QR-koodikorttien kanssa.
  • Julkinen: Markkinoinnin lyhytlinkki GET /dpp/dpp_<id> (yksi segmentti) live-demoja varten, rinnakkain polun /dpp/{gtin}/{serial} kanssa.

2026-04 · DPP-skannausanalytiikka (Q3.4.1)

  • Uutta: GET /v1/dpp/:id/stats?days=30 — julkisen GS1-selvityspalvelun (resolver) aggregoidut skannaukset DPP-kohtaisesti. Kentät: total_scans, period_scans, scans_by_day, top_countries, top_devices, top_representations.
  • Uutta: Taulukko dpp_scans (migraatio 0011) — erillään taulukosta scans (Redirect-Worker). IP-osoitteet tiivistetään (hash) päivittäin vaihtuvalla suolalla (salt), raa’at IP-osoitteet eivät koskaan päädy tietokantaan D1.
  • Dashboard: Mini-kaaviokortti (SVG, ei kaaviokirjastoa) osoitteessa /dashboard/dpp/:dppId, jossa on 30 päivän pylväät + Top 3 -erittelyt. Tyhjä tila (empty state) heti, kun DPP on julkaistu mutta sillä ei ole vielä skannauksia.

2026-04 · Reaaliaikainen EU-vaatimustenmukaisuussimulaattori (Q3.3.7)

  • Uutta: POST /v1/dpp/:id/validate-update — simuloi osittaisia päivityksiä tilattomasti (stateless) (tila, markkinaluettelo, …) ilman tallennusta. Vastaus sisältää kentät eu_compliance + preview.changed_fields.
  • Dashboard: Simulaattorikortti DPP-yksityiskohdissa (/dashboard/dpp/:dppId) — pillerit (chips) arvoille DE/AT/FR/IT/ES/NL + mukautettu, tilan pudotusvalikko, Preview EU impact / Save changes / Reset. Ei-blokkaava Remix-kirjaston useFetcher-kutsun kautta.
  • Vankistus: Ulkoistetut simulaattorin apufunktiot (readUpdatePatchFromForm, marketCountriesKey) + 18 uutta yksikkötestiä; bugikorjaus: yksittäinen ei-ISO-syöte ei enää tyhjennä markkinaluetteloa.

2026-04 · Reaaliaikainen EU-vaatimustenmukaisuuden esikatselu luontilomakkeessa (Q3.3.6)

  • Muuttunut: POST /v1/dpp/validate palauttaa lisäksi kentän eu_compliance — sama validaattori kuin GET /v1/dpp/:id/eu-compliance, tilattomasti ennen tallennusta.
  • Dashboard: Esikatselu olemassa olevan validointipaneelin alapuolella + uusi Save-Guard-banneri ennen lähetyspainikkeita, jos virheitä/varoituksia on avoinna (i18n-monikkomuodot DE/EN).

2026-04 · EU-validaattori + tekstiilikäyttöliittymä (Q3.3.4 + Q3.3.5)

  • Uutta: EU-vaatimustenmukaisuusvalidaattori, jossa on 5 tekstiilisääntöä (TEXTILE_AGEC_REQUIRED, TEXTILE_MICROPLASTICS_CONSISTENCY, TEXTILE_SVHC_THRESHOLD, TEXTILE_GREENWASHING, TEXTILE_ESPR_READY).
  • Uutta: GET /v1/dpp/:id/eu-compliance, joka palauttaa kentät compliant / espr_ready / issues[] / summary.
  • Dashboard: EU-vaatimustenmukaisuusosio (EU-Compliance) DPP-yksityiskohdissa (yhteenvetolaatat, ryhmitellyt ongelmakortit, ESPR-Ready-merkki ylätunnisteessa).

2026-04 · Tekstiili-DPP-skeema (Q3.3.1–Q3.3.3)

  • Uutta: Kategoria textile ja lakisääteinen AGEC-ketju (kudonta/neulonta → värjäys/painatus → vaatteen valmistus), kuitukohtainen origin_country + recycled_pct, svhc_substances[], ESPR-opt-in (PEF, elinkaari, kierrätettävyys).
  • Uutta: Peruskenttä market_countries: string[] (ISO 3166-1 alpha-2) kaikissa DPP-kategorioissa — ohjaa Ranska-kohtaisia AGEC-sääntöjä ja ranskankielistä pakollista kuluttajailmoitusta.
  • Uutta: Kuluttajille suunnattu HTML-malli, jossa on AGEC-mikromuovivaroituslaatikko, 3-vaiheinen alkuperäketju (lippupillerit), SVHC-luettelo sekä kestävyys- ja kierrätettävyysosiot.
  • Migraatio: 0010_dpp_market_countries (D1).

2026-04 · DPP-massatuonti (Q3.2.1–Q3.2.5)

  • Uutta: POST /v1/dpp/import hyväksyy CSV- ja XLSX-tiedostot (Worker-yhteensopiva SheetJS xlsx -kirjaston kautta, ~283 kt:n gzip-paketti).
  • Skaalautuva: tilaustasoon perustuva raja (Free 100 → Enterprise 10k) + paloiteltu db.batch() 100 erissä + 5 megatavun pyynnön koon (body) raja.
  • Uutta: Virheraportti CSV-muodossa 201-vastauksen errors_csv-kentässä; GET /v1/dpp/import/templates/:category?format=csv|xlsx palauttaa valmiit mallit akulle ja tekstiilille.
  • Dashboard: Vedä ja pudota -lataus (drag-and-drop) osoitteessa /dashboard/dpp/import mallipohjavälityspalvelimen (template proxy) ja upotetun CSV-latauksen kanssa.

Ei-rikkovat muutokset — LTS-laajennukset

Kaikki edellä mainitut muutokset ovat lisääviä (additive):

  • Nykyiset POST /v1/dpp/validate-asiakkaat ohittavat uuden eu_compliance-kentän ilman muutoksia.
  • Nykyiset battery-työvoot säilyvät muuttumattomina.
  • market_countries on valinnainen ja sen oletusarvo on [].

Katso rikkovien muutosten käytäntö (breaking changes) sivulta API-versiointi.