apache > cocoon
 

History of Changes

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 (March 14 2013)

Bug

  • [COCOON-1529] - I18nTranformer should consume and stop propagating start/endPrefixMapping of its namespace
  • [COCOON-1557] - Change access to AbstractContinuable.getContext to protected
  • [COCOON-1822] - MultiValueField list-type="double-listbox" does not work correctly in ajax enabled forms
  • [COCOON-1825] - Ajax error when an active state widget become invisible state widget
  • [COCOON-1887] - Host selector should be case insensitive
  • [COCOON-1985] - AbstractCachingProcessingPipeline locking with IncludeTransformer may hang pipeline
  • [COCOON-2002] - HTML transformer only works with latin-1 characters
  • [COCOON-2020] - CAPTCHA <input> element should have autocomplete="off"
  • [COCOON-2041] - WebDAV Returns improper status on PUT
  • [COCOON-2058] - Ambiguous rule match for "fi:styling/@submit-on-change"
  • [COCOON-2063] - NekoHTMLTransformer needs to set the default-encoding of the current system to work properly with UTF-8
  • [COCOON-2069] - Cocoon 2.1 is not initialized when building without samples
  • [COCOON-2104] - [PATCH] Add base URI fixup support to XIncludeTransformer
  • [COCOON-2109] - Incorrent cleanup of expired continuations
  • [COCOON-2158] - XMLByteStreamCompiler hard-coded limits of 0xffff Strings prevents large XML documents from being handled in Cocoon
  • [COCOON-2168] - ResourceReader produces Java Heap Overflow when reading a huge resource
  • [COCOON-2186] - Suggest list .. initial value not being displayed
  • [COCOON-2192] - CachingOutputStream does not cache all contents.
  • [COCOON-2228] - StripNameSpacesTransformer does not strip namespace prefix of attributes
  • [COCOON-2241] - The commandline is not working since cocoon-1985
  • [COCOON-2243] - NPE when calling ApplicationUtil.isUserInRole
  • [COCOON-2257] - Missing modCount attribute in JCR sample content
  • [COCOON-2264] - ConcurrentModificationException in ContinuationsManagerImpl.expireContinuations()
  • [COCOON-2286] - Application does not start when the context path contains spaces
  • [COCOON-2306] - StripNameSpacesTransformer does not strip attribute namespaces
  • [COCOON-2307] - When interrupted, the ResourceReader may store incomplete data in the cache
  • [COCOON-2310] - XHTMLSerializer from the serializers block does not handle HTML5 doctype
  • [COCOON-2319] - Bad Environment context when redirecting to cocoon:// with a sitemap not located in the webapp context
  • [COCOON-2321] - Unable to permanently redirect the client (eg. with an HTTP code 301) from inside a cocoon:// redirection
  • [COCOON-2335] - samples in asciiart block are missing the text in the generated images

Improvement

  • [COCOON-2065] - huge performance increase of LuceneIndexTransformer on large Lucene indexes
  • [COCOON-2074] - Build ignores custom applications
  • [COCOON-2149] - Patch to IncludeTransformer to add root-element stripping (cf CIncludeTransformer)
  • [COCOON-2178] - Array-based constructors of TreeSelectionEvent used.
  • [COCOON-2209] - POI: formatted style regions stop creating style at 2000 rows.
  • [COCOON-2213] - Change check on mime-type to enable custom encoding of the body
  • [COCOON-2278] - Make SOAPHelper use https, not just http
  • [COCOON-2289] - [2.1] Backport FOPNGSerializer
  • [COCOON-2290] - CLONE - Add a read method to the SitemapComponentTestCase
  • [COCOON-2295] - Integrate FOP 1.0
  • [COCOON-2314] - [2.1] Allow to override the upload parameters in CocoonServlet
  • [COCOON-2328] - Update LocaleAction test case
  • [COCOON-2330] - Release separate source and dependencies packages
  • [COCOON-2334] - [PATCH] cocoon 2.1 branch (head) build system

New Feature

Task

  • [COCOON-2305] - Remove lib/core/servlet_2_2.jar (because 2.3 is needed)
  • [COCOON-2331] - Some Samples have links to associated docs which are now broken

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.
  • update JavaDocs and documentation are no longer copied to the webapp. Committed by CZ.
  • update build.sh: use --noconfig option to avoid problems with local ant settings. Does not apply to build.bat, windows ant scripts do not have this option. Committed by BD. Thanks to Sandor Spruit.
  • update cocoon.sh and cocoon.bat (done by CZ): "servlet" is now the default action. Committed by BD.
  • update Update Avalon framework to 4.3, Avalon LogKit to 2.1, Excalibur Instrument to 2.1, Excalibur Logger to 2.1, Excalibur Pool to 2.1, Excalibur SourceResolve to 2.1, Excalibur Store to 2.1, Excalibur XMLUtils to 2.1 and Excalibur Database to 2.1. Committed by VG.
  • fix Fix OutofBoundsException when form element does not have an action attribute Committed by JHS. Thanks to Max Pfingsthorn. See Issue 30796.
  • 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.
  • add CForms block: new Tree widget, heavily inspired by Swing's JTree. Features Ajax, selection listeners, and a lightweight data model with two implementations: a generic one, and a source-based one to build file explorers. Committed by SW.
  • add CForms: The repeater widget now supports min and max-size attributes. Committed by JHS. Thanks to Thomas Lutz. See Issue 36781.
  • add Moved support for zip: sources from scratchpad into the core. Committed by VG.
  • add CForms: Small change to the calendar styling which now shows dropdowns to choose the time when the date format includes time also. Committed by SW. Thanks to Jean-Christophe Kermagoret.
  • update Updated quartz to 1.5.0. Committed by AG.
  • update Midi Block: Marked as stable. Committed by JH. See Issue 28056.
  • update Portal Block: Provide sample for caching uri coplet adapter (Gallery coplet). Committed by CZ. Thanks to Michal Durdina. See Issue 32994.
  • fix Portal Block: Add missing interface CopletInstanceEvent to FullScreenCopletEvent. Committed by CZ.
  • update CForms: Improved error message for wrong content type on upload. Committed by JH. Thanks to Mark Lundquist. See Issue 35475.
  • fix XSP: EclipseJavaCompiler chokes on warnings. Changed to errors. Committed by JH. Thanks to Jochen Kuhnle. See Issue 35162.
  • fix CForms: Fixed JavaScript error in forms-lib.js when using keyword undefined and Mac IE 5.0. Committed by JH. Thanks to Dan Durkin. See Issue 33318.
  • add Caching support for XInclude Transformer Committed by AG. Thanks to Jason Johnston. See Issue 31600.
  • add CForms block: new form libraries features. You can now define form definition and binding library files and import them for reuse and/or extension in regular definition and binding files.
    This is the result of the Max Pfingsthorn's Google Summer of Code (GSoC) project. Committed by SW. Thanks to Max Pfingsthorn.
  • update When the upload size exceeds the configured limit, a RejectedPart is associated to the request rather than throwing a exception at the servlet level. This allows the application to handle oversized uploads and provide meaningful messages. The upload widget in CForms has been updated to use this new feature.
    Uploads are now allowed in the provided web.xml, but with a low 100 kbytes limit to allow samples to be functional without endangering security. Committed by SW.
  • update Updated log4j to 1.2.12, asm to 2.0, asm-util to 2.0, groovy to 1.0-jsr-03. Committed by AG.
  • fix Deli block updated to use the latest revision of DELI. This uses a more robust method of loading configuration files that should ensure DELI works on different apps servers or deployed as a WAR. Committed by JHS. Thanks to Mark H. Butler. See Issue 35538.
  • fix MultipartParser now removes partially uploaded files Committed by JHS. Thanks to Gunnar Brand. See Issue 29712.
  • add Added ImageMap widget. Committed by JHS. Thanks to Luca Morandini. See Issue 35462.
  • fix Added percentage-dimensions and jpeg quality handling to the ImageReader. Committed by JHS. Thanks to Eric Caron. See Issue 36326.
  • fix JXTG: jx:formatDate and jx:formatNumber allows for specifying locale string instead of a Locale object Committed by LG. Thanks to Henric Mueller. See Issue 35845.
  • add Added a new "validation" block abstracting the concept of XML validation and providing access to schemas and validation tools from within Cocoon pipelines and/or Cocoon components. As of right now, the "validation" block supports the RELAX-NG grammar using JING and the XML-Schema grammar using Xerces. Committed by PF.
  • add Add a "cocoon.exit()" method to flowscript, which allows to exit the current flowscript invocation without creating a continuation. Committed by SW.
  • fix XMLdb block: Don't rely on the sitemap components to stream the contents of a xmldb source. Committed by SW. Thanks to Jean-Baptiste Quenot. See Issue 35575.
  • fix CForms block: Escape apostrophes in validation messages formatted as JavaScript alerts. Committed by SW. Thanks to Jean-Baptiste Quenot. See Issue 35574.
  • fix getTime(...) of CocoonLogFormatter implemented incorrectly Committed by AG. Thanks to Johan Stuyts. See Issue 36373.
  • update SourceWritingTransformer supports all allowed nodes when using source:write to create new document. Committed by VG.
  • update LocaleMatcher can save resulting locale into request, session or cookie (if configured). Committed by VG.
  • add Portal block: Add WSRP consumer support (through WSRP4J). Committed by CZ.
  • update Updated hsqldb to 1.8.0.2. Committed by AG.
  • fix Portal block: Fix bugs in CachingURICopletAdapter - store cache information in temporary attributes. This bug fix introduces incompatible changes: the cache validity attribute is not used anymore, use the cache temporary attribute instead and update your code to use temporary attributes instead of (persistent) attributes. Committed by CZ.
  • update Updated jakarta-regexp to 1.4. Committed by AG.
  • add Portal block: Allow portlet adapter to stream html content through the pipeline using the NekoHTML parser. Committed by CZ.
  • add Portal block: Use OJB and the HSQLDB for authentication of the portal sample. Committed by CZ. Thanks to Jens Maukisch. See Issue 36240.
  • fix XSP block: Move AttributeImpl in xsp.xsl to class scope. That allows top-level xsp:logic to define markup generating methods. Variable xspAttr renamed to _xspAttr to be avoid breaking existing XSPs which already use that trick. Committed by AN.
  • fix XSP block: Add xsp:expr and various other contexts where text must be passed through XSLTExtension:escape in order to preserve non-ASCII characters in Java string constants independently of the XSP source file and compiler expected encodings. Committed by AN.
  • update Faces block: Updated MyFaces libraries to the SVN r233484, get rid of patched version. Committed by VG.
  • add Portal block: Add support for portal bridges and add CoWarp for authentication. Committed by CZ.
  • add Portal block: Add global caching to caching uri adapter. Committed by CZ.
  • update Updated xalan to 2.7.0. Committed by AG.
  • add Add geronimo-specs-javamail-1.3.1-rc5 and geronimo-spec-activation-1.0.2-rc4.jar. This jars replace mock classes for mail block. Committed by AG.
  • fix JXTemplate: ensure JXPath expressions can use namespace prefix mappings declared in the template document. Committed by SW.
  • update Updated Axis to 1.2.1 and wsdl4j to 1.5.1. Committed by CZ.
  • update Updated xercesImpl to 2.7.1, xml-apis to 1.3.02, log4j to 1.2.11, nekohtml to 0.9.5, geromino-spec-jms and geronimo-spec-jta to M3. Committed by AG.
  • update Webapp context is now configurable when starting with the included Jetty webserver. Setting JAVA_OPTIONS=-Dcontext=blah/, for example will make the Cocoon webapp available at /blah/ instead of / which stays the default. Committed by BD.
  • update Update Rhino+continuations so that JavaScriptException has the same API as the official 1.6 version. This is allows to access location and nested exceptions for Cocoon stacktraces. Committed by SW.
  • fix Complete refactoring of error handling in TraxTransformer and XSLTProcessor so that actual error messages are displayed rather than the useless RuntimeException usually reported by Xalan. These messages include both stylesheet compilation errors and warnings, and outputs of <xsl:message terminate="yes">.
    Using this feature requires to change the XSTLProcessor class in cocoon.xconf to org.apache.cocoon.components.xslt.TraxProcessor. Committed by SW.
  • add XSP block: Extend {#expr} interpolation parser to understand {}, "}", '}' as not being the closing brace. The previously implemented mechanism #} to escape braces within the statement is no longer supported. Committed by AN.
  • add Added Cocoon stacktraces. This is based on location classes in the new org.apache.cocoon.util.location package and a refactoring of the exception management to attach locations to exceptions. Committed by SW.
  • update Updated hsqldb to 1.8.0. Committed by AG.
  • add XSP block: Implement {#expr} interpolation also for logicsheets. Committed by AN.
  • add New org.apache.cocoon.util.location package, providing utilities to track locations in XML documents and the objects built from these documents. Committed by SW.
  • fix Mail block: Allow any of the Cocoon-provided protocols to be used for attachments in SendMailTransformer. This means that "cocoon:" URLs are no more rewritten as external http requests. Committed by SW. Thanks to Jean-Baptiste Quenot. See Issue 35618.
  • add Added the empty: source than either generates empty documents or documents containing just a root node. Committed by CZ. Thanks to Mark Lundquist. See Issue 35521.
  • fix Fix NPE in RequestGenerator when request.getHeaderNames() returns null. Committed by CZ. Thanks to Doug Bennett. See Issue 35457.
  • fix Fix wrong caching behaviour in DirectoryGenerator. Committed by CZ. See Issue 29506.
  • add Portal block: Add easier to use event handling mechanism by introducing the new Receiver interface. Deprecated Publisher, Subscriber, Filter and Register. Committed by CZ.
  • update Moved following components into core: TraversableGenerator, XPathTraversableGenerator (both from repository block), CSVGenerator (from scratchpad block), FragmentExtractorTransformer and FragmentExtractorGenerator (both from batik block). Committed by JH.
  • add XSLTAL block added, presentation templating transformer based on the Zope TAL syntax. Committed by BD. Thanks to Christian Stocker.
  • update TraxTransformer: new default-src configuration parameter, used if src is not specified. Committed by BD.
  • add Added CookieModule as a more convinient way to access cookie values as {cookie:query} in alternative to {request:cookies[name='query']/value}. Committed by AN. Thanks to Jon Evans. See Issue 28045.
  • add Added parameter "show-cocoon-version" to web.xml for configuring whether X-Cocoon-Version response header should be sent. Default is true. In a security paranoid environment you may want to set it to false in order to hide from the outside world which Cocoon version you are running. Committed by AN. Thanks to Andrew Stevens. See Issue 33388.
  • add XSP block: Added short-cut notation {#expr} for interpolation of XSP expressions in attribute values and text nodes. Removed wrapping of all text nodes from XSP source into <xsp:text> elements before passing them to logicsheets. (This feature was not used by the standard logicsheets but check your custom logicsheets whether they depend on it.) Committed by AN. Thanks to Jochen Kuhnle. See Issue 35228.
  • add Portal block: Convert PortletPortalManager into portal manager aspect. Committed by CZ.
  • add CForms block: Make all WidgetValidatorBuilders ThreadSafe. Reset validation errors before validating a field. Committed by CZ.
  • add Portal block: Add portal manager aspects for more flexible portal processing. Committed by CZ.
  • add CForms block: Add isValid() method to a Widget. Committed by CZ.
  • add POI Block: Added HSSFGenerator. Committed by VG. Thanks to Patrick Herber. See Issue 29817.
  • add Added getSitemapURIPrefix method to the Request interface. Committed by VG. Thanks to Nico Verwer. See Issue 35435.
  • update Updated commons-digester to 1.7, commons-lang to 2.1, xercesImpl to 2.7.0. Committed by AG.
  • add Mail block: The SendMailTransformer can now configure the smtp port. Committed by UH. Thanks to Johan Stuyts.
  • fix Fixed reloading of the i18n catalogues (regression introduced in 2.1.7). Committed by VG. See Issue 33097.
  • add JMS block: Connection failures can now be recovered from. The default JMSConnectionManager implementation detects when JMS connections are severed and schedules reconnection attempts with the cron scheduler in order to re-establish the connection. As soon as reconnection was successful it notifies its listeners so that they may recover as well and refresh their JMS sessions. The provided abstract MessageListener and JMS publisher that users are recommended to use as base classes for their concrete JMS needs have been updated to use this mechanism. Committed by UH. Thanks to Johan Stuyts.
  • add Forms block: sqldatabase sample added, demonstrates "zero java code" editing of SQL data using the SQLTransformer. Committed by BD. Thanks to Askild Aaberg Olsen. See Issue 35364.
  • fix CForms block: Ensure FormHandler is always called when a field's value change. Committed by SW. Thanks to Jeffrey Kirby. See Issue 35311.
  • update CForms block: The default HTML stylesheets have been moved into the jar packages. If they should be extended in custom stylesheets, import or include them using the resource protocol: <xsl:include href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/>. Committed by RP.
  • add CForms block: The form and container widgets can take up ValidationErrors. As those widgets don't have a natural place where the error message should appear, the <ft:validation-error id="[widget-id]"/> has to be used. Currently this tag is only supported by the jxtemplate macro library. Committed by RP.
  • fix Fix some multithreading issues when a background thread or cron job uses the "cocoon:" protocol, that caused the background request pipeline to be recycled by the parent thread during its execution.
    To use multiple threads to process a request (e.g. parallel include), background processing must use the org.apache.cocoon.environment.CocoonRunnable wrapper that ensures that the environment context of the main request is properly inherited by tasks running in the background. Committed by SW.
  • update Mail block: Make internal protocol handling for attachments in SendMailTransformer configurable and properly release all sources. Committed by CZ.
  • update Move expires pipeline implementation out of the scratchpad. Committed by CZ.
  • add Add setter action to set values in the object model, request or session. Committed by CZ.
  • update Updated ant to 1.6.5. Committed by AG.
  • add CForms block: add a new <fd:true-param-value> configuration to booleanfield definitions, to allow specifying a value different from "true" for the checkbox. Committed by SW.
  • update Set the content-length of a response when the pipeline buffers the content (which is the default). Committed by CZ.
  • fix XSP Block: Double check and attempt again to load program object from cache. This avoids that simultaneous requests recompile the same XSP over and over again. Committed by AN. See Issue 32935.
  • fix When receiving a multipart request, also add parameters given on the URL to the request parameters. Committed by SW.
  • fix EHDefaultStore.store throws more descriptive exception if key or value are not Serializable. Committed by BD.
  • update Cforms block: Caching selection list for best performance inside repeaters. Deprecate @dynamic in <fd:selection-list> in favor of @cache. Posible @cache values are:
    • static => equivalent to old @dynamic="false"
    • none => equivalent to old @dynamic="true"
    • request => is new, similar to cache="none", but caching the selection list per request. Useful to improve performance inside repeaters.
    Committed by AG.
  • update Updated ant to 1.6.4, batik to 1.6, db-ojb to 1.0.3. Committed by AG.
  • add CForms block: add automatic AJAX features. When <ft:form-template> has an ajax="true" attribute, partial page updates are performed rather than full page reloads. Committed by SW.
  • fix SearchGenerator return has-previous false when meet the no. 2 page. Committed by AG. Thanks to Thomas Scheithauer. See Issue 32728.
  • add The new "annotations" namespace (http://apache.org/cocoon/sitemap/annotations/1.0) can be used to add information to sitemaps. The sitemap processor ignores this information, which can be used for documentation purposes. Committed by BD. Thanks to Johan Stuyts. See Issue 25352.
  • fix XSP Block: Race condition could lead to duplicate application of same logicsheet with spurious compilation errors or undefined runtime behaviour. Committed by AN. See Issue 32934.
  • add CForms block: added CAPTCHA validator. Committed by UC.
  • add IncludeTransformer moved from the scratchpad into the core. It has following features:
    • Supports caching, with configurable caching key.
    • Supports parallel include processing in multiple threads.
    • Included source URIs resolved relative to the document URI.
    • Supports recursive include processing (includes in included files).
    • Supports fallback element processing.
    • Supports inclusion of files as text.
    Committed by VG.
  • fix Enabled the synchronization on Cocoon's session wrapper by assuring that only one wrapper exists per servlet session. Committed by JH.
  • fix Databases: SQLTransformer: Support queries nested into insert/delete/update queries. Return number of rows updated by insert/delete/update queries as returncode element. Committed by VG. See Issue 25098.
  • fix Databases: SQLTransformer: Each query can now have connection with own database connection configuration parameters. Queries with same configuration will share single database connection. You can force queries to create private connection using own-connection configuration parameter. Committed by VG.
  • fix Databases: SQLTransformer: Each query can now have own output namespace and prefix. If desired output namespace already in use, existing prefix will be used. Committed by VG.
  • fix Databases: SQLTransformer: Support multiple nested queries within one query. Committed by VG. Thanks to Philipp Matthias Hahn. See Issue 27440.
  • update Databases: Changes in SQLTransformer:
    • By default, output resulting XML using 'sql' namespace prefix.
    • Accept non-namespaced attributes in the input XML, and prefer them over attributes in SQLTransformer namespace.
    • Support configured namespace, instead of hardcoded value.
    Committed by VG.
  • fix Databases: SQLTransformer: Output attributes on rowset element with empty namespace. Committed by VG. Thanks to Martin Holz. See Issue 31634.
  • fix Databases: SQLTransformer: Avoid declaring duplicate namespaces. Committed by VG. See Issue 25203.
  • remove Databases: Removed xml-encoding parameter from the SQLTransformer configuration. The latest SQLTransformer has no byte to character conversions. Committed by VG.
  • update Updated ant to 1.6.3. Committed by AG.
  • update OJB Block: Added support for OJB 1.1. Committed by VG.
  • update AbstractSAXTransformer gets transformer-factory configuration parameter. Committed by VG.
  • update XMLFileModule gets cache-expressions configuration parameter. Committed by VG.
  • fix form(NOT_FOUND is not a function) error caused by wrong documentation. Committed by AG. Thanks to Juan Jose Pablos. See Issue 33100.
  • fix Fix ContextPathModule name in javadocs. Committed by AG. Thanks to Jorg Heymans. See Issue 34591.
  • add New JCR block that adds a "jcr:" protocol to access and modify repository contents. Committed by SW.
  • add New HTMLTransformer sample in html block. Committed by BD.
  • fix Faces Block: ValidateLongRangeTag, ValidateDoubleRangeTag should use long and double to set minimum and maximum, not int. Committed by VG. Thanks to Markus Bussemer. See Issue 34400.
  • fix Fixed caching of a pipeline aggregating non cacheable pipelines via cocoon: protocol. Committed by VG.
  • update Stacktrace of the ResourceNotFound exception is logged only in DEBUG level, otherwise only exception message is logged. Committed by VG.
  • fix Fix environment handling to allow the root sitemap to be at an abitrary location and not only in the main webapp context directory. Committed by SW.
  • fix Updated excalibur-pool to 2.0.0, excalibur-datasource to 1.2.0. Fixes problem of database connections pools not coming up after database outage. Committed by VG.
  • update Updated groovy to 1.0-jsr-01, jdtcore to 3.0.2. Committed by AG.
  • add New set of automated tests based on HtmlUnit Committed by BD. Thanks to Alfred Nathaniel. See Issue 34294.
  • update Add support for namespaced XML elements to the JXPath based input modules (includes JXPathMetaModule, XMLFileModule, and others). Committed by VG.
  • fix XInclude transformer does not handle fallback correctly. Committed by AG. Thanks to Joachim Breitsprecher. See Issue 34325.
  • update Deprecate EventRecorder (in o.a.c.t.helpers package). It will be removed starting with Cocoon 2.2. Committed by VG.
  • fix XSP Block: Note in the documentation that XSP namespace must be declared on the xsp:page element. Committed by VG. See Issue 26107.
  • fix Fix NPE in DOMStreamer.stream(). Committed by CZ. Thanks to John Yonosh. See Issue 33963.
  • fix Portal block: Make portal manager available through portal component manager. Committed by CZ.

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), Bertrand Delacrétaz (BD), Carsten Ziegeler (CZ), Jörg Heinicke (JH), Jorg Heymans (JHS), Leszek Gawron (LG), Pierpaolo Fumagalli (PF), Ralph Goers (RG), Reinhard Pötz (RP), Sylvain Wallez (SW), Ugo Cei (UC), Unico Hommes (UH), Vadim Gritsenko (VG).

This is a list of other contributors:
Alfred Nathaniel, Andrew Stevens, Armaz Mellati, Askild Aaberg Olsen, Christian Stocker, Dan Durkin, Doug Bennett, Eric Caron, Gunnar Brand, Henric Mueller, Jason Johnston, Jean-Baptiste Quenot, Jean-Christophe Kermagoret, Jeffrey Kirby, Jens Maukisch, Joachim Breitsprecher, Jochen Kuhnle, Johan Stuyts, John Yonosh, Jon Evans, Jorg Heymans, Juan Jose Pablos, Luca Morandini, Mark H. Butler, Mark Lundquist, Markus Bussemer, Martin Holz, Maurice Jumelet, Max Pfingsthorn, Michal Durdina, Nico Verwer, Patrick Herber, Philippe Gassmann, Philipp Matthias Hahn, Philipp Schmidt, Roy Huang, Sandor Spruit, Thomas Lutz, Thomas Scheithauer.

Version 2.1.7 (March 23 2005)

  • update Updated hsqldb to 1.7.3.3. Committed by AG.
  • fix Fix caching of i18n bundles with expires validities. Committed by VG.
  • add Implemented error handling for the internal requests. Error handling for internal requests can be configured using the when attribute on the handle-errors element. Supported values for when attribute are:
    • external: This error handler should be used only on external requests (default);
    • internal: This error handler should be used only on internal requests;
    • always: This error handler can be used for all requests.
    Currently, if internal error handling is enabled, only the inner most error handler will be used for errors which happened during internal pipeline processing. See samples for usage details. Committed by VG.
  • fix Sitemap now properly throws ResourceNotFound exception for not matched requests even if last pipeline marked as an internal pipeline. Committed by VG.
  • fix Sitemap handle-errors now reports an error if generator is missing, or if type attribute (deprecated) specified and generator is present. Committed by VG.
  • update Updated quartz to 1.4.5, jcs to 1.2.5-dev-20050313. Committed by AG.
  • update Refactored the Deprecation class: the "forbidden-deprecation-level" parameter in web.xml allows to raise deprecation exceptions depending on the log level. For example, DEBUG allows no deprecations (strict mode), and FATAL_ERROR allows all (tolerant mode). Default is ERROR, allowing messages up to WARN. Committed by SW.
  • add A flowscript's file encoding can now be specified by a comment on the script's very first line, in the form "// encoding = xxxx". Otherwise, the default platform encoding is used. Committed by SW.
  • add Added QueryBean as a standalone block, copied over from 2.2.0. Removed the original from the Lucene Block. Stores Favourites using OJB in HSQLDB. Committed by JQ.
  • update CForms: separate FormattingDateConvertor that uses java.text.SimpleDateFormat and Icu4jDateFormatter that uses ICU4J. There was previously an automatic switch to ICU4J if the library was present in the classpath, which sometimes caused some strange results as it behaves a bit differently. Committed by SW.
  • fix Tour block: fix "shapes" sample using if/else in flowscript instead of switch. Committed by BD.
  • update Build: Added exclude.all.blocks and include.all.blocks properties to quickly toggle all blocks on or off. Committed by VG.
  • update Updated antlr to 2.7.5, groovy to 1.0-beta-10, jetty to 4.2.23 Committed by AG.
  • update OJB Block: Marked as stable. Committed by VG.
  • update Make Cocoon compilable and buildable using JDK 5.0. Committed by all.
  • update Remove scratchpad block - the scratchpad area is only available in trunk. Committed by CZ.
  • update Deprecated Pizza compiler support in XSP. To be removed in Cocoon 2.2. Committed by AG.
  • update CForms: JavaSelectionList implementations can now be Contextualizable and can build SelectionLists with XMLizable labels. Committed by VG.
  • fix Change the mime-type setting of a reader. See also bug #25121. Committed by CZ. See Issue 10277.
  • fix Fix thread safety problem in JXTemplateGenerator.setup() concerning template script reparsing. Committed by LG. Thanks to Niklas Therning. See Issue 33836.
  • add Polish i18n for CForms. Committed by LG.
  • update OJB Block: Renamed JdoPMF component to JDO, OdmgImplementation to ODMG, and removed PBFactory component - please use OJB PersistenceFactory API directly. Committed by VG.
  • fix Runnable Manager: Fix bug preventing scheduling of two different jobs at the same time. Committed by VG.
  • add Many changes in CForms block.
    Widgets:
    • add Widget.getDefinition() to access the definition that was used to create the widget.
    • make widget definitions immutable once setup. This is necessary with the previous change as a definition is shared by all of the widgets it creates and modifying it could lead to weird behaviors.
    • new "output" widget state, where values are displayed but not read on the request. The difference with "disabled" is that "output" widgets are displayed as plain text and not as disabled inputs.
    • add on-create event listeners that are called when a widget is created.
    • deprecate "struct" in favor of "group" in definition, template and binding. More work is needed on the relation between ft:group and fi:group provided by forms-page-styling.xsl

    Field:
    • a field's selection list can be removed by setting it to null. This previously re-installed the widget definition's selection list.
    • a field can have an optional initial value defined using <initial-value locale="...">...</initial-value>. The "locale" attribute is used to convert the value text into an object as defined by the datatype's convertor. This feature is also available on AggregateField and BooleanField (for which locale is useless).

    Form.js :
    • added "fun" and "ttl" parameters to Form.showForm(), which now has the exact same parameters as cocoon.sendPageAndWait().
    • the argument of new Form(...) can now be either a String or a DOM Element. Accepting an Element allows the use of any kind of dynamic process to build the form definition.
    • Form.showForm() now uses a single continuation, which saves memory and speeds up processing by shortening the continuation chain when the user has a long interaction with the form.
    • "ttl" parameter added to Form.showForm(), which has the same meaning as for cocoon.sendPageAndWait().
    • new "cleanupHook" property on Form: this is a function that is called each time the form is displayed. This is similar to the "fun" parameter of cocoon.sendPageAndWait().
    • new "restoreHook" property on Form: this is a function that is called each time the continuation is called back, to restore if needed the execution environment before processing the request.

    Actions:
    • the "action-command" attribute is deprecated and replaced by "command" which is now optional, except on repeater-action and row-action where it indicates what to do.
    • new "insert-rows" repeater-action that insert new rows before the selected rows in a repeater

    Styling: styling "output" is deprecated and will be removed in 2.1.8. The "output" widget state should be used instead. Committed by SW.
  • add Added best-fit-while-keeping-aspect-ratio option to the ImageReader Committed by TC. See Issue 30417.
  • fix Resource Reader: Make sure response is cacheable when expires parameter is not set. Committed by VG. Thanks to Adam Ratclife. See Issue 33319.
  • add Mail Block: Add support for replyTo. Committed by VG. Thanks to Andrew Thornton. See Issue 28973.
  • add CocoonBean can now process a URL to a SAX ContentHandler (skipping the serialiser), via cocoon.process(uri, handler). Committed by UV.
  • update OJB Block: Integrated OJB logging with Cocoon logging. Committed by VG.
  • update Add a deprecation logger that gives hint about used deprecated stuff. Committed by CZ.
  • update Updated commons-transaction to 1.0.1, castor to 0.9.6, groovy to beta-9, quartz to 1.4.4. Committed by AG.
  • update Remove restrictions on the flowscript object model (FOM): the objects available through the cocoon object (request, session, response, etc) now provide the full API of the corresponding Java classes. Committed by SW.
  • fix CForms: forms generator and template transformer now use the same object model as the JXTG: access to objects have to use the "cocoon" object, like "cocoon/continuation/id". Committed by CZ.
  • add hsqldb: make name and path of database parameterizable - this way the database can be located outside of Cocoon Committed by RP.
  • fix Apply patch for a better exception handling in the Meta-InputModule when an input module is not found. Committed by CZ. Thanks to Michal Durdina. See Issue 32987.
  • fix Fixed caching of i18n bundles when using multiple locations. Committed by JH. See Issue 33097.
  • fix Fix handling of environment context when returning from a pass-through sitemap mount. Committed by SW. Thanks to Jean-Baptiste Quenot. See Issue 33178.
  • add Portal Block: Add portal tools framework contribution. Committed by CZ. Thanks to Jens Maukisch. See Issue 33287.
  • add Build system: External blocks can be built together with Cocoon. Committed by CZ.
  • fix Refreshing a page with a JSR-168 portlet in it could cause unexpected results. JSR-168 urls can now be configured to contain the data required to generated the required events. Committed by RG. See Issue 33091.
  • add Add <compiler-compliance-level> parameter for java XSP compiler. This new parameter allow to specify the java code source version used to compile the XSP code. It is useful to run cocoon using java 1.5 while using source code for 1.4. Posible values: 1.3 = Java version 1.3 1.4 = Java version 1.4 1.5 = Java version 1.5 auto = The version of the JVM where cocoon is running. (Default value). NOTE: The parameter is optional to keep backward compatibility. The parameter currently works only with Sun Javac compiler. The eclipse compiler version 3.0.1 currently does not support java 1.5. The pizza compiler does not support java 1.5. Committed by AG.
  • fix PageLabel url's were not properly encoded. Committed by RG. Thanks to Roy Huang. See Issue 32838.
  • update Updated quartz to 1.4.3, nekodtd to 0.1.11, nekohtml to 0.9.4 castor to 0.9.5.4, commons-digester to 1.6, groovy to 1.0-beta-8, asm to 1.5.2 and asm-util to 1.5.2. Committed by AG.
  • add Added commons-transaction 1.0 and commons-codec 1.3. Both are needed by slide 2.1. Committed by AG.
  • update Updated jakarta-slide-webdavlib to 2.1, jdom to 1.0, slide-kernel to 2.1, slide-stores to 2.1, slide-webdavservlet to 2.1. Committed by AG.
  • add Portal now allows Cocoon to be deployed as a war (only supports local JSR-168 portlets) and allows external portlets to be in a war. Committed by RG.
  • fix CForms: the parser used to read form files now uses the EntityResolver defined in cocoon.xconf. Committed by SW. See Issue 31668.
  • fix Tiny typo in AbstractTextSerializer Committed by AG. Thanks to Micah Dubinko. See Issue 32620.
  • fix Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event. Committed by RG. See Issue 32645.
  • add ContinuationsManager default implementation can now store continuations in user session. Continuations are not available outside user session and invalidated automatically when session gets invalidated by servlet container. This is a good security option for web applications. Committed by LG.
  • fix Update Deli to x031104 (include over 300 vendor, operator and third party profiles) Committed by AG. Thanks to Mark H. Butler. See Issue 32083.
  • update Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2.9. Committed by AG.
  • add Paranoid: make the classloader implementation configurable Committed by TC.
  • fix Typo on the date-selector doc. Committed by AG. Thanks to Juan Jose Pablos. See Issue 32408.
  • fix xml2html.xslt does not work on IE. Committed by AG. Thanks to Micah Dubinko. See Issue 30043.
  • fix Portal: attributes "javax.portlet.request" and "javax.portlet.response" were not set for JSR-168 portlets running in the Cocoon webapp. Committed by RG. See Issue 32417.
  • add CForms: added HTMLCleaning convertor (taken from Outerthought's Daisy) that cleans up the result by HTMLArea fields. The cleanup process, that is based upon Nekohtml can be configured. One confiugration is available at resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml and guarantees valid XHTML
    Example: <fd:datatype base="string"> <fd:convertor type="htmlcleaner" config="resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/> </fd:datatype> Committed by RP.
  • add CForms: 'htmlarea' fields can be directly configured in cForms templates
    Example configuration (within the <conf> part the variable conf contains the configuration object of HTMLArea <fi:styling type="htmlarea" rows="8" style="width:100%"> <conf> conf.statusBar = false; conf.sizeIncludesToolbar = false; conf.fullPage = false; conf.toolbar = [ [ "bold", "italic", "separator", "subscript", "superscript", "separator", "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator", "inserthorizontalrule", "separator", "copy", "cut", "paste", "space", "undo", "redo", "separator", "showhelp"] ]; </conf> </fi:styling> Committed by RP.
  • fix CForms: fields styled as 'htmlarea' can be used in tables (workaround for strange IE behaviour) Committed by RP.
  • add CForms: add a new "link" styling for action widgets, that renders the action as an hypertext link. Committed by SW.
  • update DateInputModule now accepts date format string when specified in a sitemap. Committed by RG. Thanks to Nico Verwer. See Issue 28360.
  • add Portal: Added support for storing JSR-168 Portlet preferences. Committed by RG.
  • fix Batik block: Fixed handling for empty extract URIs when matching on null namespace URIs. Committed by JH. See Issue 32342.
  • add Allow attribute values to be matches as well for EncodeURLTransformer. Committed by GP.
  • fix Multipart requests: use container encoding for decoding requests, in order to have consistent handling between normal requests and multipart requests. Committed by BRD.
  • fix I18n (ParamSaxBuffer): handle case where substitution params like {0} are split over multiple character events. Committed by BRD. Thanks to Neil Bacon. See Issue 31887.
  • fix Fix: Continuation can only be invoked for the interpreter it was originally created for. Committed by LG.

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), (all), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Giacomo Pati (GP), Jörg Heinicke (JH), Jeremy Quinn (JQ), Leszek Gawron (LG), Ralph Goers (RG), Reinhard Pötz (RP), Sylvain Wallez (SW), Torsten Curdt (TC), Upayavira (UV), Vadim Gritsenko (VG).

This is a list of other contributors:
Adam Ratclife, Andrew Thornton, Jean-Baptiste Quenot, Jens Maukisch, Juan Jose Pablos, Mark H. Butler, Micah Dubinko, Michal Durdina, Neil Bacon, Nico Verwer, Niklas Therning, Roy Huang.

Version 2.1.6 (November 19 2004)

  • fix Lucene: SearchGenerator incorrectly counts previous-index. Reported by: Tomasz Nowak (tnowak-p@netventure.pl) Committed by AG. Thanks to Jorg Heymans. See Issue 23118.
  • update Updated iText to 1.1. Committed by AG.
  • fix Fix: buildList() in AbstractDatabaseAction generates incorrect parameter list. Committed by AG. Thanks to wchao@yahoo.com. See Issue 32011.
  • fix Fix: Webmail sample broken. Committed by AG. Thanks to Leo Leonid. See Issue 32124.
  • fix Fix: Context directory not required to be writable by the CLI. Committed by AG. Thanks to Rick Tessner. See Issue 32214.
  • fix Portal: If a coplet has an error, the error-uri has been called twice. This is fixed now. Committed by CZ. See Issue 32199.
  • remove Flowscript: Deprecated support for passing sitemap parameters into flowscript function as positional arguments. Use cocoon.parameters instead. Support will be removed completely in Cocoon 2.2. Committed by VG.
  • fix Portal: Request content length and content type are required in portlet ActionRequest for custom upload handling. Committed by RG. Thanks to Michal Durdina. See Issue 32159.
  • add Portal: Added support for page labels. Committed by RG. See Issue 31857.
  • fix Javaflow: JavaInterpreter initialize method was not thread safe. Committed by RG. See Issue 31854.
  • add Portal: Generate subnavigation for non-selected tabs. Committed by RG. See Issue 31229.
  • fix Scratchpad block: Restored CastorTransformer support for context beans, restored bean lookup logic, fixed sample. Committed by VG.
  • fix The CocoonBean now creates its own private logger hierarchy, thus avoiding to pollute the CocoonServlet hierarchy when called in that context (e.g. when generating a static site from a CMS). Committed by SW.
  • add Added replacement for Excalibur Event package in org.apache.cocoon.components.thread and migrated most classes using their own threads to that package. Committed by GP. See Issue 31760.
  • update Updated antlr to 2.7.4, db-ojb to 1.0.1. Committed by AG.
  • fix Javaflow block: Support inherited methods. Committed by TC. Thanks to Nikolaus Rath. See Issue 31297.
  • add Javaflow block: Add parameter support. Committed by TC.
  • add CForms block: added widget states. All widgets can now have an "active" (default), "disabled" or "invisible" state. Updated the stylesheets accordingly to use HTML's disabled inputs. Committed by SW.
  • fix Scratchpad block: BetwixtTransformer: removed deprecation warning with latest betwixt. Committed by AG. Thanks to Christoph Gaffga. See Issue 29945.
  • fix Flowscript: enforce the explicit declaration of variables in the global scope (attached to the session). This avoids the implicit declaration of variables in the global scope when the 'var' keyword is missing, which leads to weird bugs difficult to track down, especially with continuations. Committed by SW. See Issue 25951.
  • update Deprecated the PHP block since the PHP servlet the generator depends on never worked properly. Explicitly excluded the PHP block from blocks.properties. Committed by ATC.
  • fix XSP Block: Add space="strip" attribute support for <xsp:page> element. When present, all extra whitespace from XSP source is stripped. Committed by VG. Thanks to Guillaume Deflache. See Issue 27176.
  • fix XMLDB Block: Fix NullPointerException in XMLDBTransformer if specified collection does not exist. Committed by VG. See Issue 30849.
  • fix XSP - JXPath logicsheet: Allow use relative contexts in <jxpath:for-each>. Add a new tag <jpath:set-lenient lenient="true|false">. Committed by AG. Thanks to Gunnar Brand. See Issue 31564.
  • update Updated commons-httpclient to 2.0.2, groovy to 1.0-beta-7, commons-betwixt to 0.6. Committed by AG.
  • update Flow invocations (function calls or continuation invocations) should always result in a response. Flowscripts with no response are prohibited. Committed by VG.
  • add Portal block: Apply batch for configuring the type handling in the Castor converter. Committed by CZ. Thanks to Juergen Seitz.
  • fix Fix bug in SessionPropagatorAction. Committed by CZ. Thanks to Sal Mangano. See Issue 30250.
  • fix Fix syntax error in build.bat on Windows ME. Committed by CZ. Thanks to Jeff Ramsdale. See Issue 22707.
  • fix Portal block: Apply patch for rendering a link of the selected tab in TabContentAspect. Committed by CZ. Thanks to Christian Mayrhuber. See Issue 29996.
  • fix Portal block: Apply patch for handling GET method when no enctype is set in CopletTransformer. Committed by CZ. Thanks to Christian Mayrhuber. See Issue 29951.
  • fix Throw a more meaningful exception if charset classes are missing. Committed by TC. See Issue 31545.
  • fix Fixes the SQLTransformer not to close the statement twice. Committed by TC. See Issue 30874.
  • fix Change constructor to be public in order to fix bug 30270. Committed by TC. See Issue 30994.
  • add Forms block: added possibility to add a SelectionList based on Java. Committed by JH. Thanks to Nuno Santos. See Issue 29715.
  • fix HTML serialization has no space between publicId and systemId. Updated xalan to 2.6.1-dev-20041008T0304. Committed by AG. Thanks to David Crossley. See Issue 28680.
  • add Scratchpad block: Implemented support of parallel loading of included sources in the IncludeTransformer. Committed by VG.
  • update Updated commons-lang to 2.0-20041007T2305. Needed for Java 5 compatibility (enum is a keyword). Committed by AG.
  • update Updated jdt-core to 3.0.1. Committed by AG.
  • add Faces block: Added JSF CarStore demo. Committed by VG.
  • fix Flow preserves global variables on sitemap reload. Committed by VG.
  • add Forms block: Implementation of the CForm template language using JX macros, allowing smart page layout that depends on the widgets state and value. Committed by SW.
  • remove Remove jisp from distribution. Committed by AG.
  • fix XSP logicsheet jpath.xsl: incorrect call to JXPathContext.compile. Committed by AG. Thanks to Rob Berens. See Issue 31493.
  • fix Mail block: Support multiple SMTP servers, not only default one. Committed by VG. See Issue 28485.
  • fix Mail block: Add support for authenticated SMTP server connections. Committed by VG. See Issue 24760.
  • fix Cron block: JobScheduler's fireJob method now supports jobs calling Cocoon pipelines. Committed by VG.
  • fix Allow recursive Flow invocations with processPipelineTo. Committed by VG.
  • fix Forms block: rename fd:on-activate to fd:on-action on fd:row-action and fd:repeater-action for consistency with fd:action and fd:submit. Committed by SW.
  • update Cache the mime-type of readers and serializers. Committed by CZ.
  • fix The daylight time cause error when timezone is CST. Updated icu4j to 3.0. Committed by AG. Thanks to Johnson Hsu. See Issue 30372.
  • fix Upgrading DELI block from version 0.9.8 to x020904. Committed by AG. Thanks to Mark H. Butler. See Issue 31407.
  • update Add support for translating attribute values which contain i18n expressions rather than complete i18n key. Committed by VG.
  • add Forms block: allow widget attributes which were only accessible programmatically to be set in the form definition. This allows e.g. generic form processing code to find widgets having a particular attribute. Committed by SW.
  • update Mail block: the MailSender now gets its source resolver from the service manager. This allows its use from flowscript where the old SourceResolver is not available. Committed by SW.
  • fix AbstractSAXTransformer namespaceURI and defaultNamespaceURI must never be null. When extending AbstractSAXTransformer make sure to set defaultNamespaceURI in the constructor. Committed by VG.
  • add Faces block: Initial implementation of JavaServer Faces for Cocoon. Committed by VG.
  • add Taglib block: Initial implementation of BodyTag. Committed by VG.
  • update Portal block: Changed pathInfo and servletPath logic. pathInfo always starts with '/', while servletPath always has no '/' at the end. Committed by VG.
  • fix JXPathMetaModule incorrectly checks for null parameter (can't happen) instead of empty string. Committed by AG. Thanks to Ralph Goers. See Issue 31134.
  • fix Cron block: Fixed memory leak, QuartzJobExecutor was not releasing pipelines. Committed by VG.
  • update Updated jexl to 1.0, lucene to 1.4.1. Committed by AG.
  • add Selector for matching the request headers using a regular expression. Simple content negotiation, e.g. serve XHTML if browser indicates it accepts application/xhtml+xml and HTML otherwise; potentially do automatic i18n according to the accept-language header. Committed by DC. Thanks to Colin Adams. See Issue 30321.
  • add New @pass-through attribute for the sitemap mount node. If true, processing will resume in the base sitemap just after the mount node if the mounted sitemap has not already generated output (usually if no match is found). Previous behaviour was always to throw a ResourceNotFoundException. The attribute defaults to "false" for backwards compatibility. Committed by NKB.
  • add Portal block: New Group Based Profile Manager. Committed by CZ.
  • update Cron block: Add support for persistent job stores, type "tx" and "cmt". Committed by VG.
  • fix Cron block: Fix TestCronJob pipeline call functionality. Committed by VG.
  • fix GetInstance don't work with upgrade from db-ojb-1.0rc6. Committed by AG. Thanks to Johnson Hsu. See Issue 30065.
  • update Updated rhino to 1.5r4-20040629T1232, xreporter-expression to 20040701, ehcache to 0.9. Committed by AG.
  • fix A redirect is now possible, if it's called from flow. This also fixes bug #26571. Committed by CZ. See Issue 26854.
  • add Mail block: Add ability to specify mime-type for email body text parameter in the mail transformer. Committed by CZ. Thanks to John Lianoglou. See Issue 30688.
  • fix Fix potential memory leaks in CForms/Woody Template Transformer and JXTemplateGenerator. Committed by CZ.
  • fix XMLDB Block: Add ability to delete collections with XMLDBTransformer. Committed by VG. Thanks to Rui Alberto L. Gonçalves. See Issue 29765.
  • update Reworked LocaleAction and LocaleMatcher to have similar logic and configuration.
    NOTE: Sitemap variable "lang" renamed to "language", removed configuration parameters: "language-attribute", "country-attribute", "variant-attribute". Committed by VG.
  • add Added LocaleMatcher for file based internationalization. Committed by UV.
  • fix Make implementation of Cocoon protocol compliant with the Source interface. Committed by CZ. See Issue 27260.
  • update Update ant to 1.6.2, commons-jxpath to 1.2, commons-beanutils to 1.7, POI to 2.5.1-final-20040804, commons-httpclient to 2.0.1, nekohtml to 0.9.3, hsqldb to 1.7.2, jcs to 1.1-dev-20040811, quartz to 1.4.2, asm to 1.4.3, asm-util to 1.4.3 and groovy to 1.0-beta6. Committed by AG.
  • fix Mail block: The mail transformer ignored configured toAddresses from a pipeline parameter. This is fixed now. Committed by CZ.
  • fix Fixing BetwixtTransformer does not marshal Collections properly (java.lang.OutOfMemoryError). Committed by AG. Thanks to Enrico Maccias. See Issue 28209.
  • update Update qdox to 1.5 and jdt-core to 3.0.0. Committed by AG.
  • fix Fixing lucene-block samples dependencies. Committed by AG. Thanks to Jorg Heymans. See Issue 30038.
  • update Update lucene to 1.4. Committed by AG.
  • add Enhanced JMS support by adding a JMSConnectionManager component to the JMS block. This component replaces the JMSConnection component which only supported publish/subscribe messaging and which mixed some concerns. Two abstract classes: AbstractMessageListener and AbstractMessagePublisher should be used as basis for custom publish/subscribe components. Committed by UH.
  • add Still in the scratchpad area at the time of this writing, added a CachedSource proxy subclass for Sources that implement TraversableSource and InspectableSource (for instance WebDAVSource). Committed by UH.
  • add Added a NekoHTMLGenerator to HTML block. This is a simpler HTML parser than JTidy, which preserves more of the original HTML, primarily just balancing closing tags. Committed by UV.
  • add Added support for stripping root elements in the CIncludeTransformer. Committed by TC. Thanks to Leszek Gawron. See Issue 29935.
  • add Portal block: Added ManagedCocoonPortlet, to be used together with CocoonServlet or CocoonPortlet. Committed by VG.
  • add POI block: cell spanning. Committed by TC. Thanks to Frank Taffelt. See Issue 28015.
  • fix POI block: processing of tags "vcenter", "hcenter", "monochrome", "draft", "Header", "Footer" in "gmr:PrintInformation". Initial support for "Margins" ("top", "bottom", "left", "right", "header", "footer"). Committed by AG. See Issue 23002.
  • fix POI block: processing of tags "grid", "orientation and "paper" in "gmr:PrintInformation". Committed by AG. Thanks to Viktor Skladovs. See Issue 23002.
  • fix Fix JXTemplate generator does not handle format-number(number, '$#,##0.00'). Committed by AG. See Issue 24433.
  • add Forms block: Implement setValue method for the upload widget. Committed by JH.
  • fix Forms block: Handle variants of datatype date correctly (i18n, styling). Committed by JH. Thanks to Colin Adams. See Issue 29881.
  • update Update commons-digester to 1.5, commons-betwixt to 0.5, commons-pool to 1.2, commons-dbcp to 1.2.1 and db-ojb to 1.0.0. Committed by AG.
  • update Update commons-collections to 3.1. Committed by AG.
  • fix Fix JXTemplateGenerator eating backslash characters. Committed by AG. See Issue 27133.
  • fix Add new <jx:comment> tag to the JXTemplate. XML comments are not parsed anymore. See the bug description for a sample. Committed by AG. See Issue 25083.
  • fix Move commons-logging-1.0.4.jar to lib/core as jcs.jar depends on it. Committed by AG. Thanks to Juan Jose Pablos. See Issue 29369.
  • fix Apply patch: Cached resources don't have Expires-Header. Committed by AG. Thanks to Jorg Heymans. See Issue 17924.
  • fix Apply patch: Caching JXTemplateGenerator. Committed by AG. Thanks to Leszek Gawron. See Issue 29752.
  • update ResourceReader can now take configuration elements, parameters are deprecated. Committed by VG.
  • fix Fix byte ranges support in ResourceReader. Committed by VG. Thanks to Litrik De Roy. See Issue 25712.
  • update Portal: CocoonPortlet has new configuration parameter, default-session-scope. Committed by VG.
  • update Updated commons-logging to 1.0.4 Committed by AG.
  • add NamingInputModule provides access to the JNDI context. Committed by VG.
  • update Updated quartz to 1.4 Committed by AG.
  • add Add configuration support for log4j. Committed by CZ.
  • add New Input modules: URLEncodeModule and URLDecodeModule Committed by ATC. Thanks to Leszek Gawron.
  • fix Apply patch to fix some memory leaks in the tree processor. Committed by CZ. See Issue 27066.
  • fix Portal: Fix NPE when non-caching pipelines are used for the portal profile. Committed by CZ. See Issue 29373.
  • fix Portal: Fix transformation of non-external html links (HTMLEventLinkTransformer) Committed by CZ.
  • fix Portal: Fix problem with bookmarks and CachingURICoplet Committed by CZ. See Issue 28687.
  • update A new build property, "include.sources-in-jars", allows to include java source files in jar archives. Useful when using a non-released version to know what sources are used. Committed by SW.
  • fix Refactor TreeProcessor to avoid constant reloading of sitemap if its modification date is in the future and occasional ECM-related exceptions when a sitemap is reloaded. Committed by SW. See Issue 27249.
  • add Tour block: added Java shapes sample. Committed by BD. Thanks to Stavros Kounis. See Issue 28834.
  • update Updated Groovy to 1.0-beta5, qdox to 1.4 and util.concurrent to 1.3.4. Committed by AG.
  • fix Serializers block: Fixed the namespace handling of the XMLSerializer. Committed by TC.
  • add Serializers block: Added support for indentation to the XMLSerializer. Committed by TC.
  • update Chaperon block: Improvements for Chaperon JSPWiki to xdocs conversion:
    • Handle nested bullet lists (number lists already supported)
    • If 'name' parameter is specified, use it as title (and add spaces between WikiWords) instead of first section title
    • Handle images with alt text
    • 'spaceless-filenames' parameter will squash out spaces in relative links
    • Fix anchors to use 'id' instead of 'name'
    • Emphasize anchors a bit
    • selftest.txt tests for lists and tables
    • More known issues listed in selftest.txt
    Committed by DC. Thanks to Dave Brondsema. See Issue 28809.
  • add Added instrumentation support to ContinuationsManager. Committed by VG.

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), Tony Collen (ATC), Bertrand Delacrétaz (BD), Carsten Ziegeler (CZ), David Crossley (DC), Giacomo Pati (GP), Jörg Heinicke (JH), Nicola Ken Barozzi (NKB), Ralph Goers (RG), Sylvain Wallez (SW), Torsten Curdt (TC), Unico Hommes (UH), Upayavira (UV), Vadim Gritsenko (VG).

This is a list of other contributors:
Christian Mayrhuber, Christoph Gaffga, Colin Adams, Dave Brondsema, David Crossley, Enrico Maccias, Frank Taffelt, Guillaume Deflache, Gunnar Brand, Jeff Ramsdale, John Lianoglou, Johnson Hsu, Jorg Heymans, Juan Jose Pablos, Juergen Seitz, Leo Leonid, Leszek Gawron, Litrik De Roy, Mark H. Butler, Michal Durdina, Nikolaus Rath, Nuno Santos, Ralph Goers, Rick Tessner, Rob Berens, Rui Alberto L. Gonçalves, Sal Mangano, Stavros Kounis, Viktor Skladovs, wchao@yahoo.com.

Version 2.1.5.1 (July 9 2004)

  • update The store/caching system now uses JCS instead of Jisp. Committed by CZ.
  • fix The persistent store is now really persistent between two application runs. (Fixed a bug in the hash code calculation of the keys). Committed by CZ.
  • update Updated Apache JCS to 1.0 dev 20040516 and util.concurrent to 1.3.3. Committed by AG.
  • add Extended CocoonServlet to allow any org.apache.avalon.excalibur.logger.LoggerManager to be used. Committed by JH. Thanks to Ralph Goers. See Issue 28860.
  • update Deprecated getWidget from the Widget interface in cforms. People should consider using getChild(id) or lookupWidget(path) instead. On the level of the flowscript 'Form' API a semantical distinct getWidget() (notice: no arguments!) is still available to return the actual wrapped Java form instance. Committed by MPO.
  • fix Fixed jetty-4.2.19.jar compiled for +jdk1.4. The new version can run in 1.3 Committed by AG. Thanks to Juan Jose Pablos. See Issue 28889.
  • fix Fixed missing escapes of line feeds, carriage returns and tabs, that resulted in invalid Java code. Committed by JH. Thanks to Michal Durdina. See Issue 27871.
  • update Updated Joost to 20040330 Committed by AG.
  • add RequestListener hook added, that is called before and after a request is processed. Committed by JH. Thanks to Ralph Goers. See Issue 28424.
  • update Enable XConfToolTask to modify multiple attributes. See the bug report for description of use. Also enable suppression of comments. Committed by DC. Thanks to Ralph Goers. See Issue 28704.
  • add Extended FOM so that cocoon.redirectTo("url", true) will do a global redirect. cocoon.redirectTo("url") will act as before. This enables FOM to redirect when it is called from within cocoon: protocol requests, aggregations, etc. Committed by UV.
  • fix Moving check on number of specified targets within CocoonBean. This was preventing the processURI(uri, outputStream) method from working. Committed by UV.
  • remove CForms: Remove custom flow level forms validators. Committed by VG.
  • add Added the "tour" block: "Supersonic Tour of Apache Cocoon". Tutorial/example app focused on the Power Trio: Pipelines, Flow, Forms. Committed by BD.
  • fix XMLResourceBundleFactory was stopping when it encountered the first bundle name that does not have a locale, missing those that might be in one of the other locations. Committed by DC. Thanks to Ralph Goers. See Issue 27878.
  • fix Moved storage of all flow-related data (viewData, continuation, request, etc) from request attributes to object model entries. This allows a view called by sendPage() to also use flowscript (using request attributes caused the two calls to mix up their data). Committed by SW.
  • fix Hopefully fixed the source resolving in JSP components finally by using standard Cocoon/Avalon Excalibur source resolving. This allows to use all known protocols and Cocoon pseudo protocols as long as the JSP file is inside the servlet's context. Committed by JH.
  • update CForms: Change to generated instance xml <fi:form>. Nested widgets are now grouped in <fi:widgets> and no longer in <fi:children>. This aligns with other container-widgets. Committed by MPO.
  • update LinkRewriter: Added support for rewriting URLs which are embedded into the attribute values (example: style attribute with background image URL). Such URLs can be extracted using RE expressions and re-written, leaving rest of the attribute value intact. Committed by VG.
  • update Updated Velocity to 1.4 and iText to 1.02b Committed by AG.
  • add Added standalone build target "validate-sitemaps". Added standalone build target "validate-stylesheets". Committed by DC.
  • update Updated Xindice to 1.1b4, xmldb-api to 20030701, xmldb-common to 20030701 and xmldb-xupdate to 20040205 Committed by AG.
  • update Updated Jetty to 4.2.19 Committed by AG.
  • fix CForms: <fi:styling type="date"/> is not needed (nor supported) anymore, the required information about the datatype and the pattern is now included in the widget instance XML. Committed by BRD.
  • add CForms: it is now possible to store arbitrary data with each widget instance by using the new setAttribute and getAttribute methods of the Widget interface. Committed by BRD.
  • add Groovy script generator support in BSF block Committed by AG.
  • fix Renamed validate-set to constraint-set for consistency (the element name is also constraint-set). Committed by JH. Thanks to Derek Hohls.
  • update Updated bsf to 2.3.0 Committed by AG.
  • fix "Fixed" bug 15841 by raising an exception when something is tried to add to elements before attributes. Committed by JH. See Issue 15841.
  • update Changed blocks selection handling to allow more intuitive include.block.blockname syntax in (local.)blocks.properties. Old syntax exclude.block.blockname is still supported. Committed by JH.
  • update Enabled use of nested sitemap variables, e.g. {request-param:{1}}. Committed by UV.
  • update Updated antlr to 2.7.3 Committed by AG.
  • update Deprecated Tokenizer and the methods count(), matchStrings(), replaceTokens() and both split() in StringUtils. The functionality of all this was replaced in favor of Apache commons-lang lib. They will be removed in Cocoon 2.2 Committed by AG.
  • update Updated batik to 1.5.1, db-ojb to 1.0RC6 Committed by AG.
  • remove Removed xmlform and jxforms blocks as confirmed by a users poll. Committed by TC.
  • remove Removed precept block. Was dead code. Committed by TC.
  • update Updated jdtcore to 2.1.3, update castor-xml to 0.9.5.3 Committed by AG.
  • fix DefaultIncludeCacheManager did not release xml-serializer under some circumstances. Committed by CZ. Thanks to Corin Moss. See Issue 27764.
  • fix DOMFactory can now create a document element. Committed by CZ. Thanks to Peter Brant. See Issue 27681.
  • add Databases: The xml-encoding for the SQLTransformer is now configurable. Committed by CZ.
  • fix Build System: New property "loglevel" that can be used in the patch files. Committed by CZ. Thanks to Andreas Hartmann. See Issue 27217.
  • fix Portal: Fix problems with minimizing/maximizing of portlets. Committed by CZ. Thanks to Michal Durdina. See Issue 27518.
  • fix Portal: Fix problems with the portal block and using the CLI. Committed by CZ. Thanks to Simon Mieth. See Issue 26566.
  • fix Portal: Add default PropertyManagerService implementation Committed by CZ. Thanks to Michal Durdina. See Issue 27658.
  • fix Portal: Fix synchronization problem with JSR-168 portlets in IncludingHTMLSerializer. Committed by CZ. Thanks to Michal Durdina. See Issue 27657.
  • fix Improvement for AbstractReader: Don't wrap an already buffered stream. Committed by CZ. Thanks to Gunnar Brand. See Issue 27602.
  • fix ForwardEnvironmentWrapper delegates isResponseModified/setResponseIsNotModified to wrapped environment. Committed by CZ. Thanks to Marco Rolappe. See Issue 25437.
  • update CForms: Change the syntax for repeater row identity handling. Committed by JH. See Issue 27600.
  • update An internal redirect is now handled the same way as an external redirect would be handled. This includes that the error handler of the called pipeline is invoked in case of an error. Committed by CZ.
  • update Set the default encoding for the Portlet Environment. Committed by CZ. See Issue 27188.
  • update Move XSP into an own block. Committed by SMS.
  • update Licenses changed to ASF 2.0 in all source files which had a license, using the ReplaceLicense tool from the committers CVS module. Committed by BD.
  • add Ant task (correctLinefeed) that corrects linefeed characters according to our standard (LF). Committed by RP.
  • update Apples use the new CocoonForms classes Committed by RP.
  • update Petstore samples use the new CocoonForms names Committed by RP.
  • add New Ant task ("woody2CocoonForms-renaming") that updates namespaces, sitemap components and flowscript functions (details see tools/target/upgrade-build.xml) Committed by RP.
  • update Renaming Woody to CocoonForms
    • The Woody block (src/blocks/woody) has moved into the new Cocoon Forms block (src/blocks/forms).
    • new namespaces:
      • from xmlns:wd="http://apache.org/cocoon/woody/definition/1.0" to xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
      • from xmlns:wb="http://apache.org/cocoon/woody/binding/1.0" to xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"
      • from xmlns:wi="http://apache.org/cocoon/woody/instance/1.0" to xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
      • from xmlns:wt="http://apache.org/cocoon/woody/template/1.0" to xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
    • Java packages moved from org.apache.cocoon.woody to org.apache.cocoon.forms
    Committed by RP.
  • update Updated Velocity engine to 1.4-rc1 Committed by AG.
  • fix Fix namespace handling in FilterTransformer. Committed by JH. See Issue 27301.
  • add Added grayscaling and color transformation to the ImageReader. Committed by JH. Thanks to Peter Horsfield. See Issue 27020.
  • fix LinkStatusGenerator now handles also links with a specified charset. Committed by JH. Thanks to Marco Rolappe. See Issue 26851.
  • fix Avoid "CLOBs" when indexing XML without superfluous whitespace (Lucene). Committed by JH. Thanks to Philipp Matthias Hahn. See Issue 25934.
  • fix Allow streaming of uploaded files into a pipeline using StreamGenerator. Committed by JH. Thanks to Gernot Koller. See Issue 25594.
  • fix Avoid accumulating of addresses and attachements in SendMailTransformer, when sending multiple mails, i.e. multiple sendmail elements at once. Committed by JH. Thanks to Rui Alberto L. Gonçalves. See Issue 25483.
  • fix EncodeURLTransformer no longer creates a session. Committed by JH. Thanks to Marco Rolappe. See Issue 25403.
  • add Added additional property <column-case> to the SQLTransformer with the possible values "preserve", "uppercase", and "lowercase". Committed by JH. Thanks to Steve Krulewitz. See Issue 22400.
  • fix Fixed path separator handling in cocoon.bat/.sh and Loader.java. Committed by JH. Thanks to Georg Ragaller. See Issue 27254.
  • fix Fixed duplicate startDocument event in BetwixtTransformer. Committed by JH. Thanks to Oscar Picasso. See Issue 27456.
  • update Updated POI to 2.5-final-20040302 Committed by AG.
  • update Pass notification object to coplet error pipelines so it can react on it. Committed by CZ.
  • update Updated xalan to 2.6.0 Committed by AG. Thanks to Leszek Gawron. See Issue 24457.
  • update CForms: Support for multiple unique-row-id in a repeater Committed by AG.
  • update CForms: Aggregate field supports both directions (split / combine), and arbitrary types (not strings only). Committed by VG.
  • add CForms: Added String() function. Converts argument to string value. Committed by VG.
  • update Update Avalon Excalibur packages to released versions. Committed by CZ.
  • update Updated joost to 20031219, qdox to 1.3 and quartz to 1.3.2 Committed by AG.
  • update Updated xerces to 2.6.2 Committed by AG.
  • update Make the current sitemap service manager available through the component context. Committed by CZ.
  • add Portal block: Add portlet environment to build JSR 168 portlets with Cocoon. This is a contribution by Alex Rudnev (alex.rudnev@dc.gov) and Vadim Gritsenko (vadim.gritsenko@dc.gov). Committed by VG.
  • update Adding basket coplet to the portal. Committed by CZ.
  • update Patch for allowing empty values in configuration of defaults input module. Committed by CZ. Thanks to Alfred.Nathaniel. See Issue 25093.
  • update Patch for disposing components in the properties in xml file module. Committed by CZ. Thanks to Marco Rolappe. See Issue 26896.
  • update Updated commons-httpclient to 2.0-final Committed by AG.
  • update Updated jdtcore to 2.1.2, and Ant to 1.6.1 Committed by AG.
  • update Patch for any elemens inside a coplet:content element and not just only text. Committed by CZ. Thanks to Jon Evans. See Issue 26896.
  • update Adding SAX recording to AbstractSAXTransformer. Committed by CZ.
  • remove Remove non-FOM flow classes and system.js Committed by VG.

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), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), David Crossley (DC), Jörg Heinicke (JH), Marc Portier (MPO), Reinhard Pötz (RP), Stephan Michels (SMS), Sylvain Wallez (SW), Torsten Curdt (TC), Upayavira (UV), Vadim Gritsenko (VG).

This is a list of other contributors:
Alfred.Nathaniel, Andreas Hartmann, Corin Moss, Derek Hohls, Georg Ragaller, Gernot Koller, Gunnar Brand, Jon Evans, Juan Jose Pablos, Leszek Gawron, Marco Rolappe, Michal Durdina, Oscar Picasso, Peter Brant, Peter Horsfield, Philipp Matthias Hahn, Ralph Goers, Rui Alberto L. Gonçalves, Simon Mieth, Steve Krulewitz.

Version 2.1.4 (February 12 2004)

  • update Updated iText to 1.02 Committed by AG.
  • add Woody block: every widget can now have a validator. This allows for example repeaters to perform inter-row validation or overall form-level validation. Committed by SW.
  • add Woody block: added support for rich text editing using InteractiveTools' HTMLArea. Committed by UC.
  • update ResourceReader: Is now configurable as well. All parameters can be defined during configuration of the reader. Fixed also a minor bug in the last-modified detection. Committed by CZ.
  • add OJB-Block: Added our own OJB ConnectionFactory which uses the DataSources configured in cocoon.xconf Committed by GP.
  • update Updated POI to 2.0-final Committed by AG.
  • fix Fixing memory leak in the cocoon protocol. Committed by CZ. Thanks to Michael Gerzabek. See Issue 26186.
  • add JSPReader: The output encoding of the reader is now configurable. Committed by JH. Thanks to Marco Rolappe. See Issue 14327.
  • remove woody.js has been removed. Please use woody2.js instead. Committed by VG.
  • update Resurrected the Slide block and made it to work with current developement version of Slide (2.0-b1). Complete revamping of the Slide sample admin app. Committed by UH. See Issue 25356.
  • fix Allow the Authentication Framework to invoke a pipeline during logout Committed by CZ. Thanks to Ralph Goers. See Issue 26450.
  • update Updated commons-collections to version 3.0 Committed by AG.
  • add First version of the JSR-168 support in the portal engine. Committed by CZ.
  • update Updated commons-httpclient to the version 2.0-RC3 Committed by AG.
  • update Renamed JspGenerator to JSPGenerator to match JSPEngine and JSPReader naming convention. Committed by UH.
  • fix JSPEngineImpl incorrectly converts bytes to characters. Committed by UH. Thanks to Johan Stuyts. See Issue 25694.
  • update Woody expression manager supports registration of custom functions (see cocoon.xconf). Added IsNull function. Committed by VG.
  • update Updated Jakarta ORO to the version 2.0.8. Committed by AG.
  • update Updated Lucene to 1.3 final. Committed by AG.
  • fix Build fails on windows without cygwin. Committed by AG. Thanks to Karel Vervaeke. See Issue 25664.
  • update Updated Ant to 1.6.0. Committed by AG.
  • update Remove dependencies to Xalan (from portal-fw, authentication-fw, session-fw and core) Committed by CZ.
  • update Portal-Engine: Added some new samples (for inter-coplet communication, cleaned up the sample, fixed some bugs and added some new components for developing own coplets. Committed by CZ.
  • add Changed semantics on the cforms binding. Added a @direction (which replaces the @read-only) and a @lenient attribute on all binding implementations in the pool. Committed by MPO.
  • fix Fix NPE error when pointed tag is empty in xsp-session-fw:getxml. Applying patch from ltrillaud@jouve.fr (ltrillaud@jouve.fr). Committed by AG. Thanks to Laurent Trillaud.
  • update ResourceExistsSelector now works the same way as ResourceExistsAction does. It can now detect existence of any Cocoon resource, not only files in context. Default value for prefix was changed from '/' to ''. For old behavior, use prefix 'context://'. Committed by VG.
  • update Fixed and updated the stores and made them instrumentable to follow their size and the number of hits and missed. Committed by SW.
  • add New PipelineUtil class that extends the features or cocoon.processPipelineTo() to SAX and DOM outputs. Committed by SW.
  • add The "cocoon" object in flowscript has two new methods that allow Java classes instanciated by a flowscript to access e.g. request, response and components without requiring a dependency on the "FOM_Cocoon" class.
    cocoon.createObject(Class) creates an object and honors the various Avalon lifecycle interfaces implemented by an object.
    cocoon.disposeObject(Object) disposes an object if needed. Committed by SW.
  • update Reworked I18nTransformer implementation to use new version of XMLResourceBundle. Committed by VG.
  • update Reworked XMLResourceBundle implementation. Now it supports only XML bundles with fixed syntax (same as for I18nTransformer dictionaries), and instead of XPath keys uses message keys (which is faster). Returned resources now are instances of ParamSaxBuffer class, and not DOM nodes. Committed by VG.
  • update Modified BundleFactory interface to return Bundle instead of Component. Committed by VG.
  • update Cocoon Forms (Woody) selection lists now allow empty value (which is translated to the null object) Committed by VG.
  • update Deprecate MirrorRecorder. It will be removed starting with Cocoon 2.2 Committed by VG.
  • add In XMLDBTransformer, create operation now is able to create collections. It will create collection if oid attribute value ends with '/', otherwise it will work as before (creates XML resource) Committed by VG.
  • add Added optional collection attribute on <xmldb:query/> element of XMLDBTransformer. This attribute specifies collection name, relative to the transformer's base collection, which is used as base collection for current create/delete/update operation Committed by VG.
  • remove Remove deprecated XMLDB generators from the sitemap Committed by VG.
  • fix Do not double decode URI in CocoonServlet Committed by VG. See Issue 25132.
  • fix Resurrected the XMLDB samples including XIndice 1.1b1 in Cocoon. Committed by JH.
  • remove I18n transformer does not support old configuration syntax anymore (parameters catalogue-name, catalogue-location). Use <catalogues/> element instead. Committed by VG.
  • fix I18n transformer now works with translations containing elements with attributes. Committed by VG.
  • update Update libs Xerces to 2.6.0 and xml-apis.jar. Committed by AG.
  • add Woody: new double-list styling for MultivalueField. Committed by SW.
  • add New MountTableMatcher to define "mount tables" that allow external directories to be mounted in a sitemap without requiring to modify the sitemap. It's use has been included in the samples sitemap, thus allowing mounts that surivive a "build clean webapp". Committed by SW.
  • add Woody: added rendering of <wd:help> popup panel on a "?" icon. Committed by SW.
  • add Woody: new upload widget. This required some modification on multipart.Part objects that can now survice the end of processing of the current request. Committed by SW.
  • update Updated Entity Resolver from pre-release to official xml-commons-resolver-1.1 release. Committed by DC.
  • update NetUtils deparameterize() and parameterize() extended to support multivalue parameters. Multivalue parameters are returned as String arrays. Committed by VG.
  • add Add cocoon.sendStatus([Number] sc) and cocoon.response.setStatus([Number] sc) to FOM. Committed by UH.
  • update Updated Jetty to 4.2.14 Committed by AG.
  • fix Disable accessing files outside the context via the context protocol. Committed by CZ. See Issue 24093.

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), Carsten Ziegeler (CZ), David Crossley (DC), Giacomo Pati (GP), Jörg Heinicke (JH), Marc Portier (MPO), Sylvain Wallez (SW), Ugo Cei (UC), Unico Hommes (UH), Vadim Gritsenko (VG).

This is a list of other contributors:
Johan Stuyts, Karel Vervaeke, Laurent Trillaud, Marco Rolappe, Michael Gerzabek, Ralph Goers.

Version 2.1.3 (November 13 2003)

  • fix Complete overhaul of the Petstore sample. Adding Woody form processing Flow, and dealing with persistent data. Implementation of missing or unfinished parts. See the the bug report and its attached notes. Committed by DC. Thanks to Leo Leonid. See Issue 24463.
  • fix The CachingPointProcessingPipeline now uses Parameters instead of an own configuration scheme. See the demo sitemap for the changed configuration. Committed by CZ.
  • fix XMLByteStreamCompiler now handles also text nodes longer than 32 k. Committed by JH. Thanks to Simon Mieth. See Issue 23299.
  • fix Reducing setDocumentLocator calls in JXTemplateGenerator and JXFormsGenerator. Committed by CZ. Thanks to Sam Coward. See Issue 23538.
  • add sitemap-viewer added to the scratchpad samples Committed by BD. Thanks to Jelle Alten. See Issue 24294.
  • fix Fix HSSFSerializer Bug: Same cell definitions blows document. Applying patch from Grigorios Merenidis (Grigorios.Merenidis@Dresdner-Bank.com). Committed by AG. Thanks to Grigorios Merenidis. See Issue 19638.
  • fix SQLTransformer: Correcting handling of XML data with XML declarations. Committed by CZ. Thanks to Andrzej Taramina. See Issue 24326.
  • fix Fixing threading problems in the ExtendedComponentSelector. Committed by CZ. Thanks to Volker Schmitt.
  • fix Fixing namespace handling in the send-mail transformer. Committed by CZ. Thanks to Martin Holz. See Issue 24409.
  • fix Fixing precompilation of the XSPs for the CLI. Committed by CZ. Thanks to Andrea Poeschl.
  • update Woody: in the form definition, for widgets that have child widgets, those child widgets should now be embedded inside a wd:widgets element. Practical update information can be found in the wiki. Committed by BRD.
  • update Updated Xalan to 2.5.2 Committed by AG.
  • update Woody: did some cleanup of the FormHandler interface: moved it to the event subpackage, made it handle all types of WidgetEvents (there's an AbstractFormHandler which splits ActionEvents from ValueChangedEvents). Removed the deprecated RepeaterHandler class, and the unused CarSelectorHandler class. Committed by BRD.
  • update Serializers now can optionally implement the SitemapModelComponent interface, meaning then can be given a "src" attribute and parameters using <map:parameter>. Committed by SW.
  • update Sitemap components (matchers, actions, generators, etc) can know the location of their use in the sitemap unsing a special parameter named Constants.SITEMAP_PARAMETERS_LOCATION. Committed by SW.
  • fix Closing some memory leaks in the source and component handling. Committed by CZ. See Issue 23625.
  • fix Cocoon Protocol: Fixed a bug that broke the environment handling in some cases for internal pipeline calls. (This should also fix bug #15843). Committed by CZ. Thanks to Sam Coward. See Issue 22377.
  • fix HTMLGenerator: fixed NullPointerException in case the "HTML" file contained an XML declaration. Committed by BRD. Thanks to Alfred Fuchs. See Issue 23648.
  • fix Fixed ResolverImplTestCase so that the "test" build target does not fail (it still depends on the deprecated block, though). Committed by UC.
  • fix Woody: fixed a bug causing an endless loop during validation of a field if during the validation of the field the value of the field itself was again requested. Committed by BRD.
  • fix Patched SQLTransformer to use only one connection. Committed by BRD. Thanks to Daniel Fagerstrom. See Issue 16718.
  • add Patch to XMLDBTransformer to generate a key on create if it is not provided Committed by GR. Thanks to Micheal Homeijer. See Issue 14845.
  • add New JavaScriptBinding for Woody, which allows writing specific binding strategies with two JavaScript snippets (one for load, one for save). Committed by SW.
  • update TraversableGenerators can now be used with plain resources too (not only collections). XPathTraversableGenerator has been revamped in the XML recognition pattern (using mime type mapping too). While at it, a bug regarding non-existent sources has been fixed. Committed by GR. Thanks to Unico Hommes. See Issue 23575.
  • update Update lib excalibur-i18n to 1.1, update iText to 1.01 Committed by AG.
  • add Add initial support for IE in linotype. Committed by GH. Thanks to Klaus Bertram. See Issue 22813.
  • add Woody block: New integer Datatype. Committed by AG.
  • add SimpleFormTransformer: multiple values not repeatedly inserted anymore, value is consumed instead. Add repeater tag. Make transformer inherit from AbstractSAXTransformer. Update examples to show basic repeat tag usage. Committed by CH.

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), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Christian Haul (CH), Carsten Ziegeler (CZ), David Crossley (DC), Geoff Howard (GH), Gianugo Rabellino (GR), Jörg Heinicke (JH), Sylvain Wallez (SW), Ugo Cei (UC).

This is a list of other contributors:
Alfred Fuchs, Andrea Poeschl, Andrzej Taramina, Daniel Fagerstrom, Grigorios Merenidis, Jelle Alten, Klaus Bertram, Leo Leonid, Martin Holz, Micheal Homeijer, Sam Coward, Simon Mieth, Unico Hommes, Volker Schmitt.

Version 2.1.2 (September 30 2003)

  • fix Fix default namespace handling in Xscript variables. Committed by VG. See Issue 23516.
  • add OJB block: Object Relational mapping tool integration. Committed by AG.
  • add Slop block: New YAPT sample, lightweight presentation tool. Committed by BD.
  • add Fixing release of Source in the JXTemplateGenerator. Committed by CZ. Thanks to Volker Schmitt. See Issue 23171.
  • update Update lib commons-lang to 2.0, iText to 1.00 Committed by AG.
  • add New event-handling system for Woody. Value change and action event handlers can be attached respectively to field and action widgets, and event handlers can be both Java classes or JavaScript snippets in the form definition.
    New <wd:repeater-action> widget to automatically handle rows addition and deletion on repeaters (a very common need).
    New <wd:submit> widget to distinguish between actions (act on the form and redisplay it) and submits that terminate the form.
    Ability to trigger form submit on any widget value change (including inputs, popups, etc) to trigger server-side event handlers through client-side interaction.
    Rewriting of the Woody/FlowScript integration to be more simple. Committed by SW.
  • update Update libs Xerces to 2.5.0 and Ant to 1.5.4 Committed by AG.
  • fix Fixed internationalization support for HSSFSerializer by setting also the output encoding in the Workbook to UTF-16. Committed by JH. Thanks to Yury Mikhienko. See Issue 23208.
  • fix Fixed issues the cron block had when cocoon (or the servlet container ?) allows reloads. Committed by GP.
  • remove Removed deprecated XPathProcessor and implementations. These classes where moved into the Excalibur XMLUtil package. Removed Jaxen libraries used by JaxenProcessorImpl. Committed by VG.
  • update Replaced the deprecated LogkitManager stuff with its LoggerManager counterpart. This is Cocoon internal and should not affect components as long as you don't use LogKitManageable interface. Committed by JH. See Issue 21730.
  • fix Woody binding framework: fixed a problem with the deletion of rows by the repeater binding, whereby not all deleted rows where removed from the bean or XML model. Committed by BRD.
  • add Errors handled by map:handle-errors are now logged to the logcategory "sitemap.handled-errors". Previously they weren't logged. Committed by BRD.

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), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Giacomo Pati (GP), Jörg Heinicke (JH), Sylvain Wallez (SW), Vadim Gritsenko (VG).

This is a list of other contributors:
Volker Schmitt, Yury Mikhienko.

Version 2.1.1 (September 05 2003)

  • update Moved scratchpad into an own block. This allows that code in the scratchpad can depend on other blocks. The scratchpad can now also have own configurations. Committed by CZ.
  • update Extended the build system. If one block depends on the other it can now also use the libraries of the other block. This avoids moving the libs to the lib/optional directory. Committed by CZ.
  • add cron block added Committed by GP.
  • update Updated Jakarta Regexp library to the version 1.3 Committed by VG.
  • add Applying patch for adding new session-fw logicsheet that allows access to a session context from with xsp. Committed by CZ. Thanks to Antonio Gallardo. See Issue 13070.
  • fix Fixed a StackOverflowError in errors2html.xslt that could occur with error pages containing very long stack traces. Committed by BRD.
  • update Woody: renamed the button widget to action widget. If you were using this widget, you will need to update your form definition files. Committed by BRD.
  • add Adding new RequestDataStore component that can be used as a replacement for the component marker interfaces RequestLifeCycleComponent and GlobalRequestLifeCycleComponent obsolete. Committed by CZ.
  • add Adding contributions to the portal from Friedrich Klenner (friedrich.klenner@rzb.at), Gerald Kahrer (gerald.kahrer@rizit.at) and Gernot Koller (gernot.koller@rizit.at): caching uri coplet, application coplet, proxy transformer, proxy reader and link transformer. Committed by CZ.
  • fix Changed logkit attribute of <logging in cli.xconf to be relative to context dir, rather than CLI invocation dir. Committed by UV.
  • add Added include/exclude feature to CLI to allow fine-tuning of crawling of a site. Committed by UV.
  • fix Upgraded excalibur-event package so that Tomcat shutdown and continuations cleanup now works properly. Committed by BRD. See Issue 18131.
  • add Add a session-context input module to the session framework to retrieve information from a session context in the sitemap. Committed by CZ.
  • add Applying patch for processing http.nonProxyHosts in WebServiceProxyGenerator. Committed by CZ. Thanks to Peter Ross. See Issue 21399.
  • fix POI block: fixed formula support. If no ValueType attribute is set on <gmr:Cell/>, the cell content will be interpreted as formula. Committed by JH. Thanks to Neil Bacon. See Issue 22574.
  • add Applying patch for using 'host' in the logging patterns. Committed by CZ. Thanks to Unico Hommes. See Issue 21848.
  • fix Lucene block: LuceneIndexTransformer configuration fixed. Committed by JH. Thanks to Conal Tuohy. See Issue 22498.
  • fix Applying patch from Renaud Bruyeron (bruyeron@fullsix.com) that fixes the prematurely closing of the connection causing in the SQL Transformer. Committed by CZ. See Issue 12173.
  • update Midi block: added transposition and inversion stylesheets and samples. Committed by JH. Thanks to Mark Leicester. See Issue 22479.
  • fix Rewrite handling of internal-redirects (i.e. redirects to "cocoon:" URLs). Previously, internal redirects where not handled for internal requests (i.e. sitemap source). This bug prevented among other cases the use of flow-driven pages enclosed in an aggregation. Committed by SW.
  • fix The jars in /lib/local are used during compilation again. Committed by CZ.
  • fix Update the I18nTransformer so that it also accepts the 2.0 namespace. This ensures backwards compatibility for 2.0 applications. Additionally, attributes on "i18n:" elements can now be in the default namespace (meaning we can now write <i8n:text key="foo"> instead of <i18n:text i18n:key="foo">) Committed by SW. See Issue 20445.
  • fix Fix in the SVG serializer: if setDocumentLocator wasn't called on the serializer (which can happen if you have e.g. an XSLT transformer in the pipeline), then the base URI for the SVG document wasn't set which could cause exceptions. Now it is set to http://localhost/ in such cases. Also fixed a problem with the document locator not being reset between subsequent retrievals of the serializer from the pool. Committed by BRD.
  • fix Fix Jisp based persistent store: close database files on Cocoon shutdown and re-use existing database and index files on startup. Committed by VG.
  • fix Views are now always loaded before resources, ensuring proper call of views from resources. Redeclaring a component (e.g. file generator) with no "label" attribute was wrongly inheriting view labels from the same component in the parent sitemap. Committed by SW. See Issue 22239.

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:
Bruno Dumon (BRD), Carsten Ziegeler (CZ), Giacomo Pati (GP), Jörg Heinicke (JH), Sylvain Wallez (SW), Upayavira (UV), Vadim Gritsenko (VG).

This is a list of other contributors:
Antonio Gallardo, Conal Tuohy, Mark Leicester, Neil Bacon, Peter Ross, Unico Hommes.

Version 2.1 (August 12 2003)

  • update Midi block refactoring applied. Committed by JH. Thanks to Mark Leicester. See Issue 22288.
  • add Patch for allowing to specify a cocoon-view for internal requests in the query string. Committed by CZ. Thanks to Unico Hommes. See Issue 22270.
  • fix Instrumentation support: Updated client libraries to make instrumentation work again. Added a target "start-instrumentation-client" to Cocoon's ant files and removed "runclient" shell scripts. Committed by JH. See Issue 19839.
  • fix XMLDBTransformer: retrieving auto-generated resource id. Committed by JH. Thanks to Nicolas Maisonneuve. See Issue 22064.
  • add midi block added Committed by BD. Thanks to Mark Leicester.
  • add slop block added (Simple Line Oriented Parser) Committed by BD.
  • fix LDAPTransformer now handles multiple attribute values. The filter element is also configurable via a sitemap parameter. Committed by JH. Thanks to Unico Hommes. See Issue 21931, 22173.
  • add LDAPTransformer: Added attribute modification methods: add, replace, modify, append. Committed by JH. Thanks to Yury Mikhienko. See Issue 20033, 22042.
  • fix IMPORTANT: Flow: cleaned up the situation with regards to the "uri" argument to the sendPage, sendPageAndWait, and processPipelineTo functions. URI's starting with a slash are resolved against the root sitemap, URI's not starting with a slash are resolved against the current sitemap. Specifying a scheme is not allowed. Committed by BRD.
  • fix I18nTransformer: if content of i18n:text is empty and translation is not found, use untranslated-text. Committed by BRD. See Issue 19841.
  • fix ESQL: explicitly release database resources. Committed by CH. Thanks to Gildas Guillemot. See Issue 22050.
  • fix Paginator now caches dynamic pagesheet correctly. Committed by CZ. Thanks to Frank Taffelt. See Issue 21213.
  • add Configuration logkit.xconf can now be read from any location. Committed by CZ.
  • fix Fix the ignoreErrors handling in the cinclude transformer. Committed by CZ.

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:
Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Christian Haul (CH), Carsten Ziegeler (CZ), Jörg Heinicke (JH).

This is a list of other contributors:
Frank Taffelt, Gildas Guillemot, Mark Leicester, Nicolas Maisonneuve, Unico Hommes, Yury Mikhienko.

Version 2.1rc1 (July 29 2003)

  • update Updated FOP to the latest released version, 0.20.5. Committed by VG.
  • add Added delete capabilities to the SourceWritingTransformer. Committed by GR.
  • add Add a defaultContentType parameter to StreamGenerator, to comply with misbehaving clients. Committed by GR. Thanks to Guido Casper. See Issue 21881.
  • add Add a new set of WebDAV samples, with the capability of serving WebDAV content straight from Cocoon. Committed by GR. Thanks to Guido Casper. See Issue 21778.
  • fix Various fixes and enhancements to Lucene search. Propagate the lucene:* elements to the result tree and add "elapsed-time" attribute, so now possible to transform the results into a useful report about indexing. Fix "incremental" indexing. Committed by DC. Thanks to Conal Tuohy. See Issue 21557.
  • add Added CLOB support in SQLTransformer. Committed by GR.
  • add Added an (unstable) HTMLTransformer to the html block, to parse and tidy an XML containing escaped (and possibly incorrect) HTML Committed by GR.
  • update Added URL encoding of user/password in the WebDAV source (webdav://user:password@host/path) Committed by GR.
  • update Decouple core XSP logicsheet from database classes to allow XSP deployment without excalibur datasource JAR file. If your XSP pages use datasources directly (and not through ESQL logicsheet), add xsp:include. Committed by VG.
  • update The authentication framework now uses a configurable component to try to authenticate a user. This allows to drop in own authentication services or e.g. the servlet authentication mechanism. Committed by CZ.
  • fix Made JSPs working in Resin that don't end on *.jsp. Committed by JH. Thanks to Ryder Rishel. See Issue 4934.
  • update All Reader accessing Avalon components now extend the ServiceableReader instead of deprecated ComposerReader. It pertains the JSPReader, the DatabaseReader and the AxisRPCReader. Committed by JH.
  • add Added a WebDAV block, with an initial implementation of a modifiable and traversable WebDAV source. Committed by GR.
  • add Added a DirectoryGenerator implementation on scratchpad working on any Traversable Source. Committed by GR.
  • add Adding global request lifecycle component. Committed by CZ.
  • update The cache used by the caching processing pipeline is now configurable allowing to use different caches in different pipelines. Committed by CZ.
  • update The cache uses now a configured store. This allows to use differently configured caches at the same time. Committed by CZ.
  • fix Reverted the encoding changes in the JSP engine. The fix should be done in the JSPReader, that already contains a TODO. Committed by JH. See Issue 14327.
  • fix Web3: The stylesheets in the examples use Xalan as transformer and work correctly now as XSLTC has problems with the 'rfc' namespace. Committed by RP.
  • update Changed namespace for Web3RfcTransformer to 'http://apache.org/cocoon/Web3-Rfc/1.0'. Committed by RP.
  • add ParanoidCocoonServlet can optionally configured with a file containing the classpath. Committed by CZ.
  • add Configuration cocoon.xconf can now be read from any location. Committed by CZ.
  • fix Flow view can now be in "internal-only" pipelines. Committed by SW.
  • update Updated FOP to 0.20.5rc3a. Committed by JH.
  • update Moved WebServiceProxyGenerator + some samples into the proxy block. Committed by JH.
  • update Updated common-httpclient from CVS checkout of 2003-02-10 to 2.0 beta 2. This hopefully fixes also the bug. Moved it into core because of dependencies. Committed by JH. See Issue 12216.
  • fix Refactored the WebServiceProxyGenerator: "host parameter is null" fixed, replaced deprecated stuff, removed all work arounds (hopefully no longer needed), removed the buggy "<?xml" test, replaced getResponseBodyAsString() with getResponseBody() (but encoding issue is still not fixed). Committed by JH. Thanks to Peter Ross. See Issue 21340.
  • fix Applied patch for implementing exists for the xmldb source. Committed by CZ. Thanks to Tim Goodwin. See Issue 20115.

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:
Carsten Ziegeler (CZ), David Crossley (DC), Gianugo Rabellino (GR), Jörg Heinicke (JH), Reinhard Pötz (RP), Sylvain Wallez (SW), Vadim Gritsenko (VG).

This is a list of other contributors:
Conal Tuohy, Guido Casper, Peter Ross, Ryder Rishel, Tim Goodwin.

Version 2.1m3 (July 5 2003)

  • update Refactored the XPathDirectoryGenerator: provides all the functionality of DirectoryGenerator now, parameter xpath added replacing the xpointer-ish syntax, additional parameter xmlFiles for specifying a pattern for XML files, removed docid attribute on dir:xpath + some minor fixes. Committed by JH.
  • add Added merged region support to HSSF (= Excel) Serializer. Committed by BRD. Thanks to Danny Mui. See Issue 15150.
  • update Updated POI from 1.7.0-dev to 1.10.0-dev. Patched code accordingly. Fixed usage of deprecated methods. Committed by JH. Thanks to Alfred Nathaniel. See Issue 21248.
  • fix Web3: Fix extra close element on connectivity loss. Committed by CH. Thanks to Michael Gerzabek.
  • update SimpleFormTransformer: Make complete form protectable, ability to use more than one transformation with different fixed attributes, optionally let error elements pass, configure prefix, suffix, separator at configuration time, add optional use of form name, formating. Committed by CH.
  • update Added feature to allow a database action (i.e. delete) not to fail if no row was affected. Formating. Use toString() to convert to String rather than cast. Committed by CH.
  • add Added SimpleSelector that operates just on Strings. Useful in conjunction with a sitemap variable or input module. Committed by CH.
  • fix Fixed SchematronValidator.evalRule() in xmlforms block: create a relative context instead of an absolute one. This allows to refer to another form field by using relative paths (../password) instead of choosing a common root. Committed by JH. Thanks to Johan Stuyts. See Issue 19104.
  • fix Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. Committed by JH. Thanks to Wolfgang Kowarschick. See Issue 20682.
  • update The DTDs are now completely handled by the catalog entity resolver. The old copies of DTDs at xdocs/dtd/ have been removed. If you are editing the Cocoon xdocs with an xml editor, then point it to the WEB-INF/entities/catalog or catalog.xcat file. If your editor cannot utilise an entity resolver, then get a better editor. Committed by DC.
  • add Added support for permanent redirects in <map:redirect-to> Committed by UV.
  • fix Fixed some caching (added missing parameters and changed algorithm for cache key generation) and logging issues in the DirectoryGenerator. Fixed the root pattern handling (if not matching directory found leave out the ancestors). Fixed empty src attribute handling. Committed by JH.
  • update Upgraded to new Axis 1.1 release Committed by GP.
  • add Adding concept of parent-aware components, making e.g. the usage of selectors with a component manager hierarchy much easier. Committed by CZ.
  • fix Added/fixed internationalization support for HSSFSerializer by setting the output encoding hardcoded to UTF-16. It is obviously only a hack, but so it is at least usable for more people. Committed by JH. Thanks to Maciek Kaminski. See Issue 15365.
  • fix Fixed usage of removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> Committed by JH. Thanks to Alfred Nathaniel. See Issue 20658.
  • fix Fixed NPE in SQLTransformer.serializeData() Committed by JH. Thanks to Tony Culshaw. See Issue 14977.
  • add Added cHTML/iMode "Hello World!" sample (provided by Arje Cahn) Committed by JH. Thanks to Arje Cahn. See Issue 20477.
  • update Upgraded Xalan (includes XSLTC) from a CVS snapshot (20030506) to version 2.5.1. Committed by BRD.
  • update Updated ParanoidCocoonServlet, which is now an easy solution to the well-known endorsed library problem (incompatible version of Xalan in Cocoon and in JDK 1.4+). Committed by SW.
  • fix Encoding-related change to the JSP engine: the response charset is now retrieved from the Content-Type, and if not found ISO-8859-1 is used as default (previously UTF-8 was the default). Committed by DC. See Issue 14327.
  • fix The deprecated source implementations are now wrapped by proxies. Modified patch from Jens Lorenz (jens.lorenz@interface-business.de) Committed by CZ. See Issue 11533.
  • fix For non-existent files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. Committed by JH. See Issue 15302.
  • add Getter for jxcontext_ property added for subclassing reasons. Committed by JH. Thanks to Robert E. Parrott. See Issue 13559.
  • fix Fixing incorrect caching behaviour when internal pipelines are used. Committed by CZ. Thanks to Alex Romayev. See Issue 17623.
  • fix Command-line will no longer add a 'null' suffix to files with an unknown MIME type. Committed by JT.
  • add The object model and the components stored in the object model are now available via the component context. Committed by CZ.
  • fix Logicsheets: Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. Fixed compilation problem with <xscript-get as="object"> expression. Committed by VG. Thanks to Hugh Leather. See Issue 20159.
  • add I18nTransformer: support a currency attribute on i18n:number. This allows to take the currency symbol and formatting from one locale and the decimal and grouping separation symbols from another locale. Committed by BRD. Thanks to Michael Enke. See Issue 19894.
  • fix Fixed synchronisation problem in I18nTransformer when retrieving catalogues. Committed by BRD. Thanks to Michael Enke. See Issue 19881.
  • fix Improved XPointer support in the XIncludeTransformer. Meanwhile improved the way xml:base attributes are handled, added support for the xi:fallback element, do XInclude processing on included content, and added XInclude samples. Committed by BRD. See Issue 19423, 15525.
  • update Dispose the parent Component Manager if it implements Disposable. Happens when the Cocoon servlet shuts down or when Cocoon is reloaded. Committed by BRD. Thanks to Unico Hommes. See Issue 15312.

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:
Bruno Dumon (BRD), Christian Haul (CH), Carsten Ziegeler (CZ), David Crossley (DC), Giacomo Pati (GP), Jörg Heinicke (JH), Jeff Turner (JT), Sylvain Wallez (SW), Upayavira (UV), Vadim Gritsenko (VG).

This is a list of other contributors:
Alex Romayev, Alfred Nathaniel, Arje Cahn, Danny Mui, Hugh Leather, Johan Stuyts, Maciek Kaminski, Michael Enke, Michael Gerzabek, Robert E. Parrott, Tony Culshaw, Unico Hommes, Wolfgang Kowarschick.

Version 2.1m2 (May 20 2003)

  • update Changed namespace for the RequestGenerator to 'http://apache.org/cocoon/request/2.0'. Committed by SMS.
  • update Changed namespace for XMLForm components to 'http://apache.org/cocoon/xmlform/1.0'. Committed by SMS.
  • update Extended the ExtendedXLinkPipe to be more extensible. Prepared is html and p3p. Committed by SMS. Thanks to Torsten Knodt. See Issue 19786.
  • update Patch velocity generator, so that the scope of objects can be specified (request, session, sitemap). Committed by SMS. Thanks to Michael Homeijer. See Issue 14986.
  • update Fixed namespace handling in XMLDBSource. Committed by GR. Thanks to Ciro Mondueri. See Issue 19978.
  • add Added XHTML 1.1 DTD to the entity catalog. Added XHTML 1.1 serializer into the sitemap. Explained different XHTML 1.0 serializer options. Committed by VG. See Issue 16003.
  • update Enable the LDAPTransformer to obtain attribute values from LDAP using various encoding schemes for stored values. Committed by SMS. Thanks to Yury Mikhienko. See Issue 18466.
  • update Cleaned up MIMEUtils. Committed by SMS. Thanks to Torsten Knodt. See Issue 19885.
  • update The DirectoryGenerator is now cacheable. A new "refreshDelay" parameter defines the delay between two checks on the filesystem for modified files. Committed by SW.
  • add Added STX block. (alternative to XSLT) Committed by TC. Thanks to Daniel Fagerstrom. See Issue 19772.
  • fix Throw InvalidContinuationException when flow continuation is not found or not valid, instead of forwarding to hard-coded 'invalidContinuation' page. Committed by VG. Thanks to Tony Collen. See Issue 19526.
  • fix Fixing NPE in JspEngineImpl. Committed by CZ. See Issue 14564.
  • fix Obtain handler and application name from parameters for internal requests if handler could not be resolved from the request object. Committed by CZ. See Issue 14117.
  • fix Delaying getting of the output stream from the http response until it is really needed. Committed by CZ. See Issue 17612.
  • add Adding new portal framework. Committed by CZ.
  • update Updated Xalan to a CVS snapshot (2003-05-06), fixes bug with incorrect namespaces in endElement SAX events. Committed by BRD.
  • add QDox block added, parses Java source code and javadoc tags, includes samples. Committed by BD. Thanks to Bart Guijt. See Issue 16523.
  • fix Fixing the problem with eating spaces in custom transformers. Committed by CZ. See Issue 19683.
  • add Hello World sample added for the SWF block (although page2swf.xsl contains incomplete font definition). Committed by BD. Thanks to Joerg Heinicke. See Issue 19619.
  • update Redesign/modularizing the authentication and session framework. Committed by CZ.
  • add Added 304 support to cacheable pipelines Committed by GR. Thanks to Miles Elam. See Issue 19206.
  • fix DTD comment events are now dropped after parsing by default. Committed by BRD. See Issue 17763.
  • fix When an exception occured in a pipeline containing an XSL, the contents of the pipeline was appended to the error page. Now this only happens anymore when the incremental-processing of Xalan is enabled (which is unavoidable for now). Committed by BRD. See Issue 13186.
  • fix Disabled incremental-processing of Xalan by default. Committed by BRD. See Issue 13186.
  • add standalone-demo build target added Committed by BD.
  • fix cacheable.xsp sample reworked, did not work in M1 Committed by BD.
  • fix new FOP serializer samples, accessible from the "blocks with samples" page Committed by BD.
  • fix Fixed NPE if ESQL does not get a connection Committed by TC. Thanks to John R. Daily. See Issue 15820.
  • fix Fixed SQL injection vulnerability of DatabaseAuthenticatorAction Committed by TC. Thanks to Geoff Howard. See Issue 14286.
  • fix ESQL "Auto" support for sybase ASE. New database detection method. Committed by TC. Thanks to Neil Bacon. See Issue 18547.
  • fix Removing dependency from the Cocoon core to JTidy. Committed by CZ.
  • fix Sync XML:DB source with 2.0 branch: Conect to the XML:DB once, from the XMLDBSourceFactory. Committed by VG. See Issue 18683.

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:
Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Gianugo Rabellino (GR), Stephan Michels (SMS), Sylvain Wallez (SW), Torsten Curdt (TC), Vadim Gritsenko (VG).

This is a list of other contributors:
Bart Guijt, Ciro Mondueri, Daniel Fagerstrom, Geoff Howard, Joerg Heinicke, John R. Daily, Michael Homeijer, Miles Elam, Neil Bacon, Tony Collen, Torsten Knodt, Yury Mikhienko.

Version 2.1-M1 (April 29 2003)

  • fix TextSerializer now can handle absence of root element in the incoming XML. Committed by VG. See Issue 10242.
  • add 'handle-errors' sections in the sitemap now do not have an implicit generator: any generator can now be used, whereas previously it was implied and produced an XML representation of the error).
    To ensure backwards compatibility, 'handle-errors' sections can have a 'type' attribute to continue the implicit-generator behaviour, but are now to be considered as deprecated.
    A new ExceptionSelector is also available to drive the error-handling pipeline constuction depending on the error type. Committed by SW.
  • update EsqlConnection no longer implements java.sql.Connection. No jvm dependency any more. Committed by TC.
  • update Refactored SitemapConfigurable. A sitemap configurable component can now be ThreadSafe and has access to the sitemap configuration at any time through a SitemapConfigurationHolder. Committed by CZ.
  • update Correcting method names of new CacheableProcessingComponent interface. It is now possible to write components that support the 2.0.x and the 2.1.x caching algorithm. Committed by CZ.
  • update Setting minimum JDK version from 1.2 to 1.3. Committed by CZ.
  • update Updating to the latest official Avalon and Excalibur releases. Committed by CZ.
  • add Enhancements to the CLI to reduce the number of times it needs to render a page. Using the option to prevent checking of extensions, it is now possible to generate a site generating each page only once. Allow the configuration of the CLI using an xconf file. Switch cli to using the Jakarta Commons CLI package. Committed by NKB. Thanks to Upayavira. See Issue 17671.
  • add Added support for the LogFactor5 graphical log event browser. Committed by MC.
  • fix XMLFileModule: rename 'cachable' to 'cacheable' in configation. Committed by JT.
  • update FOP serializer's <user-config> relative path now resolves relative to sitemap's directory. All Cocoon URIs are supported too. Committed by VG.
  • fix The CVS repository for Cocoon 2.1 is now called "cocoon-2.1" (no branches, just HEAD). Committed by PF.
  • add Added support for Pervasive db to ESQL. Committed by TC.
  • fix Changed category for Log logicsheets. Committed by SMS. Thanks to Leszek Gawron. See Issue 16695.
  • add Extended the HTMLGenerator so that it can handle HTML snippets provided as request parameter or as POST data, passing them through Tidy to ensure well-formedness. Committed by GR.
  • add New caching cinclude transformer. The cinclude transformer can now cache the aggregated content for a distinct period of time. In addition it can fetch the content in parallel or pre-emptive. Committed by CZ.
  • update The repository for Cocoon 2.1 is now called "cocoon-2-historical" (the old "xml-cocoon2" repository is deprecated). Committed by PF.
  • update The "javadocs" build target now links offline to the appropriate JavaDOC repositiories available on the web. Committed by PF.
  • add Added proxy generator block for remote HTTP-base generation of XML (will deprecate the WSProxyGenerator). Committed by PF.
  • add Added subrequest processing via the sitemap to the Cocoon flow. Committed by PF.
  • update Moved the asciiart stuff from the scratchpad into a block. Committed by SM.
  • update Moved the SendmailAction and the mail-related stuff from the scratchpad into the mail block. Committed by SM.
  • update Removed the MaybeUploadRequestFactory since we have our own and the less dependencies the better Committed by SM.
  • update Moving core properties of the build system into a separate properties file. Committed by CZ.
  • add The "expires" pipeline parameter is honored even by the internal Cocoon cache, i.e. the caching algorithms are overridden if an expires parameter is present and still fresh. Committed by GR.
  • fix Set "Last-Modified" header Committed by TC. See Issue 15401.
  • fix Fixed the ResourceExistAction to return null instead of EMPTYMAP on not existing resources. Committed by TC. Thanks to Alfred Nathaniel. See Issue 17324.
  • update Refactored the build system. Committed by SM.
  • fix Put the exceptions into esql namespace so the variable named "e" is still available in XSP. Committed by TC. See Issue 17261.
  • update Now i18n transformer has support for multiple catalogues and can now use "input modules" in catalogue name and catalogue location. Fixed bug with getting content for the translation key in certain circumstances. Fixed bug with accidental removal of translation text in certain circumstances. Committed by DC. Thanks to Bruno Dumon. See Issue 17127.
  • add Optional 'global' parameter on map:redirect-to when giving a URI. Committed by PAR.
  • update Make getParentComponentManager in CocoonServlet protected so alternate methods to getting the parent CM can be used. Committed by PAR.
  • add Optional "depth" attribute on the cocoon log format to control how deep to go in stacktrace reporting. Committed by PAR.
  • fix Do not specify a default to the "class-loader" parameter in JavaLanguage Committed by PAR.
  • add Add a NonStaticClassLoaderManager that does not keep internal static variables. Useful when putting cocoon.jar outside the WEB-INF/lib directory and have multiple XSP pages of the same name in multiple webapps Committed by PAR.
  • fix Improve default exception handling behavior in CocoonServlet: show exception stacktrace only when log level is INFO or DEBUG, and add exception message to "Not Found" page. Committed by VG. See Issue 16267.
  • fix Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet to avoid IllegalStateException if response was already committed. Committed by VG. See Issue 16264.
  • update Add support for Collection objects to the CastorTransformer. Upgrade to the SAX2 API, improve logging, and use SourceResolver to load mappings. Committed by VG. Thanks to Michael Homeijer. See Issue 11861.
  • update Refactor Main class into two classes, Main and CocoonBean. CocoonBean provides simple programmatic interface to the Cocoon. Committed by VG. Thanks to Upayavira. See Issue 15748.
  • fix Add image dimensions to the ImageReader's cache key. Committed by VG. Thanks to Upayavira. See Issue 16490.
  • add modular.DatabaseActions: added ability to store FileParts from uploads to "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. Committed by CH. Thanks to Geoff Howard.
  • add SAP R/3 connectivity components added. Committed by CH. Thanks to Michael Gerzabek. See Issue 9075.
  • update Moved block samples to own category, modified build system to merge .xsample files to block-samples.xml. Committed by CH.
  • update Renaming components section for pipeline implementations to "pipes" and "pipe". Committed by CZ.
  • update Updated to latest versions of excalibur sourceresolve and xmlutil. Committed by CZ.
  • update Patch IOUtils to recognize '..' in Path Committed by SMS. Thanks to Michael Enke. See Issue 14700.
  • update The "mime-type" attribute on <map:read> and <map:serialize> is now expanded if it contains sitemap variables. Committed by SW.
  • add InputModule to access XMLForm instances. Committed by CH.
  • add (modular) DatabaseAction: added ability to use arbitrary path separators instead of "." (e.g. "/"), added ability to count rows from 1, added documentation. Committed by CH.
  • add Created additional isolation level for some OutputModules. Committed by CH.
  • add Added LinkRewriterTransformer. Committed by CH. Thanks to Jeff Turner. See Issue 15611.
  • add Added support for expiring continuations. Committed by OP. Thanks to Michael Melhem.
  • update Fixed the way complex Java objects are passed from the control flow to the XSP view layer. Committed by OP. Thanks to Ugo Cei.
  • update Added ant-contrib library with some optional ant tasks and started cleaning up the build system. Committed by CZ.
  • update ZipArchiveSerializer now accepts inline content for entries of the zip archive and not only source URLs. Committed by SW.
  • update ImageReader extends now ResourceReader and therefor the "expire-time" parameter is now "expires". Also removed the setting of the byte range header for on-the-fly images. (did not support it anyway) Committed by TC.
  • update Moved the byte range support from the ByteRangeReader in scratchpad into the ResourceReader. Added the optional parameters "buffer-size" and "byte-range". Byte range support is enable by default. Committed by TC.
  • update Move the image inspection into a ImageUtils class Committed by TC.
  • update Major cleanup of the ImageDirectoryGenerator, removed the RuntimeExceptions, added support for the JPEG comment marker Committed by TC.
  • add Added reader user documentation section, including readers documentation; added BrowserSelector, and HostSelector documentation, plus template-selector usable as template for writing more selector docs; added WildcardURIMatcher, and WildcardHeaderMatcher, plus template-matcher usable as template for writing more matcher docs. Committed by BH.
  • fix Fixed the esql:more-results tag for non-JDBC limit methods Committed by TC. Thanks to Antonio Gallardo.
  • update Moved all classes marked @deprecated to the src/deprecated directory. Since Many classes are still a dependency for the core, while this is fixed the build process still copies them with the core during compilation. To compile with the deprecation separation, do "build -Ddeprecate=true". Committed by NKB.
  • update Moved code to new blocks: profiler, velocity. Committed by NKB.
  • update Update XML Serializer, HTML Serializer , and Text Serializer documentation, added XHTML Serializer documentation in the serializer user documentation section. Committed by BH.
  • update Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added SVG TIFF documentation in the serializer user documentation section. Committed by BH.
  • fix XMLFileModule checks result of SitemapSource.getValidity() as it may return null Committed by BH. Thanks to Jeff Turner. See Issue 15609.
  • add Integrated the validation targets into the build ("validate-config" and "validate-xdocs") also still available at the command-line. Validation happens automatically unless you switch it off. See document XML Validation Facilities. Committed by DC.
  • fix Postgresql 7.3: LIMIT x,y no longer supported. Added new class for postgresql-old limit method that still uses LIMIT x,y while postgresql uses the LIMIT x OFFSET y syntax which has been used by postgresql for some time now. Committed by CH. Thanks to Michael Enke. See Issue 15064.
  • update Created .src/deprecated directory to contain all deprecated classes. This will help in maintaining Cocoon free from deprecated classes. Started by moving some deprecated caching stuff. Committed by NKB.
  • update Moved code to new blocks: html, php, lucene, bsf Committed by NKB.
  • update Now module.xml is named project.info.xml Committed by NKB.
  • fix Extension to sendmail.xsp: lists for sendmail:cc Committed by CH. Thanks to Frank Ridderbusch. See Issue 15005.
  • fix Added container/form-encoding init-params to web.xml Committed by CH. Thanks to Artur Bialecki. See Issue 14835.
  • fix Fixing various inefficient logging calls. Committed by CH. Thanks to Stuart Roebuck. See Issue 15136.
  • update Make all "meta" modules ThreadSafe Committed by CH.
  • fix Perform correct source resolution in XMLResourceBundle. Now i18n transformer can obtain dictionaries using any supported source (e.g. 'cocoon:/'). Committed by KP. Thanks to Michael Gerzabek. See Issue 15431.
  • update Added Greek translation, thanks to Stavros Kounis (gounis.at.osmosis.gr). Corrected Armenian translation to be real Unicode and be readable without additional plug-ins (on Win). Committed by KP.
  • update Updated the XML:DB Source. Now it will accept, in cocoon.xconf, optional authentication attributes, called "user" and "password". Committed by GR.
  • add New transformer extracts fragments to documents and stores them using an OutputModule. Tags that start fragment are configurable. Committed by CH.
  • add New output module puts everything in a map in a request attribute. Committed by CH.
  • update AbstractJXPathModule / JXPathMetaModule default to lenient mode i.e. do not throw an exception on unsupported attributes but return null instead. Made this a configuration option. Committed by CH.
  • add XMLMetaModule returns DocumentWrapper instead of String. Committed by CH.
  • add Wrapper for org.w3c.dom.Document that implements XMLizable and provides a useful toString() method. Committed by CH.
  • add SimpleMappingMetaModule: added feature to remove a prefix / suffix. Committed by CH.
  • fix "meta" input modules: configuring a different module locally did not override the default one in all circumstances. Committed by CH.
  • fix input.xml: renaming mixed up called template names from logicsheet-util.xsl Committed by CH.
  • fix SimpleFormTransfomer: fixed error tags when no validation data available. Committed by CH.
  • update Moved the sample classes and confs to the samples block. Committed by NKB.
  • update Cleaned up the esql logicsheet and helper classes. Created classes for db specific stuff. Improved the limit/paging features. Committed by TC.
  • update Moved the jsp components to the jsp block, using hand-made-to-be-cleaned mock objects for the weblogic specific imports. Had also to move some definitions from the cocoon roles and xconf file. This moving of the blocks is indeed cleaning the core! :-) Committed by NKB.
  • update Updated block build system to compile and use mock objects in the "mocks" subdir of the blocks if present. Committed by NKB.
  • add New InputModule to access contents of an XMLFile using JXPath, based on patch from Jeff Turner (jefft.at.apache.org). Committed by CH.
  • update Moved endorsed libs in ./lib/endorsed, so that they can be added in the build file easily as java jvm args, or in the future copied to the webserver or Java endorsed dir. Currently it enables Jetty to run easily in 1.4 JVMs without need to copy libs to the endorsed dir. Committed by NKB.
  • add Added jetty webserver for fast and easy Cocoon test and evaluation. To run launch "build run" and point the browser to http://localhost:8888/ Since it seems there is a bug somewhere, ATM point to http://localhost:8888/documentation/index.html to see the page. Committed by NKB.
  • update Removed ./tools/build-i.xml and moved the interactive targets in main build. Removed ./tools/build-s.xml and removed all references to scratchpad builds (not used). Committed by NKB.
  • update Removed JTidyTask that was not used and switched to using the Ant input task from UserInputTask. Committed by NKB.
  • fix Added useexternalfile="yes" attribute makes Ant collect all package names in a temporary file and give that to Javadoc, thus going round the Wintel long command truncation issue. Committed by NKB. See Issue 14795.
  • update Moved LDAPTransformer to a block called "naming". Committed by NKB.
  • update New build target "validate-schematron" to conduct build-time validation (currently only the sitemaps) using RELAX NG grammars with embedded Schematron rules. This uses Schematron stylesheets from Rick Jelliffe and Academia Sinica Computing Center, Taiwan. Committed by DC. Thanks to Colin Paul Adams. See Issue 14581.
  • add Enhanced the RELAX NG grammar for sitemap.xmap files and added embedded Schematron rules. Committed by DC. Thanks to Colin Paul Adams.
  • fix Fix setOutputStream throwing IOExeption in XMLSerializer, and TextSerializer. Committed by BH.
  • fix Make the CLI report errors correctly to the screen when a page generation fails. Committed by NKB.
  • update Moved POI to a block. Applied patch without moving the core elementprocessor classes in the block. Committed by NKB. Thanks to Philipp Schmidt. See Issue 12975.
  • fix When a part of a pipeline aggregation fails, cocoon will no more silently return without reporting an error. Now, upon request of an erroneous page, the result is that I can see all parts, that have been processed so far on the screen and I see the error infos positioned at the bottom of the page. Committed by NKB. Thanks to Hussayn Dabbous.
  • update Added 'query' sitemap parameter to SearchTransformer. Added configuration parameters to SimpleLuceneXMLIndexerImpl for choosing the content-view and which tags you want stored as fields by the indexer. Added field storage implementation to LuceneIndexContentHandler. Committed by JQ.
  • add New build target "validate-xdocs" to conduct build-time validation of core xml documentation (call it manually with: ./build.sh validate-xdocs). Committed by DC.
  • add Added SystemPropertyModule input module to enable environment variables in sitemap attributes. E.g.: <map:transform src="{system-property:user.home}/style.xsl"> Committed by KP.
  • add Added resource bundle component interfaces to allow different implementations to be used for i18n. Committed by KP.
  • update Extended implementation of i18n transformer to allow markup in translations, inline translations (conditional processing) and named parameters. Now i18n transformer is cachable, this will affect on dynamic markup, e.g. i18n:date-time. WARN: The namespace of i18n markup is changed to "http://apache.org/cocoon/i18n/2.1". i18n samples are updated to demonstrate the new features. Committed by KP. Thanks to Matthieu Sozeau.
  • update XMLForm Howto to reflect the fact that there is no need for manual handling of unchecked check-boxes. Committed by IAI.
  • update Updated Xalan to 2.4.1 Committed by IAI.
  • update Renamed the AbstractMethodAction into AbstractMultiAction and moved it from scratchpad into the maintrunk. Using it helps reducing the amount of custom actions for a webapp. Committed by TC.
  • add Added RELAX NG grammar for sitemap.xmap files and removed old draft sitemap DTD. Committed by DC. Thanks to Colin Paul Adams.
  • update Started moving database related stuff (actions, transformers, readers) as well as HSQLDB to a new blocks. Samples have not yet moved to new block, datasource declaration has. Committed by CH.
  • update Updated the draft DTD for sitemap. Committed by DC. Thanks to Colin Paul Adams.
  • add Added a draft W3C XML Schema for sitemap. Committed by KP.
  • remove Removed deprecated notification classes in org.apache.cocoon.* and in org.apache.cocoon.sitemap.* and the deprecated methods in org.apache.cocoon.components.notification.Notifier. Committed by NKB.
  • add Added support for sitemap variable anchors {#name:variable}. This introduces a new "name" attribute for matchers and actions Committed by TC.
  • add Added support for direct access of root level sitemap variables {/1} Committed by TC.
  • add New pipeline hint attribute to allow pipeline components (i.e. map:generate, map:transform and map:serialize) to hold some pipeline-specific parameters. The first usage of this feature is to drive manual cache points for the CachingPointProcessingPipeline. Committed by SW. Thanks to Michael Melhem. See Issue 12780.
  • update Removed all references to Loggable in favor of LogEnabled (this includes references to common abstract classes as AbstractLoggable and AbstractDualLogEnabled) Committed by GP.
  • update Added support for using Avalon components as Axis service objects with the AxisRPCReader. Committed by MC.
  • update Enhancing cinclude transformer with configuration possiblities, lie POST requests and flexible parameter handling. Committed by CZ.
  • update Enabled the RTF serializer and SWF serializer as block. Committed by SMS. Thanks to Philipp Schmidt. See Issue 12799.
  • update Enabled the chaperon text parser as block. Committed by SMS.
  • add Added initial support for compilation of Cocoon blocks, and migrated Fop and Batik classes and configuration to the src/blocks dir. Blocks that need Avalon components not yet supported. Committed by NKB.
  • add Added support for Avalon Excalibur instrumentation. Committed by MC.
  • add Added CascadingIOException to wrap other exceptions when an IOException is thrown. Committed by CZ.
  • add Added configurable buffering of the output. This removes all the problems with error handler and already committed responses etc. A new pipeline parameter "outputBufferSize" controlls the behaviour. Committed by CZ.
  • add Added AxisRPCReader to scratchpad. This reader essentially allows you to serve SOAP requests from your Cocoon application. Sample webapp with status page is also included. Committed by MC. See Issue 12304.
  • update Updated Jakarta Commons HTTP client jar. Fixes problems with SOAP XSP taglib. Committed by MC. See Issue 12236.
  • add Added new ComposerReader class with various Reader refactorings. Committed by MC. See Issue 12122.
  • update Don't explicitly redirect to the cocoon:/ pipeline in AbstractInterpreter.forwardTo(), do it instead in system.js. Committed by OP. Thanks to Ramy Mamdouh.
  • update Fixed code generation problem in the jpath.xsl. Patch from. Committed by OP. Thanks to Per-Olof Noren.
  • add New user login and preferences sample to show the control flow layer. Committed by OP.
  • update The control flow layer can now save the global JavaScript scope in the servlet session object. This allows the value of global variables to be saved between different top-level function invocations. Committed by OP.
  • update Profiler components extended to store intermediate SAX fragments, and also the some informations about the environment, thanks to Bruno Dumon. Committed by SMS.
  • update Made Commandline Cocoon (Main.java) verbose output (-V option) less cluttered and grouped the log and output methods. Committed by NKB.
  • update Commandline Cocoon (Main.java) now doesn't stop anymore on broken links, but inserts an error page instead and correctly notifies it in the broken links file if requested. Committed by NKB.
  • update Add the methods 'copy', 'move' and 'delete' to the WriteableSource interface. Committed by SMS.
  • add Added the Chaperon components, examples and docs into the main tree. Committed by SMS.
  • update Replaced implementation from Loggable by LogEnabled to use the Avalon Logger instead of the LogKit Logger. Committed by SMS.
  • add Moved the SWF generator and serializer from the scratchpad into the main trunk. Added a hello-world sample for SWF Committed by TC.
  • add Added a new PDF serializer. iText seems to be good and fast alternative with many features iText also provides support for RTF and HTML Committed by TC.
  • update Updated xerces, xalan, xml-apis jars to their latest CVS versions. Especially due to some xerces bugs in the 2.0 release Committed by TC.
  • update Made docs target use logging to file via the logkit.xconf and added informative System.out messages for the commandline cocoon (Main.java). Committed by NKB.
  • update Allow parent component manager to be LogEnabled. Committed by CZ. Thanks to Leo Sutic.
  • add Extended pipeline handling for CachingPoint caching algorithm. Committed by CZ. Thanks to Michael Melhem. See Issue 10284.
  • update New samples for HSSF Serializer. Committed by NKB. Thanks to Andrew C. Oliver.
  • update This adds get-bigdecimal to ESQL (see java.math.BigDecimal for details as to why you need BigDecimals). Committed by NKB. Thanks to Andrew C. Oliver. See Issue 8058.
  • update The SQL Transformer does those nastly looking exponents for large values. By calling "getBigDecimal()" instead of getObject we can call an overridden toString and avoid those nasty things. Committed by NKB. Thanks to Andrew C. Oliver. See Issue 8056.
  • add Python language support for the XSP pages. Committed by VG.
  • add Python programming language using jython interpreter. Committed by VG.
  • add New SwitchSelector that uses a common context object for all map:when tests. Committed by SW. Thanks to Marcus Crafter.
  • fix Fixed the use of roles in TraxTransformer which was incorrect. Now it sets the factory explicitly in the XSLTProcessor component without using any special avalon component management capacity. Committed by SM.
  • fix Uniformed the configurations used by the Avalon XSLTProcessor component and the TraxTransformer to specify the TransformationFactory to use. Committed by SM.
  • update Applied patch to add javascript support for the mozilla browser for transforming xml to html. Committed by SMS. Thanks to Andrew Timberlake. See Issue 9521.
  • update The OASIS Catalog and the entities (DTDs, entity sets, etc.) have moved to WEB-INF/entities and the CatalogManager.properties file has moved to WEB-INF/classes Committed by CZ.
  • add New Cocoon Generator. Allows Embedding One Web Site in Another. WebServiceProxyGenerator Demo. Committed by IAI.
  • add XMLForm framework. Allows client independent form handling. Committed by IAI.
  • add Added "userhomes" in the webapp, that automounts the sitemaps found in *nix user homes. To remove it, just delete the dir. Committed by NKB. Thanks to Tim Myers.
  • add Added support for actions and In-/OutputModules to the JavaScript Flow. Caveat: Modifications of the Redirector object are ignored. Committed by CH.
  • add Support for writing xLOBs to database through modular.DatabaseActions. Does not include a required InputModule that returns a JDBCxlobHelper to be passed to the action. Committed by CH.
  • add New DatabaseAction: DatabaseQueryAction. It works like the other modular DatabaseActions but does not auto-generate the query. The query has to be provided conforming to PreparedStatement syntax. Unlike the name might suggest, it can be a select, update, or delete query. Committed by CH.
  • update Updated SourceWritingTransformer. Changed the tag set so that source:write and source:insert each share the same way of taking parameters. Added results from source:insert tag like source:write. Changed the implementation of the source:write tag so it now buffers to DOM Fragment like source:insert. Added new tests, updated slash-edit to use new tags. Committed by JQ.
  • remove Removed (long time deprecated) matcher and selector factories. Use appropriate matchers and selectors instead. Committed by VG.
  • update Updated the profiler code, removed the need of SAXConnectors. Committed by CZ.
  • add Encourage people to help with the refactoring of Cocoon samples. Provide a refactoring guidelines document. Committed by DC.
  • update Moved the old sample for Catalog Entity Resolver in to the new webapp/samples structure. Added new sample for Simplified DocBook DTDs configuration. Added section for other miscellaneous samples. Committed by DC.
  • update Moved linkstatus sample and LinkStatusGenerator to core from scratchpad; added a link to test the documentation links on the Cocoon demo webapp frontpage. Committed by NKB.
  • add ESQL: Added support for reading BLOBs from database. Committed by CH. Thanks to Roger I Martin PhD.
  • update DatabaseActions, changed behaviour: Tables are used in order of appearance in tableset, before they were used in order of appearance in tables section. Committed by CH.
  • remove Removed XT XSLT transformer. Committed by VG.
  • add Added custom component configuration to map:pipelines section. Committed by CZ.
  • add Added global parameters to map:pipelines section. Committed by CZ.
  • update Changed modules to use objectModel instead of just the request object. Committed by CH.
  • update Modular database actions now don't inherit from original database actions anymore. Some custom datatypes got lost during this process as they should be handled be specialized input modules instead. Committed by CH.
  • add Replaced event pipeline and stream pipeline with one single component, the processing pipeline. Added configurable pipelines to sitemap. Committed by CZ.
  • add Added an "expires" directive to map:pipeline in order to manually set an "Expires:" HTTP header following Apache's mod_expires syntax. Committed by GR.
  • add Modified check-jars.xsl to dynamically create the jars.xml for documentation. Need to copy the generated file over the static placeholder... Help - where to in the build.xml? Committed by JM.
  • add ResourceReader gets the mime type from the source now, instead of declaring the mime type in the sitemap. Committed by GF. Thanks to Stephan Michels.
  • add Moved mod-db stuff from scratchpad to trunk. Committed by CH.
  • add Util logicsheet: get-source and include-source tags. E.g. to include XHTML generated by another pipeline as email. Committed by CH.
  • fix Esql: multiple results can now have different result blocks, position determines matching result position. Last one is default if more results arrive. call-results now evaluated after other results to comply with JDBC specs. Committed by CH.
  • add Added Jakarta Slide Source components and examples in scratchpad. Committed by NKB. Thanks to Stephan Michels.
  • add Added continuations-based control flow support to Cocoon. It is currently based on a modified Rhino JavaScript implementation with continuations support, courtesy of Christopher Oliver: ftp://ftp.primaryinterface.com/pub/rhino. Committed by OP.
  • update Added size attribute and sorting to directory-generator. Committed by JM. Thanks to Frank Ridderbusch. See Issue 8531.
  • fix Changed error behaviour in esql: all exceptions now result in error-results being evaluated. If error-results is present, exceptions are caught, otherwise a processing exception is thrown. Committed by CH.
  • fix Complete rewrite of grouping code in esql (footer still not supported), group-on available through esql:param Committed by CH.
  • fix Esql fix for get-columns with PostgreSQL and getObject not working with all datatypes Committed by CH.
  • fix CLOB support in esql logicsheet, esp. in get-xml Committed by CH.
  • add changed the LanguageException and the JavaLanguage to expose more than just the compilation error. Now it also shows the actual code from the repository +/- a few lines around that error. Committed by TC.
  • add restructured the ProgramGenerator and added option "watchSource" (true/false). If turned on you can make changes inside the generated source code (inside the repository) and the ProgramGenerator will compile them for you. This eases XSP debugging a lot! Turned off (same behaviour as before) by default. Committed by TC.
  • fix Fixed esql getBytes() behaviour Committed by TC.
  • add Integrated the new Avalon Excalibur Store and StoreJanitor components. This deprecates the Cocoon version. Committed by CZ.
  • add Added formula support for HSSF Serializer. Committed by GF. Thanks to Andy Oliver.
  • add Integrated the new Avalon Excalibur XSLT Processor. This deprecates the Cocoon version. Committed by CZ.
  • update Locale selection for I18nTransformer changed to use parameter set from sitemap. The old behavior (implicit locale selection using LocaleAction) is not supported any more. i18n samples are refactored, redesigned, new translations are added. Committed by KP.
  • add Integrated the new Avalon Excalibur Source Resolving architecture. This deprecates the now obsolete Cocoon source resolving. Wrapper classes etc. have been provided for an easy upgrading. In addition the Excalibur XMLizer is added. Committed by CZ.
  • add Added the sunShine contribution from S&N AG, Germany (http://www.s-und-n.de). This contribution consists of a session management framework, an authentication framework and a portal engine. Committed by CZ.
  • update Changed default persistence store to the JispFilesystemStore. To switch back to FilesystemStore, remove jisp.jar and rebuild Cocoon (or simply edit cocoon.xconf) Committed by VG. See Issue 10697.
  • add RequestGenerator does optionally output request parameters. Committed by CZ. Thanks to Ilya A. Kriveshko.
  • add Output extra locator info if included Throwable of ProcessingException is SAXParseException or TransformerException. Committed by BH.
  • fix FIX NPE in org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline, if content is malformed, and there exists an cached response the validity[] contains null entries. Committed by BH.
  • fix Fix CocoonCrawlerImpl, check if contentType is not null, and always close the BufferedReader at the end. Committed by BH. Thanks to M. Kristian.
  • add Added JXPath based input modules for Request and Session properties. Demonstration sample is also added. RequestContextPathModule and RequestURIModules are obsolete now and will be removed. Committed by KP.
  • update Updated the Jisp store system to the new Jisp version and added the missing clear() and keys() methods. Committed by GF.
  • add Added a more sophisticated example in samples/webserviceproxy/cocoonhive. Demonstrates a small virtual portal which embeds functionality from Amazon and OpenWiki. Committed by IAI.
  • update XMLFormTransformer now saves a list of referenced model properties, which is later used to automatically populate with default values properties which were not addressed in the http request (like unchecked checkboxes). This applies to session scope forms only. Committed by IAI.
  • fix The resource reader now checks if for the same URI the same source is read in order to test the if-last-modified header. This behaviour can be turned of (for more performance) by the quick-modified-test. Committed by CZ. See Issue 12915.

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:
Bernhard Huber (BH), Christian Haul (CH), Carsten Ziegeler (CZ), David Crossley (DC), Gerhard Froehlich (GF), Giacomo Pati (GP), Gianugo Rabellino (GR), Ivelin Atanasoff Ivanov (IAI), John Morrison (JM), Jeremy Quinn (JQ), Jeff Turner (JT), Konstantin Piroumian (KP), Marcus Crafter (MC), Nicola Ken Barozzi (NKB), Ovidiu Predescu (OP), Peter Royal (PAR), Pierpaolo Fumagalli (PF), Stefano Mazzocchi (SM), Stephan Michels (SMS), Sylvain Wallez (SW), Torsten Curdt (TC), Vadim Gritsenko (VG).

This is a list of other contributors:
Alfred Nathaniel, Andrew C. Oliver, Andrew Timberlake, Andy Oliver, Antonio Gallardo, Artur Bialecki, Bruno Dumon, Colin Paul Adams, Frank Ridderbusch, Geoff Howard, Hussayn Dabbous, Ilya A. Kriveshko, Jeff Turner, Leo Sutic, Leszek Gawron, M. Kristian, Marcus Crafter, Matthieu Sozeau, Michael Enke, Michael Gerzabek, Michael Homeijer, Michael Melhem, Per-Olof Noren, Philipp Schmidt, Ramy Mamdouh, Roger I Martin PhD, Stephan Michels, Stuart Roebuck, Tim Myers, Ugo Cei, Upayavira.

All Committers

This is a list of all people who have ever participated as committers on this project.

  • Donald Ball (DB)
  • Nicola Ken Barozzi (NKB)
  • Ross Burton (RB)
  • Mark Butler (MB)
  • Ugo Cei (UC)
  • Tony Collen (ATC)
  • Marcus Crafter (MC)
  • David Crossley (DC)
  • Torsten Curdt (TC)
  • Bertrand Delacrétaz (BD)
  • Bruno Dumon (BRD)
  • Daniel Fagerstrom (DF)
  • Gerhard Froehlich (GF)
  • Pierpaolo Fumagalli (PF)
  • Antonio Gallardo (AG)
  • Leszek Gawron (LG)
  • Simone Gianni (SG)
  • Ralph Goers (RG)
  • Vadim Gritsenko (VG)
  • Christian Haul (CH)
  • Jörg Heinicke (JH)
  • Jorg Heymans (JHS)
  • Unico Hommes (UH)
  • Geoff Howard (GH)
  • Bernhard Huber (BH)
  • Ivelin Atanasoff Ivanov (IAI)
  • Jason Johnston (JJ)
  • Grzegorz Kossakowski (GK)
  • Matthew Langham (ML)
  • Berin Loritsch (BL)
  • Stefano Mazzocchi (SM)
  • Michael Melhem (MM)
  • Stephan Michels (SMS)
  • John Morrison (JM)
  • Alfred Nathaniel (AN)
  • Steven Noels (SN)
  • Christopher Oliver (CO)
  • Giacomo Pati (GP)
  • Max Pfingsthorn (MPF)
  • Konstantin Piroumian (KP)
  • Marc Portier (MPO)
  • Ovidiu Predescu (OP)
  • Jean-Baptiste Quenot (JBQ)
  • Jeremy Quinn (JQ)
  • Reinhard Pötz (RP)
  • Gianugo Rabellino (GR)
  • Ricardo Rocha (RR)
  • Peter Royal (PAR)
  • Paul Russell (PR)
  • Andrew Savory (AS)
  • Diana Shannon (DS)
  • Davanum Srinivas (DM)
  • Jeff Turner (JT)
  • Upayavira (UV)
  • Sylvain Wallez (SW)
  • Carsten Ziegeler (CZ)
  • Volunteer needed (open)