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. <map:generator src="string-template" src="..." />)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

add

Initial creation.reinhard