Helma Logo
main list history
previous version  overview  next version

Version 7 by hannes on 05. April 2007, 03:12

* Update to Rhino 1.6 (patched CVS snapshot) implementing *JavaScript 1.6|http://developer.mozilla.org/en/docs/New_in_JavaScript_1.6*, including:
** E4X support, both without and with Apache XML-Beans.
** New Array methods indexOf(), lastIndexOf(), filter(), map(), every(), forEach(), some().
** for each loop.
** Support for __defineGetter__ and __defineSetter__ for getter/setter support.
** Support for __noSuchMethod__
** Support for const keyword
** JavaImporter constructor for clean access to Java libraries.
** Many bug fixes.
* *New Skin features|New Skin Features in Helma 1.6*
** Subskins: <code><% #subskin %></code> and <code>renderSkin("skin#subskin")</code>, respectively
** Macro pipes/filters: <code><% text | truncate max="300" | uppercase %></code>. Filter functions must have a _filter suffix and get two arguments: the return value of the previous macro/filter in the chain, and a parameter object with the attributs in the filter tag. They are expected to return the filtered macro output.
** Deep macro invocation: <code><% page.author.name %></code>
** Nested Macros: <code><% page.link content=<% messages.storylink %> %></code>
** New standard attribute: <code>failmode=silent|verbose</code>new onUnhandledMacro() callback that allows to catch or handle unhandled macros. Default value is silent for request/response/session/param handlers, and verbose for app object handlers (mimicking implicit Helma 1.5 behaviour)
** Make macros with missing closing quotes fail consistentlyNew standard attribute: <code>failmode=silent|verbose</code>. 
** Better handling for malformed macro tags.
* Implement app.getAppsProperties() to allow access to the app's apps.properties entries.
* Change res.abort() semantics: Just abort transaction and do not stop request execution, since we now have res.stop() to do the latter.
* Rhino fix to make protected Java methods accessible and overridable to subclassing JavaAdapters.
* Pimped up documentation, including JSDoc JavaScript API docs for Helma core and modules libraries.
* Implement JS stack traces.
* New rhino.strictvars property to throw errors on undeclared vars.
* Implement onResponse() callback which, if defined, is called after the request has been processed.
* Implement res.buffer to access current page output
* Implement res.stop() to stop request execution
* Implement res.pushBuffer(StringBuffer) and res.popBuffer() to get StringBuffers *in and out of the response buffer stack|http://dev.helma.org/wiki/Handler+for+rendered+skins/*.
* Implement app.charset and app.getCharset() to get the app's default charset.
* Do not reuse per thread scope, create a new one for each request
* Increase default maxThreads value to 50 (evauators aren't that expensive anymore)
* Upgrade to Jetty 4.2.27.
* Removed old and obsolete ant infrastructure. Developers are now required to have their own ant installed.
* Support binary database column mapping
* Fully implement prototype compilation on access of static constructor properties. Previously access of prototype members didn't trigger compilation.
* Adding tagsoup.jar version 1.0.4 for use with getHtmlDocument(), throw away subclass of Swing HTML parser.
* Remove lib/apache-dom.jar, from now on Xerces jars are required in order to use getHtmlDocument().
* Remove crimson.jar at last, it isn't needed for JDK 1.4 and later.