Apache » Cocoon »

  Cocoon 3
   homepage

Cocoon 3

Changes Report

Release History

VersionDateDescription
3.0.0-beta-12011-00-00unreleased
3.0.0-alpha-32011-06-08released
3.0.0-alpha-22010-01-07released
3.0.0-alpha-12008-12-18released

Release 3.0.0-beta-1 - 2011-00-00

TypeChangesBy
update[all] Update to xercesImpl 2.10.0 and xml-apis 1.4.01.anathaniel
update[all] Require minimum Java version JDK 1.6.0 as decided in vote http://www.mail-archive.com/dev@cocoon.apache.org/msg59932.html.anathaniel
add[cocoon-stringtemplate] A StringTemplateTransformer has been added.ilgrosso
update[cocoon-stringtemplate] The StringTemplate has beed upgraded to latest v4, with some modifications in the source code of related components. The org.apache.cocoon.stringtemplate.ControllerContextAwareStringTemplateGenerator is now referred as "generator:controller-aware-string-template", because "generator:string-template" is now used for org.apache.cocoon.stringtemplate.StringTemplateGenerator.ilgrosso
update[cocoon-stax] Parametrise generic collections to avoid rawtype warnings and minizes scope of unavoidable @SuppressWarnings("unchecked").anathaniel

Release 3.0.0-alpha-3 - 2011-06-08

TypeChangesBy
fix[cocoon-sax] The org.apache.cocoon.optional.pipeline.components.sax.jaxb.JAXBGenerator is incomplete. Fixes COCOON3-58.simonetripodi
fix[cocoon-sax] Add the LogAsXMLTransformer, prints out the complete XML document; useful for debugging. Fixes COCOON3-57.ilgrosso
fix[cocoon-sax][cocoon-sitemap] The LinkRewriter Transformer needs to be integrated in the sitemap. Fixes COCOON3-56.ilgrosso
fix[cocoon-sax][cocoon-sitemap] The XInclude Transformer needs to be integrated in the sitemap. Fixes COCOON3-55.ilgrosso
fix[cocoon-sax] Added the LinkRewriterTransformer component. Fixes COCOON3-54.simonetripodi
fix[cocoon-pipeline] XMLSerializer caches all. Fixes COCOON3-53.reinhard
fix[cocoon-sax] XMLSerializer setup method resets output method to xml. Fixes COCOON3-52.simonetripodi
fix[cocoon-sax] XIncludeTransformer was sending extra startDocument and endDocument events. Fixes COCOON3-51.simonetripodi
fix[cocoon-sax] SAXException related to endPrefixMapping in XIncludeTransformer. Fixes COCOON3-50.simonetripodi
fix[cocoon-stringtemplate] Upgrade to latest version of StringTemplate. Fixes COCOON3-44.ilgrosso
add[cocoon-sax] Added the SAX Pipeline DSLsimonetripodi
add[cocoon-pipeline] Added the Pipeline DSLsimonetripodi
update[cocoon-sax] XSLTTransformer and SchemaProcessorTransformer created resources have been cached.simonetripodi
fix[cocoon-pipeline] Add the timestamp value to the TimestampCacheKey hashcode.reinhard
add[cocoon-rest] Add the interface o.a.c.rest.controller.method.ConditionalGet. It requires the implementation of the method #constructCacheKey() which returns a o.a.c.pipeline.caching.CacheKey. This cache key is used to support conditional GET requests based on the ETag header.reinhard
update[cocoon-controller] The o.a.c.controller.SpringControllerComponent became a CachingPipelineComponent. For that purpose the controller invocation was separated into a setup and an execution phase. If the controller provides a cache key after the setup, this is returned by the SpringControllerComponent and the pipeline that embeds the controllers becomes cacheable.reinhard
add[cocoon-servlet] Add the method 'emulatedMethod()' to the request object. It supports the RubyOnRails way of sending an alternative HTTP method to the server in cases where only GET and POST work reliably. The method returns either the value of the request parameter '_method' or if not available, the actually used HTTP method. In future versions of Cocoon this behavior might become the default behavior of Cocoon.reinhard
update[all] Upgrade to cocoon-jnet-1.2.0reinhard
update[all] Upgrade all modules that have a dependency on Spring version 3.0.5.RELEASEreinhard

Release 3.0.0-alpha-2 - 2010-01-07

TypeChangesBy
add[cocoon-pipeline] Add generics to the pipeline interface. With additionally introducing marker interfaces for the component types (SAX, StAX, etc.) this allows compile time checks if all components have the correct type when assembling the pipeline. Fixes COCOON3-14.cziegeler
fix[cocoon-pipeline] Cleanup PipelineComponent#finish(): It's not the concern of a pipeline component to know about exceptions that happen somewhere in the pipeline. Fixes COCOON3-24.reinhard
update[cocoon-pipeline] The CachingPipeline creates the CacheKey as the last step in the setup() phase (instead of the first step of the execute() phase).stevendolg
update[cocoon-pipeline] Use MurmurHash 2.0, a strong hashing algorithm, to implement the hashCode() method of cache keys.reinhard
add[cocoon-pipeline] Set an entity resolver on the SAX parser that returns an empty input source. This prevents the SAX parser from accessing any URIs used in entities.reinhard
add[cocoon-pipeline] Support expires caching: CachingPipeline and AsyncCachingPipeline can be configured to be valid for a particular period. This 'expires caching' doesn't check if any of the pipeline components would produce a valid result or not and it isn't even necessary that the pipeline components are cacheable by implementing the org.apache.cocoon.pipeline.component.CachingPipelineComponent interface.stevendolg
add[cocoon-pipeline] Introduce an exception hierarchy for pipeline components (ProcessingException and SetupException extend both PipelineException).stevendolg
add[cocoon-pipeline] Add a SchemaProcessorTransformer that validates the SAX event stream against an XML schema. Fixes COCOON3-2. Thanks to Simone Tripodi.reinhard
fix[cocoon-pipeline] StackOverflowError on CachingPipeline.setup(OutputStream). Fixes COCOON3-23.stevendolg
fix[cocoon-pipeline] The interfaces CacheKey and CacheValue have to extend the java.io.Serializeable interface in order to work with persistent cache implementations (e.g. EHCache).reinhard
add[cocoon-stax] Provide basic component implementations of StAX pipeline components. Many thanks go to Andreas Pieber, Jakob Spoerk, Kilian Matt and Michael Seydl, who provided this enhancement as part of their studies at the Vienna University of Technology and to their assistant professor Dr. Alexander Schatten. Fixes COCOON3-18.reinhard
add[cocoon-stax] Provide wrappers to add SAX-components to StAX pipelines and Adapters between StAX pipelines and SAX pipelines. Fixes COCOON3-19.reinhard
add[cocoon-stax] Java 5 support. Fixes COCOON3-27. Thanks to Kilian Matt, Andreas Pieber.reinhard
add[cocoon-sax] Add a XMLGenerator (constructors for File, InputStream, String, Node). It is used with the pipeline API and merge it with the 'old' FileGenerator.reinhard
add[cocoon-sax] Add factory methods to o.a.c.sax.component.XMLSerializer to create properly configured serializers for XML, XHTML and HTML4.reinhard
add[cocoon-sax] Add an XIncludeTransformer. Fixes COCOON3-3. Thanks to Simone Tripodi.reinhard
add[cocoon-sax] Enhance the reusability of the XSLTTransformer and support Xalan's XSLTC engine. Fixes COCOON3-6. Thanks to Simone Tripodi.reinhard
fix[cocoon-sax] Create a separate SAX module that contains all SAX specific classes.stevendolg
fix[cocoon-sax] Use SAX* for all SAX specific class names.reinhard
fix[cocoon-sax] Remove AbstractXMLPipe because it does the same as the XMLConsumerAdapter. Fixes COCOON3-25.reinhard
update[cocoon-sitemap] Support {jexl:cocoon.request.ssf} expression to test if this is a call within the Servlet-Service framework.reinhard
update[cocoon-sitemap] Remove the duplicated AttributesImpl. Use the implementation coming with the org.apache.cocoon.xml:cocoon-xml library instead.reinhard
update[cocoon-sitemap] Update the WildcardMatcherHelper to the latest version of Cocoon 2.2.reinhard
add[cocoon-sitemap] Add a HTML serializer.reinhard
fix[cocoon-sitemap] Make junit-addons a test dependency.reinhard
fix[cocoon-controller] A controller pipeline component sets the content-type correctly.reinhard
add[cocoon-servlet] Move the request processing into a separate class org.apache.cocoon.servlet.RequestProcessor. It also takes care of the suble differences whether a request is performed by the Servlet-Service framework call or by a 'normal' external request. This was necessary to avoid code duplication when integrating with Wicket.reinhard
add[cocoon-servlet] Conditional GET (If-None-Match) support for ALL caching pipelines based on ETags. The ETag is the hex representation of the a pipeline's cache key hashcode. Previously only cases where a cache key could be expressed as a timestamp were supported (Last-Modified -> If-Modified-Since).reinhard
add[cocoon-servlet] Add org.apache.cocoon.servlet.util.ServletServiceUtils to use a Servlet-Service servlet by reference and get an InputStream of a resource.reinhard
fix[cocoon-servlet] The ServletServiceSerializer sets the status code of the service it calls (instead of always sending 200 responses).reinhard
fix[cocoon-servlet] Fix potential NPE in URLConnectionUtils.closeQuietly(urlConnection) Fixes COCOON3-46. Thanks to Jos Snellings.stevendolg
add[cocoon-rest] Support for JAX-RS (JSR 311) controllers as an alternative to the Cocoon specific REST support. The implementation is based on Jersey, the JSR311 reference implementation and the Jersey Spring extensions.reinhard
fix[cocoon-rest] Don't lose the status-code produced by the called servlet-service in REST controller instances.stevendolg
fix[cocoon-rest] Check if a REST controller is a proxy. If it is one, target object is used to apply the supported annotations. Fixes COCOON3-32.stevendolg
update[cocoon-rest] Changed RestResponse to make it easier to implement specific response implementations. Processing the responses no longer requires the SpringRESTController to actually know anything about the actual implementation. RestResponse requires the implementation of the method execute(outputStream, parameters).stevendolg
add[cocoon-rest] The ControllerContextHelper provides a static method to directly store a context object in the request.reinhard
add[cocoon-rest] The @Inject annotation supports org.apache.cocoon.configuration.Settings and javax.servlet.ServletContext injections.reinhard
add[cocoon-stringtemplate] The StringTemplateGenerator doesn't use controller context parameters as attributes anymore. This allows its usage outside of servlet environments. For the use with a Cocoon controller implementation org.apache.cocoon.stringtemplate.ControllerContextAwareStringTemplateGenerator was added. This generator is also used as the bean 'generator:string-template' to be referred in sitemaps (e.g. )reinhard
add[cocoon-wicket] Provide a reader component that delegates to a Wicket application.reinhard
add[cocoon-wicket] Provide a Wicket RequestTargetURLCodingStrategy that is able to mount a Cocoon sitemap.reinhard
add[cocoon-wicket] The samples to integrate Wicket into Cocoon are added to the cocoon-samples module.reinhard
add[cocoon-wicket] Introduce a new module (cocoon-samples-wicket-webapp) that contains the samples that show how to integration Cocoon into Wicket.reinhard
add[cocoon-wicket] Introduce a new module that contains the Cocoon-Wicket integration (both directions).reinhard
add[cocoon-monitoring] Support logging reconfiguration via JMX Fixes COCOON3-33. Thanks to Dariusz Luksza.reinhard
add[cocoon-monitoring] Provide a cache overview via JMX Fixes COCOON3-39. Thanks to Dariusz Luksza.reinhard
add[cocoon-monitoring] Provide information about Servlet-Services via JMX Fixes COCOON3-38. Thanks to Dariusz Luksza.reinhard
add[cocoon-monitoring] Provide statistical information via JMX Fixes COCOON3-41. Thanks to Dariusz Luksza.reinhard
add[cocoon-profiling] Support collection profiling information at runtime. This information is stored by using EHCache and can be trieved as XML tree or PNG chart. Additionally there is a Firebug plugin that displays this XML tree as part of the 'Network' tab. Many thanks go to Michael Handler, Christoph Leiter, Stephan Teuschl, Andreas Pinter and Sebastian Rosensteiner who provided this new module as part of their studies at the Vienna University of Technology and to their assistant professor Dr. Alexander Schatten. Fixes COCOON3-40.reinhard
add[cocoon-optional] Add serializers (XML, XHTML, HTML) that use the Apache Cocoon Serializers Charset serializers that don't rely on the JAXP API and circumvent some Xalan bugs.reinhard
add[cocoon-optional] Add a SolrConsumer that creates and adds SolrDocuments to a Solr instance. Fixes COCOON3-43. Thanks to Bertil Chapuis.thorsten
add[cocoon-optional] Add a formatting objects serializer using Apache FOP. Fixes COCOON3-7. Thanks to Simone Tripodi.reinhard
add[cocoon-optional] Add an HTML to XHTML converter based on NekoHtml. Fixes COCOON3-5. Thanks to Simone Tripodi.stevendolg
add[cocoon-optional] Add a BetwixtBeanGenerator that serializes Java classes following the Java Beans conventions. Fixes COCOON3-4. Thanks to Simone Tripodi.reinhard
add[cocoon-optional] Create a new module 'cocoon-optional', that contains all the stuff that requires additional 3rd-party libraries that shouldn't become part of one of the Cocoon 3 core modules (cocoon-pipeline, cocoon-sitemap, cocoon-servlet).reinhard
update[all] Update Cocoon Servlet-Service Framework Impl to 1.2.0reinhard
update[all] Update Cocoon Block Deployment to 1.1.0reinhard
update[all] Update Cocoon JNet to 1.1.0reinhard
update[all] Update Cocoon Spring Configurator to 2.1.0.reinhard
add[all] Add a bash script to run the Cocoon 3 build with all tests and checks activated. Fixes COCOON3-21. Thanks to Andreas Pieber.reinhard
update[all] Update to Spring 2.5.6 and AspectJ 1.6.1.reinhard
add[all] Set serialVersionUID on all serializeable classes. Fixes COCOON3-1. Thanks to Simone Tripodi.reinhard
add[cocoon-docs] Improve wording of the Cocoon 3 homepage. Fixes COCOON3-4. Thanks to Solprovider.reinhard
add[cocoon-docs] Improve wording and correct spelling mistakes of the Cocoon 3 homepage. Fixes COCOON3-4. Thanks to Marc Driftmeyer.reinhard

Release 3.0.0-alpha-1 - 2008-12-18

TypeChangesBy
addInitial creation.reinhard