At last, after a long time, we release 0.10 which has been improved significantly. Among the new features are: multiple inheritance, conditionals/boolean expressions, a new HTML parser and better examples and documentation.
There have been many changes. This list is far from complete.
- Redesign of some of the codebase: Implemented a framework for
executable abstract syntax tree for expressions. In particular,
GenericFunction is changed to FuncExpr (which is a part of
the expression framework).
- Added conditionals and boolean operators, for expressions and
for menu items. A new function type: BoolTester.
- Fixes to the (lazy) evaluation semantics. We also added
a special assignment operator '<=' to force evaluation.
- Implemented multiple inheritance.
- Replaced the HTML parser function with a more decent one.
- Move some of the functionality of execute methods to getLastModified (request and session attributes). Change name of getLastModified()to prepare().
- Separate chain to handle content of head tag (in PageFunction).
- Fixes to Tracker and Redirector functions. Tracker would be
placed in page head chain, and Redirector needs to "signal"
to it through request parameter in the prepare method.
- Allow page title to be set by using a request attribute. Title
is automatically set from menu item titles.
- Style sheets and example scripts.
- Better error reporting.