Skip to content

2.3.0 - SceneGraph Node Complete and more!

Choose a tag to compare

@github-actions github-actions released this 27 Jul 01:16
· 23 commits to master since this release

This release brings a large set of new features, bug fixes, and infrastructure improvements to the BrightScript Simulator. Highlights include a Debug Server on telnet port 8080, a console search feature, clipboard paste support, OOM/crash recovery, video auto-play settings, custom device feature flags, auto-save in the editor, JPEG screenshot support, and a comprehensive Vitest test suite. The SceneGraph extension is now in beta status, and it's Node complete! See the BrightScript Simulation Engine full changelog for all the language and framework features and improvements.

New Features

  • Implemented the Debug Server on telnet port 8080 by @lvcabral in #276
  • Added search feature to the console panel by @lvcabral in #273
  • Added keepAppOpen setting for Peer Roku by @lvcabral in #272
  • Added clipboard paste support for sending text to the simulator via sequential keypresses by @lvcabral in #280
  • Added customization settings for managing custom feature flags via roDeviceInfo by @lvcabral in #281
  • Added video auto-play setting to device configuration and UI preferences by @lvcabral in #284
  • Added custom features icon and updated settings configuration labels by @lvcabral in #283
  • Installer password now updates immediately; service restart instruction only applies to port changes by @lvcabral in #285
  • Added JPEG support for screenshot exports and save dialog filters by @lvcabral in #287
  • Home key now intercepts to exit apps even with the debugger active by @lvcabral in #288
  • Enhanced toast system with click-to-disable functionality and DevTools performance warning by @lvcabral in #291
  • Added auto-save functionality when running code in the editor via configurable preference by @lvcabral in #292
  • Implemented OOM and crash recovery with automatic device reload and user notification by @lvcabral in #279
  • Adjusted update check intervals and added skip version option by @lvcabral in #277
  • Resolved system theme setting to current application theme in editor initialization
  • Added support for HEAD HTTP request on the Installer Service by @lvcabral in #266
  • Updated SceneGraph warning dialog to reflect beta status and changed localStorage key by @lvcabral in #315

Bug Fixes

  • Fixed: respect disableCheckForUpdates setting dynamically inside timers by @lvcabral in #278
  • Fixed: enforce OS-specific search shortcuts in console by @lvcabral in #274
  • Fixed: auto-update search matches when console output changes by @lvcabral in #275
  • Fixed: add key-press delay and enable native paste for secondary windows by @lvcabral in #282
  • Fixed: restrict clipboard copy shortcut to platform-specific key combination by @lvcabral in #290
  • Fixed: restore terminal input focus after updates to prevent intermittent focus loss by @lvcabral in #289
  • Fixed: removed calls to a non-existent function
  • Fixed: removed duplicated autoPlayEnabled property from main configuration object
  • Fixed: detect a compile failure regardless of whitespace by @lvcabral in #301
  • Fixed: ECP now resolves bundled assets so routes work outside the bundle too by @lvcabral in #309
  • Fixed: ECP answers device queries during the pre-deviceData startup window by @lvcabral in #297
  • Fixed: keep the shortened path within its budget in the status bar by @lvcabral in #307
  • Fixed: return a string from hashCode for every input by @lvcabral in #306
  • Fixed: reject malformed IP addresses instead of coercing them by @lvcabral in #305
  • Fixed: return nothing for firmware outside the version alphabet by @lvcabral in #304
  • Fixed: stop a bare -w flag persisting NaN as the web installer port by @lvcabral in #303
  • Fixed: read the numeric prefix of a version segment in update checker by @lvcabral in #302
  • Fixed: support remote shortcuts with more than one modifier by @lvcabral in #299
  • Fixed: restore the default for a missing remote key instead of throwing by @lvcabral in #300
  • Fixed: stop custom key bindings firing on unrelated chords by @lvcabral in #298
  • Resolved npm audit vulnerabilities in shipped dependencies by @lvcabral in #295

Refactoring & Code Quality

  • Dynamically generate recent files submenu and increased recent file limits by @lvcabral in #286
  • Refactored dev-console commands dispatch from a table by @lvcabral in #310
  • Resolved recent-file menu items by id instead of position by @lvcabral in #308
  • Removed the fs-jetpack dependency, replacing its five usages with Node's built-in fs module and
    two small helpers (readJsonFile/writeJsonFile in src/helpers/util.js) that preserve the previous
    behaviour, including atomic writes of recent-files.json and window-state-*.json
  • Removed build/webpack.unit.config.js and build/webpack.e2e.config.js, unused leftovers from the
    electron-boilerplate template
  • Removed dead CodeMirror leftovers by @lvcabral in #294
  • Updated simulator info modal with bold text and issue tracker link

Testing & Tooling

  • Added Vitest test suite covering pure logic and network services by @lvcabral in #296
  • Modeled Electron submenus so the menu suite runs on Windows and Linux by @lvcabral in #311
  • Added ESLint with the brs-engine ruleset ported to JavaScript by @lvcabral in #313
  • Added Prettier config and formatted the codebase by @lvcabral in #312
  • Upgraded monaco-editor to v0.56.0 and added overrides for dompurify, @electron/asar,
    @electron/universal and filelist to resolve npm audit reports
  • npm audit went from 19 vulnerabilities (2 moderate, 17 high) to 10 (all high), and
    npm audit --omit=dev now reports 0 vulnerabilities — nothing vulnerable ships in the application

Dependency Bumps

Full Changelog: v2.2.0...v2.3.0