7a12f39f49
Build Release / create-release (push) Successful in 3s
Build Android APK / build-android (push) Failing after 11s
Build Release / build-docker (push) Successful in 3m14s
Build Release / build-linux (push) Successful in 4m3s
Build Release / build-windows (push) Successful in 4m25s
Build Release / publish-release (push) Successful in 1s
11 KiB
11 KiB
v0.8.2 (2026-06-08)
User-facing changes
Features
WLED native realtime UDP output
- New realtime UDP sink speaking WLED's DRGB / DRGBW / DNRGB protocols, with automatic revert to the device's prior state when streaming stops (7728aec)
Automatic brightness limiting (ABL) / power budget
- Per-LED power budgeting that caps total draw by scaling brightness to a configurable current/PSU limit, preventing brownouts on long strips (ffee156)
Scene playlists
- Scenes can be grouped into playlists with timed auto-cycling, so a target can rotate through looks on a schedule (f71e10e)
- Playlist + cycling state is included in the aggregated
/snapshotresponse (abc204c)
Auto edge-calibration + guided first-run setup wizard
- Backend core for automatic screen-edge calibration (0409cd8), a one-call setup scaffold with an onboarding flag (9dcd76d), and a browser-driven calibration UI (9550688)
- A guided first-run setup wizard ties it together for new installs (81b1808), with all-provider source discovery and a spatial corner picker (dd43f38)
Region-of-interest (ROI) screen capture
- Screen sampling can now be cropped to a region of interest instead of the whole display (ca59546)
Built-in "look" presets
- One-click looks: Cinematic / Vivid / Cozy / Soft / Cool (e18d56c)
Weekday + timezone scheduling
- The time-of-day automation rule now supports weekday selection and explicit timezones (1ada5ac)
Value sources
- New sandboxed-Jinja template combinator for composing value sources (6de61b9) and optional normalization for magnitude sources (669ae20)
Visual graph editor
- The editor is now a full wiring control surface (2e51f46), and you can duplicate a selected subgraph server-side (15cfb82)
Android on-device capture
- System audio playback capture (fd62db1), OS notification capture via NotificationListenerService (0be3f83), webcam capture via Camera2 (4bf3fe6), and a foreground-app automation condition (1c1bbe2)
Bug Fixes
- Security: removed an active weak default API key from the shipped config — fresh installs no longer ship with a guessable key. Set your own key on first run (5686ae5)
- Removed a broken legacy
/system/mqtt/settingsroute (fdc9201) - Scene brightness value-source changes now sync to the live processor immediately (02e2ea3)
- Wizard hardening: scaffolded targets are registered with the ProcessorManager and the final review step is more robust (6cd5e05)
- Installer opens the WebUI only once after "Launch LedGrab" (05cf121)
Development / Internal
Backend / Storage
clone()is now gated behind an opt-in allowlist, with expanded duplicate-handling tests (498854f)
Frontend
- In-progress dashboard customization groundwork (6180569)
Docs
- Actualized README + API reference with embedded screenshots (12b40e6), graph-editor wiring-control roadmap (d505388), Android audio-capture design notes (4b2e8fc); removed stale ANDROID-REVIEW planning docs (9960f15)
Tests
- Large new suites for calibration solver/session (incl. adversarial), setup & scene-playlist routes, playlist engine, and ROI capture. Full suite: 2149 passing, 2 skipped
All Commits (31)
| Hash | Message | Author |
|---|---|---|
| dd43f38 | fix(calibration-wizard): all-provider discovery + spatial corner picker | alexei.dolgolyov |
| 6cd5e05 | fix(setup): register scaffolded target with ProcessorManager + final-review hardening | alexei.dolgolyov |
| 81b1808 | feat(onboarding): guided first-run setup wizard (phase 4, final) | alexei.dolgolyov |
| abc204c | feat(snapshot): include scene playlists + cycling state in snapshot | alexei.dolgolyov |
| 9550688 | feat(calibration): browser-driven auto edge-calibration UI (phase 3) | alexei.dolgolyov |
| 9dcd76d | feat(setup): one-call setup scaffold + onboarding flag (phase 2) | alexei.dolgolyov |
| 0409cd8 | feat(calibration): auto edge-calibration backend core (phase 1) | alexei.dolgolyov |
| 6180569 | wip(dashboard): in-progress dashboard customization changes | alexei.dolgolyov |
| f71e10e | feat(scenes): scene playlists with timed auto-cycling | alexei.dolgolyov |
| ca59546 | feat(capture): region-of-interest (ROI) crop for screen sampling | alexei.dolgolyov |
| 1ada5ac | feat(automations): weekday + timezone scheduling for time-of-day rule | alexei.dolgolyov |
| e18d56c | feat(processing): built-in 'look' presets (Cinematic/Vivid/Cozy/Soft/Cool) | alexei.dolgolyov |
| 7728aec | feat(wled): native realtime UDP output (DRGB/DRGBW/DNRGB) with auto-revert | alexei.dolgolyov |
| ffee156 | feat(targets): automatic brightness limiting (ABL) / per-LED power budget | alexei.dolgolyov |
| 02e2ea3 | fix(scenes): sync brightness value-source change to live processor | alexei.dolgolyov |
| fdc9201 | fix(api): remove broken legacy /system/mqtt/settings route | alexei.dolgolyov |
| 5686ae5 | fix(security): remove active weak default API key from shipped config | alexei.dolgolyov |
| 9960f15 | docs(android): remove ANDROID-REVIEW planning/review docs | alexei.dolgolyov |
| 1c1bbe2 | feat(android): foreground-app automation condition | alexei.dolgolyov |
| 4bf3fe6 | feat(android): on-device webcam capture via Camera2 (AndroidCameraEngine) | alexei.dolgolyov |
| 0be3f83 | feat(android): on-device OS notification capture (NotificationListenerService) | alexei.dolgolyov |
| 4b2e8fc | docs(android): add audio-capture design + missing-functionality review | alexei.dolgolyov |
| fd62db1 | feat(audio): Android on-device system playback capture | alexei.dolgolyov |
| 669ae20 | feat(value-sources): optional normalization for magnitude sources | alexei.dolgolyov |
| 6de61b9 | feat(value-sources): add sandboxed-Jinja template combinator | alexei.dolgolyov |
| 12b40e6 | docs: actualize README and API reference, embed screenshots | alexei.dolgolyov |
| 498854f | refactor(storage): gate clone() behind an opt-in allowlist; expand duplicate tests | alexei.dolgolyov |
| 15cfb82 | feat(graph): duplicate a selected subgraph server-side | alexei.dolgolyov |
| 2e51f46 | feat(graph): make the visual editor a full wiring control surface | alexei.dolgolyov |
| 05cf121 | fix(installer): open WebUI once after "Launch LedGrab" | alexei.dolgolyov |