Releases
v2.3.0
Compare
Sorry, something went wrong.
No results found
2.3.0 (2026-05-26)
✨ Features
🐛 Bug fixes
homekit,mqtt: tighten ambient-sensor tests and HA state_class coverage (f19c560 )
install: /persistent/deviceinfo group=dac mode=2775 + self-heal (bb9e62d )
install: /persistent/deviceinfo group=dac mode=2775 + self-heal (#600 ) (9282aba )
install: detect_free_sleep_conflict aborts install on clean pods (#603 ) (6763fa4 ), closes #602
install: drop v6 rules file from free-sleep detection (#618 ) (20499cd )
install: Pod 5 install hardening — iptables lock, frank-less RAW redirect, env-monitor crash (#616 ) (ca4c4c9 )
install: tighten /persistent/deviceinfo to 2770 (drop world bits) (10cdaaf )
led: use {lb:N} CBOR key and add LED brightness UI (#607 ) (db8e43a )
scheduler: alarms fire vibration even when the side is off (#602 ) (23f9dd3 )
settings: debounce pump-safety number inputs to onBlur (9c6bb84 )
settings: debounce pump-safety number inputs to onBlur (#617 ) (5d0042e )
side-selector: button edges meet at center under link icon (#620 ) (ad99585 ), closes #239
update-card: require service bounce before re-blocking WAN (#619 ) (2699bcc )
📝 Documentation
install: clarify Pod 5 root bootstrap so rewt/dac messages aren't a surprise (15f651c )
install: clarify Pod 5 root bootstrap so rewt/dac messages aren't a surprise (#615 ) (2e17fcb )
mqtt: show concrete JSON shape for ambient environment payload (7600102 )
🧪 Tests
homekit,mqtt: cover non-Error throws in ambient catch handlers (e2d686e )
useSchedule: finish toggleAllSchedules no-op assertion (3435196 )
useSchedule: kill 96 surviving Stryker mutants (89a099c )
useSchedule: kill 96 surviving Stryker mutants (#610 ) (6518111 ), closes #591
🔧 Chores
deps: Update @base-ui/react all non-major dependencies (#611 ) (2db69ae )
You can’t perform that action at this time.