Skip to content

Releases: sjbarag/brs

v0.37.0

30 Oct 18:15
60c8c2e
Compare
Choose a tag to compare

Features

  • Implemented brs#triggerKeyEvent for testing key handling (#571)
  • Added MiniKeyboard component support (#555) Thanks @philmein23!

v0.36.0

27 Oct 22:52
0b48932
Compare
Choose a tag to compare

Features

  • Component tree focusedChild fields respond to focus changes (#566)

Fixes

  • RoRegex#matchAll now captures groups (#569)
  • RoRegex#matchAll and RoRegex#replaceAll multiple calls bug fix (#568)

v0.35.0

22 Oct 21:09
0462797
Compare
Choose a tag to compare

Fixes

  • Using callFunc on a mocked component now uses the actual mocked implementation, instead of the real one.

v0.34.0

19 Oct 22:01
4f3a963
Compare
Choose a tag to compare

Fixes

  • Inherited functions called by callFunc now have the correct environment (#557)
  • Mocked functions now have the correct subtype (#556)

Features

  • Implemented _brs_.resetMockFunction/_brs_.resetMockComponent to reset a single mock function/component (#556)

v0.33.1

08 Oct 21:17
abe0d76
Compare
Choose a tag to compare

Fixes

  • roSGNode#delete and roSGNode#removeField are no longer case-sensitive (#559)

v0.33.0

28 Sep 20:41
e72a84d
Compare
Choose a tag to compare

Features

  • You can now use the componentDirs argument to instruct brs to look for XML files in places other than the components/ folder (#549

Fixes

  • callFunc now respects inheritance and can be called with multiple arguments (#551)

v0.32.0

25 Sep 18:12
a3f8745
Compare
Choose a tag to compare

Fixes

  • Associative array access errors will now be surfaced to the user via stdout, whereas before they were swallowed (#548)

v0.31.0

18 Sep 21:27
2572d49
Compare
Choose a tag to compare

Features

  • _brs_.mockFunction now returns an associative array mock, to allow you to keep track of the calls and results of your mock function (#541).

v0.30.0

14 Sep 18:17
6eb1cea
Compare
Choose a tag to compare

Features

Bug Fixes

  • Previously, the RoString constructor wouldn't behave correctly if you didn't pass it an initial argument. Now, it does (#533)! Thanks @alimnios72!
  • The parser wasn't keeping track of the else token locations for if statements. Now, it does (#527)!

BRS v0.29.0

03 Sep 23:56
9e2720f
Compare
Choose a tag to compare
BRS v0.29.0 Pre-release
Pre-release

Features

  • brs now knows how to create an roDeviceInfo object (#480)! Most of the data is mocked out, but it does respect the running system's LOCALE and TZ environment variables. Thanks @phillmein23!
  • brs also learned about the Scene node, allowing for subclasses of Scene to be created as-needed. Great work @phillmein23!
  • brs finally gained support for unobserveField, as well as observeFieldScoped and unobserveFieldScoped. It also prevents observeField/observeFieldScoped from being called outside the context of a SceneGraph Node, just like the reference implementation does. (#505 / #521 / #526 / #527)

Bug Fixes

  • brs would previously report that component Scene extends component Foo, when really it was Foo that extended Scene (#519 / #520). Great catch @strattonbrazil!
  • brs now matches the Reference BrightScript Implementation (RBI) closer by returning invalid for calls to findNode("") (#523 / #524). Nice job @strattonbrazil!
  • Explicit return statements wihin an observeField callback no longer throw "return statement encountered" errors. (#508 / #522)

💚 Thanks! 💚

I work at @hulu and they let me and some colleagues hack on (and maintain) this project during work hours. Thanks for letting us do that!

🚚 We're Moving 🚚

Just a reminder that the main brs repo is moving into the @hulu organization soonish! This should have no practical impact on the project's direction, its maintenance, or even the people involved. Over the past year all the day-to-day maintenance has been shared between me (@sjbarag) and a few colleagues during work hours; this migration is an acknowledgement of that maintenance team and all the hard work that's they've put in.

More details will be communicated as they become available, but if you have any questions feel free to file an issue or email me (use git log to find my address 😛).