Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.16.0 release notes #1565

Merged
merged 2 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/project.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Quarkiverse Extension
release:
current-version: 3.15.1
current-major-minor-version: 3.15
next-version: 3.15.2-SNAPSHOT
current-version: 3.16.0
current-major-minor-version: 3.16
next-version: 3.16.1-SNAPSHOT
2 changes: 1 addition & 1 deletion docs/antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ asciidoc:

# Versions
quarkus-version: 3.16.0 # replace ${quarkus.version}
quarkus-cxf-version: 3.15.1 # replace ${release.current-version}
quarkus-cxf-version: 3.16.0 # replace ${release.current-version}

# Toggle whether some page elements are rendered
doc-show-badges: true # Whether JVM / Native badges are rendered
Expand Down
1 change: 1 addition & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
** xref:security-guide/ws-securitypolicy-auth.adoc[WS-SecurityPolicy Authentication]
* xref:release-notes/index.adoc[Release notes]
ifeval::[{doc-is-main} == true]
** xref:release-notes/3.16.0.adoc[3.16.0]
** xref:release-notes/3.15.2.adoc[3.15.2 LTS]
** xref:release-notes/3.15.1.adoc[3.15.1 LTS]
** xref:release-notes/3.15.0.adoc[3.15.0 LTS]
Expand Down
109 changes: 78 additions & 31 deletions docs/modules/ROOT/pages/release-notes/3.16.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,11 @@

== New and noteworthy in {quarkus-cxf-project-name}

=== Vert.x HttpClient based HTTP Conduit is the new default

The `VertxHttpClientHTTPConduitFactory` was xref:release-notes/3.13.0.adoc#_vert_x_httpclient_based_http_conduit[introduced] in {quarkus-cxf-project-name} 3.13.0.
Since then, it went through some improvements and testing
so that we are confident to make it the default for the xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-http-conduit-factory[quarkus.cxf.client."client-name".http-conduit-factory] and
xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-http-conduit-factory[quarkus.cxf.http-conduit-factory] options.
Before this change, the effective default was `URLConnectionHTTPConduitFactory`.

The main motivations for this change are as follows:

* Support for HTTP/2
* Seamless integration with Quarkus, especially in the areas of worker thread poolling and SSL/TLS configuration.

==== Force the old default

There are three options how you can get back to the old default:

* Set the `QUARKUS_CXF_DEFAULT_HTTP_CONDUIT_FACTORY` environment variable to `URLConnectionHTTPConduitFactory`
* Set the global xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-http-conduit-factory[quarkus.cxf.http-conduit-factory] option to `URLConnectionHTTPConduitFactory`
* Set the per client xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-http-conduit-factory[quarkus.cxf.client."client-name".http-conduit-factory] option to `URLConnectionHTTPConduitFactory`

==== Hostname verifiers not supported in combination with `VertxHttpClientHTTPConduitFactory`

Setting `xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-hostname-verifier[quarkus.cxf.client."client-name".hostname-verifier]` together with `VertxHttpClientHTTPConduitFactory` leads to an exception at runtime.

The `AllowAllHostnameVerifier` value of that option can be replaced by using a
xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-tls-configuration-name[named TLS configuration]
with `{link-quarkus-docs-base}/tls-registry-reference#trusting-all-certificates-and-hostname-verification[hostname-verification-algorithm]`
set to `NONE`.

=== https://github.com/quarkiverse/quarkus-cxf/issues/1486[#1486] TLS Registry support

{link-quarkus-docs-base}/tls-registry-reference[Quarkus TLS registry] is an extension provided by Quarkus that centralizes the TLS configuration,
making it easier to manage and maintain secure connections across your application.

`io.quarkus:quarkus-tls-registry` is a transitive dependency of `io.quarkiverse.cxf:quarkus-cxf` since {quarkus-cxf-project-name} 3.16.0,
so you do not have to add it manually.

Expand Down Expand Up @@ -77,12 +48,88 @@ quarkus.cxf.client.hello.trust-store = client-truststore.pkcs12
quarkus.cxf.client.hello.trust-store-password = client-truststore-password
----


=== Vert.x HttpClient based HTTP Conduit is the new default

Vert.x HttpClient based HTTP Conduit was xref:release-notes/3.13.0.adoc#_vert_x_httpclient_based_http_conduit[introduced] in {quarkus-cxf-project-name} 3.13.0.
Its usage was optional through setting the `VertxHttpClientHTTPConduitFactory` on either of the options
`xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-http-conduit-factory[quarkus.cxf.client."client-name".http-conduit-factory]` or
`xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-http-conduit-factory[quarkus.cxf.http-conduit-factory]`:

.application.properties
[source,properties]
----
# Before Quarkus CXF 3.16.0, VertxHttpClientHTTPConduitFactory had to be set explicitly
# Set the HTTPConduitFactory per-client
quarkus.cxf.client."client-name".http-conduit-factory = VertxHttpClientHTTPConduitFactory
# Set the HTTPConduitFactory globally
quarkus.cxf.http-conduit-factory = VertxHttpClientHTTPConduitFactory
----

Since then, it went through some improvements and testing so that we are confident to make it default.

The main motivations for using Vert.x HttpClient based HTTP Conduit as a default are as follows:

* Support for HTTP/2
* Seamless integration with Quarkus, especially in the areas of worker thread poolling and SSL/TLS configuration.


==== Force the old default

Before this change, the effective default was `URLConnectionHTTPConduitFactory`.
It is still supported and tested regularly.

There are three options how you can get back to the old default:

* Set the `QUARKUS_CXF_DEFAULT_HTTP_CONDUIT_FACTORY` environment variable to `URLConnectionHTTPConduitFactory`
* Set the global xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-http-conduit-factory[quarkus.cxf.http-conduit-factory] option to `URLConnectionHTTPConduitFactory`
* Set the per client xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-http-conduit-factory[quarkus.cxf.client."client-name".http-conduit-factory] option to `URLConnectionHTTPConduitFactory`

==== Hostname verifiers not supported in combination with `VertxHttpClientHTTPConduitFactory`

Since {quarkus-cxf-project-name} 3.16.0, setting
`xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-hostname-verifier[quarkus.cxf.client."client-name".hostname-verifier]`
together with using the default `VertxHttpClientHTTPConduitFactory` leads to an exception at runtime.

The `AllowAllHostnameVerifier` value of that option can be replaced by using a
xref:reference/extensions/quarkus-cxf.adoc#quarkus-cxf_quarkus-cxf-client-client-name-tls-configuration-name[named TLS configuration]
with `{link-quarkus-docs-base}/tls-registry-reference#trusting-all-certificates-and-hostname-verification[hostname-verification-algorithm]`
set to `NONE`.

Here is an example: if your configuration before {quarkus-cxf-project-name} 3.16.0 was as follows

.application.properties
[source,properties]
----
# A configuration that worked before Quarkus CXF 3.16.0
quarkus.cxf.client.helloAllowAll.client-endpoint-url = https://localhost:8444/services/hello
quarkus.cxf.client.helloAllowAll.service-interface = io.quarkiverse.cxf.it.security.policy.HelloService
quarkus.cxf.client.helloAllowAll.trust-store = client-truststore.pkcs12
quarkus.cxf.client.helloAllowAll.trust-store-password = secret
quarkus.cxf.client.helloAllowAll.hostname-verifier = AllowAllHostnameVerifier
----

then an equivalent configuration for Quarkus CXF 3.16.0+ is

.application.properties
[source,properties]
----
# An equivalent configuration for Quarkus CXF 3.16.0+
quarkus.tls.helloAllowAll.trust-store.p12.path = client-truststore.pkcs12
quarkus.tls.helloAllowAll.trust-store.p12.password = secret
quarkus.tls.helloAllowAll.hostname-verification-algorithm = NONE
quarkus.cxf.client.helloAllowAll.client-endpoint-url = https://localhost:8444/services/hello
quarkus.cxf.client.helloAllowAll.service-interface = io.quarkiverse.cxf.it.security.policy.HelloService
quarkus.cxf.client.helloAllowAll.tls-configuration-name = helloAllowAll
----


=== Documentation improvements

* The following security related pages were consolidated into a new xref:security-guide/index.adoc[Security guide]:
** xref:user-guide/ssl.adoc[SSL, TLS and HTTPS] - updated with the information about using TLS registry
** xref:user-guide/auth.adoc[Authentication and authorization]
** xref:security-guide/ws-securitypolicy-auth.adoc[Authentication enforced by WS-SecurityPolicy] - newly added page
** xref:security-guide/ws-securitypolicy-auth.adoc[Authentication enforced by WS-SecurityPolicy] - new

== Full changelog

Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/release-notes/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Those are typically released on Wednesday following the {quarkus-cxf-project-nam
|===
| Quarkus CXF | Release date | Quarkus Platform | CXF

| xref:release-notes/3.16.0.adoc[3.16.0] | 2024-10-24 | 3.16.0 | 4.0.5

| xref:release-notes/3.15.2.adoc[3.15.2 LTS] | 2024-10-03 | 3.15.? | 4.0.5
| xref:release-notes/3.15.1.adoc[3.15.1 LTS] | 2024-09-23 | 3.15.0 | 4.0.5
| xref:release-notes/3.15.0.adoc[3.15.0 LTS] | 2024-09-19 | | 4.0.5
Expand Down
Loading