Releases: knoop7/Ava
0.4.7
What's New
-
Voice Settings Reorganization
Voice input settings have been consolidated into a more logical location, making the configuration path clearer and easier to navigate. -
New System Recording Modes
Added support for different system recording modes with clearer labels and descriptions, allowing users to choose the most suitable audio capture method for their device. -
Auto-Select Recording Mode
Enabled by default, the system now automatically selects the optimal recording path based on device characteristics, reducing the need for manual configuration. #64 -
Advanced Microphone Processing Toggle
New low-level microphone processing options to control system-level capabilities including noise reduction, automatic gain control, and echo cancellation. -
Software Microphone Gain Support
Added software-level microphone gain adjustment to boost input loudness without changing system volume levels, improving wake word detection and near-field speech recognition. -
Screen Control Entity Display Toggle
New setting under Device Services → Screen Power Entities to control the visibility of "Screen On/Off" and "Lock Screen" entities in Home Assistant. Enabled by default.
Bug Fixes
-
Fixed Recording Source Override for Specific Devices
Restored and optimized recording source adaptation logic for certain special platform devices, preventing default configurations from overwriting device-specific branches. -
Fixed Screensaver Dark-Based Screen-Off
The screensaver's "Turn off screen when dark" feature now uses independent real-time lux monitoring, no longer dependent on the environmental sensor reporting chain. -
Fixed Delayed Dark Detection for Screen-Off
Corrected dark state detection logic for on-change type ambient light sensors, ensuring screen-off triggers properly when entering dark environments. -
Fixed Inconsistent Font Sizes in Settings
Unified title and description font sizes across settings pages for improved visual consistency and readability. -
Fixed Main Settings Layout on Large Screens
Added independent font scaling and dynamic magnification logic to the main settings page for more natural display on large screens and high-density devices. -
Fixed Extension Card Layout on Small Screens
Added additional bottom padding for extension component cards on small-screen devices to alleviate crowding issues.
Progress
1. Tuya S6E/S8E Smart Panel Support (2022 Models)
Added full compatibility for Tuya S6E/S8E devices via Mod Store firmware distribution. Following the Blakadder sideloading guide, users can install the S8E firmware package directly from the Mod Store to enable Zigbee gateway functionality, rotary knob control, Bluetooth casting, and quad-mic array support—breathing new life into legacy hardware without additional hubs.
2. Semantic Clarity & Localization Overhaul
Comprehensive rewrite of UI copy to eliminate ambiguous terminology. Improved i18n key mappings ensure descriptions match actual functionality across all supported languages, reducing cognitive load when configuring entities.
3. Visual Hierarchy Optimization
Refactored typography weights and line heights for data-dense screens. Critical values now render in monospace typefaces with increased label spacing, enabling at-a-glance status recognition from a distance.
4. Browser Engine Stability
Resolved WebView memory leaks on Android 10/11 devices and fixed white-screen flickering during tab restoration. Improved error handling ensures silent failure recovery when loading malformed pages.
5. Sendspin Protocol Complete Overhaul
Rewrote the underlying audio synchronization engine to achieve true millisecond-grade multi-room alignment. Deprecated the legacy -200ms manual offset—now defaults to 0ms across all device tiers. Audio handoff between rooms is now perceptually seamless.
6. Legacy Device Performance Mode
Implemented dynamic bitrate switching for devices with <2GB RAM. When system resources are constrained, the UI automatically reduces visualization frame rates to prioritize audio buffer stability, significantly reducing dropout rates on older hardware.
7. Environmental Sensor Polling Controls
New service options allow granular adjustment of temperature, humidity, and ambient light reporting intervals (down to second-level precision). Optimizing these intervals extends battery life for battery-powered sensors by reducing radio wake cycles.
8. Proximity Sensor Value Streaming
Ad#ded raw proximity value transmission as a configurable entity state, suitable for automation triggers. Adjustable time-window debouncing prevents false positives while maintaining responsiveness.
9. Mod Store Download Experience Refactor
Fixed progress bar freezing and introduced segmented checksum verification. Downloads now display distinct states: Verifying, Extracting, and Installing, with automatic rollback and specific error node reporting on failure—no more black-box installations.
10. Audio Buffer Overflow Fix (Issue #64)
Addressed buffer accumulation reported by @pvossel with a rewritten FIFO queue and a new Silence Detection Model that automatically discards empty packets. Reduces peak memory usage by 40% and eliminates burst noise during high-latency scenarios.
11. Assist Satellite Q&A Service Support
Full implementation of assist_satellite.ask_question service calls. External automations can now initiate voice queries and capture user responses programmatically, enabling bidirectional audio stream control within Home Assistant.
12. Audio Stream Control API
Exposed low-level audio stream hooks for advanced users. Services can now programmatically seize or release microphone channels, enabling full "wake → ask → answer → sleep" pipeline automation without manual intervention.
0.4.5
Bug:
-
Unified Sendspin playback chain lifecycle across
stream clear / stream end / pause-play / reconnectscenarios to prevent reuse of underrun or destabilizedAudioTrackinstances. #63 -
Fixed legacy playback chain not being fully decommissioned after
stream end, reducing "half-beat" sync drift and baseline pollution on restart. -
Hardened
clearBuffer()decommissioning strategy: active playback chains now undergo clean rebuilds instead of mereflushoperations when necessary. -
Fixed buffer accumulation during prolonged
WAITING_FOR_STARTstates by adding controlled forced-playback protection. -
Added protection against extreme timestamp jumps: reconstructs timeline baseline instead of padding multi-MB silence blocks when gaps exceed reasonable thresholds.
-
Fixed buffer saturation, consecutive packet drops, and GC jitter triggered by anomalous gaps.
-
Added anomalous output limits to Opus decoder to prevent memory/buffer exhaustion from single oversized PCM blocks.
-
Fixed Opus output reading to correctly decode using
BufferInfo.offset/sizeparameters. -
Tightened handoff logic between
pendingChunksand active playback queue to reduce startup-stage accumulation risks. -
Reinstated and fully enabled total PCM buffer ceiling to prevent unbounded queue growth.
-
Expanded Sendspin total buffer capacity to enhance continuous playback stability under network jitter.
-
Maintained backward compatibility: preserved legacy startup/sync philosophy while enhancing buffering capabilities only.
-
Fixed log spam during playback speed adjustments: devices lacking speed support now silently degrade instead of flooding logs.
-
Reset speed control state lifecycle across
stop / clear / idle / rebuildpaths to prevent state contamination of new streams. -
Added caching and rate-limiting to
AudioTrack.getTimestamp()to reduce system log spam and instability detection during reconstruction phases. -
Restricted timestamp usage timing to reduce amplification effects from device stalls or retrograde timestamps on the sync state machine.
-
Improved underrun detection conditions to prevent false positives during
INITIALIZING / WAITING_FOR_START / stream-switching gaps. -
Added aggressive recovery path post-underrun, enabling clean
AudioTrackreconstruction during actual playback states. -
Fixed intermittent song container visibility failures when initial media metadata arrives.
-
Adjusted first-packet metadata filtering: now only discards empty cold-start packets rather than swallowing legitimate debut metadata.
-
Fixed overly restrictive HA media metadata recognition: valid display now triggers if any of title, artist, or cover art is present.
-
Relaxed song container display conditions: no longer strictly dependent on
songTitle, now evaluates based on "any displayable content" criteria. -
Fixed song container mistakenly hiding during voice flows when we internally paused media: now distinguishes internal pauses from external stops.
-
Extracted media resumption arbiter to unify handling of
BUILT_IN_MEDIA / HA_MEDIA / SENDSPIN_PROTOCOL / VOICE_TTSline recovery. -
Resolved race condition risks from multiple simultaneous
resumecalls at voice end: now uses single-channel arbitration recovery. -
Enhanced reconnection compatibility: preserves legacy manual offset semantics while preventing old dynamic pipeline state contamination of new connections.
-
Maintained sync semantics where
0ms = auto modeand non-0ms = manual mode, preserving legacy user calibration habits. -
Added independent upstream playback position validator to continuously track
trackProgressMs / trackDurationMs / isPlaying. -
Integrated upstream position validation into critical recovery nodes:
clearBuffer / enterIdle / stream start / thaw / underrun rebuildfor timeline reconstruction. -
Sendspin sync strategy has evolved from "parameter tweaking" to a combined architecture of "clock synchronization + upstream position validation + clean playback chain reconstruction", preparing the codebase for release-grade stability.
Sendspin (Geek)
Bidirectional Volume Sync
New toggle for HA ↔ Sendspin volume linkage:
Real-time bidirectional sync. Adjust volume on either end, and the other follows instantly.
Complete decoupling. Each system maintains independent volume levels for isolated control.
Credits: Thanks to @danwig for the architectural suggestion that shaped this implementation.
Geek Mode - Live Audio Details
New option to surface technical playback information. Toggle it on to view real-time audio specs—codec, sample rate, bit depth, and sync status—displayed cleanly in the interface. An easy way to see exactly how your music is being processed, available whenever curiosity strikes.
Bug Fixes
Audio Queue Integrity
Fixed list queue logic ensuring a track must fully complete before transitioning to the next. Eliminates premature skipping and truncation during playback.
Legacy Device Camera Compatibility (Fixes #61)
Comprehensive compatibility patches for low-end devices including LineageOS 17.1 and Galaxy S2 8.0 LTE (gts28velte). Resolves rear camera malfunction on resource-constrained hardware.
Credits: Thanks to @yaro24 for testing feedback and device environment support.
Header Styling
Corrected table header rendering anomalies. Unified font weight and spacing for consistent visual hierarchy.
Wake Word Ducking (Fixes #59)
Restored "lower media volume when wake word recognized" functionality. Background audio now automatically attenuates upon wake detection, ensuring voice commands aren't drowned out by playback.
Credits: Thanks to @nils-mosbach for the detailed report and validation assistance.
0.4.3
Core Architecture Refinements
- Settings Interface Overhaul: Eliminated redundant navigation layers and overlapping UI expressions; interaction paths now significantly more intuitive
- Extension Component Layout Standardization: Resolved multiple boundary condition issues in component rendering, achieving consistent visual presentation across device form factors
- Field Description Standardization: Comprehensive correction of technical terminology and status prompts throughout the application, removing ambiguous expressions
Sendspin Component Deep Optimization
- Information Card Architecture Upgrade: Introduced multi-dimensional data panels with full reveal support via upward swipe gesture interaction
- Coordinate System Offset Resolution: Fixed cumulative calculation errors in dynamic positioning, substantially improving anchor point precision
- Protocol Layer Corrections: Addressed state machine anomalies during handshake phase, enhancing connection stability under edge cases
Mod Store Stability Enhancements
- Potential Crash Scenario Fixes: Reinforced boundary condition handling with comprehensive exception tolerance mechanisms
- Resource Loading Logic Optimization: Reconstructed asynchronous queue management to prevent race conditions during concurrent operations
- Allwinner A64 SoC Support Modularization: Migrated relevant drivers and optimization modules to Mod Store, enabling on-demand loading and independent update cycles
System Services & Boot Mechanisms
- Service Restart Announcement Fix: Corrected broadcast logic during service initialization phase, eliminating duplicate or abnormal trigger conditions
- Auto-Startup Filtering Mechanism Enhancement: Introduced abnormal volume amplification detection with automatic suppression to prevent audio output anomalies caused by boot sequence pulses
Protocol Stack & Underlying Fixes
- Communication Protocol Errata: Corrected field serialization/deserialization rules, ensuring cross-version compatibility guarantees
- Memory Management Optimization: Resolved handle leakage in specific operational scenarios, improving long-running stability metrics
Minimalism
UI Improvements
- Refactored minimalist clock interface — significantly improved visual design
- Note: Weather entity ID must be configured in weather settings for the minimalist clock to display weather conditions
Mod Store
-
Fixed UI styling issues
-
Re-architected extension system to support more diverse features in future releases
Community & Documentation
- Thanks to @jarod73 for adding comprehensive documentation to the ava-mods project, e.g., mimiclaw-ai-assistant
- Thanks to @pantherale0 for the tutorial contribution — merged ava-mod features per Issue #56, see qualcomm-audio-concurrency-fix for more guides
Other Fixes
- Patched minor Bluetooth issues
- Resolved legacy bugs
- Optimized font package size
0.4.1
1. Browser Tool Architecture Refactoring
- Ava Browser Tool fully decoupled from system browser as standalone module
- Smarter page content extraction engine with optimized DOM parsing and data scraping logic
- Reduced coupling with system browser for enhanced stability
2. Bluetooth Protocol Stack Extension (Mod Store)
- Added Bluetooth low-level Hook development framework for chip-level deep optimization
- Introduced
BluetoothLowLevelHooksinterface, enabling Mods to implement via standard API:- Chip identification (vendor/model/max connection limits)
- Scanner quirk detection and auto-adaptation
- Chip-specific fixes (GATT cache cleanup, scan state reset, etc.)
- Customized fix solutions for mainstream chips including MTK and Qualcomm
3. Security & Stability Fixes
- Fixed several critical technical vulnerabilities
4. Mod Store UI Polish
- Resolved visual consistency issues in Mod Store interface
5. Hand-Drawn Digital Clock Screensaver
- Location: Extensions → Info & Scenes → Minimalist Clock
- Core Features:
- Pure hand-drawn digital clock rendering, zero WebView dependency
- Guaranteed stable operation on low-end devices / WebView-less environments
- Floating window display mode with multiple customization options
- Settings:
- Minimalist Clock - Master toggle for digital clock floating window
- Control via Home Assistant - Remote show/hide state control
- Double-tap to Toggle - Double-tap bottom area to toggle visibility, state syncs to HA entity
6. Bluetooth Watchdog & Log Cleanup (#57)
- Fixed Bluetooth watchdog issues
- Cleaned up log cache
7. Duplicate Bluetooth Device Auto-Cleanup
- Added automatic duplicate Bluetooth device cleanup mechanism
8. Settings Button Fix
- Fixed settings button functionality issues
9. Automation Issues
- Attempted fixes for reported automation problems
0.4.0
Fixed the definition of Ava Bluetooth error, thanks for your feedback @N3rd7 #54
Added dynamic .so library support to the mod store; the mod store is now better integrated with OpenClaw.
OpenClaw (Mini) now officially supports Home Assistant skill control, thanks to @ha-china and @Desmond-Dong.
OpenClaw (Mini) now officially supports full web AI service control — accessible via your device IP:18789.
OpenClaw (Mini) now officially supports image skills.
OpenClaw (Mini) now officially supports terminal skills, thanks to the Termux project.
OpenClaw (Mini) now officially supports underlying system integration capability for Android devices.
OpenClaw (Mini) now officially supports skill installation, uninstallation, and loading capabilities.
OpenClaw (Mini) now officially supports Ava browser and web search capabilities.
OpenClaw (Mini) now officially supports API request capabilities.
Fixed some native UI issues.
The release of version 0.4.0 will remain paused for a long period in the future.
Many future updates will be delivered through the mod store.
Wishing everyone good health, peace, and prosperity in 2026.
New! OpenClaw
The biggest highlight of this update is our new advanced module: OpenClaw(Mini).
First, why the name Mini?
It is not a full copy of OpenClaw CLI. The full CLI is powerful, but on Android it is simply too heavy to run well as a deeply integrated, always-available assistant. Instead of forcing the entire stack into Ava, we built a lighter implementation designed specifically for Ava and Android devices. It keeps the best parts of OpenClaw's design, including tool calling, session handling, and heartbeat logic, while being adapted for real device use. In short, this is not a stripped-down toy. It is the practical part of OpenClaw turned into something that can actually live and work inside Ava.
OpenClaw(Mini) now brings most of the core OpenClaw design ideas into Ava in a usable form. It combines model reasoning, tool execution, skills, and Android-side capabilities to handle device control, browser actions, UI inspection, screenshots, automation, file handling, diagnostics, scheduled tasks, heartbeat isolation, and messaging channels such as QQ and Telegram. More skills will continue to be added over time.
To try these advanced features, go to:
Settings -> Advanced Features -> Mod Store -> OpenClaw(Mini)
After installation and setup, you can enable this AI assistant workflow directly from there. Browser control, automation, diagnostics, and channel-related features are all connected through this path.
A key addition in this release is the new heartbeat system.
OpenClaw(Mini) now supports a built-in isolated heartbeat workflow. It runs in its own session, does not pollute the main conversation, and avoids corrupting normal chat context. This follows one of OpenClaw's strongest design principles: periodic checks and background tasks should stay isolated, reliable, and predictable.
On the system side, we also expanded low-level capability support.
OpenClaw(Mini) now supports:
- Root
- Shizuku
- Safe adb-style and shell-style commands
- File reading, diagnostics, and system state inspection
- App UI access and automation control
At the same time, Ava now fully supports accessibility integration.
This matters a lot, because it gives non-root devices a much better way to inspect system UI, read visible controls, and understand on-screen state. That is especially useful for screenshots, UI analysis, and app interaction. To prevent performance issues, accessibility is not left running in a heavy continuous mode. It is only triggered when OpenClaw-related tools actually need it.
Beyond OpenClaw(Mini), this update also fixes a large number of long-standing pain points.
We fixed #52, added a new Stop Alarm action, and reworked the entire alarm flow. Thanks to @yaro24 for helping push that issue forward. Alarms are now much cleaner logically, and users can also set custom alarm sounds, so the system no longer has to attack you with the same default sound forever.
The browser stack also received major work.
We added browser gesture navigation, and this was not a cosmetic patch. It was redesigned specifically for the floating window browser, solving the long-standing gesture problems that usually come with overlay WebView behavior. We also added live browser URL sync, so the frontend can now display the current page address in real time instead of working blindly.
Another important community issue was fixed as well.
When using action: url with an intent:// path, Ava previously treated that as a normal web link and passed it to the browser, which failed or opened the wrong page. This has now been fixed. Intent links are correctly recognized and handed over to Android instead of being misrouted through the browser.
We also continued improving large-screen layout behavior.
The home screen scaling issue on 9-inch and larger devices has been fixed, so tablets and bigger displays no longer look like they are stuck in an over-compressed phone layout. The home screen title area, controls, and status region now scale more appropriately on larger displays.
In addition, this release also fixes:
- ESPHome version visibility, so the current version can now be shown correctly
- A range of issues involving entity display, config pollution, state reporting, screenshot workflows, messaging channels, compilation errors, and runtime failures
0.3.8
- Restored the original layout style for Home and Settings, with adaptive refinement only.
- Brought back the Settings overview card layout: Chinese title on the left, English subtitle on the right, description below.
- Increased title, description, and list text sizes across Settings for better readability.
- Added continuous adaptive scaling for Home title, subtitle, and status text across screen sizes.
- Tuned the main circular control button for small screens, square screens, tablets, and large displays.
- Prevented 10-inch and larger devices from being scaled down incorrectly in both Home and Settings.
- Added a dedicated landscape-phone adjustment so the top area scales correctly on mobile horizontal screens.
- Rebalanced the top header so Ava Pro and the Settings button sit more inward and centered.
- Bluetooth entities are no longer registered when the Bluetooth master switch is off.
- Bluetooth proxy and related cards in Bluetooth Settings now hide with the master switch.
- Added a Notification Scene feature toggle, disabled by default, with collapsed content when off.
- Connected the Notification Scene toggle to overlay permission checks before enabling.
- Added a built-in “Refresh Web” entity under the Control category for remote browser actions.
- Removed the old dex-based screen control path and replaced it with A64, Root, Shizuku, and Device Admin layers. #51
- Added smoother wake-up brightness behavior and removed screen-control toast popups.
- Added a real lock entity for “Lock Display,” separate from the normal screen toggle.
- Screen and lock states now report real device state instead of using pseudo status values.
- Adjusted the Root permissions screen so the Root status row aligns better with the Shizuku status section.


