Changelog

What's new

Every improvement, fix, and new feature — documented as it ships.

v1.8 Latest
July 2026
Work Orders & Intake
  • Form Builder — create shop-defined forms from 13 typed question types, with 5 ready-made intake forms seeded so the kiosk works out of the box
  • Customer intake kiosk now runs on your shop-built forms, with per-station configuration — printers, forms, messages, and terms can stay local to one Mac or iPad
  • Signature capture rebuilt — smooth, palm-rejecting strokes with finger, Apple Pencil, mouse, or trackpad, plus Undo and a larger canvas
  • Drop-off receipts and pickup sign-off — a second signature at pickup snapshots your warranty terms & conditions onto the work order, with printable branded receipts for both
  • Intake auto-confirmation email sends silently on kiosk submit, with a sent / failed / declined outcome card on the work order
  • Service hub — RMAs, Loaners, and Warranties consolidated into one sidebar destination, with walk-in RMA support, sequential LN-YYYY-NNNN loaner numbers, and scannable RMA / loaner stickers
  • Work Order quick actions — Print, Email, Edit, and one-tap status change straight from the list, plus a configurable "days in shop" aging chip
Inventory & Purchasing
  • Order-import scanner — scan supplier invoice PDFs into matched stock and FIFO cost lots, with per-supplier SKU learning that auto-matches repeat invoices and a reconciliation gate that flags any invoice whose math doesn't add up
  • Smart Import guided resolution — unknown items, customers, and suppliers resolve inline (Create / Map / Skip) right in the import preview instead of erroring out
  • Batch Receive with 2D reel barcode scanning — scan DigiKey / Mouser / Newark reel labels back-to-back and commit them as fresh FIFO cost lots in one save
  • USB barcode scanner support on Mac — ⌘B / toolbar scanning on Inventory, Work Order detail, and PO receive
  • Manufacturer and Preferred Supplier inventory columns, with the preferred supplier round-tripping through CSV
  • Part alternates — link equivalent parts so substitutes are visible right on the item detail
  • Shortage Board — see what's blocking work and what to buy, grouped by preferred supplier, with one-tap purchase order drafts
Production & COGS
  • Completing a production build now consumes components through FIFO cost lots and posts finished units into inventory at true per-unit build cost — fully reversible if you un-complete the build
  • BOM, Cost Lot, and Cycle Count screens gain CSV import / export with downloadable templates
  • Three-way match — an invoice received against a purchase order reconciles PO ↔ received ↔ invoice totals and auto-closes the PO when they agree
  • Interactive COGS and WIP Valuation reports — open and browse the figures on screen, not just print them
  • Data Health — a scan-and-repair tool that finds historic costing damage ($0 cost lots, drifted quantities, half-received POs) and fixes it with guided repairs
  • Display currency picker — choose from 12 currency codes for on-screen amounts
Integrations
  • Link Channel Items — a bulk-linking wizard that connects many local items to their Square / Shopify listings at once, with a dry-run price reconciliation in either direction
  • Linked listings nest as child rows under their local item, with an amber divergence marker and one-tap re-sync when a channel's count drifts
  • Cross-channel propagation — a quantity change from Square pushes to Shopify and vice versa
  • Google Sheets AI price review — pulled price changes over an adjustable ±% threshold are held for a before / after review instead of applying silently
  • Shopify multi-tenant OAuth connects to your store's own domain, and pushes target your configured location on multi-location stores
  • In-app Print Server console — manage printers, network sharing, Wi-Fi, software updates, and restarts on a placed or headless print server without leaving the app
  • Dropbox — encrypted backup uploads plus photo and voice-note mirroring
Printing
  • Inventory item barcode labels — print from the item detail, a list-row action, or in bulk from a multi-select
  • Work order tags render through your label designs, auto-fit the loaded label stock, and route to the matching LAN print-server printer automatically
  • Selectable letterhead styles for work-order and purchase-order documents and intake receipts, with live preview and per-document overrides
Platform
  • Full iPhone support — compact layouts across the Dashboard, lists, forms, and Help
  • Accessibility pass — VoiceOver labels, full Dynamic Type, 44pt tap targets, and Mac keyboard navigation — plus a new Comfort Display mode for reading at arm's length
  • Bench Capacity Calendar — a workload board grouping work orders and production orders by technician or station, with a big shop-floor display mode
  • A session hiccup now shows a dismissible "Cloud sync paused" banner instead of a blocking sign-in screen — the app stays fully usable on local data
  • A lapsed subscription can still export everything — a full backup plus an all-domain CSV zip, straight from the sign-in screen
  • Push notifications and opt-in, sanitized crash reporting
Fixed
  • macOS printing overhauled — work orders, reports, and tags print reliably, and Save-to-PDF exports complete multi-page documents
  • Stay signed in — hardened session refresh ends surprise sign-outs and false read-only states
v1.7
June 2026
New
  • Detailed Inventory Mode — generic parts with per-item FIFO or weighted-average costing, substitution rules, and spec-aware search
  • Split Inventory — matched-set tracking (quad → pairs → singles) with FIFO cost proration, undo, and optional auto-split on external Shopify / Square orders
  • User roles and permissions, with per-record "Modified by" attribution
  • Workshop Calendar with subscribable iCal feeds for work orders and production
  • Receipt & order import with dedicated parsers for 10+ suppliers — CE Distribution, Mouser, D'Addario, Tayda, Tube Depot, StewMac, and more
  • CSV Import Wizard with fuzzy column mapping and per-row validation
  • Global Search (⌘F), an app-wide Undo stack, Activity Log with retention settings, Supplier Directory, Inventory Locations, and lot expiration tracking
Improved
  • Encrypted backups — AES-GCM with passphrase protection on export and restore
  • A lapsed subscription now gets a 30-day read-only grace window — backup and CSV export stay available the whole time
  • ~1,400 newly translated strings across Spanish, French, German, Japanese, and Italian
v1.6.0
May 2026
New
  • Overdue Work Orders dashboard card — surfaces WOs past their due date that are still pending or in progress, sorted by due date with a per-row days-late count
  • Production Summary dashboard card — stacked horizontal bar chart + legend of active production orders by status. Tap the paintbrush icon to recolor any of the five buckets (Pending / In Progress / Awaiting Parts / QC / Other) — colors persist per-user via @AppStorage
  • Reports Hub top-level sidebar destination — 11 reports with a global HTML/CSV/PDF format picker plus per-card Print, Save, Email actions. Customer History and BOM Cost Rollup gain direct-print via an entity picker sheet
  • Print Queue promoted to top-level sidebar destination (was buried inside Production)
  • Sign Out + tier badge now in the sidebar footer
  • Settings IA split — one-tool-per-page with breadcrumbs. "Account & License" → "License & Subscription" + "Account"; "Cloud & Team" → "Cloud Sync" + "Team"; "Work Orders" → "Work Order Templates" + "Work Order Fields" + "Progress Tags"; "Labels" → "Label Templates" + "Label Designer" + "Label Library" + "Intake Labels" + "Production Labels"; "Printers" → "Printers" + "Print Server"
  • Settings → Account: Mint Privacy Comp admin button — generates a Privacy Edition license key by email without leaving the app
  • LoginView sheet auto-dismisses on successful sign-in (previously stayed up until ESC)
  • Privacy Edition: full Reports Hub port (Share replaces Email since Privacy has no networking)
  • Privacy Edition: device transfer flow — shows your cached license key with Copy + guarded Deactivate so you can cleanly move your license to another Mac or iPad without accidentally locking yourself out
  • Privacy Edition: "PRIVACY EDITION" amber pill in the sidebar to distinguish from the main app at a glance
  • Web app live at app.stringstheoryinv.com — 11-report Reports Hub, 28 Settings sub-pages, full Customer Intake Kiosk runtime, Label Designer, Print Queue, Receipt OCR, Order Import Wizard, Production Workflow Hub, all caught up with native
Improved
  • "Status Tags" renamed to "Progress Tags" everywhere (matches the underlying STProgressTag model and web terminology)
  • "Daily / Operational" Reports section renamed to "Daily Operations"
  • Stale displayId fallback in the Work Order list now shows "WO-NNNNNN" (derived from createdAt) instead of "WO-NEW" so kiosk-printed labels are unique pre-sync
  • Critical-priority announcements now bypass per-user dismissal — important shop-wide notices can no longer be suppressed permanently by accident
  • LicenseService validates against the backend first when a Supabase JWT is present, so stale Dodo keys can't override a legitimately recognized backend license
  • Backend: Supabase ES256 + JWKS support, CORS pattern middleware with Vercel preview suffix matching, idempotent comp endpoints, first-user-is-admin in fresh tenants, license-recovery falls back to first active user
Fixed
  • libmalloc double-free crash on test teardown via the swift_task_deinitOnExecutorMainActorBackDeploy polyfill — fixed by opting 7 singletons out of the @MainActor-isolated deinit code path
  • HIGH-RISK and MEDIUM-RISK force-unwraps eliminated across the codebase (audit-driven cleanup): Calendar.date!, tierGroups[k]!, filtered[k]!, parts.last!, lastChecked!, location!, notes!
  • Privacy Edition: two stack-overflow recursions in MotionAccessibility.swift that crashed the app on launch
  • Privacy Edition: PrivacyLicenseService is now @Observable — the activation screen actually dismisses when you paste a valid key (previously it appeared to do nothing)
  • Privacy Edition: orphaned AnnouncementDTO removed (it violated the airgap rule)
v1.5.1
May 2026
New
  • Customer Intake Kiosk redesigned — turn a shared iPad into a self-service drop-off station. New Simple Mode (default) walks customers through 4 steps: You → What's going on? → Details → Sign. Power Mode preserved via Settings toggle for shops that want the full Category → Template flow
  • "Other / Not Sure" path on the kiosk — creates a work order with status Pending Triage so the shop owner can triage it later
  • Tap-anywhere Welcome screen and labeled step indicator (You · Service · Details · Sign)
  • "Hand to Customer" button — large amber button on the Dashboard and Work Orders toolbars launches the kiosk full-screen in one tap. PIN gate preserved
  • Seven built-in repair label designs — Repair Hangtag, Case Sticker, Customer Receipt, Parts Bag, Status Sticker, QC Pass, Ready for Pickup. All editable in the Label Designer
  • Auto-print on intake submit — adaptive print router fires configured repair labels when a customer submits the kiosk. Three targets (Print Server / Local Printer / None), three output modes (Auto / Native / Sheet), per-design copies and enable toggles, fail-soft to Print Queue if the printer is unreachable
  • Multi-up sheet rendering — lay multiple thermal labels on a letter or A4 sheet with crop guides, for shops without a thermal printer
  • Eight-status work order workflow — Pending Triage, Pending, Awaiting Parts, In Progress, QC, Ready for Pickup, Completed, Cancelled. Replaces the previous 4-status pipeline
  • Dashboard workflow callouts — Pending Triage and Ready for Pickup counts shown on the Dashboard, tap to jump to Work Orders pre-filtered to that status
  • Four new merge fields for labels: {{customer_phone_last4}}, {{customer_email}}, {{date_promised}}, {{service_summary}}
  • Help system — four new in-app articles (Customer Intake Kiosk, Auto-Print Labels on Intake, Repair Labels, Work Order Statuses) and three glossary entries (Pending Triage, Ready for Pickup, Simple Mode)
Improved
  • Accessibility pass — required-field markers (*) with VoiceOver "required" hints on Inventory, Work Order, and Intake forms
  • Reduce-Motion guards on all 28 animation sites in the app — toasts, sheet transitions, multi-select toggles, and progress animations become instant when Reduce Motion is on
  • VoiceOver labels on Dashboard stat cards and global search results, with button traits where appropriate
  • Dynamic Type support on Help articles and the iPad sidebar navigation
  • App display name on the home screen / Dock / Spotlight now reads "Inventory" — bundle ID, in-app branding, and App Store listing are unchanged
  • Square integration now reads currency from the per-location API response instead of hardcoded USD — shops outside the US get correctly-tagged inventory updates
  • Four new XCUITests for the customer intake kiosk flow — all passing on iPad Pro 13" M4 simulator
v1.5.0
April 2026
New
  • Order Import Wizard (Beta) — scan supplier invoices with OCR, extract line items, match to inventory, and create FIFO cost lots. Supports Mouser, DigiKey, CE Distribution, D'Addario, Newark, and more
  • First-class sourcing fields — manufacturer part number, manufacturer name, distributor SKU map, HTS code, country of origin, ECCN, RoHS compliance tracked per item
  • Sourcing section in item detail view — shows manufacturer, MFG part number, distributor SKU cross-reference, and compliance data
  • Part number intelligence — 18 distributor SKU pattern classifiers, 320+ manufacturer registry, priority waterfall matching across distributors
  • Page classifier — automatically skips certificates of compliance, tracking logs, remittance stubs, and terms pages during invoice scanning
  • Beta Features section in Settings — enable experimental features with toggle controls
Improved
  • Settings reorganized — Work Orders section consolidates templates, tags, and component fields
  • Standardized app icons across all StringsTheory products
  • 770+ invoice parsing keywords across 35 vendor formats
v1.4.5
April 2026
New
  • Privacy Edition — fully offline product with all networking code physically removed. One-time purchase for security-conscious organizations and air-gapped environments
  • Label element rotation rendering with CSS transform support
  • Email send feedback with toast notifications across all work order views
  • Email template backup and restore support
  • BOM validation — prevents self-referencing components
  • Print server failure visibility with error messages shown in print queue
Improved
  • 95+ bug fixes across 7 comprehensive audit rounds
  • Hardened Square integration: improved variation handling, precise decimal quantities, deleted item filtering, retry logic with exponential backoff
  • Enhanced Shopify and Google Sheets integrations with retry logic and improved data handling
  • Delta-based quantity tracking for Google Sheets (prevents overwrite of local changes)
  • Tier-ordered sync chunking — parent entities always sync before children
  • Conflict persistence — unresolved conflicts survive across sync cycles
  • Server-side delete protection — checks for pending local changes before cascading
  • Restore/sync coordination — auto-sync paused during backup restore
  • Email merge field HTML sanitization (XSS prevention)
  • Rate limiting on authentication and sync endpoints
  • Row-Level Security on all database tables
  • Cross-tenant isolation hardened on all child entities
  • HSTS security headers
v1.3.1
February 2026
New
  • Delta-based inventory sync — Square & Shopify pull operations now apply quantity deltas instead of overwriting local counts, making StringsTheory the true source of truth
  • Multi-device cloud sync expanded to 19 entity types with tier-ordered sync — covers ProductionField, BOMItem, LabelTemplate, LabelDesign, BusinessSettings, and more
  • ConnectivityService — real-time offline detection via NWPathMonitor with sync status indicator in the sidebar
  • Admin UI — invite team members, assign roles, and manage seat limits from within the app (Annual)
  • Backend email service — work order emails now sent via backend (Resend); Monthly tier: 20 emails/month, Annual: unlimited. Customer replies go directly to your shop email
  • Backend OAuth integrations for Google Sheets, Square, and Shopify — full authorize/callback/disconnect flow with web app redirect support
  • Supabase auth — email & password sign-in with registration; hybrid auth supports both JWT Bearer and API key
  • Cloud sync settings — auto-sync toggle, connection test, and conflict history viewer
Improved
  • Shopify quantity field switched to "on_hand" per Shopify API documentation for accurate stock representation
  • iPad polish — new IconActionButton component, ScrollHintOverlay, and UI improvements across all views
v1.3.0
February 2026
New
  • OAuth security hardening — PKCE, CSRF state validation, and HMAC token verification across all integrations
  • Encrypted token storage for all OAuth credentials
  • Shopify shop domain input field for OAuth connection setup
  • Square sandbox / production credential separation in Developer settings
Improved
  • Integration error messages now surface actual backend errors instead of generic failures
  • Direct OAuth used by default when no backend URL is configured, with graceful fallback
  • Stale error messages cleared automatically on successful OAuth callback
  • Sparkle auto-update download proxy added; sandbox mode disabled for production update checks
  • Developer settings tab hidden behind Easter egg (10 taps on Updates/Backup header)
Fixed
  • Cloud sync decoding failure on ISO 8601 date fields
  • Backend sync sending typed values instead of strings, causing client-side decode errors
v1.2.0
December 2024
New
  • Production Tracking: import serialized units from Google Sheets per-item worksheets with preview, auto-matching, and NEW/UPDATE badges
  • Unmatched worksheet picker when importing production data — no more hunting for the right tab
  • Auto-serialize prompt for items not yet set up for serialized tracking
  • Wholesale item linking — connect wholesale items to base retail items with independent sale price
  • Bulk select in inventory: change category, location, and sync flags across multiple items at once
  • Right-click context menus throughout inventory for fast actions
  • Push to All services via inventory right-click menu
  • Granular per-type backup/restore — choose exactly what you restore
  • Label designer for fully custom label layouts
Improved
  • Google Sheets sync now uses Internal SKU as the primary key for more reliable two-way syncing
  • Import preview now supports all providers — review before you commit every time
  • Duplicate serial number detection with auto-cleanup on import
  • Work order PDF layout improvements for better print fidelity
  • Shopify location mapping is now configurable per integration setup
Fixed
  • CSV import taxonomy approval dialog occasionally not appearing on first run
  • Barcode scanner not dismissing correctly on iPad after item creation
  • COGS margin calculation rounding error for items with fractional unit costs
  • Work order template pre-fill not applying custom fields
v1.1.0
November 2024
New
  • COGS Reports: revenue, gross profit, and margin summaries with date range filtering
  • Transaction ledger with manual transaction recording
  • Breakdown by item, category, day, or month in COGS view
  • Bill of Materials: build assemblies with automatic cost rollup from components
  • Auto-sync with configurable intervals for Square, Shopify, and Google Sheets
  • Per-service push and pull controls in integration sidebar
  • Print queue for batch label printing in Production Tracking
  • Cloud sync with StringsTheory backend for multi-device data (Pro)
  • Server-pushed announcements and in-app notifications
Improved
  • Square POS sync now supports per-item exclusions
  • Customer search is now instant with indexed lookups by name, email, phone, and company
  • Work order kanban board performance with large datasets
  • Label template management now shows printer assignment per template
Fixed
  • Shopify sync incorrectly updating zero-quantity items on pull
  • Customer CSV import validation not catching malformed email addresses
  • Low stock alert badge persisting after stock was updated
v1.0.0
August 2024
Initial Release
  • Core inventory management with create, edit, duplicate, and delete
  • Auto-generated SKU with configurable format
  • Camera-based barcode scanning on macOS and iPad
  • Serialized item tracking with per-unit management
  • Work orders with Kanban and list views, signature capture, PDF generation
  • Customer profiles with CSV import/export
  • Production tracking with serial number ranges and status filtering
  • Dymo-compatible label printing with configurable templates
  • Google Sheets two-way sync
  • Square POS two-way inventory sync
  • Shopify two-way inventory sync
  • Backup and restore with local, Dropbox, and Google Drive storage
  • Free and Pro license tiers with activation
  • Light, dark, and system theme support
  • macOS auto-update via Sparkle