Apache CXF 4.1.2 Release Notes

1. Overview

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

New features include:
    * The release is based on JakartaEE 10
    * Support of Spring Framework 6.1 / Spring Boot 3.3 /  Spring Security 6.3
    * Support of OpenZipkin Brave 6.0
    * Jetty 12
    * Weld 5
    * Spring LDAP 3.2
    * Hazelcast 5.4.0
    * Woodstox 7.0.0
    * Hibernate 6.5
    * Hibernate Validator 8
    * AsyncHttpClient (AHC) 3.0.0

Important notes:
* CXF 4.1 now requires Java 17 as minimum

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


4.1.2 fixes over 16 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 17 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/41-migration-guide.html
for caveats when upgrading.

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

** Bug
    * [CXF-8985] - headers masking implementation not replaceable
    * [CXF-9005] - EE10 JAX-RS TCK Test Failures
    * [CXF-9100] - HttpClient-1-Worker-* thread leak when throwing exception in LoggingOutInterceptor and sending large SOAP message
    * [CXF-9113] - EntityPart.Builder does not seem to work in a Java SE environment
    * [CXF-9115] - Race Condition in HttpClientHttpConduit Causes Writing Thread to Hang Forever
    * [CXF-9117] - cxf-rt-ws-security fails if JCache is not on the classpath
    * [CXF-9118] - DelayedCachedOutputStreamCleaner may expire streams prematurely
    * [CXF-9119] - Spring Boot runtime :  property placeholder in xml bean of jaxws:client not resolved correctly
    * [CXF-9120] - OSGi jakarta.xml.bind version mismatch
    * [CXF-9121] - LEAK: ByteBuf.release() was not called before it's garbage-collected
    * [CXF-9124] - TransportURIResolver prints stack trace to stderr when using HTTP Authentication
    * [CXF-9128] - swaref does not use "cid:" reference scheme
    * [CXF-9130] - WrapperClassLoader.generate() should not add null values; createWrapperClass() should log a warning when failing to create wrapper class
    * [CXF-9132] - HttpClientHTTPConduit releases the client while there are connection(s) still using it




** Improvement
    * [CXF-9039] - Run Jakarta RESTful Web Services 3.1 TCK
    * [CXF-9134] - When sending Multipart request do not wrap Attachment into another Attachment



