apache > cocoon
 

History of Changes

RSS

Introduction and explanation of symbols

Changes are sorted chronologically with the most recent at the top. These symbols denote the various action types:add=add, fix=fix, remove=remove, update=update

Version 2.1.12 (TBD)

  • fix Fix javadoc in PropertySettings. RunningMode is not supported in 2.1.x Committed by RG. See Issue COCOON-2064.
  • fix Core: XMLByteStreamCompiler hard-coded limits of 0xffff Strings prevents large XML documents from being handled in Cocoon. Committed by AG. See Issue COCOON-2158.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Antonio Gallardo (AG), Ralph Goers (RG).

Version 2.1.11 (December 31 2007)

  • fix Created XPathXMLFileModule to address issus with XMLFileModule. XPathXMLFileModule supports variable replacement and caching of documents in ehcache and expressions as soft references. Committed by RG. See Issue COCOON-1574.
  • fix Forms: Allow Ajax submission of forms with empty upload field. Committed by AG. Thanks to Robin Wyles. See Issue COCOON-2052.
  • add Portal: New SiteProfileManager providing the same profile to several users based on a configured key. Committed by CZ.
  • fix Portal: Some memory consumption improvements for the user profiles. Committed by CZ.
  • update Core: Update xalan to 2.7.1. Committed by AG.
  • fix Sitemap: Redirect to cocoon:/foo did not work in sub-sitemap when it is in same directory as the root sitemap. Committed by AN. Thanks to Robert Hoffmann. See Issue COCOON-1990.
  • update Core: Update xercesImpl to 2.9.1. Committed by AG.
  • fix Event Cache Block: Restore serializability of persistent cache when using event-aware cache. Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-2146.
  • fix Mail Block: Fix setting of URL message body. Committed by VG. Thanks to Robin Wyles. See Issue COCOON-2129.
  • add <map:serialize status-code="{}"/> supports variable resolution. Committed by JH. Thanks to Jochen Seifarth. See Issue COCOON-1354.
  • fix XMLDB Block: Fix collection URLs in XMLDBSource. Fixes URL resolution and 'Mount DB' sample. Committed by VG.
  • update XMLDB Block: Update Xindice to 1.1 release. Committed by VG.
  • fix POI Block: Color string normalization. Committed by AG. Thanks to Krystian Nowak. See Issue COCOON-1440.
  • fix build.sh: Allow for quoted shell arguments containing spaces. Committed by AN. Thanks to Andreas Deininger. See Issue COCOON-2098.
  • fix CForms: Handling of empty responses in AJAX Forms with IFrame transport. Committed by AG. Thanks to Jan Oberst. See Issue COCOON-2027.
  • fix Ajax: ajax/common.js makes use of deprecated dojo.animation.Timer Committed by AG. Thanks to Alexander Klimetschek. See Issue COCOON-2059.
  • update XSP block: Upgrade Eclipse compiler to version 3.1.0 to allow the use of Java5 syntax in XSPs. (Latest released Eclipse version is 3.2.2 but use 3.1.0 to be consistent with the version picked up by the Maven build in trunk). Committed by AN.
  • fix Core, QDox: Fixed getInputStream() in XModuleSource and QDoxSource: Set up XMLSerializer in a component way, i.e. retrieve it from ServiceManager. Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-2077.
  • update Dojo toolkit upgraded to 0.4.3 version. It contains fix for security bug. See http://dojotoolkit.org/releaseNotes/0.4.3. Committed by GK. Thanks to Alexander Klimetschek. See Issue COCOON-2073.
  • fix I18n (ParamSaxBuffer): when substitution params like {0} are split over multiple character events, do not write out extra garbage characters. Committed by JJ. Thanks to Gunnar Brand. See Issue COCOON-1315.
  • fix Portal: Marked PreparePortalAction, CopletSetDataAction, and ObjectModelAction ThreadSafe Committed by RG.
  • update Core: Update log4j to 1.2.14, commons-io to 1.3.1, commons-lang to 2.3 and jakarta-regexp to 1.5. Committed by AG.
  • fix CForms: MultivalueEditorWithSuggestion doesn't add values to the listbox on Internet Explorer. Committed by AG. Thanks to Larry Ruiz. See Issue COCOON-2023.
  • fix CForms: Submit widget now inherits validate attribute value from the ancestor widget, if it is specified. Committed by VG.
  • fix Serializers block: Correctly handle content of script and style tag as cdata for html. Committed by CZ.
  • fix CForms: MultivalueEditorWithSuggestion, extended multivalueeditor widget with suggestion list. Committed by AG. Thanks to Larry Ruiz. See Issue COCOON-2013.
  • fix CForms: CFormsSuggest widget does not implement the onValueChanged event. Committed by AG. Thanks to Paul Friedman. See Issue COCOON-2011.
  • fix Core: EHCache now uses the configured cache directory instead of using the default of java.io.tempdir. Committed by CZ. Thanks to Richard Frovarp. See Issue COCOON-1927.
  • update Core: Update ehcache to 1.2.3. Committed by CZ.
  • fix Template block: Add missing toString implementation to TemplateObjectModelHelper.ParametersMap. Committed by CZ. Thanks to Mark Lundquist. See Issue COCOON-1984.
  • fix Portal block: CocoonPortlet needs to allow overriding servlet-path parameter with preferences. Committed by CZ. Thanks to Woonsan Ko. See Issue COCOON-1998.
  • fix CForms: Fix "Serialization parameter {indent} must have the value yes or no" error in Form.prototype.saveXML() when using Saxon. Committed by JJ. Thanks to Abbas Mousavi. See Issue COCOON-2000.
  • add Core: Exipres caching pipeline can now cache the content forever (by setting cache-expires to a negative value). Committed by CZ.
  • add Core: In store janitor, add an option to cleanup all stores on each janitor run. Default behavior is to cleanup one store at a time. Committed by VG.
  • fix Core: Fix deadlock in caching pipeline when used in combination with include transformer. Committed by AN. Thanks to Ellis Pritchard. See Issue COCOON-1985.
  • update CForms: introduce a new dojo-based popup-picker for dates, times and datetimes. For correct localization, supply a "dojo-locale" parameter to the forms styling XSLT (see samples). Committed by BRD.
  • add CForms: add support for a "timeStyle" attribute on the formatting date convertor, so that the time style can (optionally) be specified independently from the date style. Committed by BRD.
  • fix Portal block: Fix truncation of included portlets in html include serializer. Committed by CZ.
  • fix Auth block: Fix checking of double logins for the same security handler. Committed by CZ.
  • fix HSQLDB block: Fix startup problems with newer HSQLDB versions and upgrade to 1.8.0.7. Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1979.
  • fix Core: Check for reloading of javascript files loaded by cocoon.load(). Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1979.
  • add Forms block: Add method to create binding from DOM tree. Committed by JH. Thanks to Robin Wyles. See Issue COCOON-1471.
  • fix Core: Fix threading issue with internal cache in ResourceReader. Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-1977.
  • fix POI Block: Prevent NPE in ElementProcessorSerializer on characters before first startElement. Committed by JH. Thanks to Rob Berens. See Issue COCOON-1976.
  • update Updating Dojo to 0.4.1.
    • use namespaces for loading widgets
    • cleanup of client-side libraries into cocoon.forms.common
    • deprecation and replacement of functions in forms_lib.js cocoon.js CFormsForm.js
    • all cforms forms now use a dojo widget (forms:SimpleForm or forms:AjaxForm)
    Committed by JQ.
  • fix Portal Block: Applied and improved patch for reloading bookmarks based on their (file) validity. Committed by CZ. Thanks to Vincent Demay. See Issue COCOON-1776.
  • fix Portal Block: Fix handling of missing special parameters for forms in NewEventLinkTransformer. Committed by CZ.
  • fix Auth Block: Make isUserInRole a static method. Committed by CZ.
  • fix Fixes to forms and ajax samples. Committed by JQ.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Grzegorz Kossakowski (GK), Jörg Heinicke (JH), Jason Johnston (JJ), Jeremy Quinn (JQ), Ralph Goers (RG), Vadim Gritsenko (VG).

This is a list of other contributors:
Abbas Mousavi, Alexander Klimetschek, Andreas Deininger, Ellis Pritchard, Gunnar Brand, Jan Oberst, Jochen Seifarth, Krystian Nowak, Larry Ruiz, Mark Lundquist, Paul Friedman, Richard Frovarp, Rob Berens, Robert Hoffmann, Robin Wyles, Vincent Demay, Woonsan Ko.

Version 2.1.10 (December 21 2006)

  • fix Core: Allow dynamic loading of JavaScript objects even when scope is locked. Committed by JH. Thanks to Rob Berens. See Issue COCOON-1811.
  • fix CForms: Always set viewData for flow script functions (if it's not available set it to null). Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1916.
  • fix Javaflow OJB Sample: Fix "No method 'showEmployee' found". Committed by CZ. Thanks to Jeroen Reijn. See Issue COCOON-1969.
  • fix The JavaFlow OJB sample overwrote the first entry on insert instead of adding a new entry. This has been fixed. Committed by CZ. Thanks to Jeroen Reijn. See Issue COCOON-1970.
  • remove Core: Removed the buggy WildcardHelper. Use the new improved WildcardMatcherHelper. Committed by CZ.
  • add Profiler block: Add statistics component. Committed by CZ.
  • add Databases block: Add support for iBatis to use configured Excalibur data sources in iBatis. Committed by CZ.
  • fix CForms: The filterfield widget was not defined for the forms manager. Committed by AS. Thanks to Jeroen Reijn. See Issue COCOON-1965.
  • fix CForms: Numeric based suggestion list should initialzate to the corresponding suggested text. Committed by AG. Thanks to Carlos Chávez. See Issue COCOON-1962.
  • update Updated Rhino (Javascript engine) to version 1.6R5. This version is licensed under MPL, while previous versions were licensed under NPL, which was a problem since software licensed under NPL cannot be included in Apache products. The new version should be compatible with the previous version, though it does not support the constructs "catch (continue|break|return)" which were available in Cocoon's Rhino fork. Committed by BRD.
  • update Updated xercesImpl to 2.9.0 and xml-apis to 1.3.04. Committed by AG.
  • add Ajax: upload progress bar widget.
    • A new dojo widget to display file upload progress for forms (and cforms).
    • Ajax-enabled cforms can now submit file-upload fields in the background.
    • New system pipelines for Blocks (/_cocoon/system/[blockname]/**).
    • Sitemaps can now call flowscripts written in a static namespaced style.
    • Added JSON Serialization utilities for flowscript.
    • You can now get i18n translations from Stings in flowscript.
    Committed by JQ.
  • add Core: Add ability to pre-load i18n catalogues in I18nTransformer. Removed references to defunct cache-on-startup configuration. Committed by VG.
  • add CForms: Added @whitespace attribute to fd:field widget, to control how leading and trailing whitespace characters are handled when reading submitted values. Accepted values are: "trim" (default), "trim-start", "trim-end", and "preserve". Committed by JJ. See Issue COCOON-1879.
  • update Mail: Improve MailSender interface: added setBody(Object), setBodyURL methods, deprecated setCharset, setBody(String), setBodyFromSrc, setBodyFromSrcMimeType methods. Support byte[], InputStream as body and attachment objects. Committed by VG.
  • fix Mail: Log exceptions from mail attachments - JavaMail does not preserve cause exception. Committed by VG.
  • fix Lucene: Add analyzer parameter to SearchGenerator as stated by the docs. Committed by JH. Thanks to Jeroen Reijn. See Issue COCOON-1936.
  • fix Databases: Added support for the SQL:XML tag in SQLTransformer. Committed by AG. Thanks to Geurt Wisselink. See Issue COCOON-1894.
  • fix Validation: Replaced references to constant declarations in javax.xml.XMLConstants, which are not in the official API. Committed by JH. See Issue COCOON-1878.
  • fix CForms: Tree widget not handling on-selection-change events correctly. Committed by AG. Thanks to Suzan Foster. See Issue COCOON-1692.
  • fix XSP: SOAPHelper does no longer accept only replies with an XML declaration. Committed by JH. Thanks to Fabian Linz. See Issue COCOON-1883.
  • update Updated commons-lang to 2.2 and bsf to 2.4.0. Committed by AG.
  • fix CForms: Add a name attribute to a booleanfield in output mode to make it easily accessible in JavaScript. Committed by JH. Thanks to Gabriele Columbro. See Issue COCOON-1900.
  • fix CForms: BeanConvertor uses a WeakHashMap in the wrong way. Committed by AG. Thanks to Gabriele Columbro. See Issue COCOON-1867.
  • fix AJAX: Fix cocoon suggest sample. Committed by AG. Thanks to Christofer Dutz.
  • update Deprecate method org.apache.cocoon.components.flow.FlowHelper.unwrap(Object). This method will be removed in 2.2 release. Use org.apache.cocoon.components.flow.util.PipelineUtil.unwrap(Object) instead. Committed by AG.
  • fix XSP: Use namespace-uri and not the namespace-prefix to select parameters in logicsheet-util.xsl. Committed by JH. See Issue COCOON-1196.
  • fix Databases: Check for null LOBs. Committed by VG. See Issue COCOON-1462.
  • fix JXTemplate: Fix an ArrrayIndexOutOfBoundsException with jx:comment. Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-1866.
  • fix Apply patch to handle malformed recipient address exception correctly. Committed by AS. Thanks to Jasha Joachimsthal. See Issue COCOON-1818.
  • fix CForms: Apply patch to disambiguate toSAX method call. Committed by VG. Thanks to Lars Trieloff. See Issue COCOON-1906.
  • update Core: Move BackgroundEnvironment from Cron block into the Core. Committed by VG.
  • fix Core: i18n transformer was loosing whitespaces in i18n:text, i18n:translate, i18n:param elements if they had mixed content. Committed by VG.
  • fix CForms: In AbstractWidgetDefinitionBuilder, methods "setValidators", "setCreateListeners", and "setCommonProperties" now have visibility "protected" instead of "private" Committed by JBQ. Thanks to Guillaume Déflache. See Issue COCOON-1919.
  • fix Core: Rewrite of WildcardMatcherHelper where the heavy-lifting is left to the regexp library. That fixes a false positive where "menu/foo/bar.xml" was matched by "menu/*.xml" in the old implementation. The new code also removes the over-greedyness of '**' that "**/*/*" can now be matched successfully. Committed by AN.
  • update Updated xercesImpl to 2.8.1. Committed by AG.
  • update CForms: FormManager now caches form definitions created from Source or URI. Committed by VG.
  • fix Core: Off-by-1 bug in WildcardMatcher found pattern matches which were not there. Committed by AN.
  • fix Core: '**' in complex WildcardMatcher pattern did not match an empty pathstep. Committed by AN.
  • fix XSP block: Using document('') in logicsheet caused NPE. Committed by AN.
  • fix CForms: Repeater identity binding was failing on save if widget path was given. Committed by VG.
  • fix CForms: Inherit fb:on-delete-row, fb:on-insert-row, fb:identity repeater bindings from the parent. Fix detection of 'simple' mode. Committed by VG.
  • add ZipArchiveSerializer: Set time stamp of ZIP entries to last modification time of source file. Committed by AN.
  • update Updated ehcache to 1.2.2. Committed by AG.
  • add XSP block: Add example for on-the-fly generation of ZIP file. Committed by AN.
  • fix XSP block: Suppress xmlns:xsp namespace declaration on XSP generated root element. Committed by AN.
  • add Repository: Add CachingSource source implementation (from trunk). Committed by VG.
  • fix ImageOp: Send info/debug messages to the log rather than System.out.println Committed by JJ.
  • fix Core: CopySourceAction generate NPE. Committed by AG. Thanks to Frédéric Glorieux. See Issue COCOON-1815.
  • fix CForms: Removed debug logging left in AggregateFieldDefinitionBuilder.java. Committed by AG. Thanks to Mark Lundquist. See Issue COCOON-1849.
  • fix CForms: Reverting incompatible change introduced in version 2.1.9. When binding a widget with value null, XML elements are no more deleted. The behaviour is now the same as in version 2.1.8. Committed by MPO. See Issue COCOON-1687.
  • fix CForms: Tiny typo in JavaScriptJXPathBinding. Committed by AG. Thanks to Jeroen Goubert. See Issue COCOON-1889.
  • fix CForms: HTMLArea unable to set target and title to a "link". Committed by AG. Thanks to Jeroen Reijn. See Issue COCOON-1678.
  • fix CForms: Form locale never used in JXMacros. Committed by AG. Thanks to Carlos Chávez. See Issue COCOON-1758.
  • fix Core: EHDefaultStore returns in the size() method the wrong number of keys. Committed by AG. Thanks to Ard Schrijvers. See Issue COCOON-1885.
  • add CForms block: JavaClassValidatorBuilder supports Configurable validator implementations. New AbstractJavaValidator implementation supports generation of customized fail messages. Committed by CZ.
  • fix Core: ZipArchiveSerializer causes "Too many open files" exception. Committed by AG. Thanks to Holger Wahlen. See Issue COCOON-1882.
  • fix Browser selector should have Opera before MSIE. Committed by AG. Thanks to Andrew Stevens. See Issue COCOON-1854.
  • fix Lucene Block: Allow LuceneIndexTransformer to index large documents (with more than 10k terms). Committed by AG. Thanks to Conal Tuohy. See Issue COCOON-1880.
  • fix XML-DB Block: XMLDBTransformer blows up Saxon. Committed by AG. Thanks to Don Grodecki. See Issue COCOON-1876.
  • fix Switched to the new WildcardMatcherHelper for all wildcard matching which is a rewrite of the WildcardHelper. Committed by GP.
  • update Updated quartz to 1.5.2. Committed by AG.
  • add EHDefaultStore: Allow users to configure disk-persistent parameter. In earlier cocoon versions this ehcache parameter was always true. It defines whether or not the disk store persists between restarts of the Virtual Machine. The default value is true. Committed by AG. Thanks to Ard Schrijvers.
  • fix The predefined variables "parameters" and "cocoon.parameters" now both point to the parameters object in JXTemplateGenerator and the template block. (cocoon.parameters did point to a properties object). Committed by CZ.
  • fix HSQLDB Block: Workaround for HSQLDB improper shutdown in SAP NetWeaver. Committed by AG. Thanks to Igor Naumov. See Issue COCOON-1862.
  • fix CForms Block: RepeaterJXPathBinding - order of row is inverted. Committed by AG. Thanks to Dennis Dam. See Issue COCOON-1864.
  • fix Naming Block: Check for Null URI in LDAPTransformer. Committed by AG. Thanks to Igor Naumov. See Issue COCOON-1861.
  • add Add the CoWarp contribution by Carsten Ziegeler from the Osoco open source project (http://osoco.sourceforge.net/cowarp/). Committed by CZ.
  • update Deprecate session-fw and authentication-fw block. These blocks will be removed in further releases. Committed by CZ.
  • fix Databases: Read CLOBs using getCharacterStream, delegate character decoding to the database. Revert to old behavior if clob-encoding parameter is present. Committed by VG.
  • add Portal Block: Add support for input modules in start uri for application coplet. Committed by CZ.
  • fix Databases: Support multiple results in SQLTransformer. Committed by VG. See Issue COCOON-1247.
  • fix Databases: Fix NPE in SQLTransformer in error handling code. Committed by VG. See Issue COCOON-1552.
  • update Databases: Support CLOBs in SQLTransformer when returned as stored procedure parameters, or as columns in a cursor returned by stored procedure. Committed by VG.
  • fix Databases: Fix reading of the CLOBs in SQLTransformer. Committed by VG.
  • add CForms Block: Add multiple repeater drag & drop dojo sample. Committed by AG. Thanks to Carlos Chávez & Eric Meyer.
  • fix Set instrumentation manager on child component managers to enable instrumentation of all components including sitemap components. Committed by CZ. Thanks to Brian Vargas. See Issue COCOON-1857.
  • update Updated dojo to 20060614. Committed by AG.
  • fix Fix bug in wildcard matcher where a uri containing a pattern twice did not always match. For example, the uri "hallo.xml.xml" did not match "*.xml". Committed by CZ.
  • fix CForms: Using setRequired in Ajax mode does not generate bu:replace. Committed by AG. Thanks to Vincent Demay. See Issue COCOON-1848.
  • fix AJAX Block: Error popup window not resizable/scrollable. Committed by AG. Thanks to Guillaume Déflache. See Issue COCOON-1847.
  • add CForms: Load and save model phase events are now send. Committed by CZ.
  • fix CForms: Output widget does not initialize from <fd:initial-value>. Committed by AG. Thanks to Freek Segers. See Issue COCOON-1741.
  • fix Template block: NullPointerException. Committed by AG. Thanks to Tim Williams. See Issue COCOON-1744.
  • fix XIncludeTransformer: XInclude transformer does not handle fallback correctly. Committed by AG. Thanks to Jason Johnston. See Issue COCOON-1489.
  • fix ResourceReader fails to add HTTP headers. Committed by AG. Thanks to Martin Kuck. See Issue COCOON-1266.
  • fix XMLFileModule: file-specific configuration ignored. Committed by AG. Thanks to Guillaume Déflache. See Issue COCOON-1840.
  • fix HTTPRequest: Redundant copying between container and form encoding. Committed by AG. Thanks to Aleksander Bandelj. See Issue COCOON-1625.
  • fix Error decommissioning component: org.apache.cocoon.components.store.impl.EHDefaultStore. Committed by AG. Thanks to Pier Fumagalli. See Issue COCOON-1694.
  • fix exception2html.xslt: <script /> causes IE display problem. Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1839.
  • fix Tour block: SVG samples now use the correct SVG 1.1 namespace. Committed by BD.
  • add RequestGenerator: Add remoteUser() information. Committed by AG. Thanks to Andrew Stevens. See Issue COCOON-1515.
  • fix XIncludeTransformer: xi:fallback fail when use parse="text". Committed by AG. See Issue COCOON-1110.
  • add XInclude transformer uses href fragment rather than xpointer attribute (spec conformance). The XInclude 1.0 spec (see http://www.w3.org/TR/xinclude/#include_element) states the following about the href attribute:
    'Fragment identifiers must not be used; their appearance is a fatal error.'
    Cocoon's XIncludeTransformer incorrectly allows xpointer fragments to be specified using a fragment identifier in the href attribute. The correct way to support xpointers is the 'xpointer' attribute on xi:include, which the transformer does not currently recognize. Committed by AG. Thanks to Jason Johnston. See Issue COCOON-1753.
  • update Cocoon htmlunit testcases are now compatible with htmlunit 1.8. Committed by AG.
  • update Updated xmlunit to 1.0 and junit to 3.8.2. Committed by AG.
  • add Added calculated fields implementation. Committed by SG.
  • update Updated XReporter expressions to latest version (see http://issues.cocoondev.org/browse/XRP-113 ). Committed by SG.
  • add CForms: Java event listeners can now implement Configurable, LogEnabled, and Contextualizable. Committed by CZ.
  • fix CForms: added a Repeater.moveRow2(from, to) method, which in contrast to the Repeater.moveRow method inserts the row at the exact to-index specified. Committed by BRD.
  • fix FOP block depends on XSP block (for samples) Committed by BD. Thanks to Vince.
  • update Portal: PageLabels can now be configured to be part of the url. Committed by RG.
  • update Made the pool-max values in the html block's generators externally configurable. Made sitemap reloading externally configurable. Made pipeline amd encodeURLTransformer pool-max values externally configurable. Committed by RG.
  • fix CForms/Ajax: when the Ajax-update contained an empty textarea, IE failed to parse this correctly, displaying '</span></div>' in the textarea. Fixed by adding an explicit closing tag for textareas. Committed by BRD.
  • fix CForms: widgets in unions lost their value when switching between union cases. Committed by BRD.
  • update Updated axis to 1.4 and commons-collections to 3.2. Committed by AG.
  • add Added a lightweight FOM_SimpleCocoon class, and placed it in the javascript scope when there isn't already a scope defined. This way, even when using javaflow, you have access to the cocoon object (with request etc..) from javascript snippets in definition. Committed by SG. See Issue COCOON-1804.
  • add Added CSS classes in cocoon forms default XSLs. Committed by SG. See Issue COCOON-1782.
  • update Updated ehcache to 1.2. Committed by AG.
  • fix The JDK 1.4 version of the EncodeURLTransformer did not work properly as it was not matching just the beginning of the string as the Jakarta-regexp version does. The transformer was corrected to only match the beginning of the string. In 2.1.9 this error can be circumvented by configuring the transformer and adding "*" to the end of each pattern. Committed by RG. See Issue COCOON-1742.
  • add As with all the AbstractTextSerializer based serializers, the XHTMLSerializer should handle the omit-xml-declaration to not put the XML declaration as first line of the serialized document. This prevents many rendering problems in Internet Explorer. Default behaviour is to send the xml declaration as before. Committed by AS. Thanks to Maurizio Pillitu. See Issue COCOON-1845.
  • fix Commandline interface: the user-agent is now correctly set in the request headers (and not in the request parameters). Committed by CZ. Thanks to James Bates. See Issue COCOON-1511.
  • fix RandomNumberModule: does not returns random number in the range (min,max) as expected. Committed by AG. See Issue COCOON-1716.
  • fix Performance Issue/JavaScriptFlowScript: If <reload-scripts> is set to false, don't check for last modification time of javascript source files. Committed by AG. Thanks to Georg Hüttenegger. See Issue COCOON-1721.
  • fix XSP block: Fix regression introduced in 2.1.8 that under specific circumstances logicsheets were not applied, leading to compilation errors. This manifested itself only if a) two XSPs referred to the same custom logicsheet by a relative location path, b) the custom logicsheet used another logicsheet, and c) the built-in logicsheet's namespace was not mentioned in xsp:page. The compilation errors occurred always when calling the second XSP for the first time. Fix also race condition which could lead to similar XSP compilation errors under high load when accessing the same logicsheet for the first time. Committed by AN.
  • fix Template block: Make the template block usable with JDK 1.3+ and enable it by default. Committed by CZ.
  • fix CForms: Fix inplace editing samples Committed by JBQ.
  • add CForms: Add id, state and listening attributes to the transformed form-template element (jx macros and forms transformer). Committed by CZ. See Issue COCOON-1820.
  • add XSP block: Use private methods to call start/endElement in xsp.xsl. That generates smaller bytecode allowing to compiler larger XSPs before hitting the 64k limit for the size of the generate() method. Committed by AN.
  • add Forms block: modified ProcessingPhase to add a PROCESSING_INITIALIZE phase instead of the spurious double READ_FROM_REQUEST_VALUE sent before. Made a ProcessingPhaseListener configurable from form definition with on-processing-phase and adapted the JavaScript widget listener to support processing phase events. Committed by SG. See Issue COCOON-1781COCOON-1685.
  • add Forms block: added repeater events. Repeater now sends row added, deleted etc.. events. The listener can be added in definition with an on-repeater-modified element. Added support for these events in JavaScript listener. Committed by SG. See Issue COCOON-1801.
  • fix Passing the default locale while parsing initial-value on a form if no locale attribute was specified. Committed by SG. See Issue COCOON-1844.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Andrew Savory (AS), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Giacomo Pati (GP), Jean-Baptiste Quenot (JBQ), Jörg Heinicke (JH), Jason Johnston (JJ), Jeremy Quinn (JQ), Marc Portier (MPO), Ralph Goers (RG), Simone Gianni (SG), Vadim Gritsenko (VG).

This is a list of other contributors:
Aleksander Bandelj, Andrew Stevens, Ard Schrijvers, Brian Vargas, Carlos Chávez, Carlos Chávez & Eric Meyer, Christofer Dutz, Conal Tuohy, Dennis Dam, Don Grodecki, Ellis Pritchard, Eric Meyer, Fabian Linz, Frédéric Glorieux, Freek Segers, Gabriele Columbro, Georg Hüttenegger, Geurt Wisselink, Guillaume Déflache, Holger Wahlen, Igor Naumov, James Bates, Jasha Joachimsthal, Jason Johnston, Jeroen Goubert, Jeroen Reijn, Lars Trieloff, Mark Lundquist, Martin Kuck, Maurizio Pillitu, Pier Fumagalli, Rob Berens, Suzan Foster, Tim Williams, Vince, Vincent Demay.

Version 2.1.9 (April 7 2006)

  • fix Fix caching problems in ImageReader: image was not regenerated when allow-enlarging or fit-uniform sitemap parameters were changed Committed by JBQ.
  • add CForms: Added event handling for group of type "choice" (allow formsOnShow attribute) Committed by JBQ. Thanks to Rob Berens. See Issue COCOON-1809.
  • add CForms: Added method StaticSelectionList.addItem(Object value, String label) Committed by JBQ. Thanks to Rob Berens. See Issue COCOON-1808.
  • add CForms: add dynamic id to Form object. This allows to use the same form model several times on the same page, for example if the form is used in a portal. Committed by CZ.
  • add Configuration values can now be set externally. The properties that can be modified can be identified by looking at the property files in WEB-INF/properties. The properties can be overriden by specifying them as system properties when invoking Cocoon or by placing them in a property file and identifying its location via the "org.apache.cocoon.settings" system property. The default Cocoon script sets this to ./cocoon.properties. Committed by RG.
  • fix Deprecated method o.a.c.environment.Environment.getOutputStream() still used internally. Committed by AG. Thanks to Mark Lundquist. See Issue COCOON-1814.
  • add Added the NekoHTMLTransformer. Updated the NekoHTMLGenerator's setup bits to allow for setting parser features as well as properties, and provided a sample neko.properties configuration file. Committed by JBQ. Thanks to Andrew Stevens. See Issue COCOON-1639.
  • update Updated asm to 2.2.1, asm-util to 2.2.1 groovy to 1.0-jsr-05 and antlr to 2.7.6. Committed by AG.
  • add CForms: added an fd:java validator to make it easy to implement custom WidgetValidator's in Java (for use in the form definition). Committed by BRD. Thanks to Simone Gianni. See Issue COCOON-1806.
  • update Updated commons-io to 1.2. Committed by AG.
  • add Ajax: rewrote everything with Dojo, added a new "PartialLink" widget using the "target" attribute on links to partially update the page. Committed by SW.
  • add Forms: many Ajax-related new features.
    • Rewrote almost everything using Dojo
    • Added a Dojo widget for repeaters, allowing drag and drop reordering of rows (but not on Safari) and clicking in rows to select them.
    • Added a Dojo widget for inplace editing.
    • Added a Dojo widget for suggestion-lists. It works in relation with a new <fd:suggestion-list> element in form definitions.
    • Added a new selection/suggestion-list implementation based on a JS code snippet in the form definition.
    Committed by SW.
  • update Forms: updated Daisy HTML cleaner component to version 1.4.1 (was 1.1). Committed by BRD.
  • add Added the template block from Cocoon 2.2. This block contains a refactored implementation of the JXTemplate generator, which should be compatible with the existing one and is thus usable as a drop-in replacement. It should provide better performance, and some new features, such as Javascript expressions using @{...} syntax. It is used by having type="newjx" on map:generate, or by changing the mapping of the "jx" generator type to the new implementation class. Committed by BRD.
  • fix Apples can now access components declared in mounted sitemaps. Committed by JHS. Thanks to Paul Focke. See Issue COCOON-1728.
  • update Updated xercesImpl to 2.8.0 and xml-apis to 1.3.03. Committed by AG.
  • fix JUnit tests for LocaleAction. Committed by JHS. Thanks to Andrew Stevens. See Issue COCOON-1779.
  • fix Incompatible change for RoleFilterTransformer: Removed dependency on FilterTransformer. Be careful to update your sitemap to reflect this. Also thanks to Andrew Stevens for updating the patch against recent branch and Doug Bennet for the reminder. Committed by JHS. Thanks to Michal Durdina. See Issue COCOON-1335.
  • add Add Char datatype to forms. Committed by AS. Thanks to Simone Gianni. See Issue COCOON-1789.
  • add Allow to add multiple rows at once to a Repeater using <fd:repeater-action command="add-row" number-of-rows="5" ...> Committed by JBQ. Thanks to Rolf Metternich. See Issue COCOON-1729.
  • fix TraversableGenerator calls resolveURI() twice but release() only once. Committed by AG. Thanks to Freek Segers. See Issue COCOON-1796.
  • fix Portal Block: Remove "external" attribute from coplet links. Committed by CZ.
  • fix Portal Block: Fix handling of several instances of the same portlet where all instances showed the contents of the last portlet instance. This only applies to JSR-168 portlets, not to coplets. Committed by CZ.
  • fix Allow configuration of initial context in LDAPTransformer. Example: <ldap:initial-context name="com.sun.jndi.ldap.connect.timeout" value="5000"/> Committed by JBQ. Thanks to Sébastien Grimault. See Issue COCOON-1707.
  • add html block: Add CleanupTransformer. Enables indent html, add relevant line-breaks, and remove any namespaces that are not wanted. Committed by DC. Thanks to Miles Elam. See Issue COCOON-1206.
  • fix Allow ImageReader to process other image formats than JPEG Committed by JBQ. Thanks to George Georgovassilis. See Issue COCOON-1371.
  • fix Form block: I18nMessage - null parameter values causes NPE. Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1785.
  • fix Ajax block: BrowserUpdateTransformer can get into invalid state - must override recycle(). Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1786.
  • fix Fix caching-point pipelines. Remove the undocumented smart-caching parameter. Committed by JBQ. See Issue COCOON-1279.
  • fix LDAPTransformer can optionally output the DN of every returned entry as an attribute. To enable, use <ldap:dn-attribute>dn</ldap:dn-attribute> Committed by JBQ. Thanks to Antonio Fiol. See Issue COCOON-1066.
  • fix Fix handling of <ldap:execute-replace> causing NPE in LDAPTransformer Committed by JBQ. Thanks to Warrell Harries. See Issue COCOON-1705.
  • update JCR block: To build the JCR block, the jcr-api-1.0.jar has to be downloaded by the user prior to building the block. Have a look at the readme in the jcr block for more information. Committed by CZ.
  • update Mark Forms block stable. Make dream team sample work with it. Committed by RG.
  • fix Portal: Corrected problem with many ClassNotFoundExceptions occurring inside of the class loader by eliminating the usage of Castor deriveByClass in portal configurations. This change significantly improves performance of the portal login. Committed by RG.
  • fix When compiling with Java 1.4 or higher, EncodeURLTransformer was modified to use JDK 1.4 regular expressions instead of Jakarta regexp improving performance and avoiding possible stack overflows. Committed by RG. See Issue COCOON-1742.
  • fix Cron block: NPE calling QuartzJobScheduler.fireJob if the job is a CronJob. Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1778.
  • fix In cocoon.sh, use shell built-in command "exec" to replace sh's process instead of forking a new process for executing the "java" command, useful for proper service management Committed by JBQ.
  • add CForms: binding: implemented support for a new attribute "jxpath-factory" (can be used on any binding element) to change the factory used by JXPath when it needs to create new paths (currently this is fixed to the DOMFactory). This is useful when using non-DOM, non-bean data models. Committed by BRD.
  • fix CForms: call dispose() on every DatatypeBuilder if needed Committed by JBQ. Thanks to Jonas Ekstedt. See Issue COCOON-1344.
  • add CForms: Java event listeners can now implement Serviceable to get a ServiceManager and Initializable. Committed by JBQ. Thanks to Philippe Gassmann.
  • fix CForms: when building the query string in AJAX mode, do not include <input type="button"> Committed by JBQ. Thanks to Philippe Gassmann.
  • fix cocoon.ajax.Fader runtime error when style uses abreviated form #ccc in IE6.0sp2. Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1771.
  • add Added the imageop block, an Image Operation Reader providing a fairly flexible and powerful Image Reader that is capable of performing a stack of Effects, such as Scaling, color manipulation and coordination transforms, in a pluggable manner. Committed by JBQ. Thanks to Niclas Hedhman. See Issue COCOON-1301.
  • fix Add WEB-INF/classes to loader's classpath for cli and precompile Committed by JBQ. See Issue COCOON-1465.
  • fix Allow to run Cocoon CLI by adding servlet.jar in the classpath. Turn off cli's debug messages by default. Committed by JBQ. See Issue COCOON-1715.
  • fix Fix a bug in DirectoryGenerator: when using cocoon: changes were not detected Committed by JBQ. Thanks to Antonio Fiol. See Issue COCOON-1681.
  • fix CForms: Incompatible change for <fb:custom>: the base context is now passed instead of the relative context. Please change corresponding classes and use getXpath() to create the relative context yourself. Committed by JBQ. Thanks to Bart Molenkamp. See Issue COCOON-1238.
  • add CForms: Java classes used in <fb:custom> can now implement Serviceable to get a ServiceManager Committed by JBQ. Thanks to Bart Molenkamp. See Issue COCOON-1238.
  • fix CForms: fix <ft:validation-error> handling when used with FormsTemplateTransformer Committed by JBQ. Thanks to Jochen Kuhnle. See Issue COCOON-1558.
  • update Updated db-ojb to 1.0.4. Committed by AG.
  • fix Allow AbstractTextSerializer to be used with Saxon Committed by JBQ. See Issue COCOON-1695.
  • fix Disable Error Message when SAXON is used as the XSLT transformer Committed by JBQ. See Issue COCOON-1704.
  • fix CForms: Enable MultiValueFields with checkbox style to be disabled Committed by JBQ. Thanks to Paul Focke. See Issue COCOON-1699.
  • fix IncludeTransformer: source must not be cached if an error occurs Committed by JBQ. See Issue COCOON-1719.
  • fix Fix a bug in CForms: Null locator in EffectPipe triggers NPE Committed by JBQ. Thanks to Tom Green. See Issue COCOON-1651.
  • add Added a "precompile" target for the cocoon startup script. It precompiles all XSPs found in the webapp. Committed by JBQ. Thanks to Simon Mieth. See Issue COCOON-1170.
  • fix Portal block: Fix handling of caching-global-use-attributes bug in CachingCopletAdapter. Committed by CZ. Thanks to Guillaume Deflache. See Issue COCOON-1698.
  • update Updated log4j to 1.2.13, quartz to 1.5.1. Committed by AG.
  • add CForms: Added the sendForm(uri, viewData) function to Form.js, useful to display a form without the need to create a continuation. Useful along with the new processForm(viewData) function that updates the form values from the current request. Committed by JBQ.
  • fix Fix a bug in CForms: Form.js overwriting the CFormsInstance attribute in viewData Committed by JBQ. See Issue COCOON-1720.
  • fix Fix a bug in CForms library when extending a field Committed by JBQ. Thanks to Daniele Madama. See Issue COCOON-1736.
  • fix CSVGenerator now looks for the sitemap parameter "process-headers" (with the s at the end) as told in the documentation. Accepts a new sitemap parameter "max-records" which allows to limit the number of records to read. Fixes a caching bug: the same result was returned notwithstanding the modification of separator or escape character. Committed by JBQ. Thanks to Philippe Laplanche.
  • fix Add ids to CForms validation messages, so that they can be unit-tested Committed by JBQ. Thanks to Thomas Lutz. See Issue COCOON-1610.
  • fix Permit the choice of attributes to augment in AugmentTransformer Committed by JBQ. Thanks to Aurélien DEHAY. See Issue COCOON-1627.
  • fix Allow to use a <fd:value-count> validation rule with <fd:multivaluefield> Committed by JBQ. Thanks to Marco Rolappe. See Issue COCOON-1621.
  • fix Allow to extend JXPathBinding outside the org.apache.cocoon.forms.binding package Committed by JBQ. Thanks to Philippe Gassmann. See Issue COCOON-1731.
  • fix When saving a cform, remove xml elements if the value of the widget is null. Symptom is eg date field initialized to 1970-01-01 Committed by JBQ. Thanks to Philippe Gassmann. See Issue COCOON-1687.
  • fix XMLDBTransformer can use username/password to access XMLDB. Note that DatabaseManager.getCollection() accepts null values for user and password, see http://xmldb-org.sourceforge.net/xapi/api/org/xmldb/api/DatabaseManager.html#getCollection(java.lang.String,%20java.lang.String,%20java.lang.String) Committed by JBQ. See Issue COCOON-1259.
  • add Portal Block: Provide user name to portlets. Committed by CZ.
  • fix Portal Block: Make wsrp event adapter thread safe, fix error in disposing wsrp producer and update portals bridges to 1.0. Committed by CZ.
  • update Replace deprecated library excalibur-io 1.1 with commons-io 1.1. The file excalibur-io-1.1.jar is no longer part of the cocoon distribution. Note: All the packages under org.apache.avalon.excalibur.io.* can be found under org.apache.commons.io.*. Please update the imports in your code. Committed by AG.
  • update Updated asm to 2.1, asm-util to 2.1 and groovy to 1.0-jsr-04. Committed by AG.
  • fix XSP block: Reintroduce locally scoped xspAttr in xsp.xsl to improve backwards compatibility for pre-2.1.9 logicsheets. (Suggestion by Vadim Gritsenko). Committed by AN.
  • fix I18n: XMLResourceBundle checks now for both the new and the old namespace. Committed by JH. See Issue COCOON-1700.
  • add XMLDB: heavy refactoring. The source is now traversable (like file and jcr) and has two specific methods: createId to create a new document ID for a collection, and and getBinaryOutputStream to write binary data to the database. Committed by SW.
  • add XSP block: Instrument {#expr} interpolation to produce Cocoon stacktrace for parse errors. Committed by AN.
  • fix Portal block: Fix possible encoding problems with JSR 168 portlets. Committed by CZ.
  • add Portal block: Support external form actions in HTML transformation. Committed by CZ.
  • fix Database block: Renaming AttributeImpl xspAttr to _xspAttr was not applied to ESQL logicsheet. That caused compliation errors in all XSPs using it. Committed by AN. Thanks to Feliciano Borrego. See Issue COCOON-1691.
  • add Core: Error handling fixed in map:aggregate (ContentAggregator). Now, no content is prepended to the result of any error handling pipeline. Committed by MPF.
  • add Core: Caching pipelines (CachingProcessingPipeline, ExpiresCachingProcessingPipeline, ...) will now check if the content they are trying to generate is already being generated by another caching pipeline. If so, they will wait for that content to appear in the Cache and use that content instead of re-generating it and possibly causing high load on the server. Committed by MPF.
  • add Core: ExpiresCachingProcessingPipeline will not set up a pipeline anymore when a cached version of it is available. Any cached response will now serve quickly, no matter how complex the actual pipeline is. Committed by MPF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Andrew Savory (AS), Bruno Dumon (BRD), Carsten Ziegeler (CZ), David Crossley (DC), Jean-Baptiste Quenot (JBQ), Jörg Heinicke (JH), Jorg Heymans (JHS), Max Pfingsthorn (MPF), Ralph Goers (RG), Sylvain Wallez (SW).

This is a list of other contributors:
Andrew Stevens, Antonio Fiol, Aurélien DEHAY, Bart Molenkamp, Daniele Madama, Eric Meyer, Feliciano Borrego, Freek Segers, George Georgovassilis, Guillaume Deflache, Jochen Kuhnle, Jonas Ekstedt, Marco Rolappe, Mark Lundquist, Michal Durdina, Miles Elam, Niclas Hedhman, Paul Focke, Philippe Gassmann, Philippe Laplanche, Rob Berens, Rolf Metternich, Sébastien Grimault, Simone Gianni, Simon Mieth, Thomas Lutz, Tom Green, Warrell Harries.

Version 2.1.8 (November 18 2005)

  • fix POST method in cinclude:includexml is broken. Committed by AG. Thanks to Maurice Jumelet. See Issue COCOON-1365.
  • update Forms block: If a field is required or not can be changed during form processing. Applied patch by Philipp Schmidt (philipp.schmidt@gmail.com). Committed by CZ.
  • update Forms block:
    • Automatic submit-on-change. Fields which have value-changed listeners are now by default submitted automatically, meaning adding <fi:styling submit-on-change="true"/> is no more necessary. For those cases where a field with event listeners should not be automatically submitted, set submit-on-change to false.
    • Introduce a naming convention for stylesheet-generated IDs: they should all start with the widget's ID followed by a ":" and a name. The use of ":", which is forbidden in widget names, avoids conflicts with other widgets in the form. All stylesheets have been updated to this convention.
      This change can break applications that use document.getElementById() to access some of the generated elements (notably "foo-input" that's used for the <input> of the "foo" widget), but this notation is now a public contract that will be taken care of in the future.
    • Along with field, aggregatefield and booleanfield, you can now add value-changed listeners on output and upload widgets.
    • Widget validators can now return not only a boolean value, but also a String or an XMLizable (such as I18nMessage) which are used to set a validation error on the widget.
    • The <fi:styling submit-on-change="output"/> is no more available, as it was intrinsically broken as a field whose value is not submitted is reset. Use the "output" widget state to achieve the same effect.
    Committed by SW.
  • fix Forms block: Fix HTML rendering of booleanfields in output state. Committed by SW. Thanks to Jason Johnston. See Issue 36381.
  • fix Forms block: Fix ArrayIndexOutOfBoundException in the library subsystem. Committed by SW. Thanks to Philipp Schmidt. See Issue 37005.
  • fix Portal Block: Only remove layout if a layout remove event is fired (and not with each layout event). Committed by CZ.
  • fix Fix bug with session:getxml when path is a text-element and IncludeXMLConsumer when including text nodes. Committed by CZ. Thanks to Armaz Mellati. See Issue 36471.
  • update Update Pluto to final release 1.0.1. Committed by CZ.
  • update Portal block: Deprecate AbstractUserProfileManager and AuthenticationProfileManager. Committed by CZ.
  • fix Portal block: Add title to basket item in the portal sample. Committed by CZ. Thanks to Philippe Gassmann. See Issue 33152.
  • fix Portal block: Fix history aspect when coplets are used. Committed by CZ. Thanks to Philippe Gassmann. See Issue 37115, 29405.
  • fix Do not flush and close output stream, servlet container will take care of it. Committed by VG. See Issue 35905.
  • add Portal Block: Include coplet instance id in window renderer; ignore javascript: urls during url rewriting. Committed by CZ.
  • fix Portal Block: Allow Full screen mode to show navigation. Committed by RG. See Issue 32784.
  • fix Portal Block: PageLabelLinkService generated the wrong url when using 3 layer tabs with showallnav. Committed by RG. Thanks to Roy Huang. See Issue 34802.
  • fix Databases block: Support stored procedures returning result set in SQLTransformer. Committed by VG. See Issue 30894.
  • add Bricks-cms example application created (distributed separately), see http://wiki.apache.org/cocoon/BricksCms Committed by BD.
  • update Improved blocks build exclusion/inclusion. See blocks.properties for more info. Committed by LG.
  • update I18n: Refactored XMLResourceBundle to use transient store instead of private cache. Added reload check interval parameter. Support dynamic additions and removals of resource bundles, without need to restart Cocoon. Committed by VG.