Apache CXF 3.0.4 Release Notes

1. Overview

The 3.0.x series of Apache CXF is a significant new version of CXF 
that provides several new features and enhancements.  

New features include: 
Full JAX-RS 2.0 support
New streaming based WS-Security implementation
Bean Validation 1.1
Much easier feature configuration options for JAX-WS
New CXF code generator frontend
Enhanced Reliable-Messaging 1.1 support

As part of the 3.0 refactoring, the runtime has been made smaller, 
many API’s have changed or where relocated, much duplicate 
functionality has been removed, etc…  Thus, 3.0 is not completely
compatible with CXF 2.x and some migration efforts may be required.

Users are encourage to review the migration guide at:
http://cxf.apache.org/docs/30-migration-guide.html
for further information and requirements for upgrading from 2.7.x.

3.0.4 fixes over 70 JIRA issues reported by users and the community.



2. Installation Prerequisites 

Before installing Apache CXF, make sure the following products,
with the specified versions, are installed on your system:

    * Java 6 Development Kit
    * Apache Maven 3.x to build the samples


3.  Integrating CXF Into Your Application

If you use Maven to build your application, you need merely add
appropriate dependencies. See the pom.xml files in the samples.

If you don't use Maven, you'll need to add one or more jars to your
classpath. The file lib/WHICH_JARS should help you decide which 
jars you need.

4. Building the Samples

Building the samples included in the binary distribution is easy. Change to
the samples directory and follow the build instructions in the README.txt file 
included with each sample.

5. Reporting Problems

If you have any problems or want to send feedback of any kind, please e-mail the
CXF dev list, dev@cxf.apache.org.  You can also file issues in JIRA at:

http://issues.apache.org/jira/browse/CXF

6. Migration notes:

See the migration guide at:
http://cxf.apache.org/docs/30-migration-guide.html
for caveats when upgrading from CXF 2.7.x to 3.0.0


7. Specific issues, features, and improvements fixed in this version

** Bug
    * [CXF-5279] - STSClient may not be caching tokens long enough when renewal after expiry is allowed
    * [CXF-6096] - http components transport is missing a dependency on commons-logging
    * [CXF-6111] - JavascriptGetInterceptor.isRecognizedQuery is always false
    * [CXF-6127] - Check thrown Exception's cause for SOAPFaultException
    * [CXF-6137] - WADL generation does not correctly support query parameters
    * [CXF-6138] - JAXB unmarshaller Properties can't be configured
    * [CXF-6139] - WADLGenerator may produce a schema invalid resource id
    * [CXF-6143] - SSL/TLS hostname verification does not strictly follow HTTPS RFC2818
    * [CXF-6145] - WS-RM demo server throws exception
    * [CXF-6146] - Demo wsdl_first_xmlbeans fails to build
    * [CXF-6147] - Part of demo wsdl_first_soap12 doesnt work
    * [CXF-6149] - ContainerRequestContextImpl hasEntity() always returns true for non-GET requests. Similar for ClientResponseContextImpl
    * [CXF-6151] - Apache-cxf wsdlvalidator returns error in mime:part
    * [CXF-6152] - WSDLValidator may throw ClassCastException under verbose mode
    * [CXF-6153] - OAuthRequestFilter throws NullPointerException when "Authorization" header is missing
    * [CXF-6155] - Exceptions thrown from ParamConverter generate 500 response
    * [CXF-6160] - AsyncResponse infinite loops
    * [CXF-6163] - WSDL Javascript generator for xsd:any elements is not correct when any is optional
    * [CXF-6166] - Parsing Bug in org.apache.cxf.jaxrs.provider.json.JsonMapObjectReaderWriter
    * [CXF-6170] - Demo jax_rs/spring_security throws exception
    * [CXF-6176] - org.apache.cxf.jaxrs.bus.providers property is not taken in account in cxf bus
    * [CXF-6178] - Missing io.netty.util.Version
    * [CXF-6184] - HTTPConduit "transport.retransmit.url" property may have side-effects in case of non-redirect retransmits
    * [CXF-6187] - JMS sample fails  "connectionFactory may not be null"
    * [CXF-6188] - Authorization loop using "CurrentWindowsCredentials" 
    * [CXF-6189] - Improve memory usage of UrlUtils
    * [CXF-6192] - Cxf Clustering Blueprint handler doesn't create the distribute feature rightly
    * [CXF-6194] - [multipart] Server handle Collection argument as single element
    * [CXF-6195] - JMS soap listeners are single-threaded in CXF 3.0.x
    * [CXF-6204] - JAX-RS Set-Cookie parser uses case-sensitive keys
    * [CXF-6207] - While Parsing wsdl url getting NAMESPACE_ERR
    * [CXF-6209] - Bug in processing Signed/Encrypted Elements policies with multiple XPaths
    * [CXF-6210] - XPath evaluation failure on the client side causes all subsequent evaluations to fail
    * [CXF-6211] - JAX-RS client runtime ignores Content-Type set directly from MessageBodyWriter
    * [CXF-6214] - [WebClient] wrong Accept received via proxy
    * [CXF-6217] - JmsPullPoint does not protect against external entities
    * [CXF-6222] - Password can end up in log file
    * [CXF-6228] - Using XSLTFeature with large messages creates unremovable temporary files
    * [CXF-6229] - EndpointReferenceUtils.getSchema does NOT cache negative schema parsing
    * [CXF-6233] - STS client only sends AppliesTo on first RST call
    * [CXF-6234] - Invalid ?wsdl response with relative imports/includes when using jaxws-catalog.xml
    * [CXF-6235] - wsdl2java behaves differently from cxf-codegen-plugin
    * [CXF-6241] - WS-RM doesn't work with WS-Security configured with @EndpointProperties
    * [CXF-6245] - Loading non-existent class org.apache.cxf.xmlbeans.XmlBeansWrapperHelper in WrapperClassOutInterceptor is causing performance issues
    * [CXF-6246] - missing osgi import of javax.jws
    * [CXF-6248] - NPE at OAuthRequestFilter when no Authorization header found
    * [CXF-6250] - WebSocket conduit fails to process String based responses and throws NPE
    * [CXF-6252] - JAXRS Async Client hangs in case of Connection errors


** Improvement
    * [CXF-5674] - CXF Support in "Audience Restriction" of SAML 2 (SOAP)
    * [CXF-5854] - Add property "refreshTemplates" to XSLTJaxbProvider
    * [CXF-6046] - Enhance SwaggerFeature to support JAX-RS annotations
    * [CXF-6079] - static-resource-list cache control
    * [CXF-6126] - Search serviceBeans by given annotation
    * [CXF-6142] - OAuth2 AccessTokenValidator needs to accept more parameters
    * [CXF-6148] - Adding support for xsd:choice in Javascript generator
    * [CXF-6150] - Override XSLTJaxbProvider xsl path at runtime
    * [CXF-6154] - CXFServlet and JAX-RS RequestDispatcherProvider should be able to use RequestDispatch.include
    * [CXF-6162] - Adding support for xsd:group ref in Javascript generator
    * [CXF-6167] - Add an ability to specify SOAP error parser for Javascript client
    * [CXF-6168] - Avoid ServletController synchronizing on the destination by default
    * [CXF-6173] - Unable to configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured
    * [CXF-6191] - Avoid Spring usage by configuration in ClassHelper
    * [CXF-6199] - Allow scalability for slow services on jms
    * [CXF-6200] - CXF JAX-RS Model extension should be usable without custom service classes 
    * [CXF-6206] - JAASLoginInterceptor: Return proper unauthorized response when JAAS login with basic auth fails
    * [CXF-6208] - Support registering JAX-RS providers as Classes in all cases
    * [CXF-6223] - Support message property for encryption certificate
    * [CXF-6227] - JAX-WS client performance improvements
    * [CXF-6238] - Java2WADL : Generating response status attribute
    * [CXF-6244] - ContentDisposition should support UTF-8 filenames
    * [CXF-6251] - Allow org.apache.cxf.logging.enabled to have a value of "pretty" for pretty printing

** New Feature
    * [CXF-6132] - Provide JAX-RS ServletContainerInitializer 
    * [CXF-6215] - Introduce JAX-RS DefaultMethod extension
    * [CXF-6242] - Ability to configure the format of the marshalling / unmarshalling exceptions that are thrown by JAXB when schema validation is enabled.


** Task
    * [CXF-6069] - upgrade jaxb version to 2.2.11

** Test
    * [CXF-6129] - CXF STS basic systests failure

