Apache CXF 3.4.6 Release Notes

1. Overview

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

New features include: 
* New cxf-bom artifactId for importing all the CXF artifacts
* New support for Microprofile OpenAPI (as alternative to Swagger Core 2.0)
* New samples to show WS-Transaction usage, OpenAPI v3.0 with Microprofile
* Ability in Logging feature to mask sensitive information
* New support for SSEs in Microprofile Rest Client
* OAuth 2.0 Authorization Server Metadata / OpenID Provider Metadata

Important notes:
* Many dependencies have been upgraded to newer versions.  Check
  the migration guide.


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

3.4.6 fixes over 59 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 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/34-migration-guide.html
for caveats when upgrading.

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

** Sub-task
    * [CXF-8463] - jaxrs.ee.rs.client.asyncinvoker traceWithCallbackThrowsNoWebApplicationExceptionForResponseTest
    * [CXF-8464] - jaxrs.ee.rs.client.asyncinvoker traceWithCallbackThrowsWebApplicationExceptionTest
    * [CXF-8465] - jaxrs.ee.rs.client.asyncinvoker traceWithClassThrowsNoWebApplicationExceptionForResponseTest
    * [CXF-8466] - jaxrs.ee.rs.client.asyncinvoker traceWithClassThrowsWebApplicationExceptionTest
    * [CXF-8467] - jaxrs.ee.rs.client.asyncinvoker traceWithGenericTypeStringWhileServerWaitTest
    * [CXF-8468] - jaxrs.ee.rs.client.asyncinvoker traceWithGenericTypeThrowsNoWebApplicationExceptionForResponseTest
    * [CXF-8469] - jaxrs.ee.rs.client.asyncinvoker traceWithGenericTypeThrowsWebApplicationExceptionTest
    * [CXF-8470] - jaxrs.ee.rs.client.asyncinvoker traceWithStringClassWhileServerWaitTest
    * [CXF-8471] - jaxrs.ee.rs.client.syncinvoker traceWithGenericTypeResponseThrowsNoWebApplicationExceptionTest
    * [CXF-8472] - jaxrs.ee.rs.client.syncinvoker traceWithGenericTypeStringTest
    * [CXF-8473] - jaxrs.ee.rs.client.syncinvoker traceWithGenericTypeStringThrowsWebApplicationExceptionTest
    * [CXF-8474] - jaxrs.ee.rs.client.syncinvoker traceWithResponseClassThrowsNoWebApplicationExceptionTest
    * [CXF-8475] - jaxrs.ee.rs.client.syncinvoker traceWithStringClassTest
    * [CXF-8476] - jaxrs.ee.rs.client.syncinvoker traceWithStringClassThrowsWebApplicationExceptionTest
    * [CXF-8477] - jaxrs.ee.rs.constrainedto clientSideReaderIsNotUsedOnServerTest
    * [CXF-8479] - jaxrs.ee.rs.container.responsecontext getEntityAnnotationsTest
    * [CXF-8480] - jaxrs.ee.rs.core.responsebuilder entityObjectTest
    * [CXF-8481] - jaxrs.ee.rs.core.uriinfo getMatchedURIsTest
    * [CXF-8482] - jaxrs.ee.rs.core.uriinfo getMatchedURIsTest1
    * [CXF-8483] - jaxrs.ee.rs.core.uriinfo getMatchedURIsTest2
    * [CXF-8484] - jaxrs.ee.rs.ext.interceptor.containerwriter.interceptorcontext getAnnotationsTest
    * [CXF-8498] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithClassThrowsNoWebApplicationExceptionForResponseTest
    * [CXF-8499] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithClassThrowsWebApplicationExceptionTest
    * [CXF-8500] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithGenericTypeStringTest
    * [CXF-8501] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithGenericTypeThrowsNoWebApplicationExceptionForResponseTest
    * [CXF-8502] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithGenericTypeThrowsWebApplicationExceptionTest
    * [CXF-8503] - jaxrs.jaxrs21.ee.client.rxinvoker traceWithStringClassTest
    * [CXF-8517] - jaxrs.spec.provider.standardnotnull clientDataSourceProviderTest
    * [CXF-8601] - [Regression] jaxrs.ee.rs.core.response
    * [CXF-8605] - Introduce HTTP/2 Transport: server-side support
    * [CXF-8635] - Fix org.apache.cxf.jaxrs.client.logging.RESTLoggingTest.testSlf4
    * [CXF-8650] - Fix org.apache.cxf.systest.jaxrs.JAXRSContinuationsServlet3Test.testSuspendSetTimeout

** Bug
    * [CXF-8603] - ClassLoaderUtils.setThreadContextClassloader attempts to set null class loader
    * [CXF-8607] - OpenApiFeature: OpenApiCustomizer doesn´t work with runAsFilter
    * [CXF-8614] - ensure OSGi header of cxf-core to import com.sun.codemodel.writer package
    * [CXF-8616] - Calling oneway methods using async client hangs response indefinitely
    * [CXF-8617] - The org.apache.cxf.transport.http.asyncclient.hc5.AsyncHTTPConduitTest hangs intermittently
    * [CXF-8619] - Potential double-urldecode of @Form parameters
    * [CXF-8620] - AbstractHTTPServlet should support HTTP TRACE method dispatching if it is allowed by underlying container
    * [CXF-8626] - async http client may handle response by multiple threads on work queue
    * [CXF-8632] - StaxTransformFeature deep-dropping doesn't work with any element
    * [CXF-8633] - "http.responseMessage" gets lost in AbstractClient#setResponseBuilder
    * [CXF-8636] - Swagger2Feature: Can't set url in UI through SwaggerUiConfig
    * [CXF-8641] - NPE on NamePasswordCallbackHandler
    * [CXF-8642] - ResponseImpl#hasEntity changed behaviour starting with cxf 3.4.1
    * [CXF-8649] - Deprecated method in jackson-databind still being used even after updating version
    * [CXF-8652] - Implement @ConstrainedTo annotation support
    * [CXF-8654] - Ensure InputStreamDataSource is optional in JAXRSUtils to be able to run without activation dependency
    * [CXF-8657] - Headers are copied as case sensitive in MessageContextImpl

** Improvement
    * [CXF-8221] - Upgrade Http Components Core and Client to 5.0
    * [CXF-8610] - Some public methds in org.apache.cxf.helpers.IOUtils lacks parameter verification, which may cause Null pointer exceptions
    * [CXF-8627] - AttachmentDataSource should always returns a valid contentType
    * [CXF-8630] - Remove mockwebserver dependency, use wiremock instead
    * [CXF-8644] - introduce a cache for AbstractJAXBProvider to avoid unnecessary  ObjectFactory.class|jaxb.index availability check
    * [CXF-8646] - Don't return exception class name when parsing XML
    * [CXF-8647] - add DisallowedMethodsHandler for cxf http-undertow transport
    * [CXF-8653] - Provide an easy way to require PKCE for the AuthorizationCodeGrantHandler
    * [CXF-8659] - Can't filter when attribute type is LocalDate or LocalDateTime

** Task
    * [CXF-8608] - WSSCTest always failed with JDK8
