Apache CXF 3.5.4 Release Notes

1. Overview

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

New features include:
* Support for Java 17
* Many updated dependencies.  We've updated to the latest versions of most
  dependencies.  Some may be incompatible with previous versions.
  Some notables that may impact applications include:
    * ehCache upgraded to 3.9.x
    * Jackson to 2.13.x
    * Mozilla Rhino upgraded to 1.7.13 (groupId/artifactId changed, be careful)
    * WSS4j 2.4.x
    * Spring Boot 2.6.x / Spring Framework 5.3.x base line
    * Apache Karaf 4.3.x base line
    * Apache HttpClient 5 support (Asynchronous Client HTTP Transport)
    * HTTP/2 support (server-side only)
    * JUnit 5 support

Important notes:
* 3.5 is the last branch of CXF that will support Java 8.   Future
  non-patch releases of CXF will require Java 11 or newer.
* The old OATH 1.0 module was removed

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.5.4 fixes over 14 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/35-migration-guide.html
for caveats when upgrading.

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

** Sub-task
    * [CXF-8730] - Fix org.apache.cxf.osgi.itests.jaxrs.JaxRsServiceTest

** Bug
    * [CXF-8698] - Content-ID of attachments for outgoing requests are URL-decoded instead of URL-encoded
    * [CXF-8712] - RetryStrategy tries one time too often
    * [CXF-8732] - [regression] activation DataSource requires to run JAXRS
    * [CXF-8733] - [regression] Content-ID of attachments for outgoing requests is not URL-decoded
    * [CXF-8735] - AbstractStaticFailoverStrategy: UnsupportedOperationException when there are no services associated with the endpoint
    * [CXF-8738] - NullPointerException when SwaggerUiConfig.queryConfigEnabled not set
    * [CXF-8749] - Existing handler file fails the compile generated java source files
    * [CXF-8750] - Swagger UI not working in Karaf 4.4.0 due to a double slash

** New Feature
    * [CXF-8752] - Configurable list of redirectable verbs

** Improvement
    * [CXF-8710] - Set `queryConfigEnabled` to `true` if any query parameters are configured in SwaggerUiConfig
    * [CXF-8725] - Allow RetryStrategy to optionally not retry for HTTP 404 responses
    * [CXF-8734] - upgrade to undertow 2.2.15 or later
    * [CXF-8744] - Get rid of httpunit
    * [CXF-8756] - Update to Swagger UI 4.14.0
    * [CXF-8757] - Swagger UI: update queryConfigEnabled documented behavior
