QDat.io
ArchitectureQDatDroidNewsCooldatTapDPP
QSeqEcoCirNuroVaultHeliSDPPMTP
Use CasesBlog
Support Portal
Physical AI Memory for Every Thing.
QDat.io

Physical AI Memory for Every Thing.

Designed by Meerv Inc. — Québec, Canada

Explore

QDatDroidCooldatNuroVaultQSeqEcoCirNewsBlogUse CasesBook a Demo

Contact

hello@qdat.ioqdat.io
v1.29.3© 2026 QDat.io, Designed by Meerv Inc. All rights reserved.
Privacy PolicyOpt out of Google Analytics

RELEASE LOG

QDat.io website releases

Every change shipped to this website, newest first — 57 releases. The version in the footer links here.

Changed

  • •`/tapdpp` closing CTA — heading renamed from "Ready to see SDPP resolve on (When, What, Where)?" to "Ready to see a DPP resolve Spatiotemporally?" in all three languages.

Fixed

  • •Store badge sizing on `/tapdpp` — the Google Play badge PNG carried 41px of transparent padding on every side, so at the shared 52px CSS height it rendered visibly smaller than the Apple App Store badge SVG. Cropped the PNG to its content (646×250 → 564×168); both badges now display at the same height everywhere they appear together.

Changed

  • •News: TapDPP public beta (2026-06-05) — removed the TestFlight join-link button from the historical beta announcement's CTA box; the beta is closed now that TapDPP 1.1 is a public App Store release. The dated press-release body text is unchanged.

Added

  • •News: TapDPP on the Apple App Store — new bilingual announcement (/news/tapdpp-app-store-2026-07-02 + /actualites/tapdpp-sur-app-store-2026-07-02): TapDPP 1.1 graduates out of the TestFlight public beta into a public App Store release (iOS 17+), with full feature parity with the Android Google Play client. Listed and featured on the news index and home news section. All three languages.
  • •Official App Store badges — Apple's localized "Download on the App Store" badges (en/fr/es SVGs) under /images/.

Changed

  • •`/tapdpp` — the iOS client is now presented as a stable App Store release: hero and platform-card CTAs swap the TestFlight button for the localized App Store badge linking to apps.apple.com/app/tapdpp/id6776949696, the iOS card shows v1.1 · Released 2026-07-01 · Stable · App Store, and the copy (hero, gallery intro, install walkthrough, iOS 17+ requirement) drops all TestFlight references. All three languages.

Changed

  • •SNSN Digital Link DPP page — extended the hero's GS1 Digital Link sentence: the Digital Link must be air-gapped and run completely offline for contested environments, opening the door to verbose identifiers that carry the identity of every compatible part; higher-resolution visual identity and radio-silent RFID let allies embrace modern civilian mass-manufacturing supply chains — pen-and-paper inventories do not answer to kinetic readiness. All three languages.

Changed

  • •SNSN Digital Link DPP page — reframed the narrative around Responsive Logistics, led by coalition interoperability in the drone era: one item identity every ally can read, so a spare held by one nation can be spared and exchanged across the coalition instead of each member stockpiling its own. Added a new priority section (interoperability & part sparing, resilient sustainment, a shared logistics picture, operational digital twin, repair by addition, energy resilience) and repositioned the earlier compliance/high-volume material as supporting context. Nothing removed. All three languages.

Added

  • •`/architecture` — two new sections: Portable-reader deployments (QDatDroid on Zebra handhelds/sleds, GPS-stamped capture in motion, with the QDatDroid logo) and Multimodal capture (visual identifiers — the picture, the barcode/QR Code, and the RFID captured in one scan). The fixed-reader section now shows the Zebra FX9600 product photo. All three languages.
  • •`/qdatdroid` — a "Download my APK" button overlaid on the hero artwork that jumps to the download section.

Fixed

  • •"Book a Demo" scroll — the jump to the home "Book a meeting" section now reliably lands on it, correcting for the long page settling as images load.

Added

  • •`/architecture` — a new "Fixed-reader deployments" section explaining that QDat.io fully supports fixed RAIN UHF reader deployments (Zebra FX9600 / FX7500) running the QDatFX reader client on-device, with unattended capture at dock doors, conveyors, and portals streaming to the plane. All three languages.

Changed

  • •"Book a Demo" buttons across the site now open the "Book a meeting" scheduler in the Contact section on the home page, instead of the standalone form. The Support Portal's demo button still points to the full form.

Added

  • •New Architecture page (`/architecture`) — a platform overview that walks through the four words of the Spatiotemporal Intelligence Automation Plane — Spatiotemporal, Intelligence, Automation, Plane — then explains the API-first design and the MCP interface, the two equivalent surfaces (REST for systems, MCP for agents), the actors on the plane, and the layers inside it. Added as an "Architecture" item in the top navigation. All three languages.
  • •Home page — the platform diagram now links to the Architecture page: the plane illustration above the product cards is clickable, with the same hover highlight as the CoolDat/EcoCir/meerv cards.

Changed

  • •`/ecocir` — the "See it in QSeq" button now shows the QSeq logo, and both hero buttons (QSeq and meerv) are the same size.

Added

  • •Home page — the SIAP diagram's bottom cards are now clickable (with hover highlight): CoolDat → /cooldat, EcoCir → /ecocir, meerv → meerv.com.
  • •`/ecocir` — the meerv.com link now shows the meerv™ logo.

Fixed

  • •`/qseq` — the macOS and Windows download buttons now share the same blue frame as the Open button, and the Open button reads "Open QSeq on the Web".

Added

  • •`/ecocir` — a short explanation of the QSeq module (and its link to the QSeq page) in the hero. All three languages.

Changed

  • •`/ecocir` — removed the "Across the platform" section and added the EcoCir logo to the hero. All three languages.

Added

  • •Explanatory footnote in the GRAI section of the Serialized NSN page on why a company has two GS1 prefixes and what the leading zero is for. Plus the governing standards (STANAG 2290 / AUIDP-1 and DoD IUID / MIL-STD-130) now head the defence-side card. All three languages.

Changed

  • •Hero subtext rewritten for clarity and voice; the "captures the edge" → "remembers the edge" wording; and the company-identity list now aligns cleanly. All three languages.

Fixed

  • •Proofreading pass on the Serialized NSN page — Canadian "defence" spelling throughout, French and Spanish grammar corrections, and a restored "Sovereign air-gapped resolver" card in the architecture stack (so it reads as nine layers with no gap). All three languages.

Added

  • •Critical-minerals / Canadian dual-use context added to the Meerv Inc. section on the Serialized NSN page — EcoCir is a graphite-based (critical mineral) ink, and Meerv is a Canadian deeptech start-up answering the shift of public funding toward dual-use. All three languages.

Added

  • •"The quiet enabler — Meerv Inc." section on the Serialized NSN page, explaining how Meerv Inc.'s EcoCir conductive ink makes serialized printed identity affordable and sustainable at scale — the deeptech quietly making universal part marking economical. All three languages (en/fr/es).

Added

  • •Two new framing sections on the Serialized NSN page: a backdrop on why Digital Product Passports matter for dual-use, high-volume defense (the EU Battery Regulation, the military exemption, and the shift toward drone-scale manufacturing), and a section on how offline, on-tag passports make parts self-describing — the path to parts interoperability across NATO without a shared central registry. All three languages (en/fr/es).

Changed

  • •The GS1 worked example now uses real, licensed identifiers (with the correct company prefix, location number, and product code structure), and the product-code breakdown clearly separates the company root from the item SKU.

Added

  • •More detail on the "Uniting GS1 & CAGE" story on the Serialized NSN page: a plain-language breakdown of a civil product identifier, a section on how a returnable asset can carry a standards-conformant GS1 identity alongside its NATO one, and a section on how that civil/defense equivalency can travel on the tag itself and be read offline. All three languages (en/fr/es).

Added

  • •Scannable symbols and a worked example on the "Uniting GS1 & CAGE" section of the Serialized NSN page, illustrating how one physical item can carry both a civil and a defense identity. All three languages (en/fr/es).

Added

  • •New "Uniting GS1 & CAGE" section on the Serialized NSN page, explaining how QDat.io binds a civil (GS1) and a defense identity to the same physical item. All three languages.

Changed

  • •Serialized NSN page hero now shows the example Digital Link URL beneath the QR code.

Changed

  • •Serialized NSN page hero QR is now a real, scannable GS1 Digital Link, and the illustrative example was updated to standards GS1 grammar.

Added

  • •"Inside the resolver" section on the SDPP and Serialized NSN pages, explaining at a high level how QDat.io resolves a Digital Product Passport by place and time.
  • •RAIN RFID "radio silence" note on the Serialized NSN page, on how tags can stay silent until an authorized reader speaks to them.

Changed

  • •Sustainability roadmap on the Serialized NSN page reframed around radio-silent identifiers.
  • •French copy on the Serialized NSN page now spells out acronyms at first use.

Added

  • •Serialized NSN page now references the NATO STANAG 2290 / AUIDP-1 item-identification standard, and adds a section positioning QDat.io alongside SAP Disconnected Operations for S/4HANA Defense & Security.
  • •SDPP page now explains the EM4425 dual-interface tag — one shared memory across its UHF and NFC radios. All three languages.

Removed

  • •The "Explore Cooldat®" and "Book a demo" buttons at the top of `/cooldat`. The hero now goes straight from the subtext to the highlight bullets.

Changed

  • •Removed the redundant "Book a meeting" heading and button from the left column of the home page CTA. The left side is now just the heading and pitch; the "Book a meeting" action lives only on the frame to the right.

Changed

  • •Home page "Book a meeting" CTA is now a two-column layout like the bottom of meerv.com: the pitch and "Book a meeting" copy sit on the left, and the Google Calendar scheduler renders in a frame on the right. The scheduler iframe stays hidden behind a "Book a meeting" button and only loads once the visitor opens it (new-tab fallback link retained).

Changed

  • •Simplified the home page "Book a meeting" CTA and embedded the scheduler inline. The section is now a centered heading + short pitch (adapted from meerv.com's bottom CTA) with the Google Calendar appointment scheduler rendered in an iframe, plus a new-tab fallback link. Dropped the "What happens next" step list. Copy updated in en/fr/es.

Added

  • •A "Book a meeting" section at the bottom of the home page, modeled on meerv.com's booking block. It pairs a short pitch and a "What happens next" step list with a booking card whose button opens the Google Calendar appointment schedule in a new tab. Localized in en/fr/es.

Changed

  • •The navbar "Contact" link now scrolls to the on-page "Book a meeting" section (#contact) instead of opening Google Calendar directly — matching how meerv.com links its Contact menu. The calendar link now lives on the section's "Book a meeting" button.
  • •Removed the "Bring Physical AI to every Thing in your operations" headline; the contact block is now a calendar-booking flow rather than a lead form.

Changed

  • •The navbar "Contact" link now opens the Google Calendar appointment scheduling page in a new tab instead of scrolling to the on-page contact form, so visitors can book a meeting directly.

Changed

  • •The "What's new" section on `/qdatdroid` now flows across multiple columns. The recent release blocks use a responsive CSS multi-column layout (1 / 2 / 3 columns by breakpoint) and avoid breaking inside a release, so the notes wrap compactly instead of stacking in one tall column.

Changed

  • •The "What's new" section on `/qdatdroid` now features the recent releases instead of only the most recent build, and skips maintenance/housekeeping builds (releases with no user-facing notes). Previously, with 2.4.13 being a maintenance roll-up, the section showed a single "no user-facing changes" line; it now renders the latest five releases that have real notes (each with its own version, date, summary and changes).

Changed

  • •QDatDroid download bumped to 2.4.13. The download buttons, version badge, and changelog link now point at QDatDroid-2.4.13-base.apk and QDatDroid-2.4.13-CHANGELOG.md (the 2.4.6 files were removed). Updated the QDATDROID_VERSION/QDATDROID_APK/QDATDROID_CHANGELOG constants in qdatdroidFeatures.ts.

Added

  • •Seven new in-app changelog entries (2.4.7 → 2.4.13) in qdatdroidChangelog.json, sourced from the 2.4.13 release notes: post-reboot connect/trigger fixes, an RFID-radio startup countdown, reader actions that require a connected reader, multimodal-scan reader-contention and visibility fixes, and the 2.4.13 maintenance roll-up.

Changed

  • •Rebranded the CoolTag product to NuroVault sitewide — page, navigation, footer, locales (en/fr/es), structured data, sitemap, prerender list, and the platform documentation. The page now lives at /nurovault (component NuroVault), and the companion blog post slug is now qdatdroid-2.1.4-nurovault-axzon-zebra. The hero/tag artwork now uses nurovault.jpg.

Added

  • •Redirects preserving old links: /cooltag → /nurovault, and /blog|/blogue/qdatdroid-2.1.4-cooltag-axzon-zebra → …-nurovault-axzon-zebra.

Added

  • •"What's EcoCir?" section on `/qseq` — a sustainable-ink tie-in (en/fr/es): QSeq mints the identity, EcoCir is the sustainable ink it is printed with — the same chemistry behind the RAIN antenna and the visual 1D/2D codes QSeq generates. Cross-links the new blog post.
  • •New blog post — "Sustainable Identity, in many forms" (/blog/sustainable-identity-multimodal-ecocir-ink, en/fr/es): Meerv's evolution from Sustainable Radiofrequency Identity to multimodal Sustainable Identity — the printed visual twin (serialized 1D/2D GS1 Digital Links) alongside the RF tag, why the printing/ink must itself be sustainable, EcoCir as the one material behind both forms, and QDat.io as a multimodal spatiotemporal intelligence automation plane. Newest entry on the blog index; added to the prerender list and sitemap.

Changed

  • •QSeq launch article and `/news` card now link to `/qseq`. The article's QSeq brand card and an "Explore the QSeq page" CTA point to the new landing page; the /news index card title/summary were synced to the article wording.
  • •"experiment" → "deploy" across the QDatDroid 2.1.4 production announcement (/news/qdatdroid-2.1.4-production-2026-06-08), its /news index card, and the companion blog post (/blog/qdatdroid-2.1.4-nurovault-axzon-zebra), in en/fr/es — repositioning the build from "experiment with" to "deploy with" NuroVaults and Axzon AZN5201 tags.

Fixed

  • •Bold product hero titles. The /sdpp and /SNSNDigitalLinkDPP hero headings rendered at normal weight (Tailwind preflight resets <h1>); both now use font-bold, matching every other product page.

Added

  • •QSeq landing page at /qseq — a trilingual (en/fr/es) product page for QSeq (Meerv Inc., qseq.app), the print-true generator for GS1 Barcodes, QR Codes and Data Matrix. Replicates the qseq.app content: the *Sustainable Identity on Every Thing* hero with Open QSeq / macOS / Windows download CTAs, the *Standards-first · Print-true · Yours to fork* pillars, the live physical-size calculator, the 1D / 2D / combined / serialized-sheet label types, the controls reference, the structure-aware damage-tolerance note, the QDat.io resolver tie-in (links to /tapdpp), the "why QSeq" name story, the one-core/three-platforms build, the QRPic sister product, and the PolyForm Noncommercial license footer.
  • •QSeq menu entry — added to the navbar More dropdown (desktop) and the flat mobile menu, plus the footer Explore column. Added to the vike prerender list and the sitemap.

Added

  • •Website Release Log at /releases — a human-readable history of every QDat.io website release, rendered at build time from this CHANGELOG.md (the single source of truth, imported raw — no duplicated copy). The version number in the footer now links here, and the page is en/fr/es with the entries in English. Added to the vike prerender list.
  • •`MarkdownInline` now renders `[text](url)` links (in addition to **bold** and ` code `), used by the Release Log and the QDatDroid release notes.

Changed

  • •QDatDroid release notes synced to v2.3.4. The /qdatdroid "What's new" panel and the /support/qdatdroid full history now show 2.3.4 (locate and read OPUS sensor tags on the built-in TC701/TC22R and EM45 radios, GPS/NFC status indicators, a clearer Read Logger, and connection fixes), plus the 2.3.3 table-view default and the previously-missing 2.3.1 entry.
  • •Mobile navigation menu now lays its entries out in two columns and adds an explicit "Home" back-arrow at the top (clicking the logo wasn't obvious), with the language and theme controls on one row — so every link and the Support Portal button fit on small phone screens without scrolling.

Changed

  • •TapDPP Android client bumped to v1.22.0. Replaced the download binary (tapdpp-1.21.apk → tapdpp-1.22.apk) and updated every download link, version label, and release date on /tapdpp and /sdpp (en/fr/es). The TapDPP launch (May 27) and public-beta (June 5) press releases — plus the matching blog post body — now read v1.22.0 throughout.

Added

  • •QDat.io Desktop Dashboard downloads on the Support Portal — a new "Desktop Dashboard" tab linking the native apps for Windows (.exe), macOS (.dmg), and Linux (.deb) at v1.1.0, with copy explaining near feature parity with the web dashboard and that 100% of the functionality is reachable through the public API (a live demonstration of WMS/ERP integration).
  • •Deep-linkable support tabs — each Support Portal tab is now its own URL (/support = Features, plus /support/user-guide, /support/desktop, /support/qdatdroid, /support/faq, /support/api, /support/cooldat-standard, /support/backend-changes). The active tab is derived from the route, each tab carries its own canonical + <title>, and all URLs were added to the vike prerender list and the sitemap.
  • •Blog post "Web-grade dashboard, 100% through the API: meet the QDat.io Desktop Dashboard" (slug qdat-desktop-dashboard-api-parity, en/fr/es) — the API-first parity story and the WMS/ERP integration path. Wired into blogSlugs + thumbnail map; auto-enrolls in the prerender list via blogPage.posts.
  • •Cross-link from the June 8 QDatDroid 2.1.4 production news release to /support/desktop (en/fr/es).

Changed

  • •Cooldat demo video updated to the new Vimeo tutorial (1199241421), and the section label renamed to "Cooldat® on QDat.io Demonstration Tutorial (15 minutes)" — now i18n'd across en/fr/es (cooldatPage.demoLabel).

Fixed

  • •Corrected the Axzon AZN5201 description in the QDatDroid 2.1.4 blog post and news release (en/fr/es). It was wrongly framed as a passive, battery-free beam-powered sensor; the AZN5201 is in fact an autonomous temperature datalogger (the IC behind NuroVault) featuring the OPUS sensor and a printed battery — consistent with the /nurovault page. Also fixed the now-contradictory blog subsection heading and a "no log / no battery to die" line.

Added

  • •News release "QDatDroid 2.1.4 is production-ready" (bilingual: /news/qdatdroid-2.1.4-production-2026-06-08 + /actualites/qdatdroid-2.1.4-production-2026-06-08) announcing that QDatDroid 2.1.4 is fully tested for production, and inviting anyone with NuroVaults or Axzon AZN5201 sensor tags and a portable Zebra Android RFID reader to download it and start experimenting. New QDatDroidProd20260608 page component, qdatdroidProd20260608 locale block (en/fr/es), and a news.items entry.
  • •Companion blog post "Experiment with NuroVaults and Axzon AZN5201 tags on a Zebra Android reader" (slug qdatdroid-2.1.4-nurovault-axzon-zebra, en/fr/es) — a field guide from download to a GPS-and-time-stamped, live-streamed sensor read. Wired into blogSlugs + thumbnail map.
  • •Both routes added to App.tsx and the prerender list (blog post auto-enrolls via blogPage.posts); sitemap now covers 45 URLs.

Changed

  • •QDatDroid download bumped to qdatdroid-2.1.4-base.apk; QDATDROID_VERSION updated to 2.1.4. Removed the old qdatdroid-2.1.2-base.apk.

Changed

  • •sitemap.xml is now auto-generated at build time from the vike prerender URL list, so it can no longer drift from the pages that actually exist. The list was extracted to pages/prerenderUrls.ts (shared by +onBeforePrerenderStart and the new scripts/generate-sitemap.ts, run from the build script via tsx); the hand-maintained client/public/sitemap.xml was removed. The generated file now also covers routes the static one had been missing (/heli, /mtp + /ptm, the French /actualites + /blogue alternates, the localized blog slug, etc.). Per-path priority/changefreq come from a small override map + URL-shape heuristic; the no-nav /SNSNDigitalLinkDPP page is excluded.

Changed

  • •Copy: standardized "your operation" → "your operations" for the general, site-wide phrasing — the contact section headline (en + es; fr was already plural) and the multimodal-tags blog post ("which items in your operations justify multimodal", en/fr/es). Deliberately kept the contextual singulars ("your production operation", "your assigned operation").

SEO

  • •sitemap.xml: added /tapdpp, the TapDPP public-beta news release (/news/tapdpp-public-beta-2026-06-05), the tied blog post (/blog/tapdpp-public-beta-sdpp-playground), and backfilled the previously missing DPP launch (/news/dpp-launch-2026-05-27). Refreshed lastmod on the /news and /blog indexes.

Fixed

  • •/blog/tapdpp-public-beta-sdpp-playground: the "Try it" links rendered as raw markdown because they were written as **[label](url)** (bold wrapping the link). Moved the emphasis inside the link ([**label**](url)), which the blog renderer handles — fixed in en/fr/es.

Added

  • •News release at /news/tapdpp-public-beta-2026-06-05 (+ French /actualites/beta-publique-tapdpp-2026-06-05): public betas of TapDPP on Android and iPhone, downloadable from QDat.io/tapdpp and interworking with the tapdpp.qdat.io playground. New page component, routes, prerender entries, featured slot on the News index, and en/fr/es content.
  • •Tied blog post /blog/tapdpp-public-beta-sdpp-playground detailing what's now possible with any NFC tag (write → tap → switch template → geotime fence → re-route). Added to blogSlugs with a thumbnail; tapdppIcon added to the central image map.

Added

  • •/tapdpp: "The resolver in action" section with a real screenshot of tapdpp.qdat.io resolving https://tapdpp.qdat.io/E0167801144FBFE9 to a live DPP view (product, manufacturer, sustainability, RFID, and the spatiotemporal last-scan location).

Changed

  • •/tapdpp: refer to the tappable object as a "tag" throughout instead of "chip" (en/fr/es, with article/gender fixes) — fitting the TapDPP name.

Changed

  • •/tapdpp hero: title set to "TapDPP, the QDat.io App for Android and iPhone for NFC Digital Product Passports" (en/fr/es), and the <h1> now matches the /cooldat heading style (Space Grotesk, text-4xl md:text-5xl font-bold).

Added

  • •/tapdpp: SDPP intro/excerpt block at the top of the page (above the platform cards) excerpting qdat.io/sdpp and framing TapDPP as the simplest way to see an SDPP resolve.

Removed

  • •/tapdpp: the iOS and Android release-notes text sections (the screenshot galleries remain).

Changed

  • •/tapdpp walkthrough step 07: "Tap the same NFC or RAIN+NFC tag again".

Added

  • •New /tapdpp page covering the TapDPP NFC NDPP reader on both platforms — the Android client (v1.21.0, sideload APK) and the new native iPhone client (v1.4, public TestFlight beta) — with a shared SDPP feature set, a seven-tap walkthrough, and iOS + Android screenshot galleries. Fully translated (en/fr/es, in-page toggle like /sdpp).
  • •nav.tapdpp as a top-level Navbar item; route wired in App.tsx and added to the prerender list.

Changed

  • •Renamed the npm package to qdatio-www.

Changed

  • •/sdpp hero: the top-right TapDPP icon card (icon + version/release text) is now a clickable in-page anchor that scrolls down to the "Android client — v1.21.0" spotlight box (#tapdpp-app), with a subtle hover lift. Added scroll-mt-24 to the target section so the navbar doesn't overlap it.

Added

  • •/demo is now fully internationalized (en/fr/es). All form labels, options, headings, and messages move to a demoPage dictionary; option lists are {value,label} pairs so submitted data and comparisons stay canonical English while the UI translates. The submission now records the active UI language.
  • •Navbar "More" dropdown collapsing NuroVault, Heli, SDPP, and MTP; dropdown links stay in the DOM (visually hidden) for crawlability.
  • •French slug /ptm for the MTP page (prerendered in French; added to the French-route detection and prerender list).
  • •References section on /mtp citing Hajjaj et al. (Transfusion 2024, doi:10.1111/trf.17876) and Denesiuk et al. (Arch Pathol Lab Med 2006) for the redistribution / cold-chain wastage figures.

Changed

  • •Navbar desktop breakpoint raised to xl (hamburger below) to fix the menu overflow/wrapping at intermediate desktop widths.
  • •/mtp challenge + protocol sections now cite the redistribution-program findings (outdating as top wastage cause; 23%→2.8% transport-loss reduction; 15,499 units / ~$17.6M CAD redistributed). Removed the unsourced UK figure.

Added

  • •New /mtp page — "Cooldat® and the Mass Transfer of Blood Products", a briefing focused on QDatDroid and handheld RFID readers (RFD40, TC22R) for regional health networks. Excludes atek.io and fixed-reader/QDatFX content. Fully translated across en/fr/es.

Changed

  • •/mtp hero label set to "QDAT.IO SPATIOTEMPORAL INTELLIGENCE AUTOMATION PLANE FOR BLOOD BAGS"; removed the EcoTag element so the CoolKit is now a four-element bundle.
  • •/cooldat and /mtp cloud-backend sections: heading renamed to "QDat.io Cloud Backend for Cooldat®", dropped the AWS-managed MQTT and Database "Option 2" rows, and reworded the remaining options to "Cluster of Docker images under Kubernetes orchestration" and "TimeScale DB Open Source".

Added

  • •App version identifier in the footer, shown to the left of the © 2026 … line on every page. The value is sourced from package.json at build time via a Vite define (__APP_VERSION__) and baked into the pre-rendered HTML, so it stays in sync with version bumps automatically.

Changed

  • •/support and /use-cases now keep all tab/category panels mounted in the DOM and hide the inactive ones with CSS (hidden) instead of unmounting them. Previously only the active tab/category was rendered, so the Guide (incl. 13 screenshots), QDatDroid report, FAQ, CDX-1 Standard, and Backend Changes sections — and every non-active use-case category — were absent from the pre-rendered HTML and unreadable by crawlers/LLMs. /support visible text went from ~5 KB to ~108 KB. The nested collapsibles (FAQ answers, release-note blocks, the QDatDroid "show all releases" overflow) are likewise rendered-but-hidden. No visual/UX change. The API Reference tab remains runtime-fetched and is not yet pre-rendered.

Added

  • •Spanish (es) as a third site language. New client/src/locales/es.json with full key parity to en/fr (441 keys, including all seven long-form blog articles), plus esContent objects on the inline-content pages (SDPP, Heli, SNSNDigitalLinkDPP). Spanish is wired into i18n.ts, the Navbar language switcher (EN/FR/ES, desktop + mobile), ContactSection, the PageHead/HeadContext types, and the server contact/demo language enum. Spanish is an in-page toggle only — it reuses the English routes and renders client-side (no dedicated /es URLs, unlike French).
  • •New standalone page `/SNSNDigitalLinkDPP` — a serialized NATO Stock Number (NSN) expressed as a GS1 Digital Link resolving to an air-gapped QDat.io sovereign resolver. Intentionally not in the nav menu; added to the prerender list.

Changed

  • •QDatDroid download bumped to qdatdroid-2.1.2-base.apk; QDATDROID_VERSION updated to 2.1.2.

Changed

  • •Updated the /support Web Interface User Guide (PlatformGuide) from the new platform documentation export QDat-Platform-Documentation2.html. Regenerated client/src/data/platformGuide.json (10 sections) and re-extracted the screenshots (now 13) to client/public/images/docs/. The "Open the full documentation" link points at the new export.
  • •Rewrote scripts/gen-platform-guide.py to parse the new export's markup (.sec/.wrap/.card/.ss/.note/.tag-box) into the same JSON block model, so the PlatformGuide renderer is unchanged.

Removed

  • •Old client/public/images/QDat-Platform-Documentation.html export (replaced).

Added

  • •New blog article "Blood Cold Chain: Item-Level Traceability When Every Bag Comes From a Different Source" (English and French). Covers cold-chain certification during a mass transfusion protocol: per-bag chain-of-custody verification (which bag, when out of range, for how long, where), interdiction over blame, and source-of-truth-on-the-bag via NuroVault read by QDatDroid on a Zebra TC22R with no cloud dependency. Links to /cooldat, /qdatdroid, and /use-cases.
    • –EN: /blog/blood-cold-chain-traceability-mass-transfusion
    • –FR: /blogue/tracabilite-chaine-du-froid-sang-transfusion-massive
  • •Per-language blog URL slug support. Posts can now serve a localized French slug under /blogue while keeping content keyed by the canonical English slug. Centralized in a new React-free module client/src/lib/blogSlugs.ts (frSlugOverrides, localizedSlug, canonicalSlug) so the app and the build-time prerender hook share one source of truth.
  • •Sitemap entries for the new article (English and French URLs).

Changed

  • •pages/+onBeforePrerenderStart.ts now emits /blogue/<fr-slug> for posts that define a French slug override, in addition to the English slug under both /blog and /blogue.
  • •BlogPost resolves any incoming slug (English or localized French) back to the canonical key for validation and content lookup, and emits a canonical URL that tracks the localized slug.

Fixed

  • •French localized blog URLs previously fell through to a generic prerendered shell with a stale <title> and a homepage <link rel="canonical">, because the prerender hook only enumerated the English slug. The French slug is now prerendered with the correct French title and canonical, and the legacy English-slug-under-/blogue URL canonicalizes to the French slug.