Compliance: Removed Email Designer page and its AJAX handlers — email appearance settings remain available via Settings → Store Identity.
Compliance: Removed Supervisor and Scanner Only roles; Lite supports Cashier and Manager only.
Compliance: Removed refund feature entirely; order void remains available to Manager.
Security: Order history endpoint now enforces ownership check when a shift_id is supplied — non-managers can no longer retrieve another staff member’s orders.
Bug fix: IP lockout remaining-time calculation was always returning 0 because the lock timestamp was never stored. Fixed by calling lock_ip_with_time() on lockout.
1.0.2
Bug fix: Service worker registration used a hardcoded /tillkit/sw.js path, breaking all subdirectory WordPress installs (e.g. /dog/tillkit/). SW now registers using the runtime suite URL from TILLKIT_CONFIG.
Bug fix: STATIC_ASSETS paths in sw.js were hardcoded as /tillkit/…, causing SW install to fail on subdirectory installs. Paths now use TILLKIT_SUITE_PATH injected by PHP.
Bug fix: SW fetch handler startsWith(a.replace(‘/tillkit’,”)) collapsed to startsWith(‘/’), intercepting every GET request cache-first including API calls. Fixed to exact path matching.
1.0.1
Bug fix: POS cart close button, clear cart, and checkout button unresponsive after adding a product. Root cause: buildPOSShell() crashed on pos-scan-close binding before event listeners for cart buttons were attached. Fixed in previous build but browser HTTP cache was serving the old JS. Version bump forces fresh asset download.
Bug fix: POS category chips not displaying despite categories being selected in Settings. Same root cause — stale cached JS prevented loadCategories() from running correctly.
1.0.0
Initial release of TillKit
POS with single cart, cash payments, till management