Releases
v0.2.67
Compare
Sorry, something went wrong.
No results found
Deep engineering audit — thread safety, correctness, UX, and design system hardening
Thread safety
ArrayStore and VariableStore local scopes now use ConcurrentHashMap to prevent crashes in parallel automation mode
WiFi/Connectivity monitor state and CameraMicContextEvents callbacks marked @Volatile
AppOps watchers now properly unregistered on service destroy (was leaking)
Correctness fixes
HTTP response decoding no longer corrupts multi-byte UTF-8 characters at read boundaries
Brightness auto mode correctly sets SCREEN_BRIGHTNESS_MODE instead of writing -1
Screen timeout clamps to 30 min max to prevent integer overflow
Sunrise/sunset calculator uses event-time DST offset instead of noon (fixes 1-hour error on DST transition days)
Battery level and charging state seeded at service start so battery-based profiles match immediately
TTS action guards against double-resume crash from racing callbacks
Flow graph card handles missing profile node gracefully
Safety
Vibration capped at 10 seconds
Queued task depth per profile capped at 50 to prevent unbounded memory growth
Database backup uses TRUNCATE WAL checkpoint for safer consistency
Notification PendingIntent request codes use hash to prevent overflow
UX & design
Disabled element overlay fixed for light theme (was drawing black)
Warning color changed from green to warm amber/peach
Navigation icons have accessibility labels
Card radius consolidated into design system token (Radii.xxl)
You can’t perform that action at this time.