Skip to content

Changelog

Changelog

Punti ewlenin ikkurati mill-aħħar rilaxxi. Għal verżjonijiet sħaħ tal-API u l-politika dwar bidliet li jinterrompu s-servizz (breaking changes), ara l-Verżjonar tal-API u Politika LTS.

Bidliet dettaljati fuq endpoints individwali: Speċifikazzjoni OpenAPI u Referenza tal-API interattiva.


2026-04 · Analitika tad-Dashboard għal kull QR-Code

  • Dashboard: Il-buttuna tal-Analitika fil-lista tal-QR-Codes issa tiftaħ il-paġna tal-istatistika tal-QR-Code rispettiv taħt /dashboard/codes/{id}.
  • Routing: L-alias /dashboard/codes ikompli jidderieġi mill-ġdid lejn /dashboard, iżda ma jibqax jinterċetta rotot dettaljati bħal /dashboard/codes/{id}.
  • API: Il-paġna tad-dettalji tgħabbi l-QR-Code direttament permezz ta’ GET /v1/codes/:id; b’hekk m’għadhiex dipendenti fuq il-limiti tal-paginazzjoni tal-lista.
  • Tests: It-testijiet ta’ rigressjoni jkopru r-redirect tal-alias u t-tagħbija diretta tal-kodiċi.

2026-04 · Djalogu ta’ Tħassir tad-Dashboard għal QR-Codes

  • Dashboard: L-ikona tal-kontenitur tal-iskart fil-lista tal-QR-Codes issa tiftaħ djalogu React apposta minflok popup nattiv tal-browser.
  • Feedback: Wara t-tħassir, tidher notifika toast ta’ suċċess jew żball.
  • Tests: packages/dashboard/tests/dashboard.test.ts jipprevjeni rigressjonijiet fuq confirm() fil-fluss tat-tħassir tal-QR-Code.
  • Dashboard: Ix-shortcodes fil-lista tal-QR-Codes issa jistgħu jiġu kklikkjati direttament bħala links esterni ta’ redirect. L-ikona tal-link estern ħdejn eż. wu3qaa tiftaħ https://qr3.app/{shortCode} f’tab ġdida.
  • i18n: Miżjuda testi tat-tooltip għall-Ġermaniż u l-Ingliż.
  • Tests: packages/dashboard/tests/dashboard.test.ts jipproteġi l-href tal-link, l-imġiba tat-tab il-ġdida, noopener noreferrer u l-ikona kontra rigressjonijiet.

2026-04 · Rotta tar-Redirect-Worker għal QR-Codes Dinamiċi

  • Fix: QR-Codes dinamiċi taħt https://qr3.app/{shortCode} qed jerġgħu jiġu pproċessati mir-Redirect-Worker. Ir-rotta tal-produzzjoni issa tuża qr3.app/*, peress li r-rotot tal-Cloudflare Workers ma jappoġġjawx parametri tal-passaġġ :code.
  • Tisħiħ: Mogħdijiet li ma jaqblux jiġu mgħoddija lill-landing origin, sabiex paġni normali bħal /de/pricing ma jiġux imblukkati mir-Redirect-Worker.
  • Tests: packages/redirect/tests/unit/redirect.test.ts jivverifika r-rotta wildcard, l-ipproċessar tax-shortcode u l-pass-through tal-origin.

2026-04 · Ħarsa Ġenerali tal-Iskanjar tad-DPP tal-Workspace (Q3.4.2)

  • Ġdid: GET /v1/workspace/stats/dpp?days=30 — jaggrega d-dpp_scans kollha tal-workspace tal-API-Key (active_dpps, scans_by_day, top_dpps b’isem il-prodott/kategorija).
  • Dashboard: Karta fuq il-paġna ewlenija (/dashboard) b’bar chart ta’ 30 jum + listi tal-aqwa — b’mod parallel mal-karti tal-QR-Code.
  • Pubbliku: Shortlink tal-marketing GET /dpp/dpp_<id> (segment wieħed) għal live demos, b’mod parallel ma’ /dpp/{gtin}/{serial}.

2026-04 · Analitika tal-Iskanjar tad-DPP (Q3.4.1)

  • Ġdid: GET /v1/dpp/:id/stats?days=30 — skans aggregati tar-resolver pubbliku tal-GS1 għal kull DPP. Oqsma: total_scans, period_scans, scans_by_day, top_countries, top_devices, top_representations.
  • Ġdid: Tabella dpp_scans (migrazzjoni 0011) — separata minn scans (Redirect-Worker). L-indirizzi IP jiġu mħaddma b’hash b’salt li jdur kuljum, b’hekk IPs mhux ipproċessati qatt ma jilħqu D1.
  • Dashboard: Karta b’mini-chart (SVG, l-ebda librerija ta’ charts) fuq /dashboard/dpp/:dppId b’bars ta’ 30 jum + analiżi dettaljata tal-aqwa 3. Stat vojt (empty state) malli DPP ikun live iżda jkun għadu ma kellux skans.

2026-04 · Simulatur tal-Konformità tal-UE Live (Q3.3.7)

  • Ġdid: POST /v1/dpp/:id/validate-update — jissimula aġġornamenti parzjali stateless (status, lista tas-suq, …) mingħajr persistenza. Ir-rispons fih eu_compliance + preview.changed_fields.
  • Dashboard: Karta tas-simulatur fid-dettall tad-DPP (/dashboard/dpp/:dppId) — chips għal DE/AT/FR/IT/ES/NL + Custom, dropdown tal-istatus, Preview EU impact / Save changes / Reset. Mhux imblukkanti (non-blocking) permezz ta’ Remix useFetcher.
  • Tisħiħ: Helpers tas-simulatur esternalizzati (readUpdatePatchFromForm, marketCountriesKey) + 18-il unit test ġdid; Bugfix: Input Lone-Non-ISO ma jibqax iħassar il-lista tas-suq.

2026-04 · Preview tal-Konformità tal-UE Live fil-Formola tal-Ħolqien (Q3.3.6)

  • Mibdul: POST /v1/dpp/validate jipprovdi wkoll eu_compliance — l-istess validatur bħal GET /v1/dpp/:id/eu-compliance, stateless qabel ma jiġi ffrankat.
  • Dashboard: Preview taħt il-pannell tal-validazzjoni eżistenti + banner ġdid ta’ protezzjoni tal-iffrankar (Save-Guard-Banner) qabel il-buttuni tal-inviju, jekk ikun hemm żbalji/twissijiet miftuħa (pluralizzazzjoni i18n DE/EN).

2026-04 · Validatur tal-UE + UI tat-Tessuti (Q3.3.4 + Q3.3.5)

  • Ġdid: Validatur tal-Konformità tal-UE b’5 regoli tat-tessuti (TEXTILE_AGEC_REQUIRED, TEXTILE_MICROPLASTICS_CONSISTENCY, TEXTILE_SVHC_THRESHOLD, TEXTILE_GREENWASHING, TEXTILE_ESPR_READY).
  • Ġdid: GET /v1/dpp/:id/eu-compliance b’compliant / espr_ready / issues[] / summary.
  • Dashboard: Sezzjoni tal-Konformità tal-UE fid-dettall tad-DPP (Summary-Tiles, karti tal-kwistjonijiet raggruppati, ESPR-Ready-Badge fl-header).

2026-04 · Skema tad-DPP tat-Tessuti (Q3.3.1–Q3.3.3)

  • Ġdid: Kategorija textile b’katina ta’ obbligu AGEC (Insiġ/Knitting → Żebgħa/Stampar → Konfezzjoni), għal kull fibra origin_country + recycled_pct, svhc_substances[], ESPR-Opt-in (PEF, ħajja utli, Recyclability).
  • Ġdid: Qasam bażiku market_countries: string[] (ISO 3166-1 alpha-2) fuq il-kategoriji kollha tad-DPP — jikkontrolla r-regoli AGEC speċifiċi għal Franza u n-nota obbligatorja tal-konsumatur Franċiża.
  • Ġdid: Mudell HTML tal-konsumatur b’kaxxa ta’ twissija tal-mikroplastiċi AGEC, katina ta’ oriġini bi 3 stadji (pills tal-bnadar), lista SVHC, sezzjoni ta’ Durability u Recyclability.
  • Migrazzjoni: 0010_dpp_market_countries (D1).

2026-04 · Importazzjoni bl-Ingrossa (Bulk) tad-DPP (Q3.2.1–Q3.2.5)

  • Ġdid: POST /v1/dpp/import jaċċetta CSV u XLSX (kompatibbli mal-Workers permezz ta’ SheetJS xlsx, ~283 KB gzip Bundle).
  • Skalat: limitu bbażat fuq il-pjan (Free 100 → Enterprise 10k) + chunked db.batch() ta’ 100 + limitu tal-body ta’ 5 MB.
  • Ġdid: Rapport tal-iżbalji bħala CSV fil-qasam errors_csv tar-rispons 201; GET /v1/dpp/import/templates/:category?format=csv|xlsx jipprovdi mudelli lesti għall-batteriji u t-tessuti.
  • Dashboard: Upload b’Drag-and-Drop taħt /dashboard/dpp/import bi proxy tal-mudelli u tniżżil inline ta’ CSV.

Mhux Breaking — Estensjonijiet LTS

Il-bidliet kollha msemmija hawn fuq huma addittivi:

  • Klijenti eżistenti ta’ POST /v1/dpp/validate jinjoraw il-qasam il-ġdid eu_compliance mingħajr ebda bidla.
  • Flussi eżistenti ta’ battery mhumiex mibdula.
  • market_countries huwa fakultattiv u b’mod awtomatiku huwa [].

Ara l-Verżjonar tal-API għall-politika dwar bidliet li jinterrompu s-servizz (breaking changes).