diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bf4577..62064ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,17 +35,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [1.1.0] - 2026-02-03 + +### Added +- **PIN Hashing (SHA-256)** 🔐 — PINs now stored as secure salted hashes instead of plain text +- **Remote Configuration** 📡 — Fetch settings from a JSON URL (polls every 5 min) +- **Digital Signage Mode** 🖼️ — Auto-rotate through multiple URLs at configurable intervals +- **Error Handling** — Graceful network error pages with retry button +- **Loading Indicator** — Progress bar during page loads +- **CI/CD Pipeline** — Automated testing via Gitea Actions + +### Changed +- Admin settings reorganized into sections: Basic, Remote Config, Signage, Security +- Triple-tap admin unlock now uses programmatic click handler (more reliable) + +### Security +- PINs stored as `salt:hash` format, auto-upgrades plain text PINs on save +- PIN changes remain local-only (not exposed via remote config) + +### Technical Details +- **New Classes:** `PinSecurity.kt`, `SignageManager.kt`, `RemoteConfigManager.kt`, `ErrorHandler.kt`, `LoadingProgress.kt` +- **Unit Tests:** 50+ (added PIN, signage, and error handling tests) + +### Remote Config JSON Format +```json +{ + "homepage": "https://example.com", + "whitelist": "example.com,other.com", + "idle_timeout": "300", + "signage_urls": ["https://url1", "https://url2"], + "signage_interval": "30" +} +``` + +--- + ## Future Releases (Planned) -### [1.1.0] - Remote Management -- Remote configuration updates -- Usage analytics -- Centralized device management +### [1.2.0] - Fleet Management +- Web dashboard for managing multiple kiosks +- Device heartbeat/status reporting +- OTA update distribution -### [1.2.0] - Multi-Profile +### [1.3.0] - Advanced Features - Multiple whitelist profiles -- Scheduled profile switching -- Digital signage mode +- Scheduled content (different homepage by time) +- Custom branding (splash screen/logo) +- Usage analytics ---