Apache CXF 3.1.12 Release Notes

1. Overview

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

New features include: 

* New Metrics feature for collecting metrics about a CXF services.  
* New Throttling feature for easily throttling CXF services.  
* New Logging feature for more advanced logging than the logging 
  available in cxf-core
* New Metadata service for SAML SSO to allow you to publish SAML SSO 
  metadata for your service provider.
* Enhancements to the code generator to be more "Java7" friendly
* Update to OpenSAML 3.0
* Support for Karaf 4, Jetty 9

Important notes:
CXF 3.1.x no longer supports Java 6.   You must upgrade to Java 7 or later.

Users are encourage to review the migration guide at:
http://cxf.apache.org/docs/31-migration-guide.html
for further information and requirements for upgrading from earlier
versions of CXF.

3.1.12 fixes over 50 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 7 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/31-migration-guide.html
for caveats when upgrading from CXF 2.7.x and 3.0.x
to 3.1.



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


** Bug
* [CXF-5407] - WSDLManagerImpl.removeDefinition doesn't take effect
* [CXF-6441] - JMS Subscription: pubSubNoLocal is not propagated into AbstractMessageListenerContainer
* [CXF-6782] - Modifications to JAX-WS client request context leak the thread scope
* [CXF-7178] - RMPolicyInterceptorProvider not initialized properly
* [CXF-7318] - Continuation.suspend(-1) does not resume request
* [CXF-7319] - cdi extension uses wrong namespace for beans.xml
* [CXF-7320] - Returned charset is not decoded properly
* [CXF-7329] - Missing @Validated on CxfProperties
* [CXF-7331] - javax.ws.rs.container.ResourceInfo#getResourceClass doesnt unwrap the class
* [CXF-7339] - NPE in org.apache.cxf.common.util.CacheMap.remove
* [CXF-7343] - AbstractSpringComponentScanServer is not picking up fault interceptors
* [CXF-7349] - NPE in ClassLoaderUtils
* [CXF-7350] - the exception should be able to return to client if retry is 0 with ws-rm
* [CXF-7351] - JAXRS UriInfo.getMatchedURIs raises error for templated URI
* [CXF-7352] - JAXRS UriInfo.getMatchedResources does return matched resource twice when CORS filter is used
* [CXF-7354] - Be able to separate payload logging from JAX-RS and JAX-WS
* [CXF-7356] - need consider SoapBinding has multiple default namespace when compare two bindingId
* [CXF-7368] - JAXB provider is handling non-jaxb classes
* [CXF-7374] - Concurrent calls to refreshAccessToken() fails with SQL constraint violation
* [CXF-7381] - DateFormat in MapEventLogger in the STS is not thread safe
* [CXF-7392] - WS-RM: Refresh wsrm:Identifier after service reconnect
* [CXF-7394] - Incorrect ERROR: Failed to send RM protocol message
* [CXF-7395] - WS-Addressing issue related to WS-RM when using SoapUI
* [CXF-7399] - WS-RM persistent store recovery is not re-associated sequences together
* [CXF-7400] - Swagger2Feature causes 404 on URIs ending with *ico
* [CXF-7401] - CXF http-jetty fails to get private key if the jks keystore file contains multiple private keys with different password
* [CXF-7414] - ws-rm Messages get lost in case of multi threaded calls and delays
* [CXF-7415] - Unexpected WS-RM error in PolicyVerificationInInterceptor
* [CXF-7416] - Threading issue while marshalling jaxb
* [CXF-7417] - Updating relative paths after passing them to UriBuilder.fromUri does not work
* [CXF-7418] - CXF BeanValidation interceptors ignore @ValidateOnExecution(type = ExecutableType.NONE)
* [CXF-7429] - NPE in WriterInterceptorMBW when writer is null and Log is fine

** Improvement
* [CXF-6728] - Review and improve the way EC keys are handled in JOSE code
* [CXF-7001] - Update JAX-RS SpringBoot starter to support scanning JAX-RS Applications
* [CXF-7247] - Support tracing using latest Zipkin Brave 4.x release
* [CXF-7327] - Improve logging for invalid enum values
* [CXF-7328] - No property metadata for CxfProperties
* [CXF-7340] - Make it possible to set the SignatureLocation in the XmlSecOutInterceptor from the SignatureProperties
* [CXF-7353] - Make it possible to customize SwaggerUI Maven group and artifact ids
* [CXF-7382] - Don't cache SecurityTokens per-endpoint when the STSClient is used as an intermediary
* [CXF-7393] - add message to Jwe exception.
* [CXF-7407] - Improve JOSE helpers
* [CXF-7420] - Align JweCompactProducer with other JWS/JWE helpers
* [CXF-7424] - Remove redundant byte array conversion from BinaryDataProvider

** New Feature
* [CXF-7346] - CDI Extension ignores producer methods and fields
* [CXF-7347] - Support Swagger UI 3
* [CXF-7365] - Support signing multiparts using Jws Detached Signature
* [CXF-7366] - Optional protection of the selected HTTP headers with JOSE filters
* [CXF-7378] - For the HttpConduit set the http response message along side the RESPONSE_CODE

** Task
* [CXF-7336] - [cdi] wrong org.apache.cxf.cdi.CdiResourceProvider#isSingleton implementation
* [CXF-7386] - Try to fix old Swagger system tests





