Skip to main content

Changelog

What's new?

Product updates, design polish, and fixes shipped across the Stocklyst web and mobile apps.

Web

Web v2.2.0

FeatureFix

Custom images and a more reliable label designer

You can now add your own images to label templates — a logo, a safety symbol, or any graphic you like — and the whole label designer is steadier from design to print.

  • Add an image layer and upload your own picture; it saves with the template and prints on every label.
  • Turn the item photo on or off on its own, so a custom image can stand alone.
  • Warning images you upload now print on the label, not just in the on-screen preview.

Fixes in this release:

  • Saving a label you just designed now keeps your selected items, so you can generate the PDF straight away instead of having the selection cleared.
  • Text you type on a label shows up immediately as you type it.
  • Saved label layouts stay attached to their items, and custom fields stay available to add.
  • The designer lays out correctly on smaller screens, and barcode label PDFs generate reliably.

Web

Web v2.1.6

EnhancementFix

Fewer connection-timeout interruptions during busy moments

We tightened how Stocklyst talks to the database from Vercel so short bursts of activity are less likely to turn into a wave of "try again in a few seconds" errors. Runtime admin reads now use the serverless-friendly transaction pooler instead of session-style database connections, and the app keeps fewer idle database clients open between requests.

  • Opening the dashboard, loading items, and switching workspaces should be less sensitive to temporary database pooler pressure.
  • Background telemetry and admin reads now use smaller, longer-lived pools so warm server instances do not recreate large batches of connections after a quiet period.

Web

Web v2.1.5

EnhancementFix

Fewer transient errors when you first open the app or restore a session

The last two releases pushed silent-retry coverage across most of the hot paths. This release closes the remaining gaps on the calls that run when you first open Stocklyst or restore a session after closing your browser — the workspace switcher, your user info, and the plan check that runs on every request. A brief database hiccup during those calls used to show as a transient error on the dashboard or workspace dropdown; it should now recover quietly in the background.

  • Opening Stocklyst, reloading the tab, or switching workspaces no longer flashes "we are having trouble loading your data" during quiet patches in the database.
  • The plan check that runs alongside every action (saving an item, logging a search, viewing a report) now recovers from the same kind of hiccup instead of failing the request.

Web

Web v2.1.4

EnhancementFix

Fewer transient errors loading items, workspaces, and your profile

The last release fixed transient errors on the per-request quota check. This one extends the same silent-retry behavior to the rest of the hot paths — loading your items list, switching workspaces, opening an item, viewing your profile, and the permission checks that run on almost every page. When the database briefly closes a stale connection between requests, the app now retries on a fresh connection instead of showing you the error.

  • Opening the dashboard, switching workspaces, and viewing your profile no longer flash transient errors during quiet patches.
  • Permission checks (who can view reports, who can write to which branch, who can see cost prices) recover silently from the same kind of hiccup, so the rest of the page loads as expected.

Web

Web v2.1.3

EnhancementFix

Even fewer "try again in a few seconds" moments

Last week's reliability pass handled most of the spots where a brief database hiccup could show as a transient error. This release closes the remaining one: the per-request check that decides whether your workspace is within its daily API allowance. Before, a 30-second slow patch could turn a routine "load my items" or "save this adjustment" into a transient failure for everyone in the workspace at once. That class of error should now be largely gone.

  • Plan changes, cancellations, and add-on credit purchases apply within a second — no more 30-second wait for the new limits to kick in.
  • When you're near your add-on credit balance, sending several requests at once can no longer accidentally over-spend the balance — only as many requests as you have credits will go through.

Web

Web v2.1.2

EnhancementFix

Stocklyst behaves better during busy moments

Under heavy load our database can briefly slow down. Before, that sometimes looked like being mysteriously logged out, an item refusing to load, or an invite that quietly never arrived. We reworked how the app reacts in those moments so you get a clear "try again in a few seconds" message and the work resumes where it left off.

  • A short hiccup no longer bounces you to the login screen — your session stays, you see "service temporarily unavailable" with a retry hint, and your next click usually works.
  • Inventory imports that get stuck now retry automatically for up to an hour before they're marked failed, so a slow moment in the middle of a 5,000-row CSV doesn't cost you the whole upload.
  • When an invitation email can't be delivered, the invite still saves and the app gives you a shareable link to send manually — no more wondering whether a teammate received it.
  • Status checks (the heartbeat behind /status) no longer report false outages when our database is just briefly busy.

Mobile

Mobile v2.2.2

EnhancementFix

Mobile shows a shareable link when invite emails fail

Inviting a teammate from the mobile Team screen no longer pretends the email shipped when it didn't. If delivery fails, the invite is still saved and the invite link is copied to your clipboard so you can paste it into Slack, WhatsApp, or wherever your team lives.

Mobile

Mobile v2.2.1

EnhancementDesignFix

Adjust and Transfer on mobile now match the web app

A polish release that brings the mobile app's everyday inventory flows in line with the web — same shapes, same outcomes, no surprises when switching between phone and desktop.

  • Adjust Quantity is now one screen on mobile — pick Add, Remove, or Set with a pill, see the current zone stock right next to the input, type a quick reason, save. Same shape as the web sheet.
  • Transfer is also one screen — choose source and destination with the same pill pattern, the quantity field resolves against the zone you picked, and branch-only or zone-only moves go through the same flow without splitting into two separate screens.
  • Inventory list on mobile inherits the web list semantics — header, sort, and bulk actions behave the same on phone as they do on desktop.
  • Reports use the same labels as web — Inventory and Stock Movement headers and column names line up so a saved view reads the same on either surface.
  • Settings screens (Team, Workspace Profile, Branches, Units, Zones, SKU, Stock, Custom Fields) all share the same form components — consistent spacing, validation, and keyboard behavior across the app.
  • Onboarding picks better defaults for more countries — currency, units, and address fields now cover a wider regional set when you create a new workspace from mobile.
  • After Adjust or Transfer, the list refreshes on its own — no more pulling to refresh to see the new total.

Mobile

Mobile v2.2.0

FeatureEnhancementFix

Internal and Retail workspaces are now on mobile

The mobile app now matches the web in how it adapts to your kind of inventory work, plus a stack of fixes for everyday flows.

  • Internal workspaces look and read the same on iPhone, iPad, and Android as they do on the web — items are issued or consumed instead of sold, kits replace bundles, sale price disappears, and the right vocabulary follows you into reports, the activity log, settings, and the create-item screen.
  • Transfer is hidden on the item card and bulk action bar when there is nowhere to transfer to — single-branch workspaces and read-only side-branches no longer see a button that opens an empty modal.
  • Reports render faster on mobile, especially big multi-page lists.
  • Adding a new item no longer ends with the wrong zone selected if you switch branches mid-flow.
  • After losing connection mid-action, the sync banner now clears as soon as your queue is fully caught up.

Web

Web v2.1.1

FeatureEnhancementFix

Spread opening stock across multiple zones when you add an item

A few quality-of-life improvements for everyday inventory work — multi-zone item creation, a smarter Transfer button, and faster reports on mobile.

  • New Item now lets you split opening stock across as many zones as you need. Pick a zone, set a quantity and shelf detail, then click + to add another zone — the picker only shows zones you haven't used yet, so you can't accidentally double up. The branch default zone is pre-filled to keep the single-zone flow as fast as before.
  • Zone cards on the New Item screen now adapt to narrow screens — qty and shelf stack vertically when there isn't room, instead of squeezing.
  • Transfer now appears only when there is somewhere to transfer to — a different branch you can write to. Single-branch workspaces and read-only side-branches no longer see a Transfer button that would open an empty modal. For balancing stock between zones inside the same branch, use Adjust Quantity.
  • Reports load noticeably faster on mobile, especially the Stock Movement and Inventory reports — payloads are now trimmed to what the screen actually shows.
  • New workspaces start with a Brand custom field already in place, so you can tag items by brand without first having to set up a custom field. Add, rename, or remove it any time from Settings → Custom Fields.

Web

Web v2.1.0

FeatureEnhancement

Workspaces for what you sell — or what you use

Stocklyst now fits both ends of inventory work: shops that sell products to customers, and teams that track items they use, issue, or consume internally. Pick the closer fit when you create a workspace and the whole app reshapes around it — vocabulary, screens, reports.

  • Two workspace flavors at creation — Retail or Internal. Retail keeps everything you know: sell prices, sales movements, revenue reports, sellable bundles. Internal drops the retail layer and swaps in the right vocabulary: items are issued / consumed / checked-out instead of sold, bundles become kits, sale price disappears, no revenue surfaces.
  • Same workspace, no half-states — once you pick at creation, the whole experience stays consistent. Reports, exports, label templates, integration sync, activity log, AI surfaces, accounting field mappings — all line up with your choice.
  • Existing workspaces keep working exactly as before. The picker only appears for new workspaces; everyone already on Stocklyst stays on Retail with no change.

Web

Web v2.1.0

EnhancementFix

Single-branch workspaces feel less cluttered

A round of small but visible fixes for workspaces with one location.

  • Transfer is hidden everywhere when you only have one branch — item card hover, list row, multi-select toolbar, scanner, item detail, and the Transfers report. Add a second branch and every Transfer affordance reappears instantly. No page refresh needed.
  • New workspaces start with a head office and a default zone already set. The Branches and Zones screens no longer show "Head office: Not set" or "Defaults: 0" the moment you sign up, and the New Item screen pre-fills the zone for you.
  • Old single-branch workspaces got the same treatment retroactively — your one branch is now flagged as head office, your one zone is now the default.

Web

Web v2.0.3

DesignEnhancementFix

Inventory polish — calmer selection bar, faster labels, safer deactivate

A round of cleanup on the inventory page so the most-used flows feel lighter.

  • When you select items, the top toolbar now swaps in place instead of stacking a second row underneath. Sort and filter give way to the selection counter, and the New bundle / New item buttons give way to Transfer / Deactivate / Template / Export. Hit × to clear and the toolbar snaps back.
  • Generated label PDFs are now cached — the second time you print the same template it opens straight away.
  • Deactivating an item from its detail panel now asks you to confirm, so you can’t accidentally deactivate the item you’re looking at. Same safety prompt as the bulk action.
  • Removed the legacy "Generate labels" bulk button from the multi-select bar — label generation now lives in the dedicated label flow so the selection bar stays focused on stock actions.

Mobile

Mobile v2.1.0

FeatureEnhancementFix

Stocklyst Mobile 2.1.0 — Scan & Act, multi-tier pricing, and a faster list

A big mobile release that adds the workflows people kept asking for and tightens up a handful of papercuts on the way.

  • Scan & Act — point your phone at a barcode and pick the action right there: Find / Add / Subtract / Transfer. No more digging through menus to count something or move it between branches.
  • Multi-tier pricing — items and bundles can now have a wholesale or member price alongside the regular sell price. Sales record which tier was used, so reports show you exactly how much revenue came from each.
  • Per-user cost-price visibility — workspace owners can hide cost prices from specific teammates. The whole app respects the flag — item cards, edit screens, reports — so margins stay where they need to.
  • Hardware scanner support — plug in a physical handheld scanner and use it on the item-create screen. The scan lands straight in the barcode field, no camera needed.
  • Faster inventory list — workspaces with 10,000+ items now scroll without stalling. The big "100 ITEMS" label at the top also now shows your real workspace total, not just the loaded page.
  • Label download and print actually work — Download / Print on the item barcode card had been silently failing. They now save / share / print a proper PDF.
  • Refreshed look across the app — calmer surfaces, cleaner type, and a bottom-island navigation that morphs between tabs / search / quick actions in one tap.
  • Account → Billing aligned with the current plans. Custom plan now points to support instead of looking free; if you scheduled a cancellation you see when access ends; multi-workspace plans get their own usage meter.
  • Reports — "Demand" renamed to "Stock demand" so it matches the website. Search now feeds into the same Stock demand alerts pipeline; trending searches surface as stocking signals.

Web

Web v2.0.2

FixEnhancement

Billing — cancel/resume that actually works, plan picker fixes

A round of fixes on the Billing page so the buttons do what they say they do.

  • Cancel subscription now schedules the cancellation properly. You see the date access ends, and a Resume button appears so you can change your mind before that date.
  • In the change-plan picker, the Custom plan now points to support@stocklyst.com instead of looking like a free option. The "Current plan" pill on your active tier is also visible again — it had been getting clipped.
  • Workspaces show up as their own dimension on the Billing page now (no more "0 GB / 0 GB" storage strip on plans that don't cap storage).
  • Add-on workspace and add-on branch are now sold separately. Buying an extra workspace no longer silently throws in an extra branch.
  • Custom plans render unlimited capacity correctly — no more "0 users allowed" rendering on uncapped tiers.

Web

Web v2.0.1

EnhancementDesign

Dashboard polish — tighter grid, no more floating mascot

A handful of dashboard fixes after the 2.0 launch — same look and feel, just better behaved at the edges.

  • Compact view now shows 24 items per page (up from 20) so a full page actually fills the screen. Comfortable stays at 20.
  • On very wide monitors the grid no longer fans out to 8+ columns of tiny cards, and on narrow screens it no longer collapses to a single column.
  • The floating mascot has been retired from the dashboard.

Mobile

Mobile v2.0.0

FeatureDesign

Stocklyst Mobile 2.0 — barcode scanning + DNA v2 redesign

Mobile 2.0 lands with two big things: native barcode scanning is now built into the app, and the entire interface has been rebuilt on the new Stocklyst design language (DNA v2) — same workflows, faster, calmer, and with real attention paid to tablets.

  • Scan a barcode straight from the search bar to jump to the matching item — EAN-13, UPC, and the rest. Camera permission asks once and explains why.
  • Brand-new dashboard with a floating tab island, swipe-to-action rows (link / clone / transfer / adjust), and a card-grid view that adapts from phone to large tablet.
  • Refreshed item + bundle detail pages with a centred hero card, big mono stock counters, distribution bars per zone, and a clear floating Adjust quantity / Sell bundle CTA.
  • Adjust quantity, Transfer, Sell bundle, Clone, and Link sheets share one chassis — consistent keyboard handling, primary actions, and a properly readable "AVAIL · N" preview.
  • Tablet layouts on iPad and Android: hero images centre instead of stretching edge-to-edge, content clears the floating island, and everything scales without clipping.
  • Quieter offline behaviour — pull-to-refresh while offline shows a clean toast on both platforms, and stale auth refreshes no longer trip the dev redbox.

Web & Mobile

Web v2.0.0

FeatureDesign

Stocklyst 2.0 — barcode label printing for every workspace

Barcode label printing is now available to every workspace — no toggle, no waiting list. Existing workspaces are switched on automatically; new workspaces get it from day one.

2.0 also marks the official rollout of the new Stocklyst design language. The pieces have been landing for months — refreshed marketing site, live status page, faster login, redesigned reports — and 2.0 is the version that ties them together.

  • Print labels for any item, any size, any time — straight from the inventory list.
  • Pick from the built-in templates or design your own in the label builder.
  • Bulk-assign a label layout across thousands of items in one pass.

Web

DesignEnhancement

Full marketing site rebuilt on an atomic design system

Every marketing route now renders through a disciplined atoms → molecules → organisms → templates hierarchy. 35 reusable pieces (17 atoms, 11 molecules, 7 organisms), 6 route templates (legal, glossary, doc-article, compare, use-case, industry), one design-token layer. The page layouts you see — hero, compare tables, industry blueprints, pricing, FAQ — all compose from the same handful of primitives now.

  • 34 routes migrated end-to-end (52 unique URLs including dynamic slugs).
  • Every heading resolves through CSS variables — one token flip and the whole site follows.
  • CI grep-check in GitHub Actions blocks future hex-color regressions inside marketing routes.
  • All legacy page-shell files deleted — no more duplicated scaffolding across 30+ routes.

Web

Feature

Live status page at /status + footer indicator

Stocklyst now ships a public status page with a Trunk-style 90-day uptime grid per service. The footer dot that used to claim "All systems operational" statically is now wired to live data — it turns amber or rose the moment a regional database probe degrades.

A cron runs every minute, probes each regional Postgres (EU / US / AP) with SELECT 1, classifies by latency, and writes the result to a central table. Public APIs serve a summary + 90-day history for the page and the footer.

Web

Design

Editorial typography scale — bigger, crisper hero type

Heading sizes across the marketing site were bumped to give real editorial weight. Hero now clamps to 7rem at desktop (was 6rem), section H2s to 3.5rem (was 2.75rem). DisplayHeading defaults to extrabold so hero panels carry the visual weight without every consumer opting in.

A subtle but consequential bug fix landed alongside: tailwind-merge was treating the custom text-m-* font-size utilities as conflicting with text-fg color utilities, silently stripping the color from every heading. Every heading on every page now renders the intended color in both light and dark sections.

Web

Fix

Transfer sync correctness — 108 rows backfilled

A raw-SQL ON CONFLICT statement in the transfers route was silently dropping ~9% of destination inserts in the EU region. Rewrote the path to SELECT → UPDATE / INSERT via the Drizzle builder, then backfilled 108 affected rows. Multi-region transfers that previously looked "stuck at sent" should now close cleanly.

Changelog — What's new in Stocklyst | Stocklyst