Skip to content

v2.0.0 - SceneGraph Support

Choose a tag to compare

@lvcabral lvcabral released this 21 Oct 05:13
· 75 commits to master since this release
ab29dee

This version of the BrightScript Simulator can execute BrightScript code compatible with Roku OS 15. It also includes experimental SceneGraph support which is currently in alpha stage.

Please be aware of the following limitations:

  • SceneGraph components may not render correctly
  • Some SceneGraph features are not yet implemented
  • Apps may crash or behave unexpectedly
  • Check all current limitations for more details

Screen Recording 2025-10-20 at 6 49 11 PM

Release Changes

  • Bump to v2.0.0 and upgraded Electron to v2.9 by @lvcabral in in #190
  • Added a message dialog to warn users that SceneGraph is in alpha stage by @lvcabral in #191
  • Added closed caption style settings and updated the the SG warning dialog by @lvcabral in #194
  • Added new ECP device info fields introduced in Roku OS 15 by @lvcabral in #193
  • Added BRS bouncing splash video on startup by @lvcabral in #186
  • Implemented simulator home screen and improved app list handling by @lvcabral in #196
  • Moved keepDisplayOnExit and perfStats options from simulator to display tab on Settings screen by @lvcabral in #196
  • Refactored server event handlers to new events.js helper module by @lvcabral in #197
  • Added option to import and export .brs files in Editor and removed Open Source file from File menu by @lvcabral in #198
  • Bump brs-engine to v2.0.0-alpha.16 by @lvcabral - main changes since last release:
    • v1.8.6 - Changed the internal device assets (fonts, sounds, images and libraries) to be stored in the common.zip file that holds the common:/ volume in the file system, and mainly this release brings a fix for the m context when using indexed get to retrieve functions. (see full changelog)
    • v1.8.7 - Brings the undocumented signature for InStr() function with only 2 parameters, the roTimespan.totalMicroseconds() method and the Type() function returning "legacy" types (unless you pass version 3 parameter). Other important fixes to highlight are the support for boxed values as array indexes and having roBoolean to be properly comparable. (see full changelog)
    • v1.8.8 - Added the support for the flags parameter on the ParseJSON() to make the AA returned to be case insensitive, and FormatJSON flag now allows you to disable the escape of non-ASCII characters. There are also, fixes for Left() and Mid() that were not handling negative values properly and Substitute() that now supports the ^0 notation. The chr() and asc() functions were also updated to support extended Unicode. (see full changelog)
    • v1.8.9 - Introduces a few missing methods in roDeviceInfo and a new method to ifStringOps, also several enhancements on Video and Audio handling. The default font was replaced by DejaVuSansCondensed that is used in Roku devices for Draw2D text rendering. (see full changelog)
    • v1.9.1 - Reorganized the repository as a monorepo splitting the released artifacts into two separate NPM packages: brs-engine (for Web applications) and brs-node (for Node.js and CLI). Also, with this release, the BrightScript language and components are now synchronized with Roku OS 15.0. (see full changelog)
    • v1.9.2 - Implemented new method createPayloadFromFileMap in brs-node library and updated documentation. (see full changelog)
    • v1.9.3 - Fixed issues related to roNDK.start() allowing URL as ChannelId on SDKLaunch and RokuBrowser.brs library now parses arrays in options object. (see full changelog)
    • v1.9.4 - Remapping of the game pad buttons to the Roku remote control, allowing for a better experience using the game pad with Roku apps. It also documents the custom manifest option multi_key_events that allows apps to receive multiple key events at the same time. (see full changelog)
    • v1.9.5 - Added new methods in the engine API, improvements to roAppManager, and the manifest parsing now matches the behavior of Roku devices. (see full changelog)
    • v1.9.6 - This release brings a couple of fixes for the CORS proxy usage and the NDKStart handling of SDKLauncher. (see full changelog)
    • v1.9.7 - This release fixes issues on the API methods enableStats and improves the handling of the dev app. (see full changelog)
    • v2.0.0-alpha.16 - Contains the current state for the experimental SceneGraph framework support, for more details about what is implemented and what is still missing check the current limitations document
  • Bump brs-engine to v1.8.9 and upgraded other dependencies by @lvcabral in #187
  • Bump electron from 25.9.8 to 28.3.2 by @dependabot[bot] in #185
  • Bump pbkdf2 from 3.1.2 to 3.1.3 by @dependabot[bot] in #184
  • Bump @babel/runtime-corejs2 from 7.26.0 to 7.26.10 by @dependabot[bot] in #183
  • Bump tmp from 0.2.3 to 0.2.4 by @dependabot[bot] in #188

Full Changelog: v1.4.0...v2.0.0