What's new:
- Improved Mesos support
- Debugger and debug statement: 'debug' and 'breakpoint'
- Automatic 'help' when using '-h', '-help' or '--help' on any script (makes use of the new 'help' modifier in variable declarations)
- Improved task dependency detection
- Major refactoring:
- Using full stack machine model for expression evaluation ()
- Everything goes through bdsThread.run() / bdsNode.runStep()
- RunStates only in bdsThread (no state returned from run methods)
- Several improvements in serialization and checkpointing
- Several config options added to customize to particular clusters
- Added cluster type 'generic' that runs user defined scripts. This makes it very simple to add new cluster architectures.
- Race conditions avoidance: Using 'par' with one function call executes argument evaluation in current thread and then executes function call in another thread.
- bds -extractSource -i checkpont.chp: Extract source code from checkpoint files
- Empty string splits to empty list
- Include statements check canonical paths to avoid multiple includes of the same file
- Added 'par' details section to HTML report
- Dependency operator does resolves canonical paths
- Wait statement can wait on other thread's tasks
- Wait statement can wait on non-child threads
- Improved compile error handling
- Added task dependency graph in summary page (using cytoscape.js)
- Added 'taskName'
- YAML summary page