This patch release fixes a callFunc issued from the render thread onto a SceneGraph Task, or onto a plain Node genuinely owned by a Task's thread, silently running locally against an incomplete render-side reconstruction instead of rendezvousing to the real owning thread — the root cause of a reported New Relic SDK crash. Two related device-confirmed fixes ship alongside it: a field or callFunc argument publishing a Node reference (e.g. an m.global singleton) no longer gets incorrectly re-owned to the receiving thread, and a Task's outgoing field-set now acknowledges before dispatching render-side observers, closing a circular-wait deadlock reproduced against a real Jellyfin server. A related fix makes a field added to m.global by another task, after this task's own launch, visible through rendezvous instead of permanently reading Invalid. Also fixed: DynamicKeyGrid crashing when loading a Key Definition File containing a spacer row with no keys, roAppManager.getUpTime() returning negative values, and the Node.js host silently dropping a Task's last print when it raced the Task's own teardown. Read the full release notes below for more details.
Release Changes
Core Engine
Node.js Library and CLI
- (node) Fixed the host force-terminating a Task worker before an in-flight
printit had already sent could reach the terminal by @lvcabral in #1222
SceneGraph Extension (brs-scenegraph release v0.5.4)
- (rsg) Fixed a render-initiated
callFunconto a Task or Task-owned Node running locally instead of rendezvousing to the owning thread, plus a field/argument re-ownership fix and a Task field-set acknowledgment race that could deadlock by @lvcabral in #1218 - (rsg) Fixed
m.globalrendezvous so a field added by another task after this task's own launch is no longer permanently invisible by @lvcabral in #1220 - (rsg) Fixed
DynamicKeyGridcrashing when loading a Key Definition File with a spacer row (nokeys) by @lvcabral in #1217
Full Changelog: v2.5.3...v2.5.4