- ✨ BProgram data storage ready (closes#123).
- 🐛 Forking now handles b-thread data properly.
- ✨ A B-Program can have multiple b-threads with the same name (closes#112).
- ⬆️ Trace's
getLastEvent
now return anOptional<Event>
rather than anEvent
. This is because some traces may not have a last event (part of the fix to #122).
- 🔄
BEvent::toString
is more JS-like.
- 🔄 Internal refactorings.
- 🐛 JavaScript errors (regarding syntax and references) are reported, and halt both execution and analysis #94.
- 🎉 B-Threads have a data object, available to b-thread code via
bp.thread.data
. This object can be set, updated, and replaced during execution. It can also be pre-set on b-thread creation #106. - ✨ DFS scan that uses forgetful state storage is not resilient to cyclic state graphs #95.
- ⬆️ Added a b-thread name for the self-blocking warning #103.
- ⬆️ Logging supports compound objects #102.
- ✨ B-thread name is available to JavaScript code.
- 🐛 All JS code is evaluated as ES6 (formerly, evaluations where optimized ES1.8).
- 🐛 Improved self-blocking warning logic.
- 🚮 Unification of some simple event sets, e.g.
[es1]
is identical toes1
,[]
tobp.none
, etc. - 🚮 Removed some printouts.
- ⬆️ Updated to use Rhino 1.7.13
- ⬆️ Updated to Java 11
- ✨ A new type of violation: hot run, which looks at hot runs of a subset of a b-program b-threads. Previously, BPjs supported all b-threads ("hot system run") or just a single one ("hot b-thread run").
- 〽️ Liveness verification parts now aligned semantically with current theory.
- 🚮 Code and documentation clean-ups.
- ⬆️ Updated to use Rhino 1.7.12
- ⬆️ 🎉 Can use ES6 syntax, such as
let
andconst
.- No arrow functions yet, there are some issues with continuations and arrow functions.
- ⬆️ Synchronization statements are created more efficiently.
- 🐛
ComposableEventSet
checks arguments on creation, so that it can't be instantiated withnull
events (this later causes NPEs). - 🐛
PrioritizedBThread
ESS fixed (#70. - 🚮 Various small code clean-ups.
- 🚮 Removed extraneous dependencies from
pom.xml
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