logo

Changelog

What's new in Storify

New updates and improvements to Storify.

1.4.0

majorBig Update
August 10, 2026

Local Pickup, Nearby Discovery & Mobile Storefront

Features
  • Added location-aware discovery so a shopper sets their place once and product listings, categories, collections, brands, vendor stores, and pre-orders narrow to sellers who can actually serve them, with nearest-first sorting and distance badges on product cards
  • Added a distance radius filter that counts how many products each distance returns before the shopper commits to one
  • Added local pickup built around store locations, with opening hours, a collection area, pickup instructions, and a map link, chosen at checkout instead of a booked time slot
  • Added per-vendor store locations carrying their own address and map coordinates, so distance is measured from the counter a shopper can walk into rather than the vendor's payout address
  • Added roles for each location covering whether it stocks inventory, fulfils online orders, and offers pickup, plus an ordered dispatch list that decides which branch a delivery leaves from
  • Added collection availability on the product page, showing the branch, its neighbourhood, and the distance for the exact variant selected, without publishing per-branch stock counts
  • Added saved checkout addresses with a default address, shared with the account address book
  • Added a shipping estimator in the cart that quotes the same rates checkout will charge, alongside a free-shipping progress bar
  • Added a rest-of-the-world shipping zone that prices any address no other zone covers and can carry several rates of its own, replacing the single fallback rate
  • Added vendor pricing for the store's shipping zones, so vendors set what they charge inside geography the platform defines and any zone they leave alone inherits the store's rates
  • Added an advanced JSON product import for up to 1,000 products per file that creates missing categories, generates every option combination, and supports digital products
  • Added ready-made sample catalogs with 200 international products across 12 categories and 16 collections, plus per-vendor catalogs for multi-vendor demos
  • Added support for any ISO 4217 currency from the general settings, with display names and decimal places resolved automatically
  • Added a dedicated installable app icon rendered at the sizes Android and iOS require, separate from the browser favicon
  • Added breadcrumbs to every storefront and account page, doubling as structured data on product pages
  • Added a real sitemap covering products, categories, collections, brands, vendors, blog posts, and content pages, refreshed hourly
  • Added a mobile bottom navigation bar with live cart and wishlist counts, and an account drawer that signs shoppers in or registers them without leaving the page
  • Added infinite loading to the product list with a running result count, grouped filters, and a sticky filter sidebar
  • Added a footer contact source switch so contact details either stay synced with store information or use footer-only values
Improvements
  • Redesigned the storefront for phones with a thumb-reachable bottom bar, a search row in the header, snap-scrolling rails that let the next card peek, a swipeable promo row, and filters in a bottom sheet
  • Made product card wishlist, add-to-cart, and badge controls reachable on touch, where they had been gated behind hover and never appeared on a phone
  • Rebuilt the mobile menu drawer around shop and support groups with per-destination icons, an active-route highlight, a tappable account card, and a collections rail
  • Redesigned the customer account area for small screens with a mobile section nav, a denser dashboard, a standalone change-password card, and lighter order and wishlist pages
  • Made the admin dashboard, orders table, vendors list, inventory editor, and vendor dashboard usable on a phone, including a compact recent-orders card and a pinned inventory save bar
  • Moved the location control out of the header and onto the pages it narrows, seeded on the server so it shows the shopper's place instead of flashing an empty state
  • Ranked shipping zones by how precisely they claim an address, so a region zone written to override a country-wide zone is no longer undercut by it
  • Disabled the legacy shipping cost and free-shipping threshold fields while shipping zones are on, with an explanation of where rates now come from
  • Warned when every rate in a zone is conditional, which would otherwise leave some carts with no rate at all
  • Grouped cart lines by seller so a multi-vendor bag explains up front why collection is unavailable, instead of revealing it after an address has been filled in
  • Simplified collection to opening hours rather than reserved time slots, removing hold expiry from the checkout path entirely
  • Split login and registration into shared form components reused by the auth pages, the account drawer, and the store navigation
  • Moved media uploads straight to storage with client-side WebP conversion, so large files no longer pass through the application proxy
  • Kept footer contact details synced with store information by default, so a general settings update no longer leaves a stale copy in the footer
  • Narrowed canonical URLs, hreflang, and robots rules to what each store actually serves, and kept cart, checkout, account, and auth pages out of search results
  • Added an explanation for visitors with JavaScript disabled instead of skeletons pulsing forever behind unloaded content
  • Hardened the offline experience, cleaned up the legacy install cache, and surfaced registration failures in production
  • Added dry-run-capable migrations for location ownership, location coordinates, retiring pickup slots, and reconciling stock across locations
  • Documented the advanced product import and international catalog setup, and expanded automated coverage for locations, pickup, shipping, imports, and app icons
Fixes
  • Fixed every storefront page declaring itself a duplicate of the home page to search engines, and hreflang advertising all 18 built-in locales regardless of what the store serves
  • Fixed browsers never offering to install the app, because the manifest advertised the store's favicon as its app icon
  • Fixed the offline page being filled from any cached navigation, so a dashboard render, a maintenance page, or a 404 could be served to whoever opened the app next on a shared device
  • Fixed the supported-currency list re-adding a removed currency on every restart
  • Fixed Cash on Delivery being offered on downloads-only orders, which have no moment for cash to change hands
  • Fixed the default shipping cost and free-shipping threshold never reaching an order while shipping zones were on
  • Fixed cash-on-delivery orders skipping the per-vendor rates and import duty that card checkouts already applied
  • Fixed the shopper's chosen shipping method not being recorded on the order or split across its per-vendor sub-orders
  • Fixed the stock reconcile script writing negative per-location quantities, hiding them from its dry run, and raising stock on simple products when told to lower it
  • Fixed a variant's existing stock being wiped the first time a store's locations were synced onto it
  • Fixed colour presets in the preferences drawer highlighting without changing any colour
  • Fixed vendors outside the chosen radius still appearing in nearby results
  • Fixed product imports rejecting rows with no price and failing on categories that did not exist yet
  • Fixed a failed invoice download looking like a dead button
  • Fixed the collection step repeating an address notice and a Cash on Delivery note below the pickup options

1.3.1

minor
August 4, 2026

Country Policy, Order Timeline & POS Register

Features
  • Added a store-wide country availability policy with an admin choice between every country or an explicit allow list, enforced across checkout, saved addresses, customer and vendor profiles, order creation, shipping rates, vendor onboarding, registration, and product imports
  • Added Congo (Kinshasa), Hong Kong, Côte d'Ivoire, Macao, and Palestine to the country list with matching phone codes
  • Added a real order timeline that records placed, paid, shipped, refunded, and cancelled events from checkout, the POS register, every payment gateway, and refunds
  • Added staff comments on orders in the same timeline feed, gated on the edit-orders permission and scoped like every other order view
  • Added an editable product URL handle on the product form that follows the title until you set your own
  • Added a free sample file for digital products that shoppers can open from the product page before buying, separate from the paid downloads
  • Added configurable desktop column counts for the home page New Arrivals and Top Articles grids
  • Added an opt-in setting for selling vendor-owned stock on the shop's POS register in multi-vendor stores
  • Added favicons and PWA icons served from store settings so every install shows its own branding instead of a bundled placeholder
  • Added a per-route demo mode policy so demo deployments accept product creates and updates while still refusing deletes, settings changes, and storage edits
Improvements
  • Redesigned the POS register for phones and tablets with scrollable panels, a pinned checkout footer, a two-row toolbar with filters in a bottom sheet, and a bottom-sheet payment dialog with a pinned charge button
  • Server-rendered the POS catalogue behind a streaming skeleton, removed the duplicate product query on every load, and made refetches abort stale requests
  • Locked the physical or digital product format after creation in both the form and the API, since the two formats carry different data, checkout paths, and stock semantics
  • Centralized stock rules so digital products, untracked products, and continue-selling products behave identically in the buy box, cart, product cards, and inventory writes
  • Extended audit history retention from 90 days to 24 months so an order's history outlives a card chargeback window, with a migration script for existing databases
  • Sized the country picker to the allowed list, showing the search box only for longer lists and a read-only field when a single country is allowed
  • Reworked storefront product cards and the related-products, new-arrivals, and top-articles carousels so cards keep consistent widths and no longer stretch to the tallest title
  • Improved the product create and edit page layout and simplified its organization and collection fields
  • Kept money formatting on Western digits when a currency's regional locale would otherwise print Bengali or Arabic-Indic numerals
  • Excluded the dashboard sidebar and header from printed order pages
Fixes
  • Fixed staff restricted to a vendor, POS location, or region being able to open any order, including its customer details, by typing the order id into the URL
  • Fixed the order timeline showing no events at all for POS sales, card payments, and refunds
  • Fixed historical order totals being relabelled with the store's current currency after an admin switched it
  • Fixed cancelled orders carrying the same success marker as shipped orders in the timeline
  • Fixed held POS sales being visible and resumable from any register, and resuming a hold restoring stale prices and stock another register had already sold
  • Fixed a failed hold silently clearing the POS cart, and digital or continue-selling products being dropped as out of stock when a hold was resumed
  • Fixed the POS camera scanner failing to start and reporting nothing when it did fail
  • Fixed an entire vendor catalogue appearing on the shop's register by default in multi-vendor stores
  • Fixed storefront pages painting the wrong loading skeleton, so a product page no longer flashes the product-grid skeleton before it loads
  • Fixed checkout showing three different loading frames back to back
  • Fixed product saves failing with a database cast error when variant options arrived in a legacy shape
  • Fixed cleared product fields such as compare-at price, cost, unit price, and barcode format reappearing after a save
  • Fixed price ranges and variant stock totals not being recalculated after a product update
  • Fixed private digital files being left in storage after they were removed from a product
  • Fixed digital products and products with stock tracking turned off being reported as out of stock
  • Fixed delete buttons in admin tables reporting a generic failure instead of the demo deployment's own message

1.3.0

majorBig Update
July 30, 2026

Omnichannel Inbox, Vendor Subscriptions & Digital Products

Features
  • Added an omnichannel messaging system that unifies storefront live chat with WhatsApp, Facebook Messenger, Instagram Direct, and Telegram in a single conversation model
  • Added admin, vendor, and staff inboxes with conversation assignment, claim and unassign controls, read state, and live streaming updates
  • Added channel connections for platform and vendor owners with encrypted credentials, WhatsApp embedded signup, public click-to-chat links, and automatic connection health alerts
  • Added WhatsApp template authoring, template synchronization, and an in-conversation template composer
  • Added an escalation engine for unanswered conversations plus a delivery monitor and failures panel for outbound send errors
  • Added chat attachments with shared rendering across every channel and a sandboxed media proxy
  • Added platform live-chat settings, messaging permissions in role-based access control, and routing of the storefront contact form into the conversation system
  • Added an opt-in vendor subscription plan system with an admin plan catalog covering price, billing interval, commission rate, trial length, product and staff limits, and AI-authoring capability
  • Added Stripe billing for vendor plans with product and price synchronization, checkout, customer portal, invoice and payment records, upgrades, downgrades, cancellations, and dunning retries before expiry
  • Added an admin Vendor Configuration surface for registration, approval, trial length, required documents, plan toggle, and default commission
  • Added a single commission authority that resolves store, plan, and settings defaults and projects the result onto the vendor record
  • Added a three-step vendor registration wizard covering account details, store information with verification documents, and a final review screen
  • Added an admin-configurable vendor onboarding flow builder to rename and reorder steps, toggle required and hidden fields, add custom fields, and preview the wizard live
  • Added a vendor-facing subscription page and admin plan assignment with lazy read-time expiry that reverts commission without revoking access
  • Added Pesapal and ioTec payment gateways with IPN registration, callbacks, and verification, plus Ugandan shilling support
  • Added digital products with a physical or digital format switch, private digital-asset storage, vendor and admin asset management, and per-order customer download links
  • Added external video embedding from YouTube and Vimeo on product media
  • Added visual option values for product variants with swatch and image representation and a dedicated visual-options editor
  • Added redesigned vendor storefronts backed by real catalog data with store address, map directions, and vendor following
  • Added a customer detail workspace with a tabbed layout, header summary, order history, activity feed, and avatar upload
  • Added a vendor detail workspace with subscription state, orders, and store statistics
  • Added native device push delivery alongside browser web push
  • Added held orders to the POS terminal
Improvements
  • Improved storefront freshness so admin and vendor catalog changes reach visitors without a hard reload across browser, router, ISR, and API cache layers
  • Moved API rate limiting to a shared database counter so limits hold across multiple application instances
  • Rebuilt admin, vendor, and staff list pages as server-rendered views with shared query helpers, route segments, and loading skeletons
  • Hardened money paths with variant-aware and server-side POS pricing, atomic refund reservations with running totals, order-currency refunds, and crash-safe automatic refunds for tampered carts
  • Made stock, transfer, and pre-order state machines atomic with cancelled-order guards, cash-on-delivery and POS idempotency, and guest-cart merge claims
  • Enforced account status for every role, including admin and staff, with a one-time upgrade migration
  • Made OAuth providers respect the admin panel toggle instead of auto-enabling from environment credentials
  • Made two-factor authentication opt-in and added a password policy and a startup secret preflight
  • Made currency admin-driven, language URL-driven, and the theme light or dark with light as the default
  • Made the appearance color system apply across the whole application and consolidated secret credential handling in settings
  • Converted uploaded and reusable images to WebP
  • Redesigned the product image gallery with a shared layout module and a dedicated product chat entry point
  • Improved customer and vendor detail page performance and aligned their design
  • Improved the media uploader with an embed-video-from-URL control, a drag-and-drop digital files dropzone with file-type badges, and persisted media dimensions
  • Cached settings, menus, and categories with server-seeded headers, paginated account orders, and moved review filtering into the database
  • Added compound indexes and migration scripts for audit, performance, dashboard, vendor storefront, omnichannel, push, and Telegram data
  • Added operating documentation for omnichannel messaging, Pesapal, ioTec, and the vendor subscription billing checklist
Fixes
  • Fixed live chat failing for every visitor after the first on a fresh install by scoping the contact identity index
  • Fixed the public contact form rejecting submissions when live chat was turned off
  • Fixed anonymous chat throttling that granted every request a fresh rate-limit bucket
  • Fixed image attachments to WhatsApp failing because chat images were force-converted to WebP
  • Fixed a stored-script risk where the WhatsApp media proxy relayed provider content types on our own origin
  • Fixed platform messaging settings leaking the escalation email and business-hours schedule into public payloads
  • Fixed platform staff being locked out of the inbox and viewer resolution failing inside server components
  • Fixed outbound messages being lost when an immediate send failed and unread counters dropping concurrent increments
  • Fixed vendor billing races so checkout binds to one subscription, ambiguous or missing Stripe prices fail closed, and webhook processing is leased atomically
  • Fixed vendor billing recovery from checkout sessions, dunning reconciliation, commission snapshots, orphaned rows after vendor deletion, and archived plans exposing internal details at checkout
  • Fixed rename-only product updates unpublishing products and wiping variants, images, and stock
  • Fixed revalidation calls that silently expired nothing and draft products leaking into the storefront
  • Fixed OAuth enabling and disabling not taking effect
  • Fixed login redirects losing the requested destination, along with open-redirect and login-loop risks in return paths
  • Fixed product gallery thumbnails not centering when fewer than four
  • Fixed country flag rendering on Windows, product price symbols, mega menu promo image logic, and an alert translation issue

1.2.0

majorBig Update
July 19, 2026

AI Studio, Media Library & Commerce Improvements

Features
  • Introduced a dashboard AI Studio hub with shared text and image authoring for products, variants, categories, collections, brands, blogs, merchant review replies, hero slides, and promotional cards
  • Added AI generation and improvement for summaries, descriptions, rich content, SEO metadata, image alt text, icons, logos, product media, and variant images
  • Added an AI image workspace with generate and edit modes, quick prompts, background removal, enhancement, upscaling, erase, resize, expand, effects, before-and-after comparison, undo and redo, draft recovery, downloads, deletion, and storefront card previews
  • Added an opt-in hero banner studio that produces exact 1360 × 314 artwork, safely interprets prompts, preserves supplied promotional copy, and supports English, Bengali, and mixed-script text
  • Added ratio-locked 16:9 blog featured images, inline AI images for blog content, and slot-aware artwork for promotional cards
  • Added centralized AI settings for a shared OpenAI key, model selection, output size and quality, per-surface switches, staff and vendor access, daily limits, and connection testing
  • Added brand voice, tone selection, image-style guidance, and a brand kit with primary and secondary colors plus logo support
  • Added streamed long-form content generation, vision-based alt text, and a deterministic SEO checklist with scoring
  • Added exact social exports for Open Graph, square, portrait, story or reel, and X formats with fill or fit modes, brand-color padding, and an optional logo
  • Localized AI Studio controls, presets, settings, and guidance across all 18 supported locales
  • Added reusable global variants with text, color, image, integer, and decimal values plus seven storefront presentation modes
  • Added category-level variant templates that merge into product variants while preserving product-owned options and surviving price and stock combinations
  • Added persistent custom color swatches, variant media and AI image actions, and bulk stock editing
  • Added vendor-scoped storefront filters with vendor-specific product results and filter counts
  • Added Turkish language support plus Turkish lira and Pakistani rupee currencies
  • Added a keyboard-friendly POS calculator with calculation history, fullscreen mode, F8 scanner focus, and improved SKU and barcode search
  • Added standards-aware EAN-13, UPC-A, GTIN-14, and Code 128 identifiers for products and variants with source metadata, internal barcode generation, CSV preflight, and atomic uniqueness protection
  • Added an inventory barcode-label studio with three physical label sizes, 203 or 300 DPI, manual or stock-based copies, ZPL or TSPL output, browser printing, raw downloads, and direct QZ Tray printing
  • Added local Code 128 and QR rendering for POS receipts with automatic printing after completed sales when enabled
  • Added admin and vendor shipment records with exact 4 × 6 internal shipping-label PDFs for browser or direct QZ printing
  • Added a first-class Local Storage provider for persistent single-server installs alongside Cloudflare R2 and S3-compatible storage
  • Added a provider-aware Media Library with pagination, search, media-type filtering, upload, image, video, 3D and document previews, URL copying, and single or bulk deletion
  • Expanded the product size guide with product-line templates, regional sizing, inch and centimetre conversion, fit guidance, measurement instructions, and international equivalents
Improvements
  • Redesigned and modularized AI Studio into focused canvas, media, prompt, action, and session components while keeping shared form integrations consistent
  • Improved AI Studio interactions with responsive menus, one-click presets, persistent drafts, version history, ratio-aware tools, localized canvas sizes, and exact surface previews
  • Improved product and variant workflows with a redesigned edit modal, better option handling, contained product-media previews, and more accurate storefront card previews
  • Improved POS terminal behavior, color-variant handling, keyboard shortcuts, receipt settings, and dashboard KPI fallbacks when POS is disabled
  • Hardened the mega menu to three supported levels with depth validation, synchronized previews, safer navigation state, and bounded storefront layouts
  • Aligned collection creation and editing with the product form experience
  • Improved storage switching with draft-first configuration, provider status and testing, persistent public URL settings, and protection from stale-provider values
  • Improved R2 and S3-compatible support for custom endpoints, addressing modes, region normalization, signed previews, and existing-media continuity
  • Improved runtime uploads with collision-safe original filenames, immediate local serving, byte-range responses, immutable caching, clearer size and provider errors, and proxy bypass for larger files
  • Hardened AI routes with server-side credentials, role and surface gates, rate limits, daily usage accounting, sanitized rich content, and own-storage checks for image edits and downloads
  • Hardened local media delivery against path traversal and uploaded SVG execution while centralizing trusted remote media domains
  • Added authenticated QZ certificate-signing endpoints so thermal-printer private keys remain server-side
  • Added a dry-run and apply barcode-registry migration flow so existing stores can resolve duplicate identifiers before enforcing global uniqueness
  • Updated sidebar scrollbar colors and behavior
  • Expanded automated coverage for AI authoring, hero banners, SEO, social exports, storage uploads, barcodes, shipping labels, and variants, and normalized legacy suites for Vitest
  • Added operating and deployment documentation for AI authoring, hero banners, barcodes, thermal printing, and required migrations
Fixes
  • Fixed AI generation menus becoming unclickable inside modal dialogs and improved their open and close behavior
  • Fixed stale AI drafts remaining after hero slides were removed and eliminated filename side effects during image expansion
  • Fixed hero banner dimension, prompt, redirect, file-size, and source-origin boundary handling
  • Fixed mixed-script hero copy being lost or altered during exact-image rendering
  • Fixed blog featured images being heavily cropped by locking their AI workflow to 16:9
  • Fixed category and product color swatches not consistently using saved custom colors
  • Fixed local-storage media URLs being rejected when saving avatars and other uploaded assets
  • Fixed local files uploaded after server startup not being served and media uploads being truncated by the application proxy
  • Fixed R2 and S3-compatible auto-region, custom-endpoint, path-style addressing, missing-public-URL, and provider-switch deadlock issues
  • Fixed remote or private storage media failing across image, 3D model, email-logo, and cross-provider rendering paths
  • Fixed stale storage drafts overwriting current settings and exposed exact server and media-size errors for failed uploads

1.1.0

minor
July 6, 2026

POS, Analytics & Storefront Improvements

Features
  • Added production-ready barcode scanning to the POS workflow
  • Added Google Analytics 4, Google Tag Manager, Meta Pixel, and TikTok Pixel integrations
  • Added POS receipt printing and expanded payment support
  • Added a color picker for product color variants
  • Added vendor shop sharing and editable vendor store slugs
  • Added social media sharing for vendor profiles
  • Added Peruvian currency support
Improvements
  • Redesigned the POS experience with improved features, responsiveness, and staff navigation
  • Improved POS payment handling, printing, and order completion
  • Optimized the customer dashboard layout for a better fit across screen sizes
  • Improved overall application performance
Fixes
  • Fixed Stripe card payments in POS and removed the unnecessary cardholder field
  • Fixed footer CMS settings not saving correctly
  • Fixed transaction provider text display issues
  • Fixed mega menu validation failures

1.0.0

major
June 25, 2026

Initial Release

Features
  • AI Sales Agent to answer product, payment, and delivery questions and guide shoppers
  • Built-in POS with product search, customer lookup, cart totals, and cash/card/manual payments
  • Single-vendor and multi-vendor storefronts with vendor approval, commissions, and payouts
  • 3D product viewer for immersive product previews
  • Payment gateways: Stripe, PayPal, Razorpay, Paystack, and cash-on-delivery
  • Multi-language and multi-currency support for global stores
  • RTL and Arabic-ready storefront, accounts, and dashboards
  • PWA support for installable, fast, and offline-capable shopping
  • SEO-ready pages, products, and articles out of the box
  • Traffic analytics with Google Analytics and Plausible integrations
  • Product, category, inventory, and order management
  • Coupons, discounts, tax rules, and shipping configurations
  • Customer accounts with order history and wishlist
  • Admin and vendor dashboards with role-based access control
  • Built on Next.js and MongoDB with a responsive light and dark theme

Ready to get started?

Join hundreds of merchants using Storify to launch and scale their online stores.