Releases: lvcabral/brs-engine
v1.8.3 - Fixed roVideoPlayer and End Statement
The v1.8.x
releases of the core
library, are the final ones as a fully synchronous interpreter, the next release v1.9.x
will come with support for async/await
to remove the dependency on SharedArrayBuffer
.
Release Changes
- Fixed
roVideoPlayer
methodgetAudioTracks
by @lvcabral in #457 - Added
serialNumber
to device info object and to reponse ofGetModelDetails()
- Fixed behavior of
End
statement to terminate the app - Improved CLI app list handling
- Improved and documented MicroDebugger functions
- Moved home sound effect setup
- Improvements on WAV handling
- Reduced complexity and simplified some references
- Upgraded dependencies
Full Changelog: v1.8.2...v1.8.3
v1.8.2 - Fixed ifToStr() for roInvalid
Release Changes
- Fixed
IfToStr
to properly handleroInvalid
component by @lvcabral in #451 - Simplified
AppPayload
type checking by @lvcabral in #452 - Upgraded dependencies.
Full Changelog: v1.8.1...v1.8.2
v1.8.1 - Interface modules and fixes on number parsing
This release bring several fixes on numeric types parsing to hexadecimal and using the toStr()
and String.format()
methods. This also brings the extraction of reused interfaces into separate modules, reducing the replication of code and also improving the maintainability of the core
library.
Release Changes
- Fixed
Int32
constructor handling of overflow to match Roku by @lvcabral in #435 - Upgraded dependency
restana
to v5.0.0 by @lvcabral in #436 - Added new
roDateTime
methods:asSecondsLong
andfromSecondsLong
by @lvcabral in #437 - Fixed
Int32
andInt64
hex parsing and formatting by @lvcabral in #438 - Simplified
Int32
constructor code by @lvcabral in #439 - Updated some documentation pages by @lvcabral in #440
- Fixed runtime error stack trace on
Callables
by @lvcabral in #442 - Created
ifToStr()
and refactored components to use it and improvedsprintf
formatting by @lvcabral in #443 - Change file names to the standard by @lvcabral in #444
- Made
ifToStr
to handle components that do not supportformat
by @lvcabral in #445 - Created
IfSetMessagePort
andIfGetMessagePort
interfaces by @lvcabral in #446 - Implemented
IfEnum
as an interface module and refactored components by @lvcabral in #447 - Implemented
IfDraw2D
interface to simplify and reuse code by @lvcabral in #448 - Improved
IfToStr
type checking by @lvcabral in #449 - Implemented
IfArray
andIfList
interface modules by @lvcabral in #450
Full Changelog: v1.8.0...v1.8.1
v1.8.0 - Multiple Improvements
This release is full of refactorings and improvements on the engine internals, the folder structure was also changed with the app
folder renamed to browser
and the src/worker
folder renamed to src/core
. The File System now supports the external USB volume (ext1:
) that can be mounted from an additional zip
file (or folder in CLI). Several other changes and improvements were done in the registry and apps management. The roMessagePort
component was simplified and improved, and new events are now supported, in particular: roInput
(via ECP and API) and roChannelStore
using the fakeServer(true)
option. The BrightScript language and components are now synchronized with Roku OS 14. Check specific PRs in the log below for more information.
Another new feature was the addition of Platform
information via roDeviceInfo.hasFeature
, the screenshot below is from the customization documentation:
Release Changes
- Implemented support to mount External storage as volume
ext1:
by @lvcabral in #403 - Several Registry improvements by @lvcabral in #407
- Several App handling/management improvements by @lvcabral in #413
- Allowed
m
object to be re-assigned in Function scope by @lvcabral in #417 - Implemented
global
static object by @lvcabral in #418 - Implemented BrightScript features up to Roku OS 14.0 by @lvcabral in #420
- Add new supported control buttons and ECP command by @lvcabral in #421
- Remove debug local ips by @lvcabral in #422
- Added support for
RokuBrowser
library androNDK
component. by @lvcabral in #402 - Fixed
CreateObject
behavior to match Roku by @lvcabral in #423 - Raised Runtime Error with Interpreter
addError
method by @lvcabral in #424 - Implemented
roSystemLog
and refactoredroMessagePort
by @lvcabral in #426 - Fixed
dev
app saving data on app list by @lvcabral in #427 - Implemented function
toAssociativeArray()
to simplify creation of AA in TypeScript code by @lvcabral in #428 - Implemented
roDeviceInfoEvent
by @lvcabral in #429 - Implement
roCECStatus
component by @lvcabral in #430 - Add fake server support to
roChannelStore
by @lvcabral in #431 - Fix File System when using
root
orext
CLI flags and running on Linux by @lvcabral in #432 - Restricted
FlexObject
content types by @lvcabral in #433 - Implemented support for
roInputEvent
generated via ECP or API by @lvcabral in #434
Full Changelog: v1.7.2...v1.8.0
v1.7.3 - Fixed Optional Operators and For Each
Release Changes
- Changed the
For Each
behavior to match Roku, usingifEnum
iteration index by @lvcabral in #410 - Finished optional chaining operator implementation by @lvcabral in #400
- Implemented
roDeviceInfo.getExternalIP()
by @lvcabral in #397 - Prevent crash when using invalid URL() by @lvcabral in #398
- Improved check for
SharedArrayBuffer
suport by @lvcabral in #399 - build(deps): bump elliptic from 6.5.7 to 6.6.0 by @dependabot in #394
Full Changelog: v1.7.0...v1.7.3
v1.7.0 - FormatJSON() fixes and MicroDebugger stats
Release Changes
- Implemented new Type and Enum definitions by @lvcabral in #374
- Added reference tracking and object disposal event by @lvcabral in #373
- Implemented
ObjFun()
global function and support forvariadic
arguments onCallable
by @lvcabral in #375 - Added support for
formatJson()
undocumented flags 256 and 512 by @lvcabral in #377 - Implemented Micro Debugger commands:
classes
,bscs
andstats
by @lvcabral in #385 - Static analysis fixes by @lvcabral in #389
- Fixed Critical bug with
formatJson
#383 by @lvcabral in #390 - Fixed #384 - Allow
try
andcatch
as object properties. by @lvcabral in #391 - build(deps-dev): bump webpack from 5.91.0 to 5.94.0 by @dependabot in #381
- build(deps): bump ws from 8.17.0 to 8.17.1 by @dependabot in #379
- build(deps): bump braces from 3.0.2 to 3.0.3 by @dependabot in #378
- build(deps): bump elliptic from 6.5.5 to 6.5.7 by @dependabot in #386
- build(deps): bump express from 4.19.2 to 4.21.1 by @dependabot in #387
- Upgraded dependencies by @lvcabral in #388
Full Changelog: v1.6.1...v1.7.0
v1.6.1 - Numeric Labels
Release Changes
- Added support for numeric labels by @lvcabral in #372
- Fixed
goto
withtry/catch
by @lvcabral in #371
Full Changelog: v1.6.0...v1.6.1
v1.6.0 - Goto Label Statement
Release Changes
- Implemented
goto
statement by @lvcabral in #367 - Fixed sound
select
not being triggered by @lvcabral in #366
Full Changelog: v1.5.7...v1.6.0
v1.5.7 - Fixed Critical Issue
Release Changes
- Fixed issue that was not restoring the environment in Try mode when
stopOnCrash
was enabled by @lvcabral in #361 - Reduced complexity of Try/Catch visit functions by @lvcabral in #362
Full Changelog: v1.5.6...v1.5.7
v1.5.6 - Bump to Firmware 11.5 and Fixes
Release Changes
- Fixed loading fonts on CLI when running
.brs
files by @lvcabral in #351 - Added unit tests for
continue for/while
by @lvcabral in #352 - Improvements to stack trace and
try...catch
by @lvcabral in #353 - Updated engine-api.md by @lvcabral in #354
- Simplification of the Error objects and removing abbreviations from properties by @lvcabral in #355
- Renamed type
ErrorCode
toErrorDetail
by @lvcabral in #356 - Updated Firmware Version to 11.5 as Continue For/While is now supported by @lvcabral in #357
- Removed usage of global objects to encrypt/decrypt packages by @lvcabral in #358
- Fixed multiple Static Analysis issues raised by Sonar Cloud by @lvcabral in #359
- Increased the timeout for CLI run zip file test to 10s by @lvcabral in #360
Full Changelog: v1.5.5...v1.5.6