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/codesohjaa 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.tsestää regressiotconfirm()-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
wu3qaavieressä avaa osoitteenhttps://qr3.app/{shortCode}uudessa välilehdessä. - i18n: Työkaluvihjetekstit (tooltips) lisätty saksaksi ja englanniksi.
- Testit:
packages/dashboard/tests/dashboard.test.tssuojaa linkin href-osoitetta, uuden välilehden toimintaa, määritteitänoopener noreferrerja 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 muotoaqr3.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.tstestaa 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ötilandpp_scans-tapahtumat (active_dpps,scans_by_day,top_dppstuotenimellä/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(migraatio0011) — erillään taulukostascans(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äteu_compliance+preview.changed_fields. - Dashboard: Simulaattorikortti DPP-yksityiskohdissa (
/dashboard/dpp/:dppId) — pillerit (chips) arvoilleDE/AT/FR/IT/ES/NL+ mukautettu, tilan pudotusvalikko, Preview EU impact / Save changes / Reset. Ei-blokkaava Remix-kirjastonuseFetcher-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/validatepalauttaa lisäksi kentäneu_compliance— sama validaattori kuinGET /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ätcompliant/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
textileja lakisääteinen AGEC-ketju (kudonta/neulonta → värjäys/painatus → vaatteen valmistus), kuitukohtainenorigin_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/importhyväksyy CSV- ja XLSX-tiedostot (Worker-yhteensopiva SheetJSxlsx-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|xlsxpalauttaa valmiit mallit akulle ja tekstiilille. - Dashboard: Vedä ja pudota -lataus (drag-and-drop) osoitteessa
/dashboard/dpp/importmallipohjavä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 uudeneu_compliance-kentän ilman muutoksia. - Nykyiset
battery-työvoot säilyvät muuttumattomina. market_countrieson valinnainen ja sen oletusarvo on[].
Katso rikkovien muutosten käytäntö (breaking changes) sivulta API-versiointi.