History of Changes


User Guide
Dev Guide

Planning notes
Patch queue

Cocoon Bylaws
Hall of Fame
Mail Lists
Mail Archives

Bug Database
Code Repository
Dev Snapshots

Cocoon Links
Live Sites
Cocoon Hosting

Other Releases
Cocoon 1.x
Cocoon 2.1

2.0.5-dev (July 10 2003)
  • remove Removed deprecated notification classes in org.apache.cocoon and in org.apache.cocoon.sitemap packages. Removed deprecated methods in EventPipeline and in org.apache.cocoon.components.notification.Notifier. (VG)
  • 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. (VG)
  • update Build script updated: build properties extracted into build.properties file, database.properties file removed. Override build.properties with local.build.properties or with ~/cocoon.build.properties (VG)
  • fix Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. (JH) Thanks to Wolfgang Kowarschick. Fixes bug 20682.
  • update Backported the caching from Cocoon 2.1, fixed cache key generation, fixed the root pattern handling (if not matching directory found leave out the ancestors), fixed empty src attribute handling. (JH) Thanks to Jorg Heymans. Fixes bug 20911.
  • fix Added/fixed internationalization support for HSSFSerializer by setting the output encoding hardcoded to UTF-16. It's obviously only a hack, but so it's at least usable for more people. (JH) Thanks to Maciek Kaminski. Fixes bug 15365.
  • fix Fixed usage of deprecated(?)/possibly removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> by usage of convenience methods (bug 20658). (JH) Thanks to Alfred Nathaniel. Fixes bug 20658.
  • fix Fixed NPE in SQLTransformer.serializeData(). (JH) Thanks to Tony Culshaw. Fixes bug 14977.
  • update Updated the XML libs to latest releases: Xalan 2.5.1, Xerces 2.4.0, xml-apis.jar. Added XSLTC configuration to cocoon.xconf and main sitemap, but Xalan is still the default XSLT processor. (JH)
  • 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). (DC) Fixes bug 14327.
  • fix Removed some 2.1 documentation stuff from 2.0 documentation, now that we have separate documentation websites. (JH) Fixes bug 15614.
  • fix For non-existant files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. (JH) Fixes bug 15302.
  • fix Logicsheets: Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. Fixed compilation problem with <xscript-get as="object"> expression. (VG) Thanks to Hugh Leather. Fixes bug 20159.
  • fix XIncludeTransformer: handle null systemid's in setDocumentLocator event. (BRD) Fixes bug 8379.
  • update Fixed namespace handling in XMLDBSource. (VG) Thanks to Ciro Mondueri. Fixes bug 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. (VG) Fixes bug 16003.
  • fix Fixing NPE in JspEngineImpl. (CZ) Fixes bug 14564.
  • fix Obtain handler and application name from parameters for internal requests if handler could not be resolved from the request object. (CZ) Fixes bug 14117.
  • fix Delaying getting of the output stream from the http response until it is really needed. (CZ) Fixes bug 17612.
  • fix Fixing the problem with eating spaces in custom transformers. (CZ) Fixes bug 19683.
  • 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). (BRD) Fixes bug 13186.
  • fix Disabled incremental-processing of Xalan by default. (BRD) Fixes bug 13186.
  • fix Fixed NPE if ESQL does not get a connection (TC) Thanks to John R. Daily. Fixes bug 15820.
  • update Ported from 2.1 branch: Updated the XML:DB Source. Now it will accept, in cocoon.xconf, optional authentication attributes, called "user" and "password". (VG)
  • fix TextSerializer now can handle absence of root element in the incoming XML. (VG) Fixes bug 10242.
  • fix The CVS repository for Cocoon 2.0 is now called "cocoon-2.0" (no branches, just HEAD). (PF)
  • fix Do not specify a default to the "class-loader" parameter in JavaLanguage (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 (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. (VG) Fixes bug 16267.
  • fix Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet to avoid IllegalStateException if response was already committed. (VG) Fixes bug 16264.
  • add DatabaseReader: optionally read mimetype from database (CH)
  • add modular.DatabaseActions: added ability to store FileParts from uploads to "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. (CH) Thanks to Geoff Howard.
  • add (modular) DatabaseAction: added ability to use arbitrary path separators instead of "." (e.g. "/"), added ability to count rows from 1, added documentation. (CH)
  • add Created additional isolation level for some OutputModules. (CH)
  • fix Modify DeltaTimeCacheValidity toString method so it returns same value during some time (approximately equal to timeInCache parameter). This makes it possible to cache sources with delta validity. Note: 2.1 replaces it with Excalibur's TimeStampValidity. (VG) Fixes bug 16240.
  • fix Postgresql 7.3: LIMIT x,y no longer supported. postgresql-old limit method still uses LIMIT x,y while postgresql uses the LIMIT x OFFSET y syntax which has been used by postgresql for some time now. (CH) Thanks to Michael Enke. Fixes bug 15064.
  • fix Extension to sendmail.xsp: lists for sendmail:cc (CH) Thanks to Frank Ridderbusch. Fixes bug 15005.
  • fix Added container/form-encoding init-params to web.xml (CH) Thanks to Artur Bialecki. Fixes bug 14835.
  • fix Fixing various inefficient logging calls. (CH) Thanks to Stuart Roebuck. Fixes bug 15136.
  • update The "mime-type" attribute on <map:read> and <map:serialize> is now expanded if it contains sitemap variables. (SW)
  • update ZipArchiveSerializer now accepts inline content for entries of the zip archive and not only source URLs. (SW)
  • update Update XML Serializer, HTML Serializer , and Text Serializer documentation, added XHTML Serializer documentation in the serializer user documentation section. (BH)
  • update Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added SVG TIFF documentation in the serializer user documentation section. (BH)
  • update Fixed "build test" (was missing tools/lib/excalibur-testcase-1.0.jar). The Junit tests now work again. (DC)
  • 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. (CZ) Fixes bug 12915.
  • 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. (CH)
  • add SimpleMappingMetaModule: added feature to remove a prefix / suffix. (CH)
  • fix "meta" input modules: configuring a different module locally did not override the default one in all circumstances. (CH)
  • fix input.xml: renaming mixed up called template names from logicsheet-util.xsl (CH)
  • fix SimpleFormTransfomer: fixed error tags when no validation data available. (CH)
2.0.4 (December 06 2002)
  • update The HTMLGenerator now accepts a JTidy configuration file for fine-grained control on the generated document. (SW)
  • fix New Logicsheet for use with InputModules. (CH)
  • add xsp.xsl now includes all xsp:init-page tags. Additional xsp:exit-page tag for cleanup operations. (CH)
  • add New InputModule to map parameter names to / from another name. Uses translation table and additional prefix / suffix. (CH)
  • fix Fixed SimpleFormTransformer: Malformed XML with textarea elements. (CH) Fixes bug 14739.
  • add Allow to set the i18n transformer's locale from the sitemap as a parameter (ported from 2.1-dev). The old behavior, based on LocaleAction is preserved only for 2.0.x versions and will be removed from the further releases (2.1 and higher). (KP)
  • add New build target "validate-config" to conduct build-time validation of some core important configuration files using RELAX NG (call it manually with: ./build.sh validate-config). Currently doing: all sitemap.xmap, all cocoon.roles, all *.xsl stylesheets, all book.xml files. (DC)
  • add Extend the syntax of sitemap variable substitution : variables can have a prefix which indicates an InputModule where to get the value from. For example, the expression "{request-param:foo}" will evaluate to the value of the "foo" request parameter (provided of course that the "request-param" InputModule is correctly defined in cocoon.xconf). (SW)
  • fix RequestLifecycleComponents were not handled properly when the cocoon: protocol is used (CZ) Fixes bug 12293.
  • update Changed SimpleFormTransformer to use InputModules. (CH)
  • update Changed InputModules to return Iterator instead of Enumeration. New abstract "meta" module to make new meta modules easier. Stripped "meta" from defaults module. Added JXPathMetaModule. Added extension classes and packages to all modules that are based on JXPath. (CH)
  • update Improved support for CLOB and BLOB columns in modular database actions. (CH)
  • add New chaining InputModule that allows to use additional modules when an attribute is not present or null. (CH)
  • update Changed defaults of InputModule names in many places to new names. (CH)
  • fix Fixing namespace handling of SQLTransformer. (CZ) Thanks to Luca Morandini. Fixes bug 14466.
  • add New ZipArchiveSerializer to build zip files aggregating various sources as archive entries. Can be used to generate zip files, sxw files (OpenOffice), jar files, etc. (SW)
  • fix CocoonServlet upload behavior now configurable from the web.xml. Configuration parameters are: autosave-uploads, overwrite-uploads, upload-max-size. See web.xml for description. (VG) Thanks to Geoff Howard. Fixes bug 13648.
  • fix Remove the static factory variable in RequestFactory, and instead pass it to the HttpRequest via the environment. (VG) Thanks to Leo Sutic. Fixes bug 13643.
  • update ReadDOMSessionTransformer now can work with any types of object (same mechanism as in <xsp:expr> now used). Configuration parameter dom-name renamed to attribute-name. (VG)
  • update Src attribute can be used now with SessionAttributeGenerator to specify session attribute name. Old syntax preserved. (VG)
  • update Local parameters in SessionStateAction still do override global parameters, but do NOT change global parameters. (VG)
  • update Src attribute can be used now with ResourceExistsAction. Old parameter syntax preserved. (VG)
  • fix Fixed prefix mapping for the sql transformer. (CZ)
  • update FOP user configuration can now be specified as URL or relative path as the value of the <user-config> element. (VG)
  • fix Load default FOP configuration only once, do not overwrite any user configuration. (VG) Fixes bug 6533.
  • fix Remove unnessesary code in SVGBuilder. This also fixes intermittent ClassCastExceptions in Batik code. (VG) Thanks to Stefan Seifert. Fixes bug 11856.
  • fix Fix issue with cross-platform uploads. Uploaded file's name converted to match destination platform's path separator. (VG)
  • update Absolute path now can be specified for work, cache, and upload directory. Read comments in web.xml, and verify your settings. (VG) Fixes bug 12131.
  • fix Set URI resolver for XSLT handler every time time templates are used, because XSLT templates might reference disposed instance of XSLT processor. Fixes some NPEs in XSLT processor when templates cache is used. (VG) Fixes bug 12328.
  • fix Fix sitemap reloading bug: When parent sitemap is modified, it is recompiled and reloaded. All sub-sitemaps of this sitemap also has to be reloaded because they have references to the parent sitemap's ComponentSelectors. This bug is the cause of some NPEs in the XSLT processor. (VG)
  • update Improve backward compatibility: FilePartFile needs toString() method to work with code written for Cocoon 2.0. (VG) Fixes bug 11401.
  • fix AbstractServerPages used static fields for dependency tracking, which caused either non-modified XSPs to be recompiled, or modified XSPs not to be recompiled. (SW)
  • update SearchGenerator now includes <field name=""/> elements into <hit/> element. These elements contain stored fields of a found Document, making it possible to provide additional info about document in the search result list (only when index created with some stored fields). (VG)
  • update In addition to attributes in same namespace with elements, link serializer reacts on non-namespaced attributes too. This allows processing of (strict) XHTML. (VG)
  • add Backport usage of InputModules to compiled sitemap. (CH)
  • update Sync modules and related components between 2.0.x and HEAD. (CH)
  • add Added some more types understood by modular database actions. (CH)
  • fix Request logicsheet: Fix session tags. (CH)
  • add Added some more InputModules. (CH)
  • update Changed existing OutputModules to not use ":" to separate key prefix from suffix if prefix is an empty string. (CH)
  • add Simple Formvalidation: FormValidatorAction sets attribute "*" to indicate overall validation status. Added SimpleFormTransformer that fills XHTML form fields with values from request parameters and allows conditional error tags depending on validation result. This removes the requirement for XSP. Changed ordering of error levels: "notpresent" (indicates that no validation result is present for this parameter) moves between "ok" and "error". New error level "maxerror" used in conjunction with the transformer, is never set, used as upper bound. (CH)
  • fix (Modular) DatabaseActions: select produced wrong result if no rows were found, query action returned broken result. (CH)
  • update ESQL: Allow arbitrary types for prepared and callable statements via dynamically loading classes like the SQLTransformer does. Is-null now uses dynamic colum specification. Fixed skip-row feature, which was off by one. Added tag to get connection meta data. (CH)
  • fix Fixed NPE in the recycling phase of content aggregation. (CZ)
  • fix Fixed bug in cocoon pseudo protocol involving aggregation of aggregated resources spanning several sitemaps. (VG) Fixes bug 9288.
  • fix Conect to the XML:DB once, from the XMLDBSourceFactory. (VG)
  • update Added cocoon-docs mailinglist to mail-archives.xml. (BH) Thanks to Torsten Knodt. Fixes bug 11447.
  • fix <xsp-util:include-expr/> includes any object, converting it to string. (VG)
  • update XSP now verifies that value of attribute name on xsp:element does not contains ':'. To create namespaced elements, uri and prefix attributes must be used. (VG)
  • fix Request, response, and session logicsheet were incorrectly returning result when as="xml" is specified. (VG)
  • update XScript now has better variable management: variables of request, session, global, and page scope are stored not in the XScriptManager, but as request, session, context attributes, or as XSP page field (respectively). Chances of memory leaks are highly reduced. (VG)
  • fix Include all warnings and errors reported by the XSLT engine into the TransformerException if transformation fails or terminated by the stylesheet. (VG)
  • update Update HSQLDB to version 1.7.0. Now it properly shuts down with Cocoon. (VG)
  • update All log messages from FOP now go into the logs instead of printing them to the screen. (CZ)
  • fix Applied patch for MaybeUploadRequestFactoryImpl which sets the timeout for a session to infinite during an upload and restores it afterwards. (CZ) Thanks to Stuart Roebuck. Fixes bug 10254.
2.0.3 (July 15 2002)
  • add When Cocoon is built, the build system automatically detects the current jvm and builds a target for this virtual machine. This is eiter JVM 1.4 or JVM 1.2 upto 1.3. (CZ)
  • fix Fixed current page indication in documentation menu (synced with HEAD). (KP)
  • update Internationalization and JSP samples are refactored. (KP)
  • add When building Cocoon it is required to set the targetted JVM (either 1.3 (means 1.3 or lower) or 1.4. (CZ) Thanks to Stuart Roebuck. Fixes bug 10505.
  • fix Fixed NullPointerException in Notifier. (VG) Thanks to Joachim Piketz. Fixes bug 10311.
  • update Multiple results seem not to be supported by some DBMSs (i.e. Oracle and Informix). Therefore this is made optional in ESQL. A new parameter (esql:allow-multiple-results) to esql:connection re-enables it. See EsqlConnection for details. (CH)
  • fix Properly escape (national) characters included in element's attributes in XSP page. (VG) Thanks to Vladimir Kralik. Fixes bug 9693.
  • fix Add connect-attempts and connect-waittime parameters to the SQLTransformer. Transformer tries to get a connection to the DB several times before returning an error. (VG) Fixes bug 6934.
  • fix Fixed sitemap compilation error when matchers are used within view or resource. (VG) Thanks to Michael Melhem. Fixes bug 8658.
  • fix Fixed sitemap compilation error when actions are used within view. (VG) Thanks to Michael Melhem. Fixes bug 8509.
  • fix TraxTransformer and XSLTProcessor components now correctly handle dependecies on imported (via xsl:include) XSLT stylesheets. (VG) Fixes bug 3782.
  • fix Removed Java 1.3+ only method (URL.getPath()) from LinkStatusGenerator. (NKB)
  • update CocoonServlet no longer builds its own classloader. Also, it no more sets the thread's context classloader unless the "init-classloader" parameter is true. To have Cocoon use its own classloader, use the ParanoidCocoonServlet. (SW)
  • fix ResourceReader incorrectly advertised byte ranges support. (VG) Thanks to Stuart Roebuck. Fixes bug 9539.
  • add Added a "handle-exceptions" init argument in web.xml, used by CocoonServlet for the exceptions that the core Cocoon class throws. If true or not set, this class will try to catch and handle all Cocoon exceptions. If false, it will rethrow them to the servlet container. (NKB)
  • fix Changed the Notifier notify() methods to accept a mimetype instead of returning it. There is no way in which this method could understand what mime/type to use from the notification info and the stream. It was added to the method using a ContentHandler, since it could output svg for example. The old methods were deprecated. (NKB)
  • fix Fixed error reporting in CocoonServlet: stream is now closed at the end of the service method, the content-type is sent before sending the error and the notification messages are now more descriptive. (NKB) Thanks to J.Pietschmann.
  • fix Support Parameterizable URLFactories. (VG) Fixes bug 8639.
  • fix Fixed multipart request problems with IE6. (GF) Thanks to Jeroen ter Voorde. Fixes bug 9064.
  • fix Added ability to run Cocoon on Novell OS. (VG) Fixes bug 3372.
  • add Make the multipart/form-data parser aware of the encoding used by the processed request. (SM)
  • add Added support for StreamGenerator to read from 'multipart/form-data' as well. (SM)
  • add Started new documents for Documentation To Do List and Documentation History of Changes. (DC)
  • fix Fixed NPE in DefaultNotifyingBuilder. (GF) Thanks to Peter Royal. Fixes bug 8881.
  • fix Fixed NPE in I18nTransformer. (GF) Thanks to Michael Enke. Fixes bug 8743.
  • update i18n transformer changed to use shorter syntax for number formatting. Now 'type' attribute with 'number', 'currency' and 'percent' should be used instead of 'type' and 'sub-type'combination. (KP) Thanks to Michael Enke.
  • add New documents on databases and Cocoon, database actions and modules. (CH)
  • add Additional input modules: Date, Digest, ConstantString, Random, NullInput, Collection (CH)
  • fix Sendmail logicsheet works again. (CH) Thanks to Jürgen Ehms.
  • add Array support for original form validation and new constraint for strings: "one-of" lists all allowed values, separated by "|"s. List should start and end with "|". (CH)
  • fix Aliases in modular database actions now work correctly. All of them return the number of affected rows as sitemap variable. (CH)
  • add added new Selector component. (GF) Thanks to Maciek Kaminski.
  • fix Updated commons-httpclient. (GF) Fixes bug 6740.
  • fix Fixing bug in NetUtils that altered in some cases the link reference in command-line mode. (CZ) Fixes bug 5772.
  • fix XScript works now (and all XScript SOAP samples). (VG)
  • update XSP engine now correctly processes pages with any encoding. (VG)
  • fix Fixed error (NPE) in AbstractValidatorAction introduced in the 2.0.2. (VG)
  • fix Fixing ClassCastException when a multipart/form-data form is posted. (CZ) Thanks to Jeroen ter Voorde. Fixes bug 7510.
  • update Rewrote SQLTransformer and added capability to store/fetch XML. (CZ)
  • add Added AbstractSAXTransformer for much easier implementation of custom transformers. (CZ)
  • add Handle request forwarding (aka internal redirects) using the "cocoon:" pseudo-protocol : writing <map:redirect-to uri="cocoon:/foo.bar"/> makes a recursive call on the current sitemap without going back to the browser (as usual, "cocoon://foo.bar" uses the root sitemap). This also keeps any data that have been stored as request attributes. Note: this is only available in the interpreted sitemap engine for now, and will come soon on the compiled engine. (SW)
  • fix Small optimization to XConfTool to check if the file is actually an XConfTool file. (NKB) Thanks to Marcus Crafter. Fixes bug 7251.
  • add Added LinkStatusGenerator donated by Michael Homeijer and accompanying sample sitemap to scratchpad. (NKB)
  • update Moved castor scratchpad sample from /samples to /mount as other samples. Now the refactored sample page points to the mount dir, thus showing available scratchpad components to test. (NKB)
  • update When including the scratchpad libs in the build, all the scratchpad samples are copied too. (NKB)
2.0.2 (March 26 2002)
  • add New BootstrapServlet to allow Cocoon to run in non-compliant servlet engines that don't handle correctly servlet contexts. This servlet builds a class loader with the contents of WEB-INF/classes and WEB-INF/lib and manages resource resolution. (SW)
  • update Updated error reporting to add line, column and location attributes specified in SAXException and TransformerException. The error page in the webapp examples shows the new extra info. (NKB)
  • add Added new "gump" target to the build, to be used as a general test of Cocoon code. To be used by Gump. It calls docs, javadocs, test and package. Gump descriptor has been modified to use it; now we also have automatic javadoc creation. (NKB)
  • update cocoon.xconf is moved in WEB-INF for security reasons. The documentation has been updated to reflect the change. (NKB)
  • update Partial commit of new samples structure. Samples go in samples/ dir with their own sitemap. All scratchpad samples that are in the samples/ subdir are copied in webapp samples automatically by installscratchpadwar target. (NKB)
  • update New "set-content-length" configuration for FOPSerializer to allow streaming of large PDFs (default is true for backwards compatibility). (SW)
  • update The docs now have svg stuff removed and these enhancements: menu items are in text, page title is in text, pages have new clean style courtesy of Stefano, added Stefano's explanation on how to write mails, the docs are generated with the TreeProcessor, the docs generation uses JispStore. (NKB)
  • add Added new targets: "installwar" asks for the directory in which to put the war and makes it. "installscratchpadwar" does the same but incudes scratchpad libs ans samples. (NKB)
  • add New POI HSSF Serializer; outputs to the .xls (not .xsl) file format. Added samples as legacy file format support. (NKB)
  • add New module structure for input, output, and database specifica in scratchpad. Thus it is possible to write generic components for one task and replace input and output dynamically. As an example a generic version of a WildcardMatcher is provided as well as a sample action that uses it. DatabaseActions in scratchpad use this structure as well. (CH)
  • update Moved ModularDatabase*Actions to new home in scratchpad and reworked them. They now use new module structure. For sample application, copy mod-db directory to cocoon/mount. (CH)
  • update Changed jdbc datasource to ResourceLimitingJdbcDataSource because it does not require to be able to contact the datasource on startup. Thus race condition with HSQLDB startup is eliminated. (CH)
  • add Added new Jisp based persistence cache, to improve (1) performance and (2) to solve the problem with long filenames on Windows OS flavours. (VG)
  • add Added new Jisp based persistence cache, to improve (1) performance and (2) to solve the problem with long filenames on Windows OS flavours. (GF)
  • update Removed explicit System.gc() call from StoreJanitor, because this caused performance leaks. (GF)
  • update Added support for input type=image buttons (TC)
  • update Deprecated the old cocoon-action=ACTION syntax in favor of the new cocoon-action-[ACTION]=whatever. Still supported though. (TC)
  • add Added encodeURL transformer for encoding URIs. (BH)
  • update Using migrated XPath Processor from Avalon Excalibur instead of own component. (CZ)
  • fix Fixed endless loop bug in IncludeXMLConsumer. (CZ)
  • update Added <xsp:page create-session=""> attribute now processed correctly, as described in the xsp-session logicsheet documentation. Variable 'session' declared and could be used in XSP page code. (VG)
  • add New implementation of the sitemap engine based on an evaluation tree. This provides super-fast load times (no more compilation), and a slight gain in request processing speed compared to the compiled engine thanks to the HotSpot VM. (SW)
  • add Added matchers: HeaderMatcher, ParameterMatcher. (VG)
  • add Added CookieSelector. (VG) Thanks to Matteo Di Giovinazzo.
  • add Added CookieMatcher. (VG) Thanks to Maciek Kaminski.
  • add Request, response, and session XSP logicsheets in Javascript language are added. (VG)
  • add Added Cocoon link page. (SM) Thanks to Andreas Hartmann.
  • add Added 'cocoon.ico'. (SM) Thanks to Maxim Dominichenko.
  • update Cleaned up documentation and refactored it a little. (SM)
  • fix Started to clean up the XML:DB stuff. The XML:DB generators have been deprecated, and a note has been written in the docs suggesting to switch to the XML:DB pseudo-protocol. Configurations have been switched from dbXML to Xindice. (GR)
  • add New WriteableSource interface that extends Source. Just as Source for reading, it allows to transparently write to various destinations. The first implementation is FileSource to write to files. (SW)
  • add Added FileWritingTransformer and sample file editor to scratchpad. (JQ)
  • fix Fixed some bugs in the file URI resolving on windows plattforms. (CZ)
  • update Using migrated entity resolver from Avalon Excalibur instead of own component. (CZ)
  • add Javascript language now supported by the XSP pages. Samples of Javascript XSP pages are added. (VG)
  • update Using migrated XML Parser from Avalon Excalibur instead of own component. (CZ)
  • update Added subprotocol "raw" to the cocoon: protocol. When the subprotocol is appended, the request parameters of the original request are not forwarded to the internal pipelines. Suggested by Michael Hartle [mhartle.at.hartle-klug.com]. (CZ)
  • add Added Pizza Java compiler as another alternative to Sun javac and Jikes. (VG)
  • update ProgramLanguage is decoupled now from the languages compiled into Java. Instead of Class object representing a program, Program interface has been introduced. (VG)
  • fix Text located in XSP language logicsheets now properly quoted. (VG)
  • fix SQL Transformer did enter Infinite Loop. This is fixed now. (CZ) Fixes bug 6242.
  • fix Sitemap engine verifies that root element is the <sitemap> element in the 'http://apache.org/cocoon/sitemap/1.0' namespace. (VG) Fixes bug 4117.
  • fix Move commonalities between sitemap markup language and XSP markup language into CocoonMarkupLanguage. (VG)
  • update Minor rewrite of the LogTransformer. The logfile is now resolved using the standard source resolver. The component is now recycled properly. (CZ)
  • update Minor rewrite of the SQLTransformer. Removed several parameters tests and the use of Properties objects - instead the Parameters object is used directly. (CZ)
  • update Action LangSelect has been deprecated in favor of LocaleAction. (VG) Thanks to Konstantin Piroumian.
  • update Allow sitemap components to be declared in the cocoon.xconf. Enhance SitemapComponentSelector to store label information provided in the configuration. (VG)
  • add Added the XPath-enabled DirectoryGenerator (XPathDirectoryGenerator) to scratchpad. (GR)
  • fix XSP engine verifies that root element is the <page> element in the 'http://apache.org/xsp' namespace. (VG) Fixes bug 4117.
  • fix Markup language logicsheets in general and XSP logicsheets in particular are now looked up by their namespace URI, not prefix. (VG)
  • update xsp-request and xsp-response logicsheets got more tags, and now are (almost) backward compatible with the logicsheets in Cocoon 1.8. (VG)
  • update Cache relies on two types of store components: (1) transient cache, with cache-transient shorthand, and (2) persistent cache, with cache-persistent shorthand. (VG)
  • update FilesystemStore (used as programs repository) now is created as all other components from the cocoon.xconf, and can be configured to use working directory, cache directory, or any other directory. (VG)
  • update Calling getInputStream() on a "cocoon:" source now returns the same output as an external call instead of always using an XML serializer. This also allows to get internally data produced by a Reader. (SW)
  • fix Fixed memory leaks in XScript engine. Fixed global and session scope variables: now they are shared between XScript pages as it should be. Page scope variables now visible for all instances of the same page. (VG)
  • add Added size() method to the Store interface. (VG)
  • fix Prevent PostInputStream from looping if the available() method of the base InputStream is returning 0. (GP)
  • add Added X-Cocoon-Version header to all responses generated by Cocoon. (VG)
  • update SystemID for cocoon: pseudo-protocol URIs changed from the form of <schema>:\\<host>:<port>\path\to\resource\from\the\root\sitemap to the form cocoon:\\path\to\resource\from\the\root\sitemap. This provides portability for compiled resources generated from the cocoon: sources. (VG)
  • add Stored Procedure support for esql plus ability to obtain and use a result set from any column just like a nested query. (CH)
2.0.1 (January 31, 2002)
  • update The FragmentExtractorTransformer is now configurable to extract any fragment identified by an element name and namespace URI, and no more limited to SVG images only. (SW) Thanks to Stephan Michels.
  • fix XSP engine now correctly works with dynamically generated sources with last modification date of 0, and it is correctly reloaded on Cocoon reload. (VG)
  • update Logicsheets are resolved using instance of url factory source resolver (URLFactorySourceResolver), and not the current request resolver (which is temporary object). (VG)
  • update Improve Lucene indexing. Only one Lucene document is created for one Cocoon resource. Document consists from 'body' field with all the text, 'element' field for every <element>, and 'element@attribute' for every attribute of the <element>. (VG)
  • fix Fixed performance issues in the Store implementation: (1) removed the FilesystemQueueImpl, one thread less now, (2) changed swapping alghorithm in the MRUMemoryStore towards less serialization, (3) Cache entries will be saved to the filesystem, when the System is shutdown cleanly, (4) fixed bug submitted by Peter Hargreaves [pdh.at.totalise.co.uk] in StoreJanitor (GC hangs in endless loop). (GF)
  • update Serializers do not write namespace attributes for prefixes starting with xml anymore (these are reserved by XML spec). (VG)
  • update Removed Event Cache and Stream Cache. For all possible Caching Piplines there is only one Store implementation behind. (GF)
  • update Added new log targets. (1) access.log, (2) core.log, (3) error.log and (4) sitemap.log. (GF)
  • update Perform substitution in the sitemap only when it is required (improves performace). (VG)
  • add Additions to sitemap syntax: (1) allow all elements at root level, not only matchers, (2) perform some validation checks, (3) perform attribute substitution on all attributes except @type and @label. (VG)
  • add Added "List of Docs" which automatically generates a list of all Cocoon documentation by aggregating each xdocs/**/book.xml (DC)
  • fix The Catalog Entity Resolver is now fully operational on all platforms in both the webapp context and the commandline context of build docs. The verbosity level is now set low - if you want to see messages, then raise the verbosity via cocoon.xconf or CatalogManager.properties (DC) Fixes bug 5060.
  • update Separated the jars into core and optional. For compiling only the core jars are necessary. However, the sample webapp still needs some optional jars. (CZ)
  • add Added matchers: RegexpHeaderMatcher, RegexpRequestAttributeMatcher, RegexpRequestParameterMatcher, RegexpSessionAttributeMatcher, RequestAttributeMatcher, SessionAttributeMatcher, WildcardHostMatcher, WildcardRequestAttributeMatcher. (VG)
  • fix Address issue about how RegexpURIMatcher matches the "" pattern. Because it is so different from WildcardURIMatcher, the "" pattern is rewritten as "^$" which matches an empty string. The event is logged, along with the hint that if you really want to match everything, the pattern ".*" works as advertised. (BL) Fixes bug 5791.
  • update Fix command line generation so that a broken link was not a fatal error, and processing will continue after the link is reported as bad. (BL)
  • add Add ability to serialize all broken links to a file when running in command line mode. This helps debug sites. (BL)
  • update Rename some of the matchers/serializers (new added, old deprecated): RequestSelector to RequestParameterSelector, RequestParamMatcher to RequestParameterMatcher, WildcardParameterValueMatcher to WildcardRequestParameterMatcher, RegexpTargetHostMatcher to RegexpHostMatcher. (VG)
  • update Wap serializer renamed to wml serializer in the sitemap shipped with Cocoon, to be consistent with the names of other serializers. (VG)
  • update FilterTransformer is now Cacheable. (CZ)
  • update Added CACHE_VALIDITY singleton object to NOPCacheValidity and changed all components to use constant instead of creating new instances each time. (CZ)
  • fix Fix lifecycle related bugs in i18n transformer. Now transformers handles only lifecycle of resource bundle factory, which handles lifecycle of all resource bundles. (VG)
  • add Added special lifecycle interface for Cocoon components: RequestLifecycle. A component marked by this interface has the lifecycle of one request, so looking up the role twice during the same request results in the same component. (CZ)
  • update The "namespace-prefixes" feature is no more set on parsers. It can be set if needed in the configuration. (SW)
  • add Added ability to use XPath expressions to query XML:DB collections using XML:DB pseudo protocol. URL should be in form: xmldb:dbxml://host:port/db/collection/#/xpath (VG)
  • add Enabled XML:DB support (generators and pseudo protocol) by default. (VG)
  • fix JSPEngine returns result in UTF-8 charset. (VG) Fixes bug 4239.
  • add Changed invokation syntax of sitemap resources. Now <call resource/> is used instead of <redirect-to resource/>. Affects only resources, other redirections still use "old" syntax. New syntax does not take "target" attribute but allows to set arbitrary parameters by using <map-parameter/> Always creates new map while old syntax only did when "target" was present. Old syntax still available but deprecated. (CH)
  • fix XSP page were called twice if used as a source of XSLT stylesheet due to multiple calls to Source.getInputSource() in XSLProcessorImpl. (VG) Thanks to Eisert, Wolfram.
  • update Changed default upload directory from "image-dir" to "upload-dir". (VG)
  • add RequestGenerator accepts container-encoding and form-encoding parameters. (VG) Thanks to MIYABE Tatsuhiko.
  • update Added support for configurable URLFactories. (CZ)
  • fix Made the cache work again by updating cocoon.roles, sitemap.roles and making EventPipeline and StreamPipeline implement Recomposable instead of just Composable. (SW)
  • add Added the XML:DB pseudo protocol (GR)
  • add Status generator outputs a detailed description of what's in the cache. Patch submitted by Sebastien Koechlin [skoechlin.at.ivision.fr] (SW)
  • update Applied patch adding advanced error handling to SQLTransformer plus escape-string element from Peter Seiderer [Peter.Seiderer.at.ciselant.de] (CZ)
  • update The JaxpParser is now poolable and configurable. (CZ)
  • update The sitemap engine is now a regular component available through Processor.ROLE. This allows alternative implementations of Processors (e.g. interpreted sitemap, flowmap, statemap) to be plugged through cocoon.xconf. Note : to ensure compatibility with existing cocoon.xconf files, the shorthand for the Processor role is "sitemap". (SW)
  • update Added support for configurable SourceFactories. Patch submitted by Gianugo Rabellino [gianugo.at.rabellino.it]. (CZ)
  • add Added RTF serialization of XSL-FO documents (requires jfor). Patch submitted by Bertrand Delacretaz [bdelacretaz.at.codeconsult.ch]. Applied patch for the SQLTransformer to output namespaces for the generated elements. Patch submitted by Per-Olof Norén [pelle.at.alma.nu]. (CZ)
  • add New ServerPagesAction and associated "action" and "capture" logicsheets that allow actions to be written in XSP and parts of the generated XML to be captured in XMLFragment or DOM objects. (SW)
2.0 (November 29, 2001)
  • update Restructured build system. A new ant task (SitemapToolTask) adds entries of optional components to the sitemap. Warnings for not available optional components are printed out. (CZ)
  • update Made the concept of views work as proposed in the original proposal. There is now the possibility to attach a label attribute with multiple values separated by blanks or commas to the following elements: map:generator, map:transformer, map:generate, map:transform, map:aggregate and map:part. (GP)
  • update Applied patch for session-info for TraxTransformer from Jörn Heid [heid.at.fh-heilbronn.de]. (CZ)
  • update Applied patch for the SQLTransformer to output namespaces for the generated elements. Patch submitted by Per-Olof Norén [pelle.at.alma.nu]. (CZ)
  • update Applied patch for incremental XSLT processing from Jörn Heid [heid.at.fh-heilbronn.de]. (OP)
2.0rc2 (November 7, 2001)
  • add Deprecation of CodeFactory in preparation of the tree traversal implementation of the sitemap. All factory-based matchers have been rewritten using the new PreparableMatcher interface, and all factory-based selectors have been rewritten as regular implementations of Selector. For patterns whose syntax uses '{' like regexp, sitemap substitution can be avoided by escaping the brace character (example : "pat\{2}ern" will match "pattern"). (SW)
  • fix Reduce exception nesting in case of sitemap setup errors, and display all nested exceptions in the error page (avoids searching the logs for the failure cause). (SW)
  • update Added attribute management methods to environment Context and its implementations. (SW)
  • update Updated TraxTransformer and XSLTProcessor to allow simultaneous use of several TRAX processors (e.g. xalan and saxon) in a controlled way. (SW)
  • fix Updated session handling of commandline interface and fixed parameter handling. (CZ)
  • fix Fixed missing prefix in elements generated by the directory and image directory generator. (CZ)
  • fix Throw exception for internal requests instead of using the error handler and fixed component handling in subsitemaps when invoked internally. Components only defined in a subsitemap were not found as for internal requests the parent component manager was used. (CZ)
  • update When Cocoon is reloaded, the logkit configuration is now also reloading. This enables changing the logkit settings during runtime. (CZ)
  • update The documentation build system now uses Cocoon itself to generate the html documentation. (CZ)
  • fix Applied NPE fix in certain conditions in ServerPagesGenerator. Submitted by: Ovidiu Predescu [ovidiu.at.cup.hp.com] (CZ)
  • fix Applied NPE fix for MRUMemoryStore Submitted by: Ovidiu Predescu [ovidiu.at.cup.hp.com] (CZ)
  • fix Fixed (hopefully) dependency to the http environment in StreamGenerator. (CZ)
  • fix Optional setting of the lexical-handler for XMLReader. This patch allows to use Crimson instead of Xerces. Submitted by: Ovidiu Predescu [ovidiu.at.cup.hp.com] (CZ)
  • update Added xml compiler and interpreter to cocoon.xconf (CZ)
  • fix Applied Patch for entity catalogs: accept parameters from xconf. Submitted by: David Crossley [crossley.at.indexgeo.com.au] (CZ)
  • fix Applied fix for missing "User-Agent" header in BrowserSelectorFactory. Submitted by: Joerg Henne [j.henne.at.levigo.de] (CZ)
  • fix Enhanced Command Line Interface by adding background attribute to ExtendedXLinkPipe and fixing bugs: "mailto:" and "news:" are now ignored for traversing and links containing anchors are handled properly (CZ)
  • update Applied patch for default value support for RequestParamAction. Submitted by: Sergio Carvalho [sergio.carvalho.at.acm.org] (CZ)
  • fix Applied fix for a bug in the WriteDOMSessionTransformer for handling xml documents with namespaces correctly. Submitted by: Greg Weinger [gweinger.at.itmedicine.net] (CZ)
2.0rc1 (September 24, 2001)
  • add New "capture" logicsheet that allows parts of XSP-generated XML to be captured as XMLFragment or DOM objects. (SW)
  • add Added LogKit management functionality. (GP)
  • add Removed ThreadSafe from the Action interfaces : the decision to be ThreadSafe is left to each implementation. Consequently, existing actions now explictly implement ThreadSafe. (SW)
  • add Redesigned the handling of the cocoon: protocol. Removed the pushURI and popURI methods. It is now possible to load cocoon: resources parallel in several tasks. (CZ)
  • fix Fixed package name generation for subsitemap components and external components. (VG) Fixes bug 2737.
  • add Added ability to specify custom 404 error page for pipelines using map:handle-errors element with attribute type="404". (VG)
  • fix Catch NoClassDefFoundError and throw ResourceNotFoundException if XSP was requested with different case. (VG)
  • add New log formatter outputs the caller class and request URI in the log file. (SW)
  • add Added patch by Stuart Roebuck (stuart.roebuck.at.adolos.com) fixing the byte handling of the ImageDirectoryGenerator. (CZ)
  • add Added capability to resolve external XML entities using an entity resolver. See the documentation for "Entity Catalogs". (DM)
2.0b2 (July 23, 2001)
  • add When a resource is not found (ResourceNotFoundException) the servlet sets only the status 404 and doesn't write to the output. (CZ)
  • add In http environment, reset the response if it hasn't been committed before executing the handle-errors pipeline. (SW)
  • add Added reloading of jar files. When cocoon is reloaded by specifying cocoon-reload parameter, the class-path is new build and used. (CZ)
  • add Added caching of cocoon: urls. (CZ)
  • add Redirects are handled when the cocoon: url points to a redirect in the sitemaps. (CZ)
  • fix Fixed proper setting of content length for pdf and images. (CZ)
  • fix Fixed parsing and reporting of Java compilation errors using Javac and Jikes compilers. (VG)
  • add Added documentation on libraries used in Cocoon. (VG) Thanks to John Morrison.
  • add Redesigned the source handling and added the source handler and source factory components. (CZ)
  • add Added the cocoon: protocol to access pipelines. cocoon:/ resolves to the current sitemap and cocoon:// to the root sitemap. (CZ)
  • fix Offline site generation now allows recursive links and works for site of any complexity (limited by capabilities of your filesystem). (VG)
  • add Removed XInclude/CIncludeSAXConnectors and added LoggingSAXConnector. (CZ)
  • add Added CIncludeTransformer. (CZ)
  • fix Fixed the sub-sitemap issue experienced after a code merge between 2.0 and 2.1 (BL) Fixes bug 2182.
  • add Added the automatic announcement generation utility from Avalon. (BL)
  • fix Fixed typo that created an element <xsp-request:get-user/> instead of <xsp-request:get-host/> in XSPRequestHelper. (BL) Fixes bug 2172.
  • fix Made sure the _static_ classes did not inherit from each other, and made all calls to XSPObjectHelper that handled XML elements explicitly call with URI and PREFIX as parameters to the methods. (BL) Fixes bug 2166.
  • fix Applied fix to URLFactoryImpl donated by wangtun.at.staff.yam.com. (BL) Fixes bug 2142.
  • add Added support for fine-grained pool size control for Excalibur Component Architecture. (BL)
  • fix Fixed component release errors in ContentAggregator (thanks to Vadim Gritsenko for the patch). Also fixed potential race conditions in the ComponentManager architecture in Avalon Excalibur. (BL)
  • add Integrated new StreamGenerator from Kinga Dziembowski <kingadziembowska.at.msn.com> Documentation is available in the webapp/docs/samples/stream/ReadMeAdd.txt (not yet converted to xdocs) (GP)
  • update Fixed ClassCastException in CommandLineEnvironment. Added Redirector interface to the CommandLineEnvironment to avoid class cast exceptions (CZ)
  • update Fixed NPE in browser detection. Applied patch to the BrowserImpl. from Ovidiu Predescu (ovidiu.at.cup.hp.com). It fixes a NPE if the browser is not described. (CZ)
  • update The TraxTransformer resolves now the uri used inside a stylesheet (e.g. xsl:include). Applied the patch from Rick Tessner (rick.at.myra.com). (CZ)
  • update SQLTransformer is now recycled properly. Applied patch from Ovidiu Predescu (ovidiu.at.cup.hp.com). (CZ)
Cocoon 2.0b1 (June 7, 2001)
  • update Removed setContentHandler and setLexicalHandler from the XMLProducer interface. (CZ)
  • add The sitemap components now use the new SourceResolver to resolve resources instead of the old EntityResolver approach. (CZ)
  • add Added a internal-only attribute to the map:pipeline element to protect them from being accessed by normal user request. The only way to access them by use of the src attribute of the map:part element or the xinclude:href of the XIncludeSAXConnector which implements transparent xinclude capability (GP)
  • add Added a prefix attribute to both map:aggregate and map:part to have a namespace prefix available. (GP)
  • add Added an optional strip-root attribute to the map:part element of the map:aggregate element to indicate that the aggregator should strip off the root element of the aggregated content. The values can be "yes" or "true" to strip off and anything else to not. (GP)
  • update Made element attribute of map:part element in map:aggregate element optional (GP)
  • add Also added substitution for test/pattern attribute. (GP)
  • add Implementation of content aggregation at sitemap level. (GP)
  • add Enable a parallel calling path into the sitemap for internal requests of resource. (GP)
  • fix Added missing methods on CommandLineRequest. (GP)
  • update Finished cleanup of the environment. We are now as independant of the javax.servlet package as possible. (CZ)
  • add Creating wrappers for Session and Cookie. The creation of these wrapper classes allow us to be independent of the javax.servlet classes. (CZ)
  • add Added reload-method and check-reload configuration attributes for the sitemap to allow asynchron/synchron sitemap reloading. (CZ)
  • add Added initial caching algorithm for StreamPipelines. The caching system is pluggable and offers caching of the whole response. (CZ)
  • add Added initial caching algorithm for EventPipelines. The caching system is pluggable and includes caching of generators and transformers. (CZ)
  • remove Moved ComponentManagement infrastructure to Avalon where more eyes can keep it working well, and it can benefit more people. (BL)
  • update Decoupled the RoleUtils class from the component management system. Implemented RoleInfo proposed by Ricardo Rocha (GP)
  • update Split up ResourcePipeline into the Component EventPipeline and StreamPipeline and put them in the components package. it. (GP)
  • update Added a TranscoderFactory for Batik, and updated the SVG Serializer to use it. (RB)
  • add Added support for SAXConnectors. This is the first stage in the implementation of content aggregation. SAXConnectors could also be used for profiling and pipeline logging. (PR)
  • add Added form to database Actions. Using these Actions, you can quickly generate a webapp that functions in _very_ little time. (BL)
  • update Added command line code generation and compilation of XSP's and the Sitemap. (DM)
  • update Eliminated dependency on Xalan. Updated sitemap.xsl and the Extension functions to work both on Xalan and SAXON. SAXON should work from version 6.2.2 onwards. (DM)
  • update Eliminated dependency on Xerces for the serializers by using TRaX Serializers. (DM)
Cocoon 2.0a (March 2001)
  • update Made Cocoon load classpath independent of Servlet Engine Classpath Attribute. (BL)
  • update Changed the Xerces Specific code in the parser to JAXP 1.1 code. The JAXP 1.1 code will work with any compliant parser. Unfortunately we still need Xerces for the serializers. (BL)
  • update Put meat on the Action Framework for the ManageEmployees form. (BL)
  • update SVG serializer now uses Batik. (RB)
  • add I did a first stab at importing the util logicsheet from Cocoon 1.8.1. (BL)
  • add I added some simple forms that make use of the xsp-request and esql logicsheets. (BL)
  • update Clean up a lot of classloader issues. RepositoryClassLoader is quicker and more stable accross installations. ClassUtils takes care of getting resources. (BL)
  • update Updated avalonapi to implement hierarchical logging, and added many more log entries to get a handle on where the problems lay. (BL)
  • add added esql logicsheet to c2 (DB)
  • fix patched xsp generator to use proper namespace for automatic text elements (DB)
  • update Updated Cocoon to be Avalon 3.0a4 compliant. Introduced ComponentManager and ComponentSelector patterns correctly in code. Updated sitemap to create Configuration trees directly. (BL)
  • add Added a more complete SVG serializer. (RB)
  • update Distribution cleanup and creation of a decent live demo, also to test the new sitemap. (SM)
  • update Major update to implement the new compiled sitemap subsystem. (GP)
  • update Patched XSLTFilter to pass request parameters into stylesheet like cocoon1 (DB)
  • add Added ImageDirectoryGenerator - this oughta be pluggable though, so other file types can have extra attributes added easily (DB)
  • add Improved the samples and the webapp sitemap. (SM)
  • update Cleaned build system in order to be friendly to ASF-wide build procedures. (SM)
  • update Updated installation section (JServ no longer supported). (SM)
  • update Updated Xerces and FOP to latest versions. (SM)
  • fix Patched for final SAX2 compatibility. (SM)
  • update Improved installation documentation. (SM) Thanks to Sven Künzler.
  • add Patched SQLFilter so VJ++ was happy (DB) Thanks to Zvi.
  • add Officially added XincludeFilter (DB)
  • add Officially added SQLFilter (DB)
  • add Fixed order of filters that was backwards. (SM) Thanks to Sebastien Sahuc.
  • add Fixed typo in DirectoryGenerator. (GP)
  • add Distribution cleanup, early documentation. (SM)
  • add Initial code implementation. (PF)
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.