From 58a608240a4c8c32836b08c86cf4e65ad31d61de Mon Sep 17 00:00:00 2001 From: Peter Palaga Date: Thu, 12 Dec 2024 12:18:07 +0100 Subject: [PATCH] 3.17.2 and 3.17.3 release notes --- docs/modules/ROOT/nav.adoc | 2 + .../ROOT/pages/release-notes/3.17.2.adoc | 11 ++++ .../ROOT/pages/release-notes/3.17.3.adoc | 66 +++++++++++++++++++ .../ROOT/pages/release-notes/index.adoc | 4 +- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 docs/modules/ROOT/pages/release-notes/3.17.2.adoc create mode 100644 docs/modules/ROOT/pages/release-notes/3.17.3.adoc diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index ddea51724..8fee8a005 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -39,6 +39,8 @@ * xref:release-notes/index.adoc[Release notes] ifeval::[{doc-is-main} == true] +** xref:release-notes/3.17.3.adoc[3.17.3] +** xref:release-notes/3.17.2.adoc[3.17.2] ** xref:release-notes/3.17.1.adoc[3.17.1] ** xref:release-notes/3.17.0.adoc[3.17.0] ** xref:release-notes/3.16.1.adoc[3.16.1] diff --git a/docs/modules/ROOT/pages/release-notes/3.17.2.adoc b/docs/modules/ROOT/pages/release-notes/3.17.2.adoc new file mode 100644 index 000000000..5eb2de3c6 --- /dev/null +++ b/docs/modules/ROOT/pages/release-notes/3.17.2.adoc @@ -0,0 +1,11 @@ += {quarkus-cxf-project-name} 3.17.2 release notes + +== Important dependency upgrades + +* Quarkus 3.17.2 -> 3.17.3 - https://quarkus.io/blog/quarkus-3-17-3-released/[Release notes] +* `org.apache.httpcomponents.client5:httpclient5` 5.2.3 -> 5.4.1 - https://downloads.apache.org/httpcomponents/httpclient/RELEASE_NOTES-5.4.x.txt[Release notes] +* `org.apache.httpcomponents.core5:httpcore5` 5.2.5 -> 5.3.1 - https://downloads.apache.org/httpcomponents/httpcore/RELEASE_NOTES-5.3.x.txt[Release notes] + +== Full changelog + +https://github.com/quarkiverse/quarkus-cxf/compare/3.17.1+++...+++3.17.2 diff --git a/docs/modules/ROOT/pages/release-notes/3.17.3.adoc b/docs/modules/ROOT/pages/release-notes/3.17.3.adoc new file mode 100644 index 000000000..05c50d69a --- /dev/null +++ b/docs/modules/ROOT/pages/release-notes/3.17.3.adoc @@ -0,0 +1,66 @@ += {quarkus-cxf-project-name} 3.17.3 release notes + +== Important dependency upgrades + +* Santuario XML Security 3.0.4 -> 3.0.5 - https://github.com/apache/santuario-xml-security-java/compare/xmlsec-3.0.4+++...+++xmlsec-3.0.5[All changes] +* WSS4J 3.0.3 -> 3.0.4 - https://issues.apache.org/jira/projects/WSS/versions/12354367[Release notes] + +== Bugfixes + +=== https://github.com/quarkiverse/quarkus-cxf/issues/1646[#1646] `VertxHttpClientHTTPConduit` connects to port 80 when the `client-endpoint-url` starts with `https://` and has no explicit port + +Before {quarkus-cxf-project-name} 3.17.3, when a `VertxHttpClientHTTPConduit`-based client was configured with an endpoint URL like the following + +.application.properties +[source,properties] +---- +quarkus.cxf.client.hello.client-endpoint-url = https://example.com/services/hello +quarkus.cxf.client.hello.service-interface = io.quarkiverse.cxf.deployment.test.HelloService +---- + +where there was no explicit port in the service URL `\https://example.com/services/hello`, +then the client invocation was failing with an exception similar to this one: + +[source,bash] +---- +WARN [org.apa.cxf.pha.PhaseInterceptorChain] (executor-thread-1) Interceptor for [REMOVED] has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Could not send Message. + at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67) + at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) + at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530) + at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441) + at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356) + at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314) + at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) + at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) + at jdk.proxy5/jdk.proxy5.$Proxy269.hello(Unknown Source) + ... +Caused by: java.io.IOException: Unable to connect to https://example.com/services/hello + at io.quarkiverse.cxf.vertx.http.client.VertxHttpClientHTTPConduit$RequestBodyHandler.awaitRequest(VertxHttpClientHTTPConduit.java:922) + at io.quarkiverse.cxf.vertx.http.client.VertxHttpClientHTTPConduit$RequestBodyHandler.handle(VertxHttpClientHTTPConduit.java:578) + at io.quarkiverse.cxf.vertx.http.client.VertxHttpClientHTTPConduit$RequestBodyHandler.handle(VertxHttpClientHTTPConduit.java:425) + at io.quarkiverse.cxf.vertx.http.client.VertxHttpClientHTTPConduit$RequestBodyOutputStream.close(VertxHttpClientHTTPConduit.java:420) + at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) + at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:717) + at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) + ... 69 more +Caused by: javax.net.ssl.SSLHandshakeException: Failed to create SSL connection + at io.vertx.core.net.impl.ChannelProvider$1.userEventTriggered(ChannelProvider.java:127) + at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:398) + at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:376) + at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:368) + at io.netty.handler.ssl.SslUtils.handleHandshakeFailure(SslUtils.java:495) + at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:2025) + ... +Caused by: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record: [long sequence of number and lower case letters] + at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1342) + ... 20 more +---- + +This was caused by the fact that `io.vertx.core.http.HttpClient` uses port 80 as a default for all URIs not stating the port explicitly. +Therefore the request was sent to port 80 instead of 443 (the proper default for HTTPS). + +Since {quarkus-cxf-project-name} 3.17.3, `VertxHttpClientHTTPConduit` handles the default port for HTTPS protocol correctly. + +== Full changelog + +https://github.com/quarkiverse/quarkus-cxf/compare/3.17.0+++...+++3.17.3 diff --git a/docs/modules/ROOT/pages/release-notes/index.adoc b/docs/modules/ROOT/pages/release-notes/index.adoc index 0252e9026..18ca2bc29 100644 --- a/docs/modules/ROOT/pages/release-notes/index.adoc +++ b/docs/modules/ROOT/pages/release-notes/index.adoc @@ -20,7 +20,9 @@ Those are typically released on Wednesday following the {quarkus-cxf-project-nam |=== | Quarkus CXF | Release date | Quarkus Platform | CXF -| xref:release-notes/3.17.1.adoc[3.17.1] | 2024-12-01 | ? | 4.0.5 +| xref:release-notes/3.17.3.adoc[3.17.3] | 2024-12-06 | 3.17.4 | 4.0.5 +| xref:release-notes/3.17.2.adoc[3.17.2] | 2024-12-04 | | 4.0.5 +| xref:release-notes/3.17.1.adoc[3.17.1] | 2024-12-01 | 3.17.3 | 4.0.5 | xref:release-notes/3.17.0.adoc[3.17.0] | 2024-11-27 | 3.17.0 | 4.0.5 | xref:release-notes/3.16.1.adoc[3.16.1] | 2024-10-24 | 3.16.0 | 4.0.5