Apache CXF 3.2.2 Release Notes

1. Overview

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

New features include: 
* JAX-RS 2.1 (JSR370) support including the implementation of Reactive Client 
  and Server Sent Events API
* Enhanced Swagger2 support including new java2swagger Maven plugin
* WS-Transfer specification support
* Enhanced Tracing support with Brave
* Support for Spring Boot 2.x
* JAX-WS - support for per-operation schema validation configuration
* WSS4J Signatures can support MTOM attachments
* Preliminary support for running on Java 9  (no module support yet)
* New http-undertow transport

3.2.2 fixes over 64 JIRA issues reported by users and the community


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

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


2. Installation Prerequisites 

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

    * Java 8 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/32-migration-guide.html
for caveats when upgrading.


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

** Bug
* [CXF-5051] - ProtectTokens assertion is not respected for SAML tokens
* [CXF-6134] - Apache CXF generating constructor with duplicate argument names causing compilation error
* [CXF-7023] - SOAP over JMS transport does not use XA transactions with Websphere MQ resource adapter
* [CXF-7389] - JAXRSUtils warning logs
* [CXF-7473] - ExceptionMapper class hierarchies: incompatible ExceptionMapper selected
* [CXF-7518] - Loggers logs request twice in case of Fault
* [CXF-7520] - Ensure CXF can build with JDK9.0.1 and JDK8_161
* [CXF-7527] - JAXRS UriInfo.getMatchedUris does return matched URIs twice for sub resources
* [CXF-7545] - Problem to generate WADL when a implementation of generic type is used
* [CXF-7547] - Problem to generate Java from WADL file when method id defined
* [CXF-7549] - Can't register Feature from inside another Feature in JAX-RS
* [CXF-7550] - StaxActionInInterceptor can't function completely with WSS4JStaxInInterceptor
* [CXF-7551] - Policy Based WSS4J Stax Interceptors may not be correctly initialized
* [CXF-7552] - wsdl2java fails on SwA WSDL using SOAP 1.2 Bindings
* [CXF-7553] - selectVariant doesn't take into account quality factors in Accept header
* [CXF-7554] - remove org.sonatype.sisu:sisu-guava dependency from java2swagger-plugin
* [CXF-7555] - Failure to construct bean of org.apache.cxf.jaxrs.spring.SpringViewResolverProvider
* [CXF-7561] - CrossOriginResourceSharing annotation on a super interface is not interpreted
* [CXF-7562] - ext.logging: truncated flag not set
* [CXF-7565] - Verification of feature cxf-ws-security failure
* [CXF-7567] - Unable to resolve pax-cdi-features when trying to build Karaf feature repo with apache-cxf feature
* [CXF-7572] - OAuth/OIDC endpoints in discovery document contains default ports
* [CXF-7573] - CXF Jose not closing Inpustream when loading Keystore
* [CXF-7575] - @Suspended race condition
* [CXF-7578] - WS-Trust Secured Request casts SecretKeySpec to PrivateKey
* [CXF-7581] - SwaggerUIResourceFilter doesn't allow call to service endpoint
* [CXF-7584] - proxy client: forbid empty path param
* [CXF-7585] - base64 attachment encoding does not close the InputSteam
* [CXF-7586] - cxf-rt-rs-security-oauth2 preventing application on JBoss from starting if more than 1 PU defined
* [CXF-7587] - JAXRS Server fails to serve requests when context path ends with asterisk '*' caracter
* [CXF-7588] - SAML audience restriction validation is enabled by default for REST services
* [CXF-7592] - Wrong JAX-RS 2.1 request filter handling for IOException
* [CXF-7593] - Application is not visible in Feature.configure
* [CXF-7595] - Swagger2Feature - inputstream of stream swagger.properties after loading not closed
* [CXF-7596] - ClassNotFoundException: javax.net.SocketFactory not found by org.apache.cxf.cxf-rt-transports-http
* [CXF-7597] - Suspicious calls to ClassLoader.findResource when resolving absolute base and actual URIs
* [CXF-7598] - Log warning mentions deleted class
* [CXF-7599] - The apache-cxf-3.2.1-features.xml for karaf OSGi is not correct enough
* [CXF-7604] - Change to "Error occurred during error handling, give up!" message
* [CXF-7606] - SwA doesn't work for image/gif content type
* [CXF-7607] - JAXRS only consider the first "Accept" header in the request
* [CXF-7608] - [brave feature] Propagate trace ids as it lets log correlation to be consistent even if not sampling
* [CXF-7613] - Support Derived keys policy validation for EndorsingSupportingTokens
* [CXF-7623] - AsynchHTTPConduit setupConnection - timeout settings
* [CXF-7625] - JAX-RS 2.1 TCK: UriBuilder doesn't handle case where "port" is not an integer
* [CXF-7628] - JMX mbean 'Thread Pools' and 'Connectors' for Jetty are not registered if CXF endpoint is configured with engine-factory element having threadingParameters.
* [CXF-7629] - When registering a provider that implements MessageBodyReader and MessageBodyWriter interfaces through a Feature CXF ignores the interfaces in the contract and registers them all
* [CXF-7630] - NameBindings are ignored for (at least) ContextResponseFilters

** New Feature
* [CXF-7535] - Support for Project Reactor as rx()
* [CXF-7579] - Implement MicroProfile Rest Client 1.0

** Improvement
* [CXF-7103] - CDI Client Proxy injection
* [CXF-7200] - wadl2java does not see generated classes with jaxb:nameXmlTransform
* [CXF-7556] - Get Rx2 and Reactor AsyncSubscriber utility code reused
* [CXF-7558] - set retryInterval default value to 5 sec if not specify it in JMSConfiguration
* [CXF-7568] - Support JWE PBES encryption
* [CXF-7569] - PrimitiveTextProvider: support enums
* [CXF-7603] - private a way that only a set of client IP can access the WADL
* [CXF-7616] - Add support for (SAML) IssuedToken policy validation
* [CXF-7617] - Support Derived keys policy validation for endorsing IssuedTokens/SamlTokens
* [CXF-7618] - Suppress generated date switch for wsdl2java
* [CXF-7619] - Support deprecated 1.5 WS-Policy URI in the STS

** Task
* [CXF-7559] - enhance the way to handle java version in CipherSuitesTest
* [CXF-7570] - CompletionStage RxInvoker needs to lookup a default ExecutorService
* [CXF-7626] - ensure new module  systests/microprofile can pass with JDK9



 