FW 0.12.11\_20260211
Spectoda Firmware v0.12.11_20260211 Release Notes
Spectoda Firmware v0.12.11_20260211 Release Notes
Section titled “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
Section titled “🚀 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
TM1814variant and follow-up fixes for TM1814 behavior.
🔧 Technical Improvements & Refactors
Section titled “🔧 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.
- Deprecated full network-node listing in favor of neighbor-focused
- 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
Section titled “📈 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
Section titled “🐛 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 (
512bytes).
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) fromruntimeTask. - Fixed BLE full-MTU read handling and BLE timeout reliability for requests.
- Fixed touch detection counting logic and
SPECTODA_ENABLE_TOUCHcompilation issues. - Fixed TM1814/Neopixel signal-related behavior regressions.
- Fixed simulated connector
FLAG_PEER_CONNECTEDbehavior. - Fixed firmware sync handling for
PEER_FW_OTA_ALREADY_IN_PROGRESS.
🧩 Compatibility & Migration Notes
Section titled “🧩 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.
handleGetNetworkNodesis 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.
⚠️ Recommended Update
Section titled “⚠️ Recommended Update”- All users currently on firmware
0.12.Xare strongly encouraged to update and migrate projects tov0.12.11_20260211. - The Spectoda team can assist with migration planning and execution for existing projects.
🧪 Build & Developer Notes
Section titled “🧪 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
Section titled “🔗 Full Changelog”https://github.com/Spectoda/Spectoda_Firmware/compare/v0.12.11...v0.12.11_20260211