| Cocoon 1.8.2 (January 26 2001) |

- Built with all options enabled, correcting the missing classes problem in the previous two releases. (RDG)
- Fixed one of the xinclude samples; others are outdated and still use the old spec. (RDG) Thanks to Sergio Carvalho.
- Added XMLFragment page to documentation. (RDG) Thanks to Sylvain Wallez.
- Fixed JRun 3.0 installation instructions. (RDG) Thanks to Roberto Viana.
- Fixed syntax errors in <request:is-user-in-role> (RDG) Thanks to Werner Guttmann.
- response.sendRedirect no longer throws an Exception; processing is instead stopped inside the Cocoon Engine for that request, after this processor/producer returns. This is needed to fix a redirect problem with Tomcat (see below). (RDG)
- Fixed undeclared var in <response:contains-header>. (RDG) Thanks to Steffen Stundzig.
- Added notes on each jar, with details of which are required, to Installing documentation. (RDG)
- Patched XSPProcessor - it was instantiating a XSPLogicSheet with sheetBase 'null', causing problems with SAXON. (DB) Thanks to Steffen Stundzig.
- Patched XIncludeProcessor to handle non-DOM2 nodes resulting from XSLT transformation. (DB) Thanks to Kirk Woerner.
- Patched FOP2PDFFormatter to work with JDK-1.1. (DB) Thanks to Peter Haight.
- Patched XSPJavaPreprocessor for Xalan2. (RDG) Thanks to Steffen Stundzig.

| Cocoon 1.8.1 (January 19 2001) |

- XSLT stylesheet caching now ignores query string, as it should. (RDG) Thanks to Wayne Bayever.
- Removed headers from cache key because this was breaking caching in 90% of static cases. This is a quick fix - will fix properly later. (RDG)
- Added <?cocoon-disable-caching?> processing instruction to disable caching for a page. This is most useful for cases like samples/fp, which behaves strangely without it, because of Last-Modified support introduced in Cocoon 1.8.1. (RDG)
- Obsolete XObject now replaced by org.apache.cocoon.xml.XMLFragment. This change was necessitated by the move to SAX2 in Cocoon 2. XObject is deprecated and will stop working in Cocoon 2. (RDG)
- Reversed store cleanup algorithm mistake. The store cleanup thread now works exactly as before. (RDG)
- At long last, FIXED the Internet Explorer PDF bug! In fact there were at least 3 bugs involved here, and YOU STILL NEED TO USE THE ?dummy=test.pdf WORKAROUND - see the FAQ for more details. But, generated PDF files now show up perfectly in all versions of Internet Explorer - as far as we know! (RDG)
- Added EXPERIMENTAL support for xsp:variable declaration and code generation to xsp core logicsheet, and method calling to util taglib. This is designed to automatically pass through required environment variables such as xspCurrentNode. Need to uncomment the templates at the end of xsp-java.xsl to use this. (DB)
- In esql, encoding is now an element not an attribute, to allow passthru. (DB)
- Fixed second and third XSL:FO examples for FOP 0.15 conformance. (RDG) Thanks to Steve Coffman.
- Added installation instructions for Inprise Application Server and Dynamo. (RDG) Thanks to Michele Bianchi.
- Removed obsolete reference to ProducerFromRequest in EngineWrapper.java (RDG)
- Fixes to Tomcat installation instructions. (RDG)
- Fixes to Weblogic installation instructions. (RDG) Thanks to Jamie Mascherino.
- Added very brief notes on ESQL to documentation (RDG)
- Checked for NoSuchMethodError at XSPProcessor startup and added link to FAQ. If you don't want to use XSP and want to get rid of this error, just comment out XSP in cocoon.properties. (RDG)
- Added user-agent option (-A) to command-line mode. (RDG) Thanks to Ovidiu Predescu.
- Fixed command-line mode. (RDG) Thanks to Ovidiu Predescu.
- Added multi-encoding support to esql. Even tables using multiple encodings can be read from! However, this will only work if your JDBC driver returns a byte array with the string in the given encoding when getBytes() is called. (RDG)
- You can now override options in cocoon.properties, in web.xml or zone.properties. (RDG) Thanks to Nicolas Lichtmaier.
- Workaround for Websphere classloader: URL handler bug (RDG) Thanks to Berin Loritsch.
- Added encoding support to util:get-file-contents and various similar XSPUtil methods (RDG)
- Fixed xsp:pi to add PI before document element instead of after. (RDG) Thanks to Gerard Maas.
- Added LinkEncodingProcessor, designed to encode all links with session ids if necessary, using response.encodeUrl(). (RDG)
- Added removeValue template and remove duplicate putValue template from session taglib, which should now be complete. (RDG) Thanks to Corey O'Donovan.
- Passed extra parameters to style- and logic- sheets - XSP-ENVIRONMENT ("Cocoon 1.8.2") and XSP-VERSION (1.0) (RDG) Thanks to Donald Ball.
- Added inefficient workaround for using Xalan 1.x with FOP > 0.13. See src/org/apache/cocoon/formatter/FO2PDFFormatter.java. YOU NOW NEED FOP 0.14 OR GREATER TO BUILD COCOON, but earlier versions will still work as before at runtime. (RDG)
- XSLTProcessor now invalidates its monitor whenever reapplying a stylesheet, in case the URI of the stylesheet being applied has changed since last time. Also, a second monitor is now used for cached stylesheets, for the same reason. This could be made more efficient. (RDG) Thanks to Tagunov Anthony.
- Added HTTP Vary header to responses where a selection is made by Cocoon on the basis of a User-Agent header, in order to give correct proxy behaviour. (RDG)
- Request headers (prefixed by R_) and cookies (prefixed by C_) are now passed to stylesheets, as well as request parameters. (RDG) Thanks to Ovidiu Predescu.
- Made caching dependent on all request headers, not just user agent. (RDG) Thanks to Ovidiu Predescu.
- Fixed XSLTProcessor and XalanTransformer to allow embedded stylesheets. (RDG)
- Fixed response.sendRedirect problem with Tomcat. (RDG)
- Renamed xsp:cacheable to util:cacheable because this is Cocoon-specific and should not be part of the core XSP namespace. (RDG) Thanks to Matt Sergeant.
- New caching interface introduced - org.apache.cocoon.framework.Cacheable and corresponding xsp tag xsp:cacheable. Incomplete cacheing documentation page added. Requests that there is no point in cacheing, will now not be cached. This was partly in response to LastModified oddities, and partly to improve memory usage efficiency. (RDG)
- *** NOTE - this was later reversed - see above! *** Made store cleanup algorithm more aggressive. Hopefully this should clear up some of the OutOfMemoryErrors people have been having. (RDG)
- Workaround for an AbstractMethodError bug on some JDKs. (RDG) Thanks to Mike Ehlers.
- Added ability for Engine components to implement org.apache.cocoon.framework.DestroyListener and be notified for cleanup purposes if/when the Cocoon servlet is destroyed. (RDG)
- Fixed zombie caching bug where old versions of pages would reappear after certain errors. (RDG) Thanks to Tagunov Anthony.
- Simple (manual!) contributions management system for contributions to Cocoon. See documentation. (RDG)
- Added ability to get tailored Configurations for superclasses and support classes. (RDG)
- Fixed XInclude problem with local absolute URLs. (RDG) Thanks to Claude Warren.
- Cocoon will now stop with an error if any namespace-mapped logicsheet is not well-formed or missing, instead of just logging a warning message to the servlet logger and throwing a NPE when the logicsheet is invoked. This aids debugging. (RDG)
- Line numbers are now reported in XML parsing errors. On some JDKs it may be necessary to put the sax-bugfix.jar before xerces.jar on the CLASSPATH. (RDG)
- Added list of sites providing cocoon webhosting to docs. (RDG)
- IMPORTANT: Made esql default to inner-method="false" since the inner-method facility is not always needed and causes confusion. (RDG)
- Cocoon now sets a Last-Modified HTTP header based on the time the result was generated (either now or when the result was last changed in the cache). (RDG)
- Fixed fp.xsl, to work better when mixed with other taglibs. (JQ) Thanks to Konstantin Piroumian.
- Fixed fp.xsl, to hopefully allow use of config elements properly. (JQ)
- Fixed XSPProcessor to pick up correct classpath and compile on Tomcat 3.3 and Catalina (Tomcat 4). (RDG) Thanks to Paul Lamb.
- Added WebSphere installation script to docs. (RDG) Thanks to Gordon Weakliem.
- Fixed slides sample to work on all browsers. (RDG)
- Fixed package name problem in calendar taglib. (RDG)
- New mail-archives page added in documentation (RDG)
- Fixed XSPUtil.toMarkup to encode attributes correctly (RDG) Thanks to Maik Schmidt.
- LDAP processor now accepts byte arrays without throwing a ClassCastException (RDG) Thanks to Jeff Turner.
- Added installation instructions for JRun 3.0 (RDG) Thanks to Mahe Vincent.
- Added installation instructions for BEA Weblogic Server 6.0 (beta) (RDG) Thanks to James Scott.
- get-header-names now works in request taglib. (RDG) Thanks to Drasko Kokic.
- Fixed so that XSLT document() function resolves correctly when two arguments used (RDG) Thanks to Didier Villevalois.
- Fixed some stupid bugs in response taglib (RDG) Thanks to Reichel Volker.
- added code to esql logicsheet to deal with queries that return an update count (DB)
- fixed esql logicsheet - stack and session should only declare once now even when interacting with other logicsheets (DB)
- updates to mail logicsheet - get flags, better parsed email address info, bug fixes (DB) Thanks to Ugo Cei.
- Better error determination for Jikes. (RDG) Thanks to Francisco Jr..
- More informative exception information is now produced by taglibs. (RDG)
- Turned off Xerces schema checking so that validation does not require a schema. (RDG) Thanks to Gabi Brysch.
- Added put-value to session taglib for JServ compatibility. (RDG) Thanks to Terry Paddy.
- Spaces are now trimmed from class names read from cocoon.properties (by Engine or Router) so that extra spaces won't create odd startup errors. (RDG) Thanks to Hao Wang.
- Made xincludeprocessor default to parse="xml" (DB) Thanks to Peter Verhage.
- Put heapsize line back into cocoon.properties (DB)
- A doozy of a patch to esql - i made it so that you can execute queries either in their own special methods or inlined code - both on the same page even (can't imagine why you'd want to though) (DB)
- A couple of bugs fixed in esql, plus i added the first bit of prepared statement support. Nothing but strings yet, but it works. (DB)
- Changed default WML output encoding to iso-8859-1. (RDG) Thanks to Marco Pauck.
- Improvements to mail logicsheet - specifically, now you can retrieve a set of messages by index, you can get the sent date, and some bugs were fixed. (DB) Thanks to Ugo Cei.

| Cocoon 1.8 (September 22 2000) |

- Cleaned up docs, especially how-it-works and FAQ; added new questions and answers to FAQ. (RDG)
- Changed XSPPage to only clone nodes where necessary, enhancing performance for complex pages. (RDG)
- Changed <xsp:pi> back to use target= instead of name= in order not to break existing users' code (which there is a lot of!). Changed XSP docs to reflect correct usage. (RDG)
- Added very primitive profiler (see cocoon.properties) (RDG)
- Fixed some synchronization errors in Engine. You can now call a Cocoon page from a Cocoon page, if you really want (this is inefficient and a bad architecture, but it's possible.) (RDG)
- Made response taglib work on Servlet API 2.0 engines (RDG)
- Added xspdoc comments to esql logicsheet and added xspdoc to document convertor in the xml.apache.org site skin directory. god only knows how i'm supposed to add it to the build procedure... help? (DB)
- Added error handling to esql logicsheet and documented its use in esql sample. (DB)
- Fixed encoding problem with xinclude processor (DB) Thanks to Tagunov Anthony.
- Fixed problem with XSP and PIs (now follows the correct name="xml-stylesheet" syntax) (SM) Thanks to Kevin Sonney.
- Upgraded Xerces to 1.2 because previous version had a bug which meant it couldn't build the Cocoon documentation. (SM)
- Added esql logicsheet (DB)
- Upgraded xalan to 1_2_D02 (DB)
- Added installation instructions for iPlanet. (SM) Thanks to Paul Terray.
- Fixed a typo in session taglib (RR) Thanks to Jens Lorenz.
- Added namespace preservation to Java code-generation taglib (RR)
- Fixed a NPE in XIncludeProcessor on win32 systems (DB) Thanks to Darren Smith.
- Added java compiler abstraction for XSP compilation (now we can use Jikes to improve XSP compilation speed). (SM) Thanks to Juergen Sonnauer.
- Patched the cookie XSP taglib and the LDAP processor. (SM) Thanks to Kevin Sonney.
- Implemented blocking in Engine to make Cocoon run better under heavy load. (SM) Thanks to Mark Washeim.
- Added Solaris8 and improved Win2k installation case documentation. (SM) Thanks to Mark Evans.
- Made XSP SQL processor do array to string conversion when using a Format object on a text column (DB)
- Brought XInclude processor into conformance (mostly) with the 2000-07-17 version of the working draft. (DB)
- Fixed problem with unresolved SystemID URIs that cause problems with latest Xerces. (SM)
- Updated to latest Xerces and Xalan. (SM)
- Included FP form-handling taglib for XSP. (SM) Thanks to Jeremy Quinn.
- Fixed the bug that prevented compiled XSP to be cacheable with hasChanged(). (SM) Thanks to Mark Washeim.
- Fixed the bug that xsp:expr does not accept DocumentFragments. (SM) Thanks to Robin Green.
- Updated Cocoon installation case document. (SM) Thanks to Mark Evans.
- Removed normalize-space from sql logicsheet's get-nested-string template (DB)
- Changed turbine libraries to just include connection pool stuff, added connection pool docs (DB) Thanks to Brian Millett.
- Fixed stupid bug in XInclude processor's handling of local files introduced in last patch (DB) Thanks to John Morrison.
- Added connection pool (and turbine) to sql logicsheet (DB) Thanks to Brian Millett.
- Added support for site-absolute links in xinclude processor (DB)
- Fixed stupid bug in absolute href support in xinclude processor. also now set system ids on included xml resources. (DB) Thanks to Ulrich Mayring.
- Fixed typo on util.xsl that generated XSP compilation problems for the util taglib. (SM) Thanks to Matthias Brunner.
- Patched sql processor documentation to be fully up to date! Hoorah! (DB) Thanks to Peter Seiderer.
- Added connection cache to sql processor (DB) Thanks to Peter Seiderer.
- Disabled "created by cocoon" comment for HTTP HEAD requests. (DB) Thanks to Jeremy Quinn.
- Added HTTP method to Utils.encode so HEAD and GET are distinguishable (DB) Thanks to Jeremy Quinn.
- XIncludeProcessor now strips document type nodes from included documents (DB) Thanks to Daniel Schneider.
- Added new installation case that should provide insights for newbies. (SM) Thanks to Mark Evans.
- fixed null pointer exception in XIncludeProcessor. (DB) Thanks to Antonio Cabezuelo Vivo.
- Added printer friendly skin so the documentation can now be generated to be printer friendly when needed. (stylesheets are pretty crappy right now, but hopefully some nice guy will improve them) (SM)

| Cocoon 1.7.4 (May 19 2000) |

- fixed xpath position() problem that caused the slideshow example to behave strangely. Weird. (SM)
- fixed a problem with memory store sweeping idle time declared as seconds and used as milliseconds which caused heavy CPU usage for undetectable misconfiguration. (SM) Thanks to Kevin Burton.
- fixed bug in SQL taglib when doc-element was missing (DB)
- fixed bug in SQL taglib's count rows query (DB) Thanks to Giacomo Pati.
- Work around context.getRealPath() that fails on some engines. (SM) Thanks to Bill Parkinson.
- Fixed problem with getResource() not implemented on some servlet engine. Now we test for Servlet 2.2 (SM) Thanks to Paul Lamb.
- Fixed backslash escaping in text node strings (RR) Thanks to Ulrich Mayring.
- Fixed invalid code for <util:include-file>. Added debug info to <util:include-uri> (RR) Thanks to Ulrich Mayring.
- Added SVG formatting properties. (SM)
- Changed behavior for absolute stylesheet hrefs which now point to absolute URI addresses. (SM)
- Changed "create-session" attribute in <xsp:page> to accept only "true" and "false" as dictated by the XML Schema boolean datatype (RR) Thanks to Kevin Burton.
- Added namespace preservation for XSP pages. To preserve namespaces in an XSP page, add an "xsp:xxx" attribute to the page's root element, where "xxx" is the namespace and the attribute value is the namespace URI (RR)
- Added boolean attribute "create-session" to <xsp:page> in order to allow for the automatic creation of servlet sessions without intervening <xsp:logic> (RR)
- Added "java.net.*" to the list of default XSP page Java imports (RR)
- Added synchronization on code generation, compilation and loading (RR) Thanks to Robin Green.
- Added support for charset encodings in code generation and compilation. Tested only with Russian under Blackdown's JDK1.2 (RR) Thanks to Pavel Karassev.
- Fixed bug resulting in multiple <xsp:page> top elements (RR)

| Cocoon 1.7.3 (May 5 2000) |

- Added code to XSLTProcessor to not import request parameters whose names are not valid XML Qnames and code to XalanTransformer to quote request parameter values to bypass the expression parsing routines. (DB)
- Added column formatting to XSP SQL taglib. (DB)
- Documented all XSP SQL taglib configuration options. (DB)
- Added ability to recognize Servlet 2.1 container and get cocoon.properties as a ServletContext resource. This should ease installation on Tomcat. (SM) Thanks to Paul Lamb.
- Cleaned the docs a little, fixed some typos and extended the cocoon2 sitemap example. (SM)
- Patched engine creation to allow several instances of Cocoon in the same JVM. (SM) Thanks to Manfred Riem.
- Added code to XSP SQL library to automatically choose execute update v.s. execute query (DB) Thanks to Kevin Sonney.
- Added SMIL formatter. (SM)
- Added XHTML formatter. (SM)
- Fixed other encoding problems (hopefully last ones). (SM) Thanks to Pawel Pesz.
- Updated build scripts (mostly esthetics for easier administration). (SM)
- Fixed some typos and mistakes in documentation. (SM) Thanks to Mike Rossellini.
- Fixed a problem with the cache monitor that was not updating the timestamp after a change so the cache was disabled after one of multiple stylesheets where updated. Now it works as expected. (SM)
- Fixed possible encoding problem in stylesheet loading. (SM)
- Updated Xalan to version 1.0.1. (SM)
- Added new samples. (SM)
- Fixed a problem with XSP where PIs contained the string xsp. (SM) Thanks to Raphaël Luta.
- Fixed a problem with XSP packages containing dots and also fixes a problem with package generation. (SM) Thanks to Roberto Moreda. Fixes bug 112.
- Improved error message when XSP repository directory is not writable. (SM) Fixes bug 102.
- Added an improved memory store that checks for memory overflow in the background. (SM) Thanks to Michel Lehon.
- Fixed a number of NPE when using Cocoon from the command line. (SM) Thanks to Ovidiu Predescu.
- Fixed xsp:pi that now can work with included xsp:expr for dynamically generated PIs in XSP. (SM) Thanks to Robin Green.
- Fixed xsp:expr [XSPPage.xspExpr()] to ensure that node values are created by the same document instance. (RR)
- Fixed problem with Sun ProjectX compilation that failed on some platforms. (SM) Thanks to Andrew Sheehan.
- Fixed problem with LDAP examples. (SM) Thanks to James Birchfield.
- Fixed a problem with DocumentDTD that defined the "role" attribute twice and triggered validation problems on some parsers. (SM) Thanks to Maurice Galland.
- Fixed a problem with document stylesheets that messed up anchors. (SM) Fixes bug 91.
- Added ability to specify formatting information from the cocoon property file instead of having to create a custom formatter every time. Also fixed the output encoding problem since now a specific encoding for the output stream can be forced. (SM) Fixes bug 90.
- Added XML encoding prediction to fix the encoding problem for ProducerFromFile. Cocoon should now work with all encoding supported by the XML parser used. (SM) Fixes bug 83.
- Added ability to call "hasChanged" from inside the XSP engine to avoid dynamic page regeneration even XSP pages. (SM) Thanks to Robin Green.

| Cocoon 1.7.2 (March 31 2000) |

- Changed log setting. (SM)
- Fixed problem with SQLlib. (DB)

| Cocoon 1.7.1 (March 29 2000) |

- Fixed problem with basename evaluation when included into a JSP. (SM) Thanks to Paul Lamb.
- Updated cocoon.properties and added hook to SQL XSP taglib. (SM)
- Improved syntax highlighting capabilities of viewsource.xsp. (SM)
- Patched problem with empty string and the LDAPProcessor. (SM) Thanks to Michael French.
- Updated to Xalan 1.0 (finally!). (SM)
- Added XML doclet (consider it alpha). (SM) Thanks to Gopinath M.R..
- Fix in string tokenizers missing single CR or LF. (SM) Thanks to Robin Green.
- Added StringTokenizer replacement due to a bug in java.util.StringTokenizer. (SM) Thanks to Peter Morávek.
- Fixed bug on XSPUtil.cloneNode choking on comments. (SM) Thanks to jon@stimmel.net. Fixes bug 45.
- Added logging capabilities to the framework. (SM)
- Added the ability to include taglibs with PIs. (RR)
- Added tablig logicsheet dynamic reloading to XSP. (RR)
- Added SQL XSP taglib. (DB)
- Fixed problem with custom classloaders. (SM) Fixes bug 56.
- Updated Xalan and Xerces to latest version. (SM)
- Fixed problem with stylesheet reloading when multiple transformations are applied on the same pipeline. (SM)
- Passed request parameters to Xalan as stylesheet parameters. (SM)
- Fixed a thread-safety problem with Xalan. (SM)
- Patched Ant to remove dependency on Sun ProjectX and fixed problem for javadoc not working if tools.jar not set in classpath. (SM)
- Added the ant scripts that were left over from my environment. Now I removed everything from my environment, even the classpath is empty.. so I'll be experiencing more what newbies do. This fixes some problems with javadoc and classpaths not being correct. (SM)
- Fixed bug in XSP processor that wasn't using URL to find out for user-defined taglib logicsheets. (SM)
- Added version information to stylesheets since Xalan was complaining. (SM)
- Fixed namespace problem in some of the XSP examples that caused troubles with the newest Xalan. (SM)
- Added Xerces 0.19.5 and updated Ant. (SM)
- Commented out LDAP processor that caused some problems since the JNDI.jar package is not shipped with Cocoon. (SM)
- Moved our package in front of the system classpath in the build scripts to avoid versioning conflicts with packages installed on the system. (SM)

| Cocoon 1.7 (February 24 2000) |

- Fixed docs creation problem due to an XSLT problem that appeared after updating Xalan. (SM)
- Cocoon2 docs update. Talks a little about the sitemap, it also gives a sneak preview of the new Cocoon logo. (SM)
- Updated Xalan to 0.19.4 and FOP to 0.12.1. Xalan is much faster and less memory consuming. Great job guys! (SM)
- Improved memory management and OutOfMemory handling. Now should work out of the box on all systems with no problems. (SM)
- Improved cache system and fixed bugs in previous stylesheet updating patch. (SM)
- Fixed problem with XSP initializing new sessions every time. (SM) Thanks to Mike Engelhart.
- Fixed problems in stylesheet updating. (SM) Thanks to Sean Timm.
- Added index.html file to simplify installation by allowing a central point for aliasing that gives access to all web accessible resources. (SM)
- Futher installation cleanup. (SM)
- Patched memory usage and tested under heavy load. (SM)
- Fixed installation instructions to make it easier for newbies to get going. Anyway, if you still find it hard, help us instead of complaining :) (SM)
- Patched build system with Ant upgrades. Now it is possible to build Cocoon even if not all the used packages are present, this because some of the compilation targets will react on class presence and skip themselves. (SM)
- Added library with all the required jar files for ease of installation. (SM)
- Leave DCP out in configurations by default. Now DCP is considered obsolete and will be removed in future versions. (SM)
- Removed ProducerFromMap. (SM)
- Removed the need for the URLFactory (which caused troubles with Weblogic). (SM)
- Added infrastructure document. (SM) Thanks to Philippe Lavoie.
- Fixed problem with xml parser performing validation but nobody catching the validation errors triggered. Now if validation is turned on, an invalid document throws an exception at parse time. (SM)
- Fixed problem with classloader not finding EcmaScript initialization file. (SM) Thanks to Ingo Macherius.

| Cocoon 1.6.1 (January 27 2000) |

- Added ability to return exception stack trace when sending error page back to web server. (SM) Thanks to Philippe Lavoie.
- Fixed a nullpointerexception when removing the very last PI. (SM) Thanks to Sean Timm.
- Patched xml.apache.org skin for better source code and figures handling. (SM)
- Fixed XML name which X stands for "eXtensible" not "eXtended". (SM) Thanks to Manuel Schulte.
- Fixed problem with xsl:import in Xalan. (SM) Thanks to Scott Boag.
- Fixed problem with Apache not calling Cocoon due to dependencies bug in mod_jserv. Also changed installation instructions to allow better use of default Apache configurations. (SM) Thanks to Dan Egnor.
- Fixed problem with JRun path normalization. (SM) Thanks to Philippe Lavoie.
- Removed dependencies on Java 1.2 from XSP engine. (RR)
- Removed encoding from WML formatter since some WAP browsers don't like it. (SM)

| Cocoon 1.6 (January 18 2000) |

- Fixed command line operation. (SM)
- Cleaned up XSLTProcessor code. (SM)
- Added samples about external entities and XSLT import. (SM)
- Fixed ability to include/import from stylesheets. (SM)
- Fixed ability to include external entities with relative paths. (SM)
- Fixed Servlet API illegal state when setting the content type after acquiring the servlet response instance. (SM) Thanks to Axel Müller.
- Added XSP sample pages. (SM)
- Cleaned-up docs, in preparation for release. (SM)
- Tuned Xerces attributes for speed. (SM)
- Added VRML formatter. (SM) Thanks to James Birchfield.
- Updated XSP working draft to match implementation (the WD was slowly changed during development to match new emerging needs). (SM)
- Added XSP primer in documentation. (RR)
- Added implementation of the XSP technology. The Cocoon Project is thankful to Exoffice Technologies that sponsored the creation of such implementation by hiring Ricardo and donated it to the project. (RR)
- Added examples on how to call the Cocoon engine from another servlet. (SM) Thanks to Brett McLaughlin.
- Added better documentation in the build.xml file for how to build Cocoon. (SM)
- Added LDAP processor documentation. (SM) Thanks to James Birchfield.
- Added the singleton pattern to Engine to allow use of Cocoon from Turbine. (SM) Thanks to Brett McLaughlin.
- Fixed language and typos in technology.xml. (SM) Thanks to Richard A. Wells.
- Added LDAP processor and samples. (SM) Thanks to James Birchfield.
- Made ServletResponse and ServletContext available to engine and processors. This will require further abstraction to avoid processors from messing up with the response output stream. (RR)
- Fixed DCP problems on getting property file when cocoon.jar is in classpath under java 1.1 JVMs. (RR)
- Added the ability to return HTTP error messages from Cocoon. (SM)
- Added dummy methods to EngineWrapper for JSDK 2.2 compatibility (DB) Thanks to Brett McLaughlin.
- Added ProducerFromMap as a sitemap primer. (DB)
- Added Tomcat installation instructions. (SM) Thanks to Brett McLaughlin.
- Moved a few things around in ColumnFormatter so that it's possible for columns to be formatted as more than simply a text node (e.g. embedded HTML). Also added a little formatter that can transform \n into <br> for text and varchar columns. (DB)
- Added new classes to SQLProcessor to do column-specific date formatting. (DB) Thanks to Ed Ward.
- Add new producer for POST document processing, also useful for use of Cocoon as a module (see EngineWrapper). (SM) Thanks to Gerrit Hiddink.
- Fixed null problem in MemoryStore for command line operation. (SM) Thanks to Ambarish Chaudhari.
- Added Ant build file. (SM)
- Added Documentation DTD. (SM)
- Moved "examples/" under "samples/" for global xml.apache.org pattern. (SM)
- Removed the makefile and moved to Ant as building system. (SM)
- Moved all documentation and util files (todo, changes) to XML. (SM)
- Updated support for Sun ProjectX TR2. (SM)
- Updated the parser interface to allow better entity evaluation. :) (SM)
- Added Xerces and Xalan support which now become the default components (finally!). :) (SM)
- Removed XML4j and LotusXSL support. (SM)
- Removed support for Oracle products since it was too difficult to maintain it due to requirement that Oracle XSLT processor worked on Oracle own DOM implementation. (SM)
- Added VoiceML sample file. (SM) Thanks to Ted Achacoso.
- Removed all old PI formats from docs and properties file. (SM) Thanks to Simon McClenahan.
- Added a public method to FormatterFactory to allow more direct formatting. (SM) Thanks to Zvi Avraham.
- Patched EngineWrapper to allow FileProducer to work when called from command line. (SM) Thanks to Gerrit Hiddink.

| Cocoon 1.5 (October 29 1999) |

- Fixed concurrency problem in XML4j parser. (SM) Thanks to Jeffrey Thomas Harris.
- Added JRun installation instructions. (SM) Thanks to Scott Stirling.
- Added more info on the Cocoon status page. (SM) Thanks to David Lehn.
- Patched OpenXML that had a bug in the XML publisher that didn't support doctypes imposed from the outside. This was breaking the WML formatter. (SM)
- Patched XSL:P to support <xsl:processing-instruction> instead of <xsl:pi> which is now deprecated. This makes XSL:P a hybrid between XSLT revisions but it's easier this way than to create two sets of examples that work with latest and oldest releases of XSLT. Hopefully XSLT will standardize soon. (SM)
- Fixed XML4J support bug. (SM) Thanks to Jeffrey Thomas Harris.
- Added XSL:P Formatters. (SM)
- Updated XSL:P to build 19991017. (SM)
- Added parameter visibility to formatters to allow request-dependent formatting. (SM) Thanks to Ben Laurie.
- Changed Hashtable in more abstract Dictionary in all interfaces (this will be updated to collection classes when JDK 1.2 is available). (SM)
- Updated Fop to version 0.11 (SM)
- Added a work-around for the JServ1.1b2 bug. (SM) Thanks to Stefano Malimpensa.
- Updated documentation. (SM)
- Added the plan for JavaDOC XML generator and the JavaDOC DTD working draft. (SM) Thanks to Kenneth Murphy.
- Updated examples, especially the WML example which was based on an obsolete WML DTD. (SM)
- Added WML formatter. (SM)
- Added the ability to "mount" the Cocoon status to a configurable URL. (SM)
- Added the ability to hide Cocoon status for security reasons. (SM)
- Removed the persistent part of the object store since it's not used. (SM)
- Fixed DCP problem in loading the initScript.es file as system resource. (SM)
- Added some better diagnostic hooks. (SM) Thanks to Ben Laurie.
- Added SQLProcessor. (DB)
- Fixed a bug in the EcmaScript language interpreter. (SM) Thanks to Stefano Malimpensa.
- Fixed problems on startup without complete configurations and written more descriptive error messages on exceptions. (SM)
- Updated the examples to reflect the changes. (SM)
- Changed Cocoon illegal PIs from <?cocon:xxx?> to <?cocoon-xxx?>. (SM) Thanks to Tim Bray.

| Cocoon 1.4 (September 13 1999) |

- Fixed portability issues with JRun and Sun's JSWDK. (SM) Thanks to Hannes Haug.
- Added parsed stylesheets caching capabilities to the AbstractXSLTProcessor: now if produced files are changed but stylesheets don't, the second are not reparsed, improving the system performance since this is a very frequent case. (SM)
- Reduced the memory footprint of some classes by initializing the hashtables to lower values than default. (SM)
- Improved the speed of PI searching by looking for first found PI instead of scanning the whole file. (SM)
- Updated the cocoon processing instructions that drive the reaction: <?cocoon:process?> drives the processing reaction, <?cocoon.format?> indicates the formatter used to end processing and format the document. (SM)
- Removed the processor pipeline and replaced with a reactor-type router with PI-based reaction. (SM)
- Moved the example classes in their own package for easier installation and testing. (SM)
- Modified a number of classes to fit the new Store and Cache subframeworks. (SM)
- Added a first implementation of the Cache interface based on dynamic evaluation of changeable points. (SM)
- Added a first implementation of the Store interface based on serialization persistency wrapped by an adaptively managed memory buffer. (SM)
- Added support for the Oracle XSL Processor (works only with the Oracle XML Parser). (SM)
- Added the Store framework. (SM)
- Included FOP Version 0.9.1 that partially supports latest XSL Formatting Object specification (19990421). (SM) Thanks to James Tauber.
- Included XSL:P Version 1.0 Beta (19990823) that supports latest XSLT specification (19990421). (SM) Thanks to Keith Visco.
- Introduced the Actor/Director concept to allow cleaner implementation and configuration of dynamically loaded objects. (SM)
- Added the WAP example to show how Cocoon can serve the same content to fat HTML clients and thin WML clients such as WAP-enabled cellular phones or PDA. (SM)
- Removed the need for a properties file in DCP. (SM)
- Fixed a minor bug in Configurations. (SM) Thanks to Hannes Haug.
- Added the Producer subframework for easier dynamic XML generation. (SM)
- Rewritten and cleaned up the formatting section using the Router abstract class. (SM)
- Rewritten some of the underlying design pattern implementations. (SM)
- Fixed bug in SunXMLParser not implementing Status. (SM) Thanks to Christopher Conway.
- Added support for Oracle XML parser. (SM) Thanks to Christopher Conway.
- Added Dynamic Content Processor. (RR)
- Updated sample configurations to reflect the changes. (SM)
- Rewritten the PI parser for more general use in AbstractXSLProcessor. (SM)
- Created the EngineWrapper class to extend the Engine class for use on non-servlet based applications. (SM)
- Added the possibility to use request parameters to trigger special events on the page. Currently debug and cache are supported. (SM)
- Added request and cache as parameters for the processor chain as requested by more sophisticated processors. (SM)
- Changed the cache system interface to match new needs. (SM)
- Changed the printing architecture. Now, you don't need to specify the type of formattation but the publishing system will understand it for you (based on processing instructions and the specified document type). (SM)
- Added white paper on the Cocoon 2 architecture for public review. (SM)
- Fixed typos, added support for more detailed verbosity and fixed a path-parsing bug for win32 systems. (SM) Thanks to Paul O'Rorke.
- Added support for James Tauber's FOP to translate XSL:FO-styled documents into PDF documents. (SM) Thanks to James Tauber.

| Cocoon 1.3.1 (May 31 1999) |

- Added the first finished working draft of the XSP specification for public review. (SM)
- Removed the XML and XSL specifications from the distribution. (SM)
- Fixed a deadlock problem in the cache system. (DB)

| Cocoon 1.3 (May 12 1999) |

- Included more detailed example of future XSP technology. (SM)
- Patched the Sun ProjectX parser wrapper to work with latest release. Added also a Sun printer class. (SM) Thanks to Robb Shecter.
- Added the ability to call Cocoon from the command line. (DB)
- Fixed the final Vector.toString() problem in JDK 1.1 compilation. (SM)
- Fixed the "verify error" by using Jikes compiler for distribution. (SM)
- Cleaned up documentation and added some entries in the FAQ. (SM)
- Removed win32 batch scripts and rewritten the makefile. (SM)
- Added a better cache engine. (DB)

| Cocoon 1.2 (April 30 1999) |

- Improved documentation and cleaned things around. (SM)
- Changed versions of both OpenXML and XSL:P. (SM)
- Moved the core processing into a different class named Engine, first step to a complete servlet/application duality. (SM)
- Added the Cocoon status handler. (SM)
- Added a better user interface for the servlet and a nicer look to report errors. (SM)
- Added the OpenXML printer wrapper class that uses the new X3P API. (DB)
- Changed the initialization section to match exceptions thrown on different servlet platforms. (SM)
- Changed behavior to identity transformation through the DOM processors if no PI are found. (SM) Thanks to George T. Talbot.

| Cocoon 1.1.1 (Apr 5 1999) |

- Fixed a problem with the getClassloader() method returning null. Now Cocoon doesn't always use the internal properties file but adds hardcoded default values. This is because in Java 1.1 there is no getSystemClassloader() method. (SM)
- Included the updated versions of both OpenXML 1.0.5 and XSL:P 19990326 which should fix lots of bugs and improve the overall performance. (SM)
- Patched to avoid the use of File.toURL() method which is not found under the Java1 platform. (SM) Thanks to Adrian Durkin.
- Added DoNothingCache to avoid caching during document debugging. (SM) Thanks to Greg Ritter.

| Cocoon 1.1 (March 25 1999) |

- Changed the stylesheet mapping processing instruction from illegal "xml:stylesheet" to standard "xml-stylesheet". (SM)
- Created Cocoon logo. (SM)
- Added LRU caching (both memory and disk). (SM) Thanks to Greg Ritter.
- Added support for XSL:P processor. (SM) Thanks to Keith Visco.
- Removed support for Koala XSL processor. (SM)
- Redesigned internal framework. (SM)
- Fixed some typos and English bugs in docs. (SM) Thanks to Patrick Gardella.

| Cocoon 1.0 (March 10 1999) |

- Initial version. (SM)

Copyright © 1999-2001 The Apache Software Foundation. All Rights Reserved.