**Beta Release** - `0.x.y` should not be considered stable, and backwards
incompatible changes may be made at any time.
ADDED
- Add `scrolls.InterpreterContext.all_commands` and
`scrolls.InterpreterContext.all_expansions` for programmatic
calls from plugins.
- Add `scrolls.InterpreterContext.init_handlers`, to be called
by the interpreter.
- Add `prelude` argument to `scrolls.Interpreter.repl`, allows running
a script before dropping into interactive mode.
- Add builtin: `use-print-on-unified`, which will print a debug message when an
expansion is used as a command. This is automatically enabled in interactive mode.
- Using `q` or `quit` in interactive mode will quit. The preferred way is still
`stop`, but the other two are so common might as well add them.
- Add `trace_banner`, `trace_str`, and `__str__` to `scrolls.CallContext`, for
printing stack traces.
- Add `get_backtrace` to `scrolls.InterpreterContext`. Prints a call stack
and context summary for the current interpreter context.
- Add `python` and `backtrace` commands, under a new builtin handler
(`scrolls.DebugCommandHandler`).
CHANGED
- Automatically enable unified commands for interactive mode.
- `scrolls.InterpreterError` now produces a stack trace in addition to pointing out
the error in the code.
- Heavily refactored `scrolls.interpreter`, breaking it up into several parts.
- Heavily refactored `scrolls.ast`, breaking it up into several parts.
FIXED
- Fix ineffecient creation of `scrolls.ChoiceCallHandlerContainer` instances
in `scrolls.Interpreter`.
- Fix typo in documentation of `scrolls.InterpreterContext.runtime_commands`.
- Return protocol instead of base class for `scrolls.InterpreterContext.runtime_commands`
and `scrolls.InterpreterContext.runtime_expansions`
- Fix many missing links in documentation.
- Fix some inaccuracies in parsing documentation.