Enable/disable through the UI (Misc -> HomeKey -> Auth Precompute Cache) or through API via hkAuthPrecomputeEnabled
Background task manages cache of precomputed authentication contexts
Intelligent cache invalidation when reader data changes
Significant performance improvement for repeated taps
Fixes and Improvements
Logging System: Integrated loggable framework for unified, configurable logging across components
Memory Safety: Added mutex protection for reader data concurrent access in (#224)
ReaderDataManager
Thread-Safe Snapshots: New getReaderDataCopy() method provides safe reader data snapshots (#224)
Configuration Validation: Enhanced SPI bus validation and error messages in Web UI (#241)
Build System: Improved find command compatibility in CMakeLists (#247)
Stability: Fixed various race conditions and memory safety issues
HomeKey Issues: Fixed HomeKey authentication issues that prevented Apple Watch and other secondary devices from unlocking the device (fixed #215)
Web UI Reliability: Enhanced Web UI responsiveness and availability (fixed #237) (fixes? #211)
Persistence issue: Fixed config deserialization for the neopixel colors (fixed #249)
Improved OTA: Refactored OTA update process for better stability and cleaner code (#233)
Internal Changes
Event System Overhaul: Completely refactored event handling from the espp::EventManager to a custom EventBus system for more efficient and flexible event communication (#229)
Component Updates: Replaced espp/event_manager with esp32-event-bus, this is a simpler implementation that only uses one task and one queue which hugely decreased memory consumption and fixed exhaustion on lower memory models like C3
New PN532 driver architecture: Migrated from PN532 library to modular pn532_cxx, esp-hal-pn532(Platform HAL) to house platform-agnostic support for future projects and this also motivated me to improve error handling and logging on both the application and transport layer.
Console Logging: New ConsoleLogSinker provides ANSI colored console output with a cohesive and easily readable format between esp_log logs and loggable logs (used to dispatch logs to mutliple sinks, such as WebSocket to display them on the UI)
Build & CI Improvements
Nix Flake Update: Updated to nixos-25.11 and switched to mirrexagon/nixpkgs-esp-dev
LittleFS Handling: Improved LittleFS remounting during OTA updates
Component Management: Updated to latest library versions
Documentation Updates
Contributing Guidelines: Added some basic AI/LLM usage guidelines for contributions
Configuration Guide: Added documentation for new auth cache option and Ethernet SPI bus selection
New Contributors
@Maxime0506 made their first contribution in https://github.com/rednblkx/HomeKey-ESP32/pull/224
@ionothanus made their first contribution in https://github.com/rednblkx/HomeKey-ESP32/pull/241
@rbouteiller made their first contribution in https://github.com/rednblkx/HomeKey-ESP32/pull/247
Full Changelog: https://github.com/rednblkx/HomeKey-ESP32/compare/v0.7.1...v0.8.0