Aquí hi ha 20 versions de BrightScript Emulator, des de 7 de març del 2023 fins a l’actual, 2.6.2. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
20 versions en 4 anys · unes 5,6 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2.6.2Darrera versió | 11 d’octubre del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release bumps `brs-engine` to v2.6.1 and `brs-scenegraph` to v0.6.1, completing the two **Roku OS 16.0** features left out of the previous engine release. `roUrlTransfer` now supports **Server-Sent Events (SSE)** through the new `AsyncGetSSEvents()` method, delivering streaming `roSSEvent`s to the message port, and the SceneGraph `ChannelStore` node gains the **`GetRokuCustomerId`** command, sent through its generic request framework (`request`/`requestStatus` fields) and returning the new `customerId` device-information property, now configurable in the **Device** settings. The documented Roku OS baseline is now 16.0. On the simulator side, the packaged app shrinks from 193 MB to 45 MB, a batch of SonarCloud reliability findings is cleared (with the Sonar rules now also enforced by the local lint), and `electron-builder` is upgraded to 26.15.3.
See the **BrightScript Simulation Engine** v2.6.1 [full changelog](https://github.com/lvcabral/brs-engine/releases/tag/v2.6.1) for all the language and framework features and improvements.
## New Features
• Added a "Roku Customer Id" device setting, returned by the `ChannelStore` node `GetRokuCustomerId` command, with a random 32-digit hex default generated for each installation by @lvcabral in #359
## Maintenance
• Trimmed the packaged asar from 193 MB to 45 MB by @lvcabral in #352
• Cleared SonarCloud reliability findings and enforced the Sonar rules in the local lint by @lvcabral in #357
• Restored lockfile entries dropped by merging #353 and #354 by @lvcabral in #358
## Dependency Bumps
• Bump `brs-engine` from 2.6.0 to 2.6.1 by @lvcabral
• Bump `brs-scenegraph` from 0.6.0 to 0.6.1 by @lvcabral
• Bump `electron-builder` from 26.5.0 to 26.15.3 and `builder-util-runtime` from 9.5.1 to 9.7.0 by @lvcabral in #354
• Bump `msgpack5` from 4.5.1 to 6.1.0 and `json-url` from 3.1.0 to 4.0.0 by @lvcabral in #353
**Full Changelog**:https://github.com/lvcabral/brs-desktop/compare/v2.6.1...v2.6.2 |
| 2.6.1 | 15 de setembre del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release bumps brs-engine to v2.6.0 and brs-scenegraph to v0.6.0, bringing substantial **Roku OS 16.0** feature coverage. The new **Effect** node adds rounded corners, borders, and linear/radial gradients to Rectangle and Poster, paired with a new **FloatArrayFieldInterpolator** node for animating its array-valued fields and a public ArrayGrid.focusFeedbackPoster field for customizing a grid's focus indicator. The core engine gains a new **roWebSocket** component with full Node.js and browser support, ifDraw2D.Clear() now returns a Boolean like DrawLine()/DrawPoint()/DrawRect() already did, and a new
roTextureRequest.SetDrawable() controls whether a texture-manager bitmap can be drawn onto directly. An undefined conditional-compilation name in #if/#elseif now evaluates to false instead of raising a compile error, matching Roku OS 16.0's relaxed rule. The remote-control simulation also gains **experimental** multi-controller support (multi_controllers=1), an expanded game pad button map, and an analog GetValue() extension on roUniversalControlEvent. Also fixed: DrawScaledObject() not mirroring the image for a negative scaleX/scaleY, a SceneGraph focus re-grab being dropped when the competing focus lived in a still-detached subtree, and DynamicKeyGrid not rendering a Key Definition File's own icon/focusIcon bitmaps.
See the **BrightScript Simulation Engine** v2.6.0 [full changelog](https://github.com/lvcabral/brs-engine/releases/tag/v2.6.0) for all the language and framework features and improvements.
## Dependency Bumps
- Bump brs-engine from 2.5.4 to 2.6.0 by [@lvcabral](https://github.com/lvcabral)
- Bump brs-scenegraph from 0.5.4 to 0.6.0 by [@lvcabral](https://github.com/lvcabral)
Full Changelog: https://github.com/lvcabral/brs-desktop/compare/v2.6.0...v2.6.1 |
| 2.6.0 | 9 de setembre del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release adds a **Registry by App** device setting that segregates `roRegistrySection` data per running sideloaded app, and fixes a bug where some zip/bpk packages had their bytes corrupted while loading over the `executeFile` IPC path, throwing `unknown compression type` on otherwise-valid packages. The Home app also gets a couple of focus/title polish fixes, and console log tag coloring now covers a bracketed tag's full content instead of stopping at the first non-word character. Bumped `brs-engine` to v2.5.4 and `brs-scenegraph` to v0.5.4, fixing a `callFunc` issued onto a SceneGraph `Task` (or a Task-owned `Node`) silently running locally instead of rendezvousing to the owning thread — the root cause of a reported New Relic SDK crash — along with a container-copy fix for an `assocarray`/`array` holding a SceneGraph node, and a `PeekMessage()`/`GetMessage()` fix that stopped a duplicate HTTP request and `roUrlEvent` delivery loop.
See the **BrightScript Simulation Engine** v2.5.4 [full changelog](https://github.com/lvcabral/brs-engine/releases/) for all the language and framework features and improvements.
## New Features
• Added a "Registry by App" device setting that segregates registry data per running sideloaded app, taking effect for the next app started with no device reset or simulator restart needed by @lvcabral in #347
## Bug Fixes
• Stopped corrupting zip/bpk package bytes on the `executeFile` IPC path, fixing `unknown compression type` errors sideloading some otherwise-valid packages by @lvcabral in #348
• Fixed the Home app refreshing when focus returns to its left menu, "Options" showing in the Overhang menu outside the apps grid, and the main window title showing a duplicated "BrightScript Simulator" by @lvcabral in #345
• Fixed bracketed console log tags only coloring up to the first non-word character instead of their full content by @lvcabral in #346
## Maintenance
• Set up the macOS signing keychain explicitly in CI instead of letting electron-builder manage it, working around an upstream `set-key-partition-list` unlock bug exposed by a macOS runner point release by [@lvcabral](https://github.com/lvcabral)
• Stubbed `process.uptime()` in the ECP-2 device-info test to remove a rounding-boundary flake by [@lvcabral](https://github.com/lvcabral)
## Dependency Bumps
• Bump `brs-engine` from 2.5.2 to 2.5.4 by @lvcabral
• Bump `brs-scenegraph` from 0.5.2 to 0.5.4 by @lvcabral
• Bump `@xmldom/xmldom` from 0.8.13 to 0.8.15 by @lvcabral in #344
• Bump `fast-uri` from 3.1.5 to 3.1.7 by @lvcabral in #343
**Full Changelog**:https://github.com/lvcabral/brs-desktop/compare/v2.5.2...v2.6.0 |
| 2.5.2 | 30 d’agost del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release fixes file dialogs forgetting their last-used folder, the Copy Screenshot menu option sometimes becoming disabled while an app is running, and cross-origin credentialed requests failing after the Electron 43 CORS changes.
## Bug Fixes
• Preserved dynamically-enabled menu item states (Copy Screenshot, Save Screenshot, Close App) across macOS menu rebuilds by [@lvcabral](https://github.com/lvcabral) in [#342](https://github.com/lvcabral/brs-desktop/pull/342)
• Persisted last-used folder for file dialogs so Open/Save dialogs remember the previous directory by @lvcabral in #341
• Reflected request Origin and credentials in CORS headers instead of hardcoding wildcards, fixing credentialed cross-origin fetches by @lvcabral in #340
## Dependency Bumps
• Bump `brs-engine` from 2.5.1 to 2.5.2 by @lvcabral
• Bump `brs-scenegraph` from 0.5.1 to 0.5.2 by @lvcabral
**Full Changelog**:https://github.com/lvcabral/brs-desktop/compare/v2.5.1...v2.5.2 |
| 2.5.1 | 21 d’agost del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release gives the Editor console panel BrightScript-aware syntax coloring — strings, numbers, booleans, invalid, <Component: ...>/<Function: ...> references, pkg://tmp:/ device URIs, GUIDs, XML tags, timestamps, backtrace structure, source comments, and ERROR:/WARNING:/DEBUG: labels are now colored distinctly instead of the generic Unix-console highlighting the terminal component shipped with by default. A new "Disable Console Log Coloring" option under Editor settings lets users opt back into plain text. Also fixes cross-origin channel content (e.g. S3-hosted posters/icons) failing to load after the Electron 43 upgrade.
### New Features
- Added BrightScript-aware syntax coloring to the Editor console panel, with a setting to disable it, by @lvcabral in #339
### Bug Fixes
- Forced 200 status on CORS preflight responses so cross-origin channel content loads correctly after the Electron 43 app:// origin change by @lvcabral in #338
### Dependency Bumps
- Bump @lvcabral/terminal from 1.1.0 to 1.3.0 by @lvcabral
Full Changelog: https://github.com/lvcabral/brs-desktop/compare/v2.5.0...v2.5.1 |
| 2.5.0 | 20 d’agost del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release replaces the **Home app** by a new SceneGraph-based one, with support for removing sideloaded packages and jumping straight to a settings section. Roku peer device discovery results are now cached to disk so the peer menu is populated immediately on startup instead of waiting for a fresh network scan, and the **Deploy to Peer Roku** menu label now shows the discovered device's friendly name. The editor also gains a configurable console log level. Bumped `brs-engine` to v2.5.1 and `brs-scenegraph` to v0.5.1, bringing MPEG-DASH streaming support, an `hls.js` upgrade, and spec-compliant `AnimatedImage`/`roAnimatedImage`. Electron is also upgraded from v39 to v43, closing a security-patch gap.
See the **BrightScript Simulation Engine** v2.5.1 [full changelog](https://github.com/lvcabral/brs-engine/releases/) for all the language and framework features and improvements.
### New Features
• Replaced the Home app by a new SceneGraph based, with new features for removing recent/sideloaded apps from the grid and opening a specific settings sections by @lvcabral in #336
• Added persistence for Roku device discovery results and a dynamic peer Roku menu label showing the discovered device's name by @lvcabral in #335
• Added a configurable console log level to the editor settings by @lvcabral in #334
### Maintenance
• Upgraded Electron from v39 to v43 by @lvcabral
• App windows now load from a privileged `app://` scheme instead of `file://` (`src/helpers/protocol.js`), since Electron 43 stopped granting `crossOriginIsolated` to `file://` documents ([electron/electron#50789](https://github.com/electron/electron/pull/50789)), which `brs-engine`'s worker needs for `SharedArrayBuffer`
• Restored CORS-free cross-origin fetches for channel content, which `file://` provided for free but a real origin like `app://` does not
• Home app recent-apps icons now serve from `app://` too, cached under a dedicated `icons/` subdirectory of `userData` rather than its root (so the rest of `userData`, including `brs-settings.json`, isn't reachable from the app windows), with a matching fix in the `brs-home.zip` app so its icon loading recognizes the new scheme. Icons cached by earlier versions are moved into the new location automatically on first launch
• `toastify-js` is now copied into the build output instead of referenced via `../node_modules/...`, which only worked under `file://`
• The `file://` → `app://` change also moves `localStorage` to a new origin, which would otherwise orphan the editor's saved code snippets and `brs-engine`'s per-channel registry values from before the upgrade. These are now migrated automatically on first launch of the new version
• Preserved the app's square frameless window look on Linux, where v43 defaults frameless windows to rounded corners
### Documentation
• Documented the Debug Server command set and updated the VS Code integration guide to drop the retired `rendezvousTracking` launch config option by @lvcabral in #333
### Dependency Bumps
• Bump `brs-engine` from 2.4.0 to 2.5.1 by @lvcabral
• Bump `brs-scenegraph` from 0.4.0 to 0.5.0 by @lvcabral
• Bump `electron` from 39.2.7 to 43.4.0 by @lvcabral
**Full Changelog**:https://github.com/lvcabral/brs-desktop/compare/v2.4.0...v2.5.0 |
| 2.4.0 | 11 d’agost del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release brings several new features and bug fixes to the BrightScript Simulator. Highlights include the new **Remote Screen** service for WebRTC video streaming, ECP rendezvous tracking for debugging, an 'Allow Remote Access' setting to restrict network services, and a new target command in the debug server. It also includes various bug fixes for the console, startup logic, and window sizing.
See the **BrightScript Simulation Engine** v2.4.0 [full changelog](https://github.com/lvcabral/brs-engine/releases/tag/v2.4.0) for all the language and framework new features and improvements.
## New Features
- Added the **Remote Screen** service: streams the simulator display to a browser on the local network over WebRTC, with an on-screen Roku remote, keyboard mapping, text entry and a screenshot download — see the [documentation](docs/remote-access.md#remote-screen). by @lvcabral in #322
- Added 'Allow Remote Access' setting to restrict network services to localhost by @anupamme in #314
- Implemented Live rendezvous logging via brs-engine API & ECP endpoints by @lvcabral in #320
- Implemented ECP rendezvous tracking by @lvcabral in #323
- Added target command handler to debug server by @lvcabral in #325
- Added ability to copy file path to clipboard by clicking status bar text by @lvcabral in #326
- Added option to clear console on startup and implement trigger in engine events by @lvcabral in #331
## Bug Fixes
- Fixed: align localStorage key so 'don't show again' checkbox persists by @lvcabral in #317
- Fixed: drop remote connections on local-only toggle and document the setting by @lvcabral in #318
- Fixed: restore minimum window size overridden by custom-electron-titlebar by @lvcabral in #319
- Fixed: reverted ECP rendezvous tracking IPC calls linked with the Debug service by @lvcabral in #321
- Fixed: console buffer losing warning/error coloring when editor opens late by @lvcabral in #327
- Fixed: startup race between queued app launch and auto-start logic by @lvcabral in #328
- Resolved npm audit findings without breaking minimatch@3 chain by @lvcabral
## Testing & Tooling
- Run ESLint and Prettier as a CI job, fix pending lint errors by @lvcabral in #329
## Dependency Bumps
- Bump fast-uri from 3.1.4 to 3.1.5 by @dependabot in #324
- Bump js-yaml from 4.3.0 to 4.3.1 by @dependabot in #330
## New Contributors
- @anupamme made their first contribution in #314
Full Changelog: https://github.com/lvcabral/brs-desktop/compare/v2.3.0...v2.4.0 |
| 2.3.0 | 26 de juliol del 2026 | — | 64 bits EXE (NSIS) Notes de la versió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](https://github.com/lvcabral/brs-engine/releases/tag/v2.3.0) 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 f |
| 2.2.0 | 12 de febrer del 2026 | — | 32 bits EXE (NSIS) Notes de la versióThis release includes several improvements and bug fixes to the BrightScript Simulator. It upgrades Electron to v39, bringing performance enhancements and security updates. Additionally, it introduces a new feature that allows users to hide or show the editor panel manually, providing a more flexible workspace. The brs-engine dependency is also upgraded to v2.1.0 with RSG extension, which includes various fixes and improvements to the BrightScript language and SceneGraph support.
brs-desktop-hide-editor
Release Changes
- Upgraded Electron to v39 by @lvcabral in #241
- Changed the Editor/Console window to allow user to hide/show the editor panel manually by @lvcabral in #242
- Upgraded brs-engine to v2.1.0 (with RSG extension), main changes were:
- (brs) Fixed MicroDebugger stack trace and context (variables)
- (brs) Properly handle crash during debugger session
- (brs) Properly handle files with UTF-8 BOM on Lexer
- (brs) Implemented DRM detection in browser environment to populate roDeviceInfo.getDrmInfoEx()
- (brs) Fix video URL handling to correctly process package video files
- (brs) Added support for the milliseconds param on roDateTime.toISOString()
- (brs) Allowed to use global as function parameter name
- (brs) Add LongInteger (Int64) support to Str() global function
- Changes on brs-scenegraph package (release v0.1.0):
- (rsg) Implement thread updates similar to SceneGraph Rendezvous
- (rsg) Fixed Scenegraph crash handling and stack trace
- (rsg) Implemented support for debugging Task threads
- (rsg) Added PosterGrid and improved focus style handling on ArrayGrid based nodes
- (rsg) Fixed ScrollingLabel to handle horizAlign and actually scroll when needed
- (rsg) Added InfoPane node
- (rsg) Fixed the handling of OK key in RowList and ZoomRowList
- (rsg) Added setNodeFocus method to ArrayGrid to reset itemFocused when getting the focus
- (rsg) Added sgnodes command to MicroDebugger to list node type statistics
- (rsg) Added MaskGroup draft and fixed several issues with field assignment
- (rsg) Fixed component XML parsing of interface to handle attributes as case-insensitive
- (rsg) Improved parsing of field types: StringArray, Vector2D and Vector2DArray
- (rsg) Fixed XML parsing to support alias field to be set without type
- (rsg) Added support for default item component on RowList and item focus callback in ArrayGrid
- (rsg) Implemented all PanelSet related nodes
- (rsg) Fixed role fields to not be case sensitive
- (rsg) Implemented the context expansion for the Main thread
- (rsg) Allowed replacing hidden fields when extending ContentNode
- (rsg) Prevent issues with Video node on startup (after the Splash)
- (rsg) Improved handling of manifest entries ui_resolutions and uri_resolution_autosub
- (rsg) Fixed crash when m.top.getScene() is used on init() in a Task thread
- (rsg) Implemented ancestorBoundingRect() method
- (rsg) Added support for multiple Node field aliases (CSV)
- (rsg) Fixed Node.setValue() signature to prevent field creation on assignment
- (rsg) Fixed item component handling to not fail when fields are not defined in XML
- (rsg) Fixed Node field aliases observer trigger
- (rsg) Fixed Poster, BusySpinner, Video and TrickPlayBar to properly handle child nodes uri update
- (rsg) Fixed BusySpinner dimensions calculation
- (rsg) Fixed circular dependency issue when Node has child with its same id in alias
- (rsg) Fixed StandardDialog focus and back key press handling
- (rsg) Fixed observables serialization and handling of InfoFields
Full Changelog: v2.1.3...v2.2.0 |
| 2.1.3 | 6 de gener del 2026 | — | 32 bits EXE (NSIS) Notes de la versióThis release includes several bug fixes and improvements to the BrightScript Simulator. It addresses issues related to custom Settings icons on Windows OS, Roku devices detection on computers with multiple network interfaces, resizing the main window on macOS, and enforces a single application instance. Additionally, it upgrades the brs-engine dependency to v2.0.4 with RSG extension, bringing various fixes and enhancements to the BrightScript language and SceneGraph support including the implementation of Animation and Interpolator nodes.
brs-desktop-animation-demo-01-2026
Release Changes
- Fixed custom Settings icons on Windows OS by @lvcabral in #237
- Improved Roku devices detection on computers with several NICs by @lvcabral in #238
- Fixed resizing main window on MacOS by @lvcabral in #239
- Enforce single application instance by @lvcabral in #240
- Upgraded brs-engine to v2.0.5 (with RSG extension), main changes were:
- (brs) Fixed debugger to restore the context on RunTimeError
- (brs) Added toBoolean for all numeric components
- (brs) Fixed CreateObject to properly handle boxed parameters and raise RunTimeError
- (rsg) Fixed roSGNode creation using boxed String as nodeType
- (rsg) Fixed focus when initialFocus is not set
- (rsg) Fixed: ArrayGrid based nodes must reset focused item when content is updated
- (rsg) Fixed findNode to prioritize search on children
- (rsg) Implemented Animation and Interpolator nodes
- (rsg) Changed Node to preserve field name case
- (rsg) Fixed conflict on roSGScreen scene events handling
- (cli) Fixed CLI loading SceneGraph components on Windows file system
- (rsg) Optimized roSGScreen to only render when changes happened
Full Changelog: v2.1.2...v2.1.3 |
| 2.1.2 | 1 de gener del 2026 | — | 64 bits EXE (NSIS) Notes de la versióThis release brings several bug fixes to the BrightScript Simulator by upgrading the brs-engine dependency to v2.0.4 with RSG extension v.0.0.4. Key fixes include preventing division by zero errors in roAudioMetadata, correcting font metric checks in roFontRegistry, and addressing rendering issues in Poster and Overhang components. Additionally, it resolves event handling problems in item components of ArrayGrid based nodes, allows assignment of roPath to String fields in Field, and prevents crashes in Task when updating fields with null.
## Release Changes
- Upgraded brs-engine to v2.0.4 (with RSG extension), main changes were:
* (brs) Prevented division by zero on roAudioMetadata
* (brs) Fixed roFontRegistry to properly check parsed font metrics
* (rsg) Fixed Poster rendering to match Roku's automatic scaling
* (rsg) Fixed Overhang default logo scaling
* (rsg) Fixed item component's events on ArrayGrid based nodes
* (rsg) Changed Field to allow assign roPath to a String field
* (rsg) Fixed Task to prevent crash on updated fields with null
Full Changelog: https://github.com/lvcabral/brs-desktop/compare/v2.1.1...v2.1.2 |
| 2.1.1 | 24 de desembre del 2025 | — | 64 bits EXE (NSIS) Notes de la versió## Release Changes
This release adds new settings tab to allow mounting and unmounting an external storage volume (ext1:/) in the BrightScript Simulator, allowing apps to access files to this volume as they would on a real Roku device. It also includes several fixes to the SceneGraph implementation, improving stability and compatibility with Roku applications.
- Added support to mount/unmount an External volume (ext1:/) by @lvcabral in #235
- Prevent duplicate brs-engine version on About dialog on reset by @lvcabral in #236
- Upgraded brs-engine to v2.0.3 (with RSG extension), bringing the following changes
* (api) Fixed getWorkerLibPath to avoid duplicate parameters
* (api) Fixed: Deleted registry keys not being removed from LocalStorage
* (api) Improved SceneGraph app detection
* (brs) Fixed String coercion to handle isStringComp objects
* (brs) Changed BrsExtension signature to include version
* (rsg) Fixed: Video UI header removed too soon
* (rsg) Prevent crash when custom fonts are missing
* (rsg) Made ArrayGrid based nodes to be aware of content changes
* (rsg) Fixed roSGNode methods setField and addFields to properly handle ContentNode
* (rsg) Removed usage of reflection to build subtypeHierarchy in Node
* (brs) Added support to dynamically mount/unmount ext1: volume
* (brs) Changed roFileSystem.getVolumeInfo() to properly return ext1:/ information
* (rsg) Implemented support for change field in Node
* (rsg) Changed Task to update existing Node fields to preserve references
* (rsg) Fixed Node environment hostNode initialization
* (rsg) Fixed Node.callFunc() to not be case sensitive
Full Changelog: https://github.com/lvcabral/brs-desktop/compare/v2.1.0...v2.1.1 |
| 2.1.0 | 5 de desembre del 2025 | — | 64 bits EXE (NSIS) Notes de la versióRelease Changes
- Use Monaco as code editor by @lvcabral in #223
- Add Deep Linking support by @lvcabral in #225
- Added new buttons to control customization (rew, ff, mute) and improved settings layout by @lvcabral in #226
- Fixed Deep Linking with peer Roku devices by @lvcabral in #227
- Upgraded brs-engine to v2.0.0 (with RSG extension) and other dependencies by @lvcabral in #228
- Refactored brs-engine to support extensions and moved SceneGraph code to a separate package
- Introduced an extension system with the BrsExtension interface and lifecycle hooks
- Moved SceneGraph code to the src/extensions/scenegraph/ directory
- Several documentation updates to reflect the new extension model, including a new Extensions document
- Refactored test file imports to use top-level brs exports
- Created the new brs-scenegraph package with independent build configuration
- Added support to field array types: intarray, floatarray, boolarray, stringarray, colorarray and timearray
- Fixed Field.canAcceptValue to properly validate array values
- Refactored roSGNode to remove BrsIterable and use SetValue instead of Set
- Raise type mismatch error when passing Uninitialized value to non-dynamic function parameters
- Prevented removing system fields and setFields to add fields
- Added BrsEvent abstract class and BrsCollection interface
- Prevent media nodes to send messages in task threads
- Fixed optional chaining with roInvalid when using methods
- Changed Node.ts to handle all default fields as system fields
Full Changelog: v2.0.5...v2.1.0 |
| 2.0.5 | 15 de novembre del 2025 | — | 64 bits EXE (NSIS) Notes de la versióRelease Changes
- Implemented Peer Roku list discovery via SSDP by @lvcabral in #222
- Bump brs-engine to v2.0.0-alpha.25 by @lvcabral - main changes since last release:
- Clear the display before showing icon as splash
- Added support for the not operator in the preprocessor's #if clause evaluation
- Fixed exception handling for Parser and Preprocessor
- Added UTF-16 support for StringI and prevented crash with negative string.repeat()
- Added validation to #if to not allow extra text after the condition token
- Fixed loading of SG localized terms and added missing es_ES and it_IT files
- Fixed ZIP based volumes pkg:, common: and ext1: to show the original case on path names
- Prevented debug error messages in Network.ts
- Replaced dependency xml2js by xmldoc
- Added test case for common: volume
- Refactored API to create a task module
Full Changelog: v2.0.4...v2.0.5 |
| 2.0.4 | 13 de novembre del 2025 | — | 64 bits EXE (NSIS) Notes de la versióThis release brings several improvements to the BrightScript Simulator's file system handling. It upgrades the zenFS dependency, enhancing file operations and ensuring better compatibility with Roku applications. Key changes include saving paths in writable volumes with their original case, sharing temporary and cache file systems among threads, and improving the serialization of RoSGNode objects for inter-thread communication. Additionally, this update addresses issues related to audio playback, content loading, and node management within the SceneGraph framework.
Release Changes
- Bump brs-engine to v2.0.0-alpha.22 by @lvcabral - main changes since last release:
- Upgraded zenFS dependency and removed memory-fs
- Added common:/certs/ca-bundle.crt file and upgraded zenFS
- Fixed issue that prevented playback of the first loaded audio
- Save paths in writeable volumes with original case
- Changed tmp: and cachefs: to be shared among threads
- Refactored RoSGNode to use type SGNode and fixed clone() and roUtils.deepCopy()
- Forced ignore cache for common.zip when new version is available
- Improved serialization of RoSGNode to transfer among threads
- Prevent Node child serialization in AA and Array
- Refactored RoSGNode to be an abstract class and created the new SceneGraph Node class
- Fixed ContentNode field setting
- Fixed setting fields with default values in the XML
- Fixed MicroDebugger to properly handle a line with multiple statements separated by colon :
- Generate a registry event when loading the registry during startup of the engine
- Improvements on node thread ownership
Full Changelog: v2.0.3...v2.0.4 |
| 2.0.3 | 3 de novembre del 2025 | — | 64 bits EXE (NSIS) Notes de la versióThis release improves several features of the SceneGraph support, including the availability of accessing Scene in Task threads and the prevention of crashes when using valid nodes not yet implemented. It also includes fixes for the App Installer Screenshot integration with VSCode, enhances app crash handling in Home App mode, allows updating the device locale without needing a reset, and improves the Console to properly handle empty lines and wrap long strings.
Release Changes
- Fixed App Installer Screenshot response to VS Code Extension by @lvcabral in #217
- Improved app crash handling in Home App mode by @lvcabral in #218
- Allow update device locale without need of reset by @lvcabral in #219
- Fixed Console to not ignore empty lines and properly wrap long strings by @lvcabral in #220
- Bump brs-engine to v2.0.0-alpha.19 by @lvcabral - main changes since last release:
- Added support for roSGNode.getScene() in Task threads
- Added 50 missing supported Nodes to SGNodeType enumerator
- Fixed return type for roRegex.split() to roList instead of roArray
- Fixed: stop not working as the last statement
Full Changelog: v2.0.2...v2.03 |
| 2.0.1 | 22 d’octubre del 2025 | — | 64 bits EXE (NSIS) Notes de la versió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
- Fixed getSSID to prevent startup error message on Raspberry Pi OS by @lvcabral in #199
- Fixed option to run last loaded app on startup by @lvcabral in #200
- Fixed race condition with VSCode deployment by @lvcabral in #201
Full Changelog: v2.0.0...v2.0.1 |
| 2.0.0 | 21 d’octubre del 2025 | — | 64 bits EXE (NSIS) Notes de la versió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 r |
| 1.4.0 | 4 de febrer del 2025 | — | 64 bits EXE (NSIS) Notes de la versióRelease Changes
- Replaced the Delete button by new code snippet tools button by @lvcabral in #167
- Added support for ECP launch, input and exit-app endpoints by @lvcabral in #170
- Added Peer Roku device menu options by @lvcabral in #172
- Remove locales not supported on Roku by @lvcabral in #173
- Editor: Save single snippet and alert to changes by @lvcabral in #174
- Added editor context menu and improved change control by @lvcabral in #176
- Removed ECP service circular dependencies by @lvcabral in #177
- Removed Installer service circular dependencies by @lvcabral in #178
- Removed Telnet service circular dependencies by @lvcabral in #179
- Close app on peer Roku device when closed on simulator by @lvcabral in #180
- Improved roDeviceInfo.getConnectionInfo() by getting actual network information by @lvcabral in #181
- Upgraded brs-engine to v1.8.5 - main changes since last release:
- Implemented BrightScript features up to Roku OS 14.0 by @lvcabral in lvcabral/brs-engine#420
- Several Registry improvements by @lvcabral in lvcabral/brs-engine#407
- Several App handling/management improvements by @lvcabral in lvcabral/brs-engine#413
- Added Platform info to the result of roDeviceInfo.getModelDetails() by @lvcabral in lvcabral/brs-engine#414
- Allowed m object to be re-assigned in Function scope by @lvcabral in lvcabral/brs-engine#417
- Implemented global static object by @lvcabral in lvcabral/brs-engine#418
- Add new supported control buttons and ECP command by @lvcabral in lvcabral/brs-engine#421
- Fixed CreateObject behavior to match Roku by @lvcabral in lvcabral/brs-engine#423
- Implemented roSystemLog and refactored roMessagePort by @lvcabral in lvcabral/brs-engine#426
- Implemented roDeviceInfoEvent by @lvcabral in lvcabral/brs-engine#429
- Implement roCECStatus component by @lvcabral in lvcabral/brs-engine#430
- Add fake server support to roChannelStore by @lvcabral in lvcabral/brs-engine#431
- Fixed Int32 constructor handling of overflow to match Roku by @lvcabral in lvcabral/brs-engine#435
- Added new roDateTime methods: asSecondsLong and fromSecondsLong by @lvcabral in lvcabral/brs-engine#437
- Fixed Int32 and Int64 hex parsing and formatting by @lvcabral in lvcabral/brs-engine#438
- Improved sprintf formatting by @lvcabral in lvcabral/brs-engine#443
- Improved IfToStr type checking by @lvcabral in lvcabral/brs-engine#449
- Fixed roVideoPlayer method getAudioTracks by @lvcabral in lvcabral/brs-engine#457
- Added serialNumber to device info object and to response of GetModelDetails()
- Fixed behavior of End statement to terminate the app
- Improved and documented MicroDebugger functions
- Improvements on WAV handling
- Improved component roURLTransfer by @lvcabral in lvcabral/brs-engine#461
- Implemented roHdmiStatus and roHdmiStatusEvent components by @lvcabral in lvcabral/brs-engine#463
- Implemented roTextureRequest and roTextureManager by @lvcabral in lvcabral/brs-engine#465
- Implemented roSocketAddress by @lvcabral in lvcabral/brs-engine#460
- Implemented mocked roStreamSocket component by @lvcabral in lvcabral/brs-engine#462
- Implemented mocked roDataGramSocket and extracted common interfaces into ifSocket by @lvcabral in lvcabral/brs-engine#466
- Fixed: Some menu options were disabled when Settings is opened with app running by @lvcabral in #171
- Bump nanoid from 3.3.7 to 5.0.9 by @dependabot in #175
Full Changelog: v1.3.2...v1.4.0 |
| 0.9.0.20210627.1 | 7 de març del 2023 | — | Qualsevol processador EXE (NSIS) |