Skip to content

v0.8

Latest

Choose a tag to compare

@rednblkx rednblkx released this 06 Feb 14:30
· 177 commits to main since this release
v0.8
85f93e1

New Features

  • SPI Bus Selection: Added ethSpiBus configuration to select between SPI2 and SPI3 for Ethernet (when supported by hardware) (#241)
    • New Web UI note component warns users about GPIO conflicts when using Ethernet and PN532 on the same SPI bus
    • Automatic separation of Ethernet and PN532 SPI buses when SPI3 available
  • Auth Precompute Cache: Added optional authentication context precomputation for faster HomeKey taps (#224)
    • 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 ReaderDataManager (#224)
  • 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

Full Changelog: v0.7.1...v0.8.0