Přeskočit na obsah

FW 0.12.11

FW 0.12.11 Release Notes

Release Date: November 2, 2025
Version: 0.12.11

  • NetworkStorageData sync with App Controller: Adds storage synchronization between devices and app.
  • Berry API expansions:
    • spectoda.tx() / spectoda.rx() for low-level transport.
    • ble.enable(...), espnow.enable(...), full ESP-NOW configuration API, and espnow.datarate(...).
    • APDS9960 sensor API.
    • Config support for "plugins" and Controller "scripts".
  • Lighting protocols: ART-NET and sACN can now receive from multiple universes.
  • Connector compatibility: CONNECTOR_LEGACY_JS_RUNTIME option for legacy integrations.
  • allow overriding PCB/Product codes
  • Introduced fw_platform_code; added networksnapshot_unix_timestamp, controllerstore_fingerprint.
  • Renames/cleanups: fw_compilation_timestampfw_compilation_unix_time, clock_msclockms_t, IDENTIFIER(0)IDENTIFIER_UNDEFINED.
  • Berry internals: standardized names (EVT/PLG), cleaned C/C++ handlers, unified utils helpers (e.g., utils::berry::getBytesBufferAndSize()), DMX Berry improvements.
  • Moved synchronization_t to dedicated header; improved error paths in BLE/ESP-NOW members.
  • Build/Tooling: fixed WASM and DMX builds; new options to exclude APDS9930 and Pixel Port R/W; release build configuration.
  • Faster network OTA via higher data rate.
  • Longer Ethernet startup window for reliability.
  • Turned off Berry debug info and strict module for production performance.
  • Increased IO port max size from 1200 → 2048.
  • WS2805 signal timing corrected to reduce flicker/glitches.
  • FW flooding mechanism hardened.
  • Device context: fixed registerDeviceContext event-state initialization.
  • Clock writes: allowed higher-frequency FW clock updates.
  • Serial: reliable synchronization packet sending; resolved large-payload issues (multiple fixes through Nov 7).
  • Persistence: early reboot could skip writing Network Signature/Key—fixed.
  • LoadingBar animation crash fixed.
  • Protocols: no crash on ArtNet without a valid Berry VM.
  • Berry runtime: memory corruption and render stack memory leak fixed; empty mapped bytes creation crash fixed; general bug fixes in C++ and VM glue.
  • ESP-NOW: synchronization tweaks and NetworkData sync fixes.
  • Error handling: improved handling for FLAG_EVENT_HISTORY_BC_REQUEST; suppressed noisy “BLE max connection reached” log.
  • Potentially breaking:
    • Default config segment ID changed from ID255 to ID0 (verify scripts/configs relying on defaults).
    • FLAG_EVENT_HISTORY_BC_REQUEST disabled (behavioral change for history broadcast).
  • Berry internal renames are largely non-breaking for user scripts, but update custom native plugins if they touch internals.
  • System revision awareness:
    • Controllers can now be distinguished not only by firmware version, but also by system revision such as rev0 or rev1.
    • System revision represents the low-level runtime profile of the controller, for example partition layout, OTA slot geometry, or future flash / bootloader differences.
    • The same firmware line can temporarily run on multiple system revisions during migration.
  • Partition migration path:
    • rev0 controllers may require a one-time partition migration to rev1 before they can reliably accept larger OTA images.
    • After a controller is migrated to rev1, regular OTA updates continue normally within the new layout.
    • Future low-level migrations are expected to stay stepwise, for example rev0 -> rev1 -> rev2, not to skip directly between distant revisions.
  • Peer-to-peer OTA safety in mixed networks:
    • Controllers advertising a larger OTA slot no longer assume that every peer can accept the same image size.
    • Peer firmware distribution uses the real running firmware image size rather than the full app partition size.
    • If a target controller cannot accept the image, the update should be skipped or rejected instead of entering a broken OTA state.
  • Controller Info can expose both firmware version and system revision.
  • In practice, this helps distinguish cases such as:
    • two controllers both running firmware 0.12.11
    • but one still being on rev0 and another already migrated to rev1
  • This is useful mainly for service, rollout planning, and OTA diagnostics in mixed installations.
  • New build exclusions: ESPNOWRADIO, APDS9930
  • WASM build fixes applied; DMX WASM build corrected.

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