Skip to content

Latest commit

 

History

History
38 lines (34 loc) · 3.62 KB

changelog-2022.md

File metadata and controls

38 lines (34 loc) · 3.62 KB

Changelog for 2022

2022-07

  • ⬆️ ✨ 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 to stderr. This behavior remains in BProgramRunnerListenerAdapter, 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's Set(). (#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.

2022-02 (Including the 1st BP Day Hackathon)

  • 〽️ 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 nulls 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-level getData() (#161).
  • 〽️ API improvments on DfcBProgramVerifier (#173).
  • 🚮 Consolidated tests for BProgramJsProxy.

Earlier Changes

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