FW 0.12.11_20260211

Spectoda Firmware v0.12.11_20260211 Release Notes

Spectoda Firmware v0.12.11_20260211 Release Notes

Release Date: February 11, 2026 Version: 0.12.11_20260211 Base Tag: v0.12.11

🚀 Major Features

  • Multi-hop Controller request APIs: Implemented request hopping across runtime/C++/WASM/TS layers, including requestWriteConfig, controller label read/write, firmware version read, and network erase operations.

  • Controller actions via request hopping: Added end-to-end support for controller-side operations over multi-hop paths.

  • Notification system overhaul:

    • New Active / Pending / Inactive notification state tracking.

    • Notification state updates emitted on TNGL reload.

    • Unified store architecture for event/notification handling.

  • ESP-NOW mesh scaling improvements: Networking tuned for large deployments (200+ nodes) with improved rebroadcast behavior, bounded duplicate filtering, and better queue sizing/congestion handling.

  • Touch IO enhancements: Added configurable touch sensitivity (1-4) plus touch knock/tap detection fixes.

  • LED protocol support updates: Added NEOPIXEL TM1814 variant and follow-up fixes for TM1814 behavior.

🔧 Technical Improvements & Refactors

  • Request pipeline refactor:

    • Unified request handle semantics and callback status payloads.

    • Added per-request status tracking (waitRequest / status flow) with improved error-location reporting (error_hop_index).

  • Forward request handling improvements:

    • Runtime-level forward request/response handling cleanup.

    • Staggered per-hop timeout strategy to preserve response return path.

  • Networking model update:

    • Deprecated full network-node listing in favor of neighbor-focused getNeighbourConnections.

    • Strong-signal gating for selected peer operations.

  • BLE/Serial transport refactors:

    • MTU-aware BLE chunking (212/512 profiles).

    • Connector response-buffer lifecycle made explicit and consistent.

  • Stack and runtime optimization:

    • Reduced stack pressure in request/forward paths.

    • Runtime-task request handling and move-semantics improvements.

📈 Performance & Stability

  • Improved duplicate-filter lookup behavior by prioritizing newest entries first.

  • Reduced synchronization packet flooding and tuned broadcast/retry behavior.

  • Better memory-pressure handling in merge-store flows (including OOM safeguards).

  • Improved stack watermark monitoring and task stack sizing (notably Serial/runtime related paths).

  • OTA flow reliability improved by keeping BLE discoverability during OTA while still guarding request/sync transmission.

🐛 Bug Fixes

  • Fixed OOM-related crashes in BLE/Serial request-response flows via zero-copy response buffering.

  • Implemented BLE chunking specifically to fix compatibility issues on older Android phones that do not support large BLE MTU (512 bytes). Transfers now adapt to supported packet sizes (including smaller MTU profiles).

  • Fixed notification processing edge cases in Controller (including historical replay behavior).

  • Fixed infinite sync-loop condition in store merge progression.

  • Fixed registerDeviceContext() EventState initialization.

  • Fixed Berry exception logging crash path.

  • Fixed runtime API calls (execute/request/synchronize) from runtimeTask.

  • Fixed BLE full-MTU read handling and BLE timeout reliability for requests.

  • Fixed touch detection counting logic and SPECTODA_ENABLE_TOUCH compilation issues.

  • Fixed TM1814/Neopixel signal-related behavior regressions.

  • Fixed simulated connector FLAG_PEER_CONNECTED behavior.

  • Fixed firmware sync handling for PEER_FW_OTA_ALREADY_IN_PROGRESS.

🧩 Compatibility & Migration Notes

  • Verified compatibility with the latest Spectoda Studio.

  • Forward request callback/status handling changed (includes richer status + hop-failure context); update custom integrations relying on old callback signatures.

  • Request internals moved from UUID-style naming toward handle-based semantics in forwarding paths.

  • handleGetNetworkNodes is deprecated; use neighbor connection APIs instead.

  • Notification naming/state behavior changed (including collision naming updates and inactive-state flow).

  • Messaging feature flags (MSGS_ENABLE_PINGPONG, MSGS_ENABLE_SCAN, MSGS_ENABLE_CHECK) are disabled by default unless explicitly enabled.

  • All users currently on firmware 0.12.X are strongly encouraged to update and migrate projects to v0.12.11_20260211.

  • The Spectoda team can assist with migration planning and execution for existing projects.

🧪 Build & Developer Notes

  • Added firmware upload scripts and firmware binary packaging commits for release flow.

  • Updated release build flags.

  • Documentation expanded for IO/firmware scripting topics (including ADC, TOUCH, DALI areas).

  • Added/extended WiFi PHY datarate conversion support for more datarate strings.

🔗 Full Changelog

https://github.com/Spectoda/Spectoda_Firmware/compare/v0.12.11...v0.12.11_20260211

Last updated

Was this helpful?