v8.7.0
Bug Fixes
- Fix tool memory leak - Resolved resource leak after tool execution completion
- Fix mini channel loading error - Corrected initialization failure in mini mode
- Fix LLM channel control mechanism - Unified intent filtering with allowlist mode
- Fix frontend history messages - Resolved incomplete message rendering issues
- Fix streaming response leak - Added
stream_endevent for proper frontend state cleanup - Fix cache hit rate - Optimized caching strategy for better performance
- Fix clock prefix invalidation - Removed redundant time checks causing resource waste
- Fix Markdown formatting issues - Resolved MD rendering corruption
- Fix final response crash - Suppressed lit-html
nextSiblingerrors preventing page crash - Fix long-running tool timeout - Improved timeout handling for extended tasks
- Fix DefaultAgent intent bypass - Patched
async_recognize_intentto enforce filtering - Fix intent bypass - Early patch prevents import-time bypass
- Fix CSS message overflow - Corrected container overflow and word-break issues
- Fix tool result state corruption - Removed blocking to preserve lit-html state
- Fix duplicate intent processing - Eliminated redundant HA built-in intent execution
New Features
- Add channel marker - Support for distinguishing AI channel sources
- Add intent allowlist filter - Only 8 high-frequency intents preserved (broadcast, light, cover, toggle)
- Add early_patch_intents - Module-load-time patching prevents bypass
- Add tool partial success warning style - Visual distinction between full failure and partial success
- Add stream_end websocket event - Frontend knows exactly when streaming completes
- Add unhandledrejection suppression - Silently handle known lit-html errors
Code Refactoring
- Reorganize runtime folder - Split into
agent/,core/,hooks/,llm/,storage/,utils/subdirectories - Remove services folder - Migrated to
runtime/utils/andscrapers/ - Clean up 64 redundant files - Deleted duplicate files from legacy paths
- Optimize CSS message containers - Fixed overflow and line-break behavior
- Remove _render blocking logic - Avoid lit-html internal state corruption
- Unify intent processing entry points - Patch both
async_handle_intentsandDefaultAgent.async_recognize_intent - Simplify tool visibility logic - Removed minimal tool mode, full toolset for all external AIs
- Consolidate patch definitions - Single
_ALLOWED_INTENTSset for all filtering - Improve code organization - Better separation of concerns across runtime modules
Full Changelog: v8.6.0...v8.7.0