Skip to content

Releases: sjbarag/brs

BRS 0.17.6

29 Jan 17:23
Compare
Choose a tag to compare
BRS 0.17.6 Pre-release
Pre-release

🚨 Published, then deprecated 🚨

This should have been v0.18.0 to maintain strict semver compliance.

Bugs Fixed

  • @strattonbrazil implemented ifSGNode#hasField, which was previously missing from the base Node implementation (#368). Thanks a ton!

New Features

  • NodeJS's process.argv is now accessible from BrightScript via _brs_.process.argv! It's unparsed (just like in node), so it's up to BrightScript devs to parse arguments as desired. (#366)

Disclosure

I work at @hulu, and they've given me the freedom to maintain this project at work. Thanks y'all!

BRS 0.17.5

27 Jan 20:42
Compare
Choose a tag to compare
BRS 0.17.5 Pre-release
Pre-release

Summary

Fixed a (not-filed) bug in which function parameters weren't getting automatically boxed when their associated signature entry was declared as object (#365)

Disclosure

I work at @hulu and wrote this release at work! Thanks for the freedom, @hulu 💚

BRS 0.17.4

24 Jan 01:00
5f274d9
Compare
Choose a tag to compare
BRS 0.17.4 Pre-release
Pre-release

Bug Fix(es)

  • Resolves #363, in which formatJson(someBoxedType) printed errors to the console (#364)

Disclosure

@hulu paid me to release this

BRS 0.17.3

22 Jan 18:12
Compare
Choose a tag to compare
BRS 0.17.3 Pre-release
Pre-release

Bug Fixes

  • Resolved #361 by implementing roString#toStr and roString#getString (#362)
  • Resolved #359, in which intrinsic types returned from an as object function weren't getting automatically boxed (#360)

Disclosure

@hulu paid me to do this release. Thanks 💚

BRS 0.17.2

21 Jan 18:09
Compare
Choose a tag to compare
BRS 0.17.2 Pre-release
Pre-release

Bug Fixes

  • Finally resolved #332, in which the brs parser didn't support a dot before an indexed "get", e.g. foo.["bar"](#357)

Behavior Changes

  • Library statements are now no-op in the Interpreter phase, instead of throwing errors immediately when they're reached. This allows projects that contain Library statements to be executed mostly accurate, with the exception that anything brought into scope via a Library statement isn't actually brought into scope yet.

Disclosure

I fixed both of those bugs on @hulu's time. Thanks for giving me the freedom to do that 💚

BRS 0.17.1

02 Jan 21:30
Compare
Choose a tag to compare
BRS 0.17.1 Pre-release
Pre-release

Just a simple bugfix release!

  • Prevents an infinite loop when parsing custom SceneGraph components that extend not-yet-implemented components.

BRS 0.17.0

30 Dec 23:49
Compare
Choose a tag to compare
BRS 0.17.0 Pre-release
Pre-release

Version 0.16.0 of brs fixes a few parsing bugs and adds more accurate support for the SceneGraph framework.

❤️ Contributors ❤️

  • @TwitchBronBron fixed the parser to allow REM as a property in associative arrays!
  • @lvcabral implemented the GetGlobalAA function and fixed a scoping bug with m!
  • @lvcabral also fixed a parsing bug that caused single-line if statements to sometimes be considered malformed!
  • @MATATAT and @alimnios72 teamed up to get the scoping of custom SceneGraph nodes implemented! Custom nodes now call init through their parent chain, have proper function flattening, and call observer functions in the proper scope! Fantastic work, friends. ❤️

Thanks, Hulu 💚

I still work for @hulu, and so does @alimnios72 and a few others who have contributed to this project. Thanks for letting us work on this during work hours!

BRS 0.16.0

01 Nov 22:29
Compare
Choose a tag to compare
BRS 0.16.0 Pre-release
Pre-release

Continuing the trend of 0.15.0, brs version 0.16.0 adds more SceneGraph support. Now the brs project can create custom components, parsed from XML component definitions! Languages grow up so fast these days.

❤️ Contributors ❤️

  • @alimnios72 implemented the observeField method! Fields can now be observed, and callbacks called when field values change. Wow!
  • @WilliamsMartinezGLB Implemented four new BrightScript components! These support automatic boxing, which makes using their primitive versions much simpler. Thanks, and welcome to the project!
    • roBoolean
    • roDouble
    • roFloat
    • roInt
  • @strattonbrazil , @gincwang , @underwoo16 , and @alimnios72 joined forces to add support for custom components defined in XML, as well as children in the RoSGNode hierarchy! Y'all are amazing 🎉
  • @MATATAT made sure our child-nodes are parsed in the correct order, and brought our implementation in line with the reference implementation. Thanks a ton Matt, and congrats on your first contribution to brs!

💚 Special Thanks 💚

You probably know the deal by now — I work at @hulu and they let me hack on this during work hours! The same goes for @strattonbrazil , @alimnios72, @gincwang, and several other past and present contributors to this project. I'm not obligated to write this bit, but I do to show how much I appreciate that we're allowed to contribute to this project on Hulu's time.

BRS 0.15.0

27 Sep 21:07
025022d
Compare
Choose a tag to compare
BRS 0.15.0 Pre-release
Pre-release

Another mostly runtime release, but this one introduces some SceneGraph concepts! 😱

❤️ Contributors ❤️

You all contributed way more than I did in this last release — it means a ton that you're willing to help!

  • @strattonbrazil implemented the base RoSGNode class with the ifAssociativeArray interface!
  • @gincwang implemented ifSGNodeFocus and part of ifSGNodeChildren!
  • @alimnios72 implemented ifSGNodeField on RoSGNode!
  • @underwoo16 implmented ifSGNodeDict and added the ability to mock out object creation 🎉
  • @Maestorme finished off ifSGNodeChildren!
  • @TwitchBronBron cleaned up the lexer a bit, and made parsed Blocks include the leading and trailing whitespace! ↩️ ↩️ ↩️
  • @lvcabral implemented the global String() and StringI() functions, RoDateTime, bitshift operators, fixed a for loop bug, and taught the REPL how to quit when you type quit!

💚 Special Thanks 💚

@hulu (who employs me, @strattonbrazil, @alimnios72, and a few other contributors from this release) let us all spend a lot of time digging into these features. Thanks, y'all!

BRS 0.14.0

12 Jun 23:09
Compare
Choose a tag to compare
BRS 0.14.0 Pre-release
Pre-release

A mostly runtime release this time!

  • The global MatchFiles and Run functions are now implemented at runtime
  • Implementation of the RoString type has begun, including automatic boxing to that type to match the reference BrightScript implementation
  • RoRegex now returns empty strings for groups that aren't found
  • Manifest parsing is now exposed separately from using that file to preprocess tokens, allowing the manifest file to be read just once (useful for long-running processes that repeatedly parse BrightScript, like editor tooling)
  • Single-word #elseif and #endif conditional compilation flags are now supported
  • Empty print statements don't cause parse errors anymore
  • stop statements don't cause parse errors anymore
  • goto and label markers are now supported in the parser!

❤️ Contributors ❤️

  • @TwitchBronBron improved the parser by allowing empty print statements, stop statements, and goto statements (with labels!). Thanks, bud!

💚 Special Thanks 💚

@hulu (my employer) let me work on this project during work hours again! Thanks for being awesome 😃