- ⬆️ ✨ Moved to Rhino 1.7.14. This means many new features, including template strings and better Java interoperability. See full list on Mozilla's site. (#186).
- 〽️ Refactored internals fo better fit the new Rhino version. We now have a proper context factory, as well as try-with-resources on all context invocations.
- 〽️
BProgramRunnerListener
defautls to ignore errors during BProgram execution, instead of printing the details tostderr
. This behavior remains inBProgramRunnerListenerAdapter
, where it makes more sense. Of course, client code can override these methods. (#191). - ⬆️ Printing problematic b-thread's name during serialization errors (#169).
- ✨ Custom serialization for the common and non-serializable
java.util.Optional
and JavaScript'sSet()
. (#189)- This is a basis for custom serializations in general, we now have an initial mechanism in place.
- ⬆️ Improved wrapping of Java objects as they come to JavaScript: Java strings are now treated as native JS strings, so using the
===
operator works as expected. (#104). - 🐛 Verification stops on ECMAScript errors, instead of hanging (#49).
- 🐛 Improved error reporting when trying to sync outside of a b-thread (#174).
- ⬆️ Informative error message when requesting a list of events and one of the events is
null
(#184). - ⬆️ Logging is turned off by default during verification. Call
BPjs.setLogDuringVerification(true)
to enable them again (#160). - ✨ Added local JACOCO code coverage reports.
- 〽️ Calling
bp.sync
from global scope during runtime does not cause an ugly exception anymore (#174). The error is reported to the listeners.- Also when making the illegal call from an interrupt handler.
- ⬆️ Improved JavaScript code error detection during analysis
- ⬆️ Improvements to handling
null
s in event set arrays (#178). - ⬆️ Improvements to handling Rhino context in BPjs class (#176).
- ⬆️ Improvements to the
MapProxy
classes, allowing client code pre-process changes. - ⬆️
JsEventSet
now honors the event set name during equality checks. - 〽️
BEvent::getDataField
data accessors wrap the lower-levelgetData()
(#161). - 〽️ API improvments on
DfcBProgramVerifier
(#173). - 🚮 Consolidated tests for
BProgramJsProxy
.
Legend:
- 🔄 Change
- ✨ New feature
- 🎉 New feature, but more exciting
- 〽️ Refactor (turns out this sign is called "part alternation mark" and not "weird 'M'", so it fits).
- 🚮 Deprecation
- ⬆️ Upgrade
- 🐛 Bug fix