Helma Logo
main list history
previous version  overview  next version

Version 11 by zumbrunn on 22. June 2007, 09:47

* *New HTTP-related features|New HTTP-related Features in Helma 1.6*:
** Specialized and aggregated parameter collections req.postParams, req.queryParams, req.params, req.cookies in addition to req.data
** Improved handling of multi-value parameters, allowing access to parameter values as arrays, even if they only have one value.
** HTTP parameter grouping, mapping parameters with names like "foo[bar]" to req.data.foo.bar
** Additional HTTP header methods req.getHeader(), req.getHeaders(), req.getIntHeader(), req.getDateHeader(), res.setHeader(), res.setDateHeader(), res.addHeader() and res.addDateHeader()
** HTTP parameter remainders req.data.http_post_remainder and req.data.http_get_remainder
** Improved file upload memory handling, new getInputStream() method in helma.util.MimePart
** Support for monitoring file upload progress
** Additional apps.properties option for totalUploadLimit
* 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 onUnhandledMacro() callback that allows to catch or handle unhandled macros.
** New standard attribute: <code>failmode=silent|verbose</code>.
** Better handling for malformed macro tags.
* *New HTTP-related features|New HTTP-related Features in Helma 1.6*:
** Specialized and aggregated parameter collections req.postParams, req.queryParams, req.params, req.cookies in addition to req.data
** Improved handling of multi-value parameters, allowing access to parameter values as arrays, even if they only have one value.
** HTTP parameter grouping, mapping parameters with names like "foo[bar]" to req.data.foo.bar
** Additional HTTP header methods req.getHeader(), req.getHeaders(), req.getIntHeader(), req.getDateHeader(), res.setHeader(), res.setDateHeader(), res.addHeader() and res.addDateHeader()
** HTTP parameter remainders req.data.http_post_remainder and req.data.http_get_remainder
** Improved file upload memory handling, new getInputStream() method in helma.util.MimePart
** Support for monitoring file upload progress
** Additional apps.properties option for totalUploadLimit
* Implement app.getAppsProperties() to allow access to the app's apps.properties entries.
* Add app.rollback(): Just abort transaction and do not stop request execution like res.abort() or res.stop().
* New HopObject.onPersist() callback that is called each time a HopObject is stored to embedded or relational database.
* 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.

     removed
     added