github lvcabral/brs-engine v0.9.0-emu
v0.9.0 - Improvements on ECP and BrightScript support

latest releases: v1.6.1, v1.6.0, v1.5.7...
3 years ago

Release Notes

This release brings the integration of improvements and fixes from the brs interpreter up to their v0.44. Also several improvements

  • (app) Implemented ECP-2 WebSocket API to support official Roku mobile apps (iOS and Android)
  • (app) Implemented support for keyboard characters sent via ECP
  • (app) Added support for new control keys: Backspace, Enter, PlayOnly and Stop
  • (app) Restore the app window, if minimized, when a channel is loaded remotely via the Installer
  • (app) Added Ctrl+R shortcut to reload most recent channel
  • (app) Added current locale on the Status bar
  • (app) Made path length on the status bar proportional to the app window's width
  • (app) Fixed status bar Resolution label that was showing "width" twice
  • (app,web) Now emulator loads all files from the zip package even ones with custom extension.
  • (app,web) Made Key8 to behave as the Info (*) control key, for keyboards that lacks the numeric keypad
  • (app,web) Upgraded several dependencies to patch security vulnerabilities.
  • (brs) Implemented support for Dot (.) and Attribute (@) operators for XML objects
  • (brs) Implemented several missing methods to roDeviceInfo
  • (brs) Added check for valid parameters on roRegion constructor
  • (brs) Ignore Label statements when parsing the code
  • (brs) Fixed roRegion.SetWrap(true) in ifDraw2D.DrawObject() and ifDraw2D.DrawScaledObject()
  • (brs) Fixed roString.Tokenize() that was sometimes returning an empty string at the end of the list
  • (brs) Fixed roAppManager.updateLastKeyPressTime() definition typo and implemented actual time reset
  • (brs) Fixed issues with roTimespan
  • (brs) Fixed roRegion.offset() to accept float parameters
  • (doc) Updated list of emulator limitations
  • Merged brs v0.44.0 below some key commits:
    • fix(lexer): Add support for explicit integer literals (#637)
    • feat(stdlib): add isEmpty method to roString (#636)
    • fix(parse,interp): Support unary + operator for numbers (#615)
    • fix(lex): Allow JS object properties as identifiers (#614)
    • feat(stdlib): Implement RoLongInteger and cast int to LongInt, float to Double (#600)
    • fix(stdlib): Correct sorting issues with mixed arrays (#592)
    • feat(parse,interp): Implement dim statement (#531)
    • fix(rsg): Adds optional arg to RoString constructor (#533)
    • fix(parse): Restore nested block parsing (#514)
    • fix(parse): Allow multiple statements in single-line if branches
    • feat(stdlib): Added case sensitive support to roAssociativeArray (#509)
    • fix(parser): make if statements with 'not' work (#443)
    • bug(parse): Capture EndIf token when used alongside else (#393)
    • bug(interp): Allow Float parameters passed into function signatures expecting Double (#394)
    • fix(interp): Allow invalid returns for signatures that return object (brs#395)

You can test the web app from this release at https://lvcabral.com/brs/

Desktop Application

Download Games to Test

Below you can find a list of games tested with the emulator, that are publicly available with source code. Just download the zip files and have fun!

Don't miss a new brs-engine release

NewReleases is sending notifications on new releases.