2.3.0 - SceneGraph Node Complete and more!
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
keepAppOpensetting 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
roDeviceInfoby @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
localStoragekey by @lvcabral in #315
Bug Fixes
- Fixed: respect
disableCheckForUpdatessetting 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
autoPlayEnabledproperty 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-
deviceDatastartup 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
hashCodefor 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
-wflag persistingNaNas 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 auditvulnerabilities 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-jetpackdependency, replacing its five usages with Node's built-infsmodule and
two small helpers (readJsonFile/writeJsonFileinsrc/helpers/util.js) that preserve the previous
behaviour, including atomic writes ofrecent-files.jsonandwindow-state-*.json - Removed
build/webpack.unit.config.jsandbuild/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-engineruleset ported to JavaScript by @lvcabral in #313 - Added Prettier config and formatted the codebase by @lvcabral in #312
- Upgraded
monaco-editorto v0.56.0 and addedoverridesfordompurify,@electron/asar,
@electron/universalandfilelistto resolvenpm auditreports npm auditwent from 19 vulnerabilities (2 moderate, 17 high) to 10 (all high), and
npm audit --omit=devnow reports 0 vulnerabilities — nothing vulnerable ships in the application
Dependency Bumps
- Bump
@xmldom/xmldomfrom 0.8.12 to 0.8.13 by @dependabot in #259 - Bump
ip-addressfrom 10.1.0 to 10.2.0 by @dependabot in #260 - Bump
fast-urifrom 3.1.0 to 3.1.2 by @dependabot in #261 - Bump
@babel/plugin-transform-modules-systemjsfrom 7.28.5 to 7.29.4 by @dependabot in #262 - Bump
serialize-javascript,@lvcabral/electron-preferencesandcopy-webpack-pluginby @dependabot in #263 - Bump
postcssfrom 8.5.6 to 8.5.15 by @dependabot in #264 - Bump
tmpfrom 0.2.5 to 0.2.7 by @dependabot in #265 - Bump
form-databy @dependabot in #267 - Bump
wsby @dependabot in #268 - Bump
tarfrom 7.5.13 to 7.5.16 by @dependabot in #269 - Bump
js-yamlfrom 4.1.1 to 4.2.0 by @dependabot in #270 - Bump
@babel/core,@babel/preset-envandbabel-loaderby @dependabot in #271
Full Changelog: v2.2.0...v2.3.0