StringTemplate v4 beta released
or
I haven't really done the documentation together yet, but you can start poking around at the main landing page.
CHANGES
4.0b4 – February 5, 2011
BIG THANKS to Udo Borkowski for his help debugging these betas and his
suggestions.
- added write to file methods
- had infinite loop for expr: "<t()$"
- the default file encoding is now UTF-8
- early eval <(x)> using new STWriter derived from type of current STWriter.
e.g., AutoIndentWriter. - didn't detect nonterminated comment. <!bad comment>
- added two literals "true" and "false" to the template argument syntax; e.g.,
stat(name,x=true,y=false) ::= "..." - it was treating "..." default arg as a template not string.
- throws STException now upon not finding group file or group dir instead
of sending err to listener. - default args couldn't have subtemplates
t(x,y={<x:{s|<s>}>}) ::= "..." - Added a new benchmark from Oliver Zeigermann. Discovered 60% of time is
spent using reflection invoke() for properties.
4.0b3 – January 28, 2011
- exception in lexer blew out of parsing
- missing '}' in {...} caused infinite loop
- NPE in storeArgs if empty arg list
- removed debugging prints.
- x={<(...)>} default arg was hardcoded to <...> not $..$ or whatever.
- The grammar needed to match and ignore an optional INDENT before region @end
- when redefining a region (template) the newline before the >> was kept.
- WS not ignored in front of STRING token in expressions.
- closing STViz doesn't exit vm now.
- throws exception if registering renderer or model adaptor for primitive
4.0b2 – January 22, 2011
- Order of static init issue; an error mgr was null.
- Fixed some unit testing the Windows friendly
- Fix bug in triple if-elseif-elseif-elseif; added unit tests
- bug where I did not say current_ip when calling exec() from writeObject
- Updated README to include install information
4.0b1 – January 14, 2011