Release notes

Changelog

Every shipped feature, fix, and product update. Newest first.

Auto-assign, drop-proof

When a drop goes well, several buyers check out the same product within the same second. The edition assignment engine now handles that contention head-on: if two orders reach for the same number at the same instant, one takes it and the other immediately receives the next available number. Nobody waits, nothing is skipped, every order gets its own edition.

  • Covered by a new automated concurrency test that fires five simultaneous orders at a single product and asserts each one ends up with a distinct edition number
  • Assignment stays idempotent per order, so a webhook retry can never double-assign
  • Transfer claim links are now built strictly from your store's own domain on record, closing a theoretical avenue for crafting a claim link that points anywhere else

Ownership & Transfer in the setup guide

The in-app guide gains a full chapter on certificate ownership: how automatic owner registration works at checkout, what buyers see on the certificate page, how a peer-to-peer transfer behaves, and what the merchant Ownership panel controls. The guide also now states the correct tier for auto-assign (Pro and above).

Certificate ownership + secure transfer

Certificates are no longer just a token, they now belong to a verified owner. When a buyer's order comes through, Editioned automatically registers them as the official owner of their edition and starts a permanent chain of custody. No extra step for the buyer.

  • Automatic owner delegation, the buyer's verified checkout details register them as the certificate's official owner the moment they purchase
  • Verify ownership, if a certificate hasn't been claimed yet, the holder can register themselves directly on the certificate page
  • Peer-to-peer transfer, an owner reselling their piece mints a one-time, expiring claim link; when the new owner claims it the certificate token rotates and the old link goes dead, so a piece sold off-channel can never produce a valid transferable certificate
  • Chain of custody, every purchase, claim, and transfer is recorded on the certificate's history
  • Merchant control, a new Ownership panel on each product shows the current owner, order of origin and full history, with a one-click fix for a mistyped email; a shop-wide Records view exports every certificate to CSV

Owner privacy on the public certificate

The certificate now proves ownership without exposing the owner. The public page shows “Official owner · verified” with the name withheld, and the origin order number is masked to its last two digits. The full owner identity stays in the merchant’s admin only.

Three product videos on the homepage

Marketing site gets three 30-second screen recordings, programmatically rendered with Remotion. No talking head, no music, just the real screens. They loop silently in their own section so visitors can scan the actual flow without leaving the page.

  • Setup walkthrough (35s), Set the Edition Total, place an order, watch the edition auto-assign and the cert PDF download
  • Deletion lifecycle (28s), Buyer scans the cert, merchant deletes the product, buyer scans again → HTTP 410 "certificate no longer valid"
  • EU DPP rollout timeline (35s), Animated tour through the ESPR deadlines from 2026 to 2030, embedded in the DPP section above the static text timeline
  • All renders are version-controlled in videos/src/compositions/*.tsx, re-running npx remotion render regenerates them when copy changes

Animated hero storefront mockup on scroll

The "Limited & numbered editions" hero on editioned.app now has a live storefront mockup that animates the moment it scrolls into view. Entrance staggers the tracker pips I → VII, fills the scarcity bar from 0% to 71%, and starts a gentle ring pulse on the III pip + a soft glow on the Edition Badge.

  • IntersectionObserver-gated so the entrance plays when the visitor actually reaches the section, not on page load
  • Only opacity / transform / box-shadow / inner-width animate, so layout never shifts
  • Honors prefers-reduced-motion, users with reduce-motion preference see the static end state
  • Tracker math now reads cleanly: I, II, IV, V sold + III current viewing = 5 taken, VI, VII remaining = 2 (matches the "2 of 7 remaining" caption)

Standardized nav across every page

Blog, blog posts, /about, /privacy and /changelog all now use the same fixed header nav as the homepage. Hamburger toggle on mobile, "Shopify-approved" trust badge always visible, single click to Install. Before, every secondary page had its own minimal nav and there was no consistent path back to Pricing or DPP.

Marketing site rebuild + AEO/SEO sweep

Full editioned.app rebuild: cert showcase moves to the very top of the homepage as a brutal first impression, four-variant lockstep section pairs each cert style with its buyer-facing web cert, EU DPP repositioned as a second wind after pricing, and hamburger nav on mobile. Plus a coordinated SEO pass.

  • HTTP → HTTPS Cloudflare Worker so duplicate URLs no longer split rank
  • llms.txt strengthened with quotable AI summary blocks for ChatGPT / Claude / Perplexity citations
  • Schema.org dateModified + softwareVersion added to the homepage's SoftwareApplication record
  • Cloudflare AI Crawl Control toggle audited, Managed robots.txt is now confirmed OFF, all AI crawlers allowed
  • Three new pillar blog posts shipped: Shopify provenance certificates 2026 complete guide, Resale platforms authenticate sneakers/streetwear, Battery DPP Shopify 2027

Drag-and-drop reorder on the Cert Layout picker

The cert field picker is now two surfaces, each doing one job. Top: checkboxes for which fields appear on the cert. Bottom: a real drag-and-drop list for the order they print in. No more ↑/↓ buttons stacked next to every row.

  • Powered by dnd-kit, same library Notion, Linear, and Vercel use for sortable lists
  • Grab any row by its ⋮⋮ grip handle to reorder; top of the list = top-left on the printed cert
  • Keyboard accessible: Tab to a handle, Space to grab, arrow keys to move, Space to drop
  • Touch-friendly on iPad and phones, drag handles use touch-action: none so iOS Safari doesn't mistake the gesture for a page scroll
  • Remove button on each row for one-click eject without scrolling back up to the checkbox

Cert PDF typography polished to atelier standard

Several typography passes on the printed certificate PDF to bring it in line with the Guild 79 atelier master cert. The hierarchy is now intentional: italic for hand-inscribed marks, upright regular for data, sans for labels.

  • Field values now render in upright regular Cormorant Garamond. Italic was being over-applied, it's now reserved for the title, signature line, and the large Roman numeral on the front
  • Field labels bumped to 6pt with proper tracking. Label-to-value gap widened from ~3pt to ~7pt so each row reads as a clean caption + body pair, not a crammed stack
  • Hairline dividers above each field now span the full column width, they read as true row separators rather than partial underlines
  • QR cluster (SCAN TO VERIFY / masked token / EDITION I of III) now centers precisely under the QR. Token also switched to a sans face, both for glyph reliability and so the centering math is exact
  • Bottom signature on the owner-store variant lifted clear of the bracket corners for proper breathing room

Cert layout you control

Pick the six fields that print on every cert. The slots are no longer hardcoded for jewellery, Spirits merchants get Distillery, Ceramics gets Glaze, Art gets Medium, Fashion gets Designer, and you can also reference any of your own custom fields. Reorder, save, ship.

  • Three sources in one picker: universal (Studio, Origin, Year, Description), category-specific (per active product category), and custom fields you've created on the product
  • Adaptive grid for any field count from 1 to 6, single field renders full-width, 2 / 3 / 4 / 5 / 6 each get a layout that avoids orphan slots
  • Custom fields use stable UUID references, rename or reorder without breaking older certs
  • Edition number stays anchored in the QR cluster on the back, not in the configurable grid, cert identity is non-negotiable
  • Empty fields are silently dropped from the cert, so you can pre-tick aspirational slots without worrying about dashes

Buyer cert page redesign

The hosted page buyers see when they scan the QR is now a 3-column field grid with a prominent Series I stamp at the top. Cleaner on desktop, scales to single-column on phones. The print PDF still respects your 6-field selection; the digital page shows everything you've filled in.

Save bar reliability + cert PDF data flow

Two stacked admin issues you may have hit in the product editor:

  • Save bar now reliably dismisses after a successful save (was sticking visible after the first save when category fields or custom fields were touched)
  • Cert PDF Material / Coordinates / Distillery / etc. now correctly flow form → DB → PDF, was previously orphaning category-specific values into a hidden JSON column and never reaching the cert
  • Three-stage fallback chain on read so legacy products created before the fix keep rendering correctly

Deleted products return 410 Gone for old cert URLs

If you delete a product and create a new one with the same handle, old QR codes pointing at the original cert no longer fall through to the new product (which would mislead the buyer that their cert is still valid). Old cert URLs now return HTTP 410 Gone with a "Certificate no longer valid" page. Delete also clears all 13 Editioned-owned metafields so theme blocks render empty post-delete instead of stale "Edition I of III" tracker data.

App Store listing live in 5 languages

English alongside Italian, French, German, Spanish, title, description, search terms, and the eight billboard screenshots all localized. Merchants browsing the App Store in any of the five languages see Editioned in their native locale.

  • Localized search terms cost dramatically less than English equivalents on Shopify Ads, French "édition limitée" is roughly $1 vs $9-30 for "limited edition"
  • Demo video URL + YouTube channel link inherited across locales
  • Screenshot localization automated via translation script, 8 billboards × 4 languages = 32 SVGs regenerated

30-day Pro trial on every install

Every new install now starts with 30 days of full Pro features unlocked. That includes auto-assign on orders, EU Digital Product Passport export, all certificate styles, unwatermarked PDFs. No card, no setup, no surprise bill. After the trial your store auto-downgrades to the generous Free plan unless you choose to upgrade.

  • Why 30 days, not 14: small-batch merchants typically ship their first edition between day 7 and 30, so 30 covers a full first-month sales cycle and you actually see the value before the gate
  • Trial state visible everywhere: top-of-dashboard banner shows days left, settings badge reads Pro · trial (Nd)
  • Graduates cleanly: subscribing via Shopify Managed Pricing clears the trial; no double-billing or double-trial
  • Existing free-plan merchants installed before this date also got the 30-day trial backfilled

App polish toward Built for Shopify badge

Five admin-side fixes to meet Shopify's Built for Shopify design standards. Code prerequisites now in place. Gates remaining are merchant-traction milestones (50 net installs, 5 reviews, 4+ rating) which the trial above is designed to unlock faster.

  • Native browser confirm() dialogs replaced with App Bridge Modal across delete flows
  • Contextual Save Bar added to settings + product editor: dirty-state tracked, Discard restores baseline
  • Helpful homepage banner shows live status: edition count, sold-vs-available split
  • Polaris design system upgraded v12 → v13.9.5
  • Empty-state illustration on first-install dashboard

Unified billboard system for the App Store listing

Eight-frame visual campaign in matching navy / olive / Cormorant Italic: five desktop screenshots, three mobile phone-frame mockups, and a redesigned YouTube + Shopify video thumbnail. Every frame shares the same brand DNA.

  • New App Store listing copy: tagline, description, search terms include EU-DPP keyword
  • New app icon in the brand navy + olive palette
  • Off-listing SEO: YouTube channel link, body-CTAs in blog posts, Schema.org sameAs

EU Digital Product Passport export

Pro+ tier now exports CIRPASS-aligned JSON-LD per edition. Schema.org + GS1 + custom dpp: namespace (swap to CEN/CENELEC EN 1821x URI when published, late 2026). First DPP feature in any Shopify provenance app.

  • Manufacturer, originLocation, materialComposition, conformity markings
  • Validates against CIRPASS-2 beta validator and Google Rich Results test
  • Sector defaults for batteries (Feb 2027), textiles (~late 2028), electronics (~2027-28)

BYO-mail via order metafields

Editioned no longer sends transactional email. Per-order edition data (certificate URL, edition number, edition Roman numeral, total run, fulfilled-at timestamp) writes to the merchant's existing order metafields under the editioned namespace.

  • Klaviyo, Shopify Email, Omnisend, Mailchimp pick up the metafields automatically
  • One sender, one suppression list, one brand voice
  • No second email infrastructure, no per-email rent

Certificate view tracking

The hosted cert page now records visits with a SHA-256 hashed visitor ID (no raw IP or user-agent stored). Buyers see "You opened this certificate first" on their personal visits; the public scan count appears for anyone else.

  • 1-hour dedup window so a refresh doesn't inflate counts
  • GDPR-friendly: no PII collected, no third-party trackers

Plan tier reshuffle

More generous Free plan, Pro gets auto-assign, and a watermarked cert PDF on Free that converts.

  • Free: 3 products · 5 editions per product · 15 total · watermarked cert PDF
  • Pro $49/mo: 50 products · 5,000 editions · auto-assign · DPP export · no watermark · custom branding
  • Studio $99/mo: 500 products · 250,000 editions · light/dark/minimal cert styles · series drops · removable "Powered by"
  • 17% off on annual on every paid plan
  • No per-certificate fees at any tier

Cert PDF typography

The Cormorant Garamond st ligature was clipping certain letterforms on the generated cert PDF. Switched to TTF font embed (vs WOFF2) and bumped the fontkit pipeline. The cert now renders crisp on every print.

Cert front-page tracks collection, not hardcoded

The cert eyebrow and signature now pull from the product's first non-frontpage collection (prefers one with a location.city metafield). Previously the cert hardcoded the collection name regardless of the product.

Editioned approved on the Shopify App Store

Public launch. apps.shopify.com/editioned

  • App Store approval after ~31 days of review
  • Protected Customer Data (PCD) approval granted same day, unlocks read_orders scope
  • Order webhooks re-enabled: orders/create, orders/fulfilled, orders/cancelled
  • Auto-assign-on-order flow verified end-to-end