Apache CXF 4.2.1 Release Notes

1. Overview

The 4.2.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 11
    * Support of Spring Framework 7 / Spring Boot 4 /  Spring Security 7
    * Jetty 12.1
    * Weld 6
    * Spring LDAP 4
    * Hibernate 7.2
    * Hibernate Validator 9.1
    * Apache Tika 3.2
    * Jackson 3.0
    * Tomcat 11
    * Undertow 2.4
    * Apache Lucene 10 (needs JDK-21)
    * JUnit 6
    * Apache Mina 3
    * Apache HttpClient 5.5
    * AssertJ 4.0
    * Micrometer 1.16.0 / Micrometer Tracing 1.6.0
    * Apache HttpClient5 5.6 (compression changes)
    * JSpecify annotations (instead of jakarta.* equivalents)
    * Glassfish Grizzly Http Server 5.0.0 (needs JDK-21)

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

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


4.2.1 fixes over 15 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/42-migration-guide.html
for caveats when upgrading.

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

** Bug
    * [CXF-8748] - nonProxyHosts is case sensitive
    * [CXF-9054] - LocalDate before April 1893 incorrectly parsed
    * [CXF-9147] - WSDL to Java: Missing namespace since 4.1.*
    * [CXF-9189] - Exceptions Not Logged When Using SseEventSink in JAX-RS SSE Endpoint
    * [CXF-9200] - Regression with respect to security context propagation
    * [CXF-9204] - FailoverFeature NPE in ClientImpl.onMessage with Undertow 2.4.0.RC1
    * [CXF-9205] - The org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor invalidates the signed SOAP Header elemements
    * [CXF-9206] - Duplicated value of 'cxf.server.requests' metric for JAX RS Server
    * [CXF-9209] - UriInfoImpl#getMatchedResourceTemplate does not work for Paths with variables
    * [CXF-9210] - JAX-RS Client Fails When CacheControlFeature is used but Server Doesn't return Cache-Control Header
    * [CXF-9212] - Restrict valid URL protocols in TLSParameterJaxBUtils and URIResolver



** New Feature
    * [CXF-9008] - FIPS support

** Improvement
    * [CXF-9174] - Allow overriding buildPredicate in JPACriteriaQueryVisitor for custom predicates
    * [CXF-9207] - Improve multipart Content-Disposition formatting (optional space after form-data;) for better interoperability with strict WAFs
    * [CXF-9211] - [JAX-RS proxy clients] Use template URL instead of actual path values for JAX-RS micrometer metrics


