v0.99.2 โ Battery Pass v1.3 Compliance, PDF Passports, Mobile UX
The largest single release since platform launch. Full EU Battery Regulation 2023/1542 Annex XIII v1.3 compliance across all four mandatory battery categories, a production-ready PDF export for battery passports, a redesigned verification modal with honest compliance language, and mobile UX hardening throughout the operator portal.
Battery Pass v1.3 Complianceโ
-
99/100 spec coverage across all four mandatory battery categories โ EV, LMT, Industrial, and Portable battery DPPs now map to every mandatory and recommended field defined in the Battery Pass v1.3 specification (the industry interoperability standard built on top of EU Regulation 2023/1542 Annex XIII). The one remaining unmapped field is an optional battery chemistry property with no equivalent in the current data model; it will be addressed in a future release.
-
Full Annex XIII alignment verified โ An independent field-level audit against the Battery Pass v1.3 spec was completed and closed clean across all four in-scope product categories. Key findings from previous audits (field coverage gaps, GTIN format inconsistencies, interoperability readiness rendering issues) were all resolved.
-
GS1 GTIN fixes โ All 13 Battery Pass demo products now resolve correctly via both
/dpp/<slug>and/01/<gtin>(GS1 GTIN-based routing). GTIN format validation was hardened to enforce 13-digit EAN-13 alignment. -
Interoperability readiness โ The interoperability readiness data structure was validated and corrected across all mandatory products. The operator portal wizard now rejects structurally invalid interoperability objects at submission time, preventing operators from publishing broken DPP fields.
B1 โ PDF Battery Passportโ
-
PDF export via react-pdf โ Battery passports can now be downloaded as a branded A4 PDF directly from the product page. The PDF reproduces the full DPP data structure including compliance fields, supply chain summary, and QR code. Generated client-side via
@react-pdf/rendererโ no server round-trip. -
Canvas-based rendering โ After two earlier attempts that over-claimed functionality, the final implementation uses a canvas render path that correctly handles complex DPP data layouts across all battery categories. Visually confirmed on staging against all five canonical battery products.
Honest Verification Modalโ
- Verification modal redesigned โ The previous "Authenticity Verified" language in the DPP verification modal was replaced with accurate language reflecting what the platform actually verifies. The modal now reads "Schema Validated ยท Crypto Preview" and explains clearly that Traceable validates the DPP structure and data completeness, while cryptographic anchoring is a planned future capability. No false claims about blockchain verification or cryptographic signatures are made.
Mobile UXโ
-
2-row mobile tab layout โ The operator portal product tabs (Details, Compliance, Documents, Traceability, etc.) were reordered into a 2-row responsive layout on small screens. Tabs no longer overflow horizontally on mobile viewports.
-
Mobile layout hardening โ Additional responsive fixes across the operator portal prevent content overflow at common mobile breakpoints (390px, 414px, 375px).
Developer & Infrastructureโ
-
Prisma 7.7.0 โ ORM updated to 7.7.0 from 7.4.2. All existing migrations, queries, and Supabase MCP integrations verified compatible.
-
E2E test hardening โ Six end-to-end test suites updated and expanded, covering the BatteryPass interoperability flow, GS1 GTIN routing, PoLI authority access, verification modal behaviour, and PDF export. All 1,379 tests pass.
-
Supabase RLS audit โ Row-Level Security policies audited and tightened across all production tables.
REVOKEgrants and restrictive policies added to eliminate Supabase Advisor WARN/ERROR findings (51 WARN resolved in production, 54 in staging). -
Staging data fixes โ Seven product-specific data corrections applied to the staging database: GTIN normalisation, field population for
NO_DATAproducts,dpp_versionlabel corrections,publicFieldscompleteness, and VoltRide slug collision resolution.
Docs siteโ
- Docs site mobile layout fixed โ The documentation site at dev.traceable.digital was audited and re-implemented for correct mobile rendering. All navbar, content, sidebar, and blog/changelog views verified on real mobile browsers (390pxโ414px viewport). The headless Chrome 500px minimum viewport issue (which made docs screenshots appear broken in CI) was identified and documented.