Features
- Add
-headlessflag (envKIOSK_HEADLESS, defaultfalse) to run the browser without a display, for servers and CI pipelines with no attached screen (#279) - Add
-disable-chromium-kiosk-optimizationsflag (envKIOSK_DISABLE_CHROMIUM_KIOSK_OPTIMIZATIONS, defaultfalse) to opt out of kiosk-specific Chromium flags if they cause compatibility issues (#279) - Add Chrome flags for reliable kiosk operation: disable background timer throttling (keeps Grafana auto-refresh running when the window loses focus), disable hang monitor (suppresses "Page Unresponsive" dialogs), disable Safe Browsing updates, suppress telemetry uploads, allow drill-down popups (#279)
- Add
-restart-delay-msflag (envKIOSK_RESTART_DELAY_MS, default5000) to set the delay before automatically restarting after a session error; kiosk now recovers from browser crashes instead of exiting (#276) - Add
-browserflag (envKIOSK_BROWSER, defaultchrome) to choose between Chrome and Microsoft Edge as the launched browser (#267) - Add
-browser-pathflag (envKIOSK_BROWSER_PATH) to point at an explicit Chromium-based browser executable; overrides-browser(#267)
Bug Fixes
- Fix
-browser-pathbeing rejected at startup — an explicit browser path is now honored regardless of the-browservalue, so any Chromium-based binary can be used (#277) - Fix silent Chrome fallback when Edge binary missing — startup now exits with a clear error message instead of silently launching Chrome when
browser=edgeis set but no Edge binary is found on PATH (#277) - Fix startup failures on slow or busy devices — the browser is now given 60 seconds instead of 20 to come up, so a cold start on hardware like a Raspberry Pi no longer aborts the session and forces a restart (#316)
- Fix Azure AD login hanging on shutdown instead of exiting cleanly (#276)
- Fix crashes during API key and ID token login — an error while intercepting requests would take down the whole kiosk process; these are now logged and the session continues (#276)
- Fix Grafana Cloud login failing to submit the login form on some pages (#276)
- Fix ID token login occasionally letting requests through without the configured token attached (#276)
- Fix silent exits on bad config — startup validation failures now log a descriptive message with a fix suggestion before exiting (#276)
- Speed up Azure AD and Grafana Cloud login by 3 seconds each — fixed delays replaced with waits that continue as soon as the page is ready (#260)
Tests
- Add integration tests that run the kiosk against a real Grafana container (#279)
- Add a browser abstraction so login provider flows can be unit tested (#260, #276)
CI/CD
- Drop the coverage badge, whose publishing step failed on every push to
main(#316) - Update
k1LoW/octocov-actionto v1.5.1 (#269)
Dependencies
- Update
chromedpto v0.16.0 andcdprototo the 2026-08-04 snapshot, picking up upstream Chrome DevTools Protocol fixes (#271, #312) - Update
google.golang.org/apito v0.297.0 (#312) - Build with Go 1.27.1 (#312)
- Update
github.com/magefile/mageto v1.17.2 (#268) - Update transitive dependencies to their latest releases, including
golang.org/x/cryptov0.56.0 (#312)
Documentation
- Document the release process rule against leaving an empty
[Unreleased]section (#270) - Fix the action-update procedure so correctly pinned actions no longer look stale (#316)
Chores
- Reorganize login providers into dedicated sub-packages (#278)
New Contributors
Full Changelog: v1.0.12...v1.0.13