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

TLS registry named config and Quarkus Messaging Kafka or Kafka Client can lead to failed application startup #43107

Closed
michalvavrik opened this issue Sep 7, 2024 · 16 comments · Fixed by #43116
Assignees
Labels
Milestone

Comments

@michalvavrik
Copy link
Member

michalvavrik commented Sep 7, 2024

Describe the bug

I have app using Quarkus Messaging Kafka, TLS registry and (one of the ways to reproduce it also uses Kafka streams other uses Kafka Client). Most of the time application fails to start.

Expected behavior

Application starts.

Actual behavior

Startup fails and following exception is logged:

2024-09-07 13:21:05,927 ERROR [io.qua.run.Application] (Quarkus Main Thread) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:116)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:541)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:137)
	at io.quarkus.kafka.streams.runtime.KafkaStreamsProducer.<init>(KafkaStreamsProducer.java:107)
	at io.quarkus.kafka.streams.runtime.KafkaStreamsProducer_Bean.doCreate(Unknown Source)
	at io.quarkus.kafka.streams.runtime.KafkaStreamsProducer_Bean.create(Unknown Source)
	at io.quarkus.kafka.streams.runtime.KafkaStreamsProducer_Bean.create(Unknown Source)
	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
	at io.quarkus.arc.impl.ComputingCacheContextInstances.computeIfAbsent(ComputingCacheContextInstances.java:19)
	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
	at io.quarkus.kafka.streams.runtime.KafkaStreamsProducer_Observer_onStartup_eonSDFgmJKlmEvopYKyyKONG1pI.notify(Unknown Source)
	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:333)
	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:156)
	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:107)
	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
	... 11 more
Caused by: org.apache.kafka.common.KafkaException: Failed to create new NetworkClient
	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:252)
	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:189)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:525)
	... 32 more
Caused by: org.apache.kafka.common.KafkaException: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
	at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:184)
	at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:192)
	at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
	at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:119)
	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:223)
	... 34 more
Caused by: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
	at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
	at io.quarkus.tls.runtime.CertificateRecorder.get(CertificateRecorder.java:134)
	at io.quarkus.kafka.client.tls.QuarkusKafkaSslEngineFactory.configure(QuarkusKafkaSslEngineFactory.java:101)
	at org.apache.kafka.common.security.ssl.SslFactory.instantiateSslEngineFactory(SslFactory.java:141)
	at org.apache.kafka.common.security.ssl.SslFactory.configure(SslFactory.java:98)
	at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:180)
	... 38 more

And in case of KafkaAdminClient the stacktrace is:

16:42:45,524 INFO  [app] 16:42:43,577 Failed to start application: java.lang.RuntimeException: Failed to start quarkus
16:42:45,524 INFO  [app] 	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
16:42:45,524 INFO  [app] 	at io.quarkus.runtime.Application.start(Application.java:101)
16:42:45,524 INFO  [app] 	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
16:42:45,524 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
16:42:45,524 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
16:42:45,524 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
16:42:45,524 INFO  [app] 	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
16:42:45,524 INFO  [app] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
16:42:45,525 INFO  [app] 	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
16:42:45,525 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
16:42:45,525 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
16:42:45,525 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.internals.LegacyKafkaConsumer.<init>(LegacyKafkaConsumer.java:264)
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.internals.ConsumerDelegateCreator.create(ConsumerDelegateCreator.java:65)
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:600)
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:595)
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:576)
16:42:45,525 INFO  [app] 	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:556)
16:42:45,525 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider.getSslConsumer(SslKafkaProvider.java:53)
16:42:45,525 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider_ProducerMethod_getSslConsumer_NFS8yLBckt8VZAzW5baLLACHtyY_Bean.doCreate(Unknown Source)
16:42:45,525 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider_ProducerMethod_getSslConsumer_NFS8yLBckt8VZAzW5baLLACHtyY_Bean.create(Unknown Source)
16:42:45,525 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider_ProducerMethod_getSslConsumer_NFS8yLBckt8VZAzW5baLLACHtyY_Bean.create(Unknown Source)
16:42:45,525 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
16:42:45,525 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.ComputingCacheContextInstances.computeIfAbsent(ComputingCacheContextInstances.java:19)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
16:42:45,526 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider_ProducerMethod_getSslConsumer_NFS8yLBckt8VZAzW5baLLACHtyY_Bean.get(Unknown Source)
16:42:45,526 INFO  [app] 	at io.quarkus.qe.messaging.ssl.providers.SslKafkaProvider_ProducerMethod_getSslConsumer_NFS8yLBckt8VZAzW5baLLACHtyY_Bean.get(Unknown Source)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.InstanceImpl.getBeanInstance(InstanceImpl.java:325)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.InstanceImpl.getInternal(InstanceImpl.java:309)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.InstanceImpl.get(InstanceImpl.java:190)
16:42:45,526 INFO  [app] 	at io.quarkus.qe.messaging.ssl.quickstart.SslKafkaEndpoint.initialize(SslKafkaEndpoint.java:46)
16:42:45,526 INFO  [app] 	at io.quarkus.qe.messaging.ssl.quickstart.SslKafkaEndpoint_Observer_initialize_fXpzbA0Aag2X1uiiwypy52BybQ4.notify(Unknown Source)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:333)
16:42:45,526 INFO  [app] 	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
16:42:45,527 INFO  [app] 	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:156)
16:42:45,527 INFO  [app] 	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:107)
16:42:45,527 INFO  [app] 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
16:42:45,527 INFO  [app] 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
16:42:45,527 INFO  [app] 	... 11 more
16:42:45,527 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: Failed to create new NetworkClient
16:42:45,527 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:252)
16:42:45,527 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:162)
16:42:45,527 INFO  [app] 	at org.apache.kafka.clients.consumer.internals.ConsumerUtils.createConsumerNetworkClient(ConsumerUtils.java:86)
16:42:45,527 INFO  [app] 	at org.apache.kafka.clients.consumer.internals.LegacyKafkaConsumer.<init>(LegacyKafkaConsumer.java:191)
16:42:45,527 INFO  [app] 	... 41 more
16:42:45,527 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
16:42:45,527 INFO  [app] 	at org.apache.kafka.common.network.SslChannelBuilder.configure(SslChannelBuilder.java:77)
16:42:45,528 INFO  [app] 	at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:192)
16:42:45,528 INFO  [app] 	at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
16:42:45,528 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:119)
16:42:45,528 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:223)
16:42:45,528 INFO  [app] 	... 44 more
16:42:45,528 INFO  [app] Caused by: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
16:42:45,528 INFO  [app] 	at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
16:42:45,528 INFO  [app] 	at io.quarkus.tls.runtime.CertificateRecorder.get(CertificateRecorder.java:134)
16:42:45,528 INFO  [app] 	at io.quarkus.kafka.client.tls.QuarkusKafkaSslEngineFactory.configure(QuarkusKafkaSslEngineFactory.java:101)
16:42:45,528 INFO  [app] 	at org.apache.kafka.common.security.ssl.SslFactory.instantiateSslEngineFactory(SslFactory.java:141)
16:42:45,528 INFO  [app] 	at org.apache.kafka.common.security.ssl.SslFactory.configure(SslFactory.java:98)
16:42:45,528 INFO  [app] 	at org.apache.kafka.common.network.SslChannelBuilder.configure(SslChannelBuilder.java:73)
16:42:45,529 INFO  [app] 	... 48 more

How to Reproduce?

I have 3 reproducers, in the first one, application fails to start always. In the second one (DEV mode) I experience it most of the time, but not always. You need to retry. However the first reproducer is build and started by QE FW and it might be less convenient for debugging. The third one follows Admin client docs.

First reproducer (JVM mode):

git clone [email protected]:michalvavrik/quarkus-test-suite.git -b feature/tls-registry-kafka
cd quarkus-test-suite/messaging/kafka-streams-reactive-messaging
mvn clean verify -Dit.test=SaslSslAlertMonitorIT

Second reproducer (DEV mode) (please note that Topology is not good, I know but it fails before it's validated anyway):

quarkus create app --extensions=messaging-kafka,kafka-streams,resteasy-jsonb,tls-registry

cd code-with-quarkus/
quarkus tls generate-certificate -n clement -p top-secret

# important: now update quarkus.tls.sasl-monitor.trust-store.p12.path with console output, e.g. Trust Store File: /tmp/code-with-quarkus/.certs/clement-truststore.p12 so take the truststore path

cat <<EOF >> ./src/main/resources/application.properties
quarkus.kafka-streams.topics=words
kafka.tls-configuration-name=sasl-monitor
quarkus.tls.sasl-monitor.trust-store.p12.password=top-secret
quarkus.tls.sasl-monitor.trust-store.p12.path=/tmp/strimzi-server-ssl-certs10979500127798639243/strimzi-server-ssl-truststore.p12
kafka.ssl.enable=true
ssl.endpoint.identification.algorithm=https
kafka.sasl.mechanism=SCRAM-SHA-512
kafka.security.protocol=SASL_SSL
kafka.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="client" password="client-secret12345678912345678912";
EOF

cat <<EOF > ./src/main/java/org/acme/TopologyProducer.java
package org.acme;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Produces;

import org.apache.kafka.common.serialization.Serdes;
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.Topology;
import org.apache.kafka.streams.kstream.Consumed;
import org.apache.kafka.streams.kstream.GlobalKTable;
import org.apache.kafka.streams.kstream.Materialized;
import org.apache.kafka.streams.state.KeyValueBytesStoreSupplier;
import org.apache.kafka.streams.state.Stores;

import io.quarkus.kafka.client.serialization.ObjectMapperSerde;

@ApplicationScoped
public class TopologyProducer {

    static final String WEATHER_STATIONS_STORE = "weather-stations-store";

    private static final String WEATHER_STATIONS_TOPIC = "weather-stations";
    private static final String TEMPERATURE_VALUES_TOPIC = "temperature-values";
    private static final String TEMPERATURES_AGGREGATED_TOPIC = "temperatures-aggregated";

    @Produces
    public Topology buildTopology() {
        StreamsBuilder builder = new StreamsBuilder();

        ObjectMapperSerde<String> weatherStationSerde = new ObjectMapperSerde<>(
                String.class);
        ObjectMapperSerde<String> aggregationSerde = new ObjectMapperSerde<>(String.class);

        KeyValueBytesStoreSupplier storeSupplier = Stores.persistentKeyValueStore(
                WEATHER_STATIONS_STORE);

        GlobalKTable<String, String> stations = builder.globalTable(
                WEATHER_STATIONS_TOPIC,
                Consumed.with(Serdes.String(), weatherStationSerde));

        builder.stream(
                        TEMPERATURE_VALUES_TOPIC,
                        Consumed.with(Serdes.String(), Serdes.String())
                )
                .join(                                                        // <3>
                        stations,
                        (stationId, timestampAndValue) -> stationId,
                        (timestampAndValue, station) -> new String(station)
                )
                .groupByKey()                                                 // <4>
                .aggregate(                                                   // <5>
                        String::new,
                        (stationId, value, aggregation) -> aggregation,
                        Materialized.<String, String> as(storeSupplier)
                                .withKeySerde(Serdes.String())
                                .withValueSerde(aggregationSerde)
                )
                .toStream()
                .to(
                        TEMPERATURES_AGGREGATED_TOPIC
                );

        return builder.build();
    }
}
EOF

quarkus dev

Third reproducer - this one uses Kafka Client and Quarkus Messaging Kafka

What is does is that it implements Kafka reference example here https://quarkus.io/guides/kafka#kafka-bare-clients and it creates KafkaAdminClient like with properties:

@Inject
    @Identifier("default-kafka-broker")
    Map<String, Object> config;
git clone [email protected]:michalvavrik/quarkus-test-suite.git -b feature/kafka-tls-registry
cd quarkus-test-suite/messaging/kafkaSSL
mvn clean verify -Dit.test=KafkaSslWithTlsRegistryIT

Output of uname -a or ver

Fedora 40

Output of java -version

OpenJDK 21

Quarkus version or git rev

999-SNAPSHOT & 3.14.x

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.9

Additional information

No response

Copy link

quarkus-bot bot commented Sep 7, 2024

/cc @alesj (kafka), @cescoffier (kafka), @ozangunalp (kafka)

@michalvavrik
Copy link
Member Author

@cescoffier I wrote race because it doesn't happen when Kafka Streams are not present and once I started the DEV mode and it didn't fail. I might have done mistake in that particular attempt, in which case it fails always.

@michalvavrik
Copy link
Member Author

Ah, yeah, sometimes it takes longer for it to fail, now I saw it again.

@michalvavrik
Copy link
Member Author

Oh, I just found 3rd way how to reproduce it, and this time it's just quarkus-kafka-client and quarkus-messaging-kafka, I'll update issue description with details in a bit.

@michalvavrik michalvavrik changed the title Race between TLS registry and Quarkus Messaging Kafka leads to failed application startup Race between TLS registry and Quarkus Messaging Kafka or Kafka Client leads to failed application startup Sep 7, 2024
@michalvavrik michalvavrik changed the title Race between TLS registry and Quarkus Messaging Kafka or Kafka Client leads to failed application startup TLS registry named config and Quarkus Messaging Kafka or Kafka Client can lead to failed application startup Sep 7, 2024
@cescoffier
Copy link
Member

Kafka streams is not really supported (let's say it's behind). If you have a reproducer with the reactive messaging connector it would be great.

@michalvavrik
Copy link
Member Author

Kafka streams is not really supported (let's say it's behind). If you have a reproducer with the reactive messaging connector it would be great.

I have application with Quarkus Messaging Kafka and one of Kafka client/Kafka Streams. And if Quarkus sets io.quarkus.kafka.client.tls.QuarkusKafkaSslEngineFactory and it results in NPE, I'd say it is user experience issue.

I provided 3 different reproducers, if they are not supported, I suggest to improve validation error so that people like me don't spend time on this. Thank you

@gsmet
Copy link
Member

gsmet commented Sep 7, 2024

AFAICS, there is a reproducer with just Kafka Client and Quarkus Messaging Kafka so we probably need to get things working.

Also, we shouldn't get a race condition and a NPE, even if the extension is not supported.

@cescoffier
Copy link
Member

I agree that we need to fix it, but we will start with the connector. Kafka streams if the error is different will done in a second step.

@michalvavrik
Copy link
Member Author

I agree that we need to fix it, but we will start with the connector. Kafka streams if the error is different will done in a second step.

Understand. As far as standalone reproducer, I don't have it ATM and I have had a long week. Next week if I am assigned to this I'll try to create one, but well, it's unlikely I'll. Please use the reproducers I have and if there is another bug, we need to wait for a user that reports it. Thank you

@cescoffier
Copy link
Member

Well, seems that in all the reproducer it's the unmanaged client what is failing (admin, or the streams one). It is likely to not support the TLS registry. Now, it should not fail.

@michalvavrik
Copy link
Member Author

Well, seems that in all the reproducer it's the unmanaged client what is failing (admin, or the streams one). It is likely to not support the TLS registry. Now, it should not fail.

I followed Quarkus Kafka reference to create that unmanaged client. I think it needs better validation and documentation then. Thanks

@michalvavrik
Copy link
Member Author

I respect that they are not supported scenarios now that I know it. And you agree it needs to be documented, I am happy, thank you.

@michalvavrik
Copy link
Member Author

@cescoffier I spend some more time on this and managed to reproduce this with managed Quarkus KafkaAdminClient.

19:36:07,314 INFO  [app] 19:36:05,471 Failed to start application: java.lang.RuntimeException: Failed to start quarkus
19:36:07,314 INFO  [app] 	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
19:36:07,314 INFO  [app] 	at io.quarkus.runtime.Application.start(Application.java:101)
19:36:07,315 INFO  [app] 	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
19:36:07,315 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
19:36:07,315 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
19:36:07,316 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
19:36:07,316 INFO  [app] 	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
19:36:07,316 INFO  [app] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
19:36:07,316 INFO  [app] 	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
19:36:07,317 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
19:36:07,317 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
19:36:07,317 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
19:36:07,317 INFO  [app] 	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:541)
19:36:07,318 INFO  [app] 	at org.apache.kafka.clients.admin.Admin.create(Admin.java:147)
19:36:07,318 INFO  [app] 	at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:49)
19:36:07,318 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient.init(KafkaAdminClient.java:40)
19:36:07,318 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient_Bean.doCreate(Unknown Source)
19:36:07,319 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient_Bean.create(Unknown Source)
19:36:07,319 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient_Bean.create(Unknown Source)
19:36:07,319 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
19:36:07,319 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
19:36:07,320 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
19:36:07,320 INFO  [app] 	at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.c43(Unknown Source)
19:36:07,320 INFO  [app] 	at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.computeIfAbsent(Unknown Source)
19:36:07,320 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
19:36:07,321 INFO  [app] 	at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
19:36:07,321 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient_ClientProxy.arc$delegate(Unknown Source)
19:36:07,321 INFO  [app] 	at io.quarkus.kafka.client.runtime.KafkaAdminClient_ClientProxy.getTopics(Unknown Source)
19:36:07,321 INFO  [app] 	at io.quarkus.qe.messaging.ssl.quickstart.SslKafkaEndpoint.initialize(SslKafkaEndpoint.java:46)
19:36:07,322 INFO  [app] 	at io.quarkus.qe.messaging.ssl.quickstart.SslKafkaEndpoint_Observer_initialize_lpn1Kf5ZWJHu7ZdC9-r650-ixTY.notify(Unknown Source)
19:36:07,322 INFO  [app] 	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
19:36:07,322 INFO  [app] 	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:333)
19:36:07,323 INFO  [app] 	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
19:36:07,323 INFO  [app] 	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:156)
19:36:07,323 INFO  [app] 	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:107)
19:36:07,323 INFO  [app] 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
19:36:07,324 INFO  [app] 	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
19:36:07,324 INFO  [app] 	... 11 more
19:36:07,324 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: Failed to create new NetworkClient
19:36:07,325 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:252)
19:36:07,325 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:189)
19:36:07,325 INFO  [app] 	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:525)
19:36:07,326 INFO  [app] 	... 35 more
19:36:07,326 INFO  [app] Caused by: org.apache.kafka.common.KafkaException: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
19:36:07,326 INFO  [app] 	at org.apache.kafka.common.network.SslChannelBuilder.configure(SslChannelBuilder.java:77)
19:36:07,326 INFO  [app] 	at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:192)
19:36:07,327 INFO  [app] 	at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
19:36:07,327 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:119)
19:36:07,327 INFO  [app] 	at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:223)
19:36:07,327 INFO  [app] 	... 37 more
19:36:07,327 INFO  [app] Caused by: java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
19:36:07,327 INFO  [app] 	at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
19:36:07,327 INFO  [app] 	at io.quarkus.tls.runtime.CertificateRecorder.get(CertificateRecorder.java:134)
19:36:07,327 INFO  [app] 	at io.quarkus.kafka.client.tls.QuarkusKafkaSslEngineFactory.configure(QuarkusKafkaSslEngineFactory.java:101)
19:36:07,327 INFO  [app] 	at org.apache.kafka.common.security.ssl.SslFactory.instantiateSslEngineFactory(SslFactory.java:141)
19:36:07,327 INFO  [app] 	at org.apache.kafka.common.security.ssl.SslFactory.configure(SslFactory.java:98)
19:36:07,328 INFO  [app] 	at org.apache.kafka.common.network.SslChannelBuilder.configure(SslChannelBuilder.java:73)
19:36:07,328 INFO  [app] 	... 41 more

steps:

git clone [email protected]:michalvavrik/quarkus-test-suite.git -b repro/managedkafka-client
cd quarkus-test-suite/messaging/kafkaSSL
mvn clean verify -Dit.test=KafkaSslWithTlsRegistryIT

@cescoffier
Copy link
Member

I see 2 potential issues:

  • the registry is not yet initialized. Normally we do that in the processor to make sure the registry is initialized, it may have been missed (what is odd is that it should have been an Arc issue)

  • if cannot find the tls-configuration-name. Anyway if not found it should skip the whole thing.

@ozangunalp
Copy link
Contributor

Agree on the second point.

We could've been slightly more defensive and check for tls-configuration-name key existing on the Kafka config map, but that custom SSL engine factory is used only when there is a tls-configuration-name set.

So maybe the registry is initialized but tls-configuration-name is not found. I need to debug to see why this is happening .

@ozangunalp
Copy link
Contributor

Of course, internal admin clients (created for health checks and the Kafka streams extension) filter out non-admin-client property names to avoid the annoying Kafka log of unrecognized property names.
But I guess we don't have a choice in that case, we need to allow passing the tls-configuration-name key to the client configs.

ozangunalp added a commit to ozangunalp/quarkus that referenced this issue Sep 7, 2024
ozangunalp added a commit to ozangunalp/quarkus that referenced this issue Sep 7, 2024
@cescoffier cescoffier self-assigned this Sep 8, 2024
@quarkus-bot quarkus-bot bot added this to the 3.16 - main milestone Sep 9, 2024
@gsmet gsmet removed this from the 3.16 - main milestone Sep 9, 2024
@gsmet gsmet added this to the 3.14.3 milestone Sep 9, 2024
gsmet pushed a commit to gsmet/quarkus that referenced this issue Sep 9, 2024
…ka config, when it is configured

Fixes quarkusio#43107

(cherry picked from commit 965bc69)
danielsoro pushed a commit to danielsoro/quarkus that referenced this issue Sep 20, 2024
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Sep 28, 2024
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.233.0` -> `^0.247.0`](https://renovatebot.com/diffs/npm/flow-bin/0.233.0/0.247.1) |
| [org.postgresql:postgresql](https://jdbc.postgresql.org) ([source](https://github.com/pgjdbc/pgjdbc)) | build | patch | `42.7.3` -> `42.7.4` |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | minor | `4.27.0` -> `4.29.2` |
| [org.jsoup:jsoup](https://jsoup.org/) ([source](https://github.com/jhy/jsoup)) | compile | minor | `1.17.2` -> `1.18.1` |
| [net.java.dev.jna:jna](https://github.com/java-native-access/jna) | compile | minor | `5.14.0` -> `5.15.0` |
| [io.hypersistence:hypersistence-utils-hibernate-62](https://github.com/vladmihalcea/hypersistence-utils) | compile | minor | `3.7.3` -> `3.8.2` |
| [org.hibernate.orm:hibernate-envers](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | minor | `6.4.4.Final` -> `6.6.1.Final` |
| [org.hibernate.orm:hibernate-core](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | minor | `6.4.4.Final` -> `6.6.1.Final` |
| [com.blazebit:blaze-persistence-bom](https://persistence.blazebit.com) ([source](https://github.com/Blazebit/blaze-persistence)) | import | patch | `1.6.11` -> `1.6.12` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.9.2` -> `3.15.1` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.9.2` -> `3.15.1` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://maven.apache.org/enforcer/) | build | minor | `3.4.1` -> `3.5.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.247.1`](https://github.com/flowtype/flow-bin/compare/10b085506316e3df04e6524249812434671efaa6...70454fda20bc6aedf0824bdc85b97b47f2e5f8a2)

[Compare Source](https://github.com/flowtype/flow-bin/compare/10b085506316e3df04e6524249812434671efaa6...70454fda20bc6aedf0824bdc85b97b47f2e5f8a2)

### [`v0.247.0`](https://github.com/flowtype/flow-bin/compare/20ab003f3a24c2799c5971f663393d5af82794d3...10b085506316e3df04e6524249812434671efaa6)

[Compare Source](https://github.com/flowtype/flow-bin/compare/20ab003f3a24c2799c5971f663393d5af82794d3...10b085506316e3df04e6524249812434671efaa6)

### [`v0.246.0`](https://github.com/flowtype/flow-bin/compare/85a0d04d7c141e1667afaa057401994ced0e765f...20ab003f3a24c2799c5971f663393d5af82794d3)

[Compare Source](https://github.com/flowtype/flow-bin/compare/85a0d04d7c141e1667afaa057401994ced0e765f...20ab003f3a24c2799c5971f663393d5af82794d3)

### [`v0.245.2`](https://github.com/flowtype/flow-bin/compare/9063cfaf3ed5da8031a928adef10ae5f35fd9078...85a0d04d7c141e1667afaa057401994ced0e765f)

[Compare Source](https://github.com/flowtype/flow-bin/compare/9063cfaf3ed5da8031a928adef10ae5f35fd9078...85a0d04d7c141e1667afaa057401994ced0e765f)

### [`v0.245.1`](https://github.com/flowtype/flow-bin/compare/a1d3980687d16ccd587bd34664057f7f215eb99c...9063cfaf3ed5da8031a928adef10ae5f35fd9078)

[Compare Source](https://github.com/flowtype/flow-bin/compare/a1d3980687d16ccd587bd34664057f7f215eb99c...9063cfaf3ed5da8031a928adef10ae5f35fd9078)

### [`v0.245.0`](https://github.com/flowtype/flow-bin/compare/89816515a2450b76be86b9dcbb1b875c04777272...a1d3980687d16ccd587bd34664057f7f215eb99c)

[Compare Source](https://github.com/flowtype/flow-bin/compare/89816515a2450b76be86b9dcbb1b875c04777272...a1d3980687d16ccd587bd34664057f7f215eb99c)

### [`v0.244.0`](https://github.com/flowtype/flow-bin/compare/0db80b23abf49b4685591cb8ea2bda7633d638e1...89816515a2450b76be86b9dcbb1b875c04777272)

[Compare Source](https://github.com/flowtype/flow-bin/compare/0db80b23abf49b4685591cb8ea2bda7633d638e1...89816515a2450b76be86b9dcbb1b875c04777272)

### [`v0.243.0`](https://github.com/flowtype/flow-bin/compare/d83988cef7089dad1c3749bd8f2acef1f69393b0...0db80b23abf49b4685591cb8ea2bda7633d638e1)

[Compare Source](https://github.com/flowtype/flow-bin/compare/d83988cef7089dad1c3749bd8f2acef1f69393b0...0db80b23abf49b4685591cb8ea2bda7633d638e1)

### [`v0.242.1`](https://github.com/flowtype/flow-bin/compare/370552e762b2ef8fbfe7a9f0f5796218a5816b9c...d83988cef7089dad1c3749bd8f2acef1f69393b0)

[Compare Source](https://github.com/flowtype/flow-bin/compare/370552e762b2ef8fbfe7a9f0f5796218a5816b9c...d83988cef7089dad1c3749bd8f2acef1f69393b0)

### [`v0.242.0`](https://github.com/flowtype/flow-bin/compare/925098ae8b6bc4a15cdc69adfd48380e92de50fd...370552e762b2ef8fbfe7a9f0f5796218a5816b9c)

[Compare Source](https://github.com/flowtype/flow-bin/compare/925098ae8b6bc4a15cdc69adfd48380e92de50fd...370552e762b2ef8fbfe7a9f0f5796218a5816b9c)

### [`v0.241.0`](https://github.com/flowtype/flow-bin/compare/5a823f36c8e38b0c0b050da02e3a30db752076df...925098ae8b6bc4a15cdc69adfd48380e92de50fd)

[Compare Source](https://github.com/flowtype/flow-bin/compare/5a823f36c8e38b0c0b050da02e3a30db752076df...925098ae8b6bc4a15cdc69adfd48380e92de50fd)

### [`v0.240.0`](https://github.com/flowtype/flow-bin/compare/0327290783f593218ed77036d23989a8613d9e6c...5a823f36c8e38b0c0b050da02e3a30db752076df)

[Compare Source](https://github.com/flowtype/flow-bin/compare/0327290783f593218ed77036d23989a8613d9e6c...5a823f36c8e38b0c0b050da02e3a30db752076df)

### [`v0.239.1`](https://github.com/flowtype/flow-bin/compare/43818100eee78b634a406c1f8596303a90903863...0327290783f593218ed77036d23989a8613d9e6c)

[Compare Source](https://github.com/flowtype/flow-bin/compare/43818100eee78b634a406c1f8596303a90903863...0327290783f593218ed77036d23989a8613d9e6c)

### [`v0.239.0`](https://github.com/flowtype/flow-bin/compare/1fd806b4f0b469859df26fb86c741c37c532cd82...43818100eee78b634a406c1f8596303a90903863)

[Compare Source](https://github.com/flowtype/flow-bin/compare/1fd806b4f0b469859df26fb86c741c37c532cd82...43818100eee78b634a406c1f8596303a90903863)

### [`v0.238.3`](https://github.com/flowtype/flow-bin/compare/e07895360fef9ac997c059a9872ad4522024b979...1fd806b4f0b469859df26fb86c741c37c532cd82)

[Compare Source](https://github.com/flowtype/flow-bin/compare/e07895360fef9ac997c059a9872ad4522024b979...1fd806b4f0b469859df26fb86c741c37c532cd82)

### [`v0.238.2`](https://github.com/flowtype/flow-bin/compare/9e702bc625706909abec18a2e213e58979198300...e07895360fef9ac997c059a9872ad4522024b979)

[Compare Source](https://github.com/flowtype/flow-bin/compare/9e702bc625706909abec18a2e213e58979198300...e07895360fef9ac997c059a9872ad4522024b979)

### [`v0.238.1`](https://github.com/flowtype/flow-bin/compare/4777db2e9c0a1e93b59b7e71dab9254a1d5ae476...9e702bc625706909abec18a2e213e58979198300)

[Compare Source](https://github.com/flowtype/flow-bin/compare/4777db2e9c0a1e93b59b7e71dab9254a1d5ae476...9e702bc625706909abec18a2e213e58979198300)

### [`v0.238.0`](https://github.com/flowtype/flow-bin/compare/d10459018eecc0569ac4eca99d61f6f119ec4e88...4777db2e9c0a1e93b59b7e71dab9254a1d5ae476)

[Compare Source](https://github.com/flowtype/flow-bin/compare/d10459018eecc0569ac4eca99d61f6f119ec4e88...4777db2e9c0a1e93b59b7e71dab9254a1d5ae476)

### [`v0.237.2`](https://github.com/flowtype/flow-bin/compare/c90ffb77c988e84f8f2f8f35cec4478fa29474da...d10459018eecc0569ac4eca99d61f6f119ec4e88)

[Compare Source](https://github.com/flowtype/flow-bin/compare/c90ffb77c988e84f8f2f8f35cec4478fa29474da...d10459018eecc0569ac4eca99d61f6f119ec4e88)

### [`v0.237.1`](https://github.com/flowtype/flow-bin/compare/a7d70600c007668013567c20ba8997c1f08fd401...c90ffb77c988e84f8f2f8f35cec4478fa29474da)

[Compare Source](https://github.com/flowtype/flow-bin/compare/a7d70600c007668013567c20ba8997c1f08fd401...c90ffb77c988e84f8f2f8f35cec4478fa29474da)

### [`v0.237.0`](https://github.com/flowtype/flow-bin/compare/367281e370b4283b9b6fef94472392c435b6531b...a7d70600c007668013567c20ba8997c1f08fd401)

[Compare Source](https://github.com/flowtype/flow-bin/compare/367281e370b4283b9b6fef94472392c435b6531b...a7d70600c007668013567c20ba8997c1f08fd401)

### [`v0.236.0`](https://github.com/flowtype/flow-bin/compare/359a953247f67c56ecea7cc413cfcd9bbcf34397...367281e370b4283b9b6fef94472392c435b6531b)

[Compare Source](https://github.com/flowtype/flow-bin/compare/359a953247f67c56ecea7cc413cfcd9bbcf34397...367281e370b4283b9b6fef94472392c435b6531b)

### [`v0.235.1`](https://github.com/flowtype/flow-bin/compare/143bb64cafd66efacbe8df5c669aee86b77ce9b6...359a953247f67c56ecea7cc413cfcd9bbcf34397)

[Compare Source](https://github.com/flowtype/flow-bin/compare/143bb64cafd66efacbe8df5c669aee86b77ce9b6...359a953247f67c56ecea7cc413cfcd9bbcf34397)

### [`v0.234.0`](https://github.com/flowtype/flow-bin/compare/2ebcdf3a8f03993e8ccab9e9fb6742000b54f929...143bb64cafd66efacbe8df5c669aee86b77ce9b6)

[Compare Source](https://github.com/flowtype/flow-bin/compare/2ebcdf3a8f03993e8ccab9e9fb6742000b54f929...143bb64cafd66efacbe8df5c669aee86b77ce9b6)

</details>

<details>
<summary>pgjdbc/pgjdbc</summary>

### [`v42.7.4`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#&#8203;4274-2024-08-22-080000--0400)

##### Added

-   chore: SCRAM dependency to 3.1 and support channel binding [MR #&#8203;3188](https://github.com/pgjdbc/pgjdbc/pull/3188)
-   chore: Add PostgreSQL 15, 16, and 17beta1 to CI tests [MR #&#8203;3299](https://github.com/pgjdbc/pgjdbc/pull/3299)
-   test: Update to 17beta3 [MR #&#8203;3308](https://github.com/pgjdbc/pgjdbc/pull/3308)
-   chore: Implement direct SSL ALPN connections [MR #&#8203;3252](https://github.com/pgjdbc/pgjdbc/pull/3252)
-   translation: Add Korean translation file [MR #&#8203;3276](https://github.com/pgjdbc/pgjdbc/pull/3276)

##### Fixed

-   fix: PgInterval ignores case for represented interval string [MR #&#8203;3344](https://github.com/pgjdbc/pgjdbc/pull/3344)
-   perf: Avoid extra copies when receiving int4 and int2 in PGStream [MR #&#8203;3295](https://github.com/pgjdbc/pgjdbc/pull/3295)
-   fix: Add support for Infinity::numeric values in ResultSet.getObject [MR #&#8203;3304](https://github.com/pgjdbc/pgjdbc/pull/3304)
-   fix: Ensure order of results for getDouble [MR #&#8203;3301](https://github.com/pgjdbc/pgjdbc/pull/3301)
-   perf: Replace BufferedOutputStream with unsynchronized PgBufferedOutputStream, allow configuring different Java and SO_SNDBUF buffer sizes [MR #&#8203;3248](https://github.com/pgjdbc/pgjdbc/pull/3248)
-   fix: Fix SSL tests [MR #&#8203;3260](https://github.com/pgjdbc/pgjdbc/pull/3260)
-   fix: Support bytea in preferQueryMode=simple [MR #&#8203;3243](https://github.com/pgjdbc/pgjdbc/pull/3243)
-   fix:  Fix [#&#8203;3234](https://github.com/pgjdbc/pgjdbc/issues/3234) - Return -1 as update count for stored procedure calls [MR #&#8203;3235](https://github.com/pgjdbc/pgjdbc/pull/3235)
-   fix:  Fix [#&#8203;3224](https://github.com/pgjdbc/pgjdbc/issues/3224) - conversion for TIME '24:00' to LocalTime breaks in binary-mode [MR #&#8203;3225](https://github.com/pgjdbc/pgjdbc/pull/3225)
-   perf:  Speed up getDate by parsing bytes instead of String [MR #&#8203;3141](https://github.com/pgjdbc/pgjdbc/pull/3141)
-   fix: support PreparedStatement.setBlob(1, Blob) and PreparedStatement.setClob(1, Clob) for lobs that return -1 for length [MR #&#8203;3136](https://github.com/pgjdbc/pgjdbc/pull/3136)
-   fix: Validates resultset Params in PGStatement constructor. uses assertThro… [MR #&#8203;3171](https://github.com/pgjdbc/pgjdbc/pull/3171)
-   fix: Validates resultset parameters [MR #&#8203;3167](https://github.com/pgjdbc/pgjdbc/pull/3167)
-   docs: Replace greater to with greater than [MR #&#8203;3315](https://github.com/pgjdbc/pgjdbc/pull/3315)
-   docs: Clarify binaryTransfer and prepareThreshold [MR #&#8203;3338](https://github.com/pgjdbc/pgjdbc/pull/3338)
-   docs: use.md, typo [MR #&#8203;3314](https://github.com/pgjdbc/pgjdbc/pull/3314)
-   test: Use docker v2 which changes docker-compose to docker compose  [#&#8203;3339](https://github.com/pgjdbc/pgjdbc/pull/3339)
-   refactor: Merge PgPreparedStatement#setBinaryStream int and long methods [MR #&#8203;3165](https://github.com/pgjdbc/pgjdbc/pull/3165)
-   test: Test both binaryMode=true,false when creating connections in DatabaseMetaDataTest [MR #&#8203;3231](https://github.com/pgjdbc/pgjdbc/pull/3231)
-   docs: Fixed typos in all source code and documentations [MR #&#8203;3242](https://github.com/pgjdbc/pgjdbc/pull/3242)
-   chore: Remove self-hosted runner [MR #&#8203;3227](https://github.com/pgjdbc/pgjdbc/pull/3227)
-   docs: Add cancelSignalTimeout in README [MR #&#8203;3190](https://github.com/pgjdbc/pgjdbc/pull/3190)
-   docs: Document READ_ONLY_MODE in README [MR #&#8203;3175](https://github.com/pgjdbc/pgjdbc/pull/3175)
-   test: Test for +/- infinity double values [MR #&#8203;3294](https://github.com/pgjdbc/pgjdbc/pull/3294)
-   test: Switch localhost and auth-test around for test-gss [MR #&#8203;3343](https://github.com/pgjdbc/pgjdbc/pull/3343)
-   fix: remove preDescribe from internalExecuteBatch [MR #&#8203;2883](https://github.com/pgjdbc/pgjdbc/pull/2883)

##### Deprecated

-   test: Deprecate all PostgreSQL versions older than 9.1 [MR #&#8203;3335](https://github.com/pgjdbc/pgjdbc/pull/3335)

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.29.2`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4292-is-a-patch-release)

[Compare Source](https://github.com/liquibase/liquibase/compare/v4.29.1...v4.29.2)

> Liquibase 4.29.2 patches minor issues found in Liquibase 4.29.1 release.

### [`v4.29.1`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4291-is-a-patch-release)

[Compare Source](https://github.com/liquibase/liquibase/compare/v4.29.0...v4.29.1)

-   Liquibase 4.29.1 patches a pom mismatch in the Liquibase BigQuery Commercial Extension.

-   Liquibase 4.29.1 resolves an issue with the zip distribution where all files were incorrectly placed inside liquibase-4.29.1 directory. This update ensures proper file organization and installation.

### [`v4.29.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4290-is-a-major-release)

[Compare Source](https://github.com/liquibase/liquibase/compare/v4.28.0...v4.29.0)

> \[!IMPORTANT]
> Liquibase 4.29.0 contains several New Capabilities and Notable Enhancements for Liquibase Pro users: Python-based Custom Policy Checks and a new Big Query extension.
> \[!NOTE]
> See the [Liquibase 4.29.0 Release Notes](https://docs.liquibase.com/start/release-notes/liquibase-release-notes/liquibase-4.29.0.html) for the complete set of release information.

### [`v4.28.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4280-is-a-major-release)

[Compare Source](https://github.com/liquibase/liquibase/compare/v4.27.0...v4.28.0)

</details>

<details>
<summary>jhy/jsoup</summary>

### [`v1.18.1`](https://github.com/jhy/jsoup/blob/HEAD/CHANGES.md#&#8203;1181-2024-Jul-10)

##### Improvements

-   **Stream Parser**: A `StreamParser` provides a progressive parse of its input. As each `Element` is completed, it is
    emitted via a `Stream` or `Iterator` interface. Elements returned will be complete with all their children, and an
    (empty) next sibling, if applicable. Elements (or their children) may be removed from the DOM during the parse,
    for e.g. to conserve memory, providing a mechanism to parse an input document that would otherwise be too large to fit
    into memory, yet still providing a DOM interface to the document and its elements. Additionally, the parser provides
    a `selectFirst(String query)` / `selectNext(String query)`, which will run the parser until a hit is found, at which
    point the parse is suspended. It can be resumed via another `select()` call, or via the `stream()` or `iterator()`
    methods. [2096](https://github.com/jhy/jsoup/pull/2096)
-   **Download Progress**: added a Response Progress event interface, which reports progress and URLs are downloaded (and
    parsed). Supported on both a session and a single connection
    level. [2164](https://github.com/jhy/jsoup/pull/2164), [656](https://github.com/jhy/jsoup/issues/656)
-   Added `Path` accepting parse methods: `Jsoup.parse(Path)`, `Jsoup.parse(path, charsetName, baseUri, parser)`,
    etc. [2055](https://github.com/jhy/jsoup/pull/2055)
-   Updated the `button` tag configuration to include a space between multiple button elements in the `Element.text()`
    method. [2105](https://github.com/jhy/jsoup/issues/2105)
-   Added support for the `ns|*` all elements in namespace Selector. [1811](https://github.com/jhy/jsoup/issues/1811)
-   When normalising attribute names during serialization, invalid characters are now replaced with `_`, vs being
    stripped. This should make the process clearer, and generally prevent an invalid attribute name being coerced
    unexpectedly. [2143](https://github.com/jhy/jsoup/issues/2143)

##### Changes

-   Removed previously deprecated internal classes and methods. [2094](https://github.com/jhy/jsoup/pull/2094)
-   Build change: the built jar's OSGi manifest no longer imports itself. [2158](https://github.com/jhy/jsoup/issues/2158)

##### Bug Fixes

-   When tracking source positions, if the first node was a TextNode, its position was incorrectly set
    to `-1.` [2106](https://github.com/jhy/jsoup/issues/2106)
-   When connecting (or redirecting) to URLs with characters such as `{`, `}` in the path, a Malformed URL exception would
    be thrown (if in development), or the URL might otherwise not be escaped correctly (if in
    production). The URL encoding process has been improved to handle these characters
    correctly. [2142](https://github.com/jhy/jsoup/issues/2142)
-   When using `W3CDom` with a custom output Document, a Null Pointer Exception would be
    thrown. [2114](https://github.com/jhy/jsoup/pull/2114)
-   The `:has()` selector did not match correctly when using sibling combinators (like
    e.g.: `h1:has(+h2)`). [2137](https://github.com/jhy/jsoup/issues/2137)
-   The `:empty` selector incorrectly matched elements that started with a blank text node and were followed by
    non-empty nodes, due to an incorrect short-circuit. [2130](https://github.com/jhy/jsoup/issues/2130)
-   `Element.cssSelector()` would fail with "Did not find balanced marker" when building a selector for elements that had
    a `(` or `[` in their class names. And selectors with those characters escaped would not match as
    expected. [2146](https://github.com/jhy/jsoup/issues/2146)
-   Updated `Entities.escape(string)` to make the escaped text suitable for both text nodes and attributes (previously was
    only for text nodes). This does not impact the output of `Element.html()` which correctly applies a minimal escape
    depending on if the use will be for text data or in a quoted
    attribute. [1278](https://github.com/jhy/jsoup/issues/1278)
-   Fuzz: a Stack Overflow exception could occur when resolving a crafted `<base href>` URL, in the normalizing regex.
    [2165](https://github.com/jhy/jsoup/issues/2165)

***

</details>

<details>
<summary>java-native-access/jna</summary>

### [`v5.15.0`](https://github.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5150)

[Compare Source](https://github.com/java-native-access/jna/compare/5.14.0...5.15.0)

\==============

## Features

-   [#&#8203;1578](https://github.com/java-native-access/jna/pull/1578): Add support for FreeBSD aarch64 - [@&#8203;alexdupre](https://github.com/alexdupre).
-   [#&#8203;1593](https://github.com/java-native-access/jna/pull/1593): Add support for DragonFly BSD x86-64 - [@&#8203;liweitianux](https://github.com/liweitianux).
-   [#&#8203;1595](https://github.com/java-native-access/jna/pull/1595): Add `IsProcessorFeaturePresent` to `c.s.j.p.win32.Kernel32` - [@&#8203;dbwiddis](https://github.com/dbwiddis).
-   [#&#8203;1602](https://github.com/java-native-access/jna/pull/1602): Add `XMoveWindow`, `XResizeWindow`, `XMoveResizeWindow`, `XRaiseWindow`, `XLowerWindow` X11 calls to `c.s.j.p.unix.X11` - [@&#8203;vinceh121](https://github.com/vinceh121).
-   [#&#8203;1613](https://github.com/java-native-access/jna/issues/1613): Added static helper method \`Native#getNativeLibrary' for getting the underlying NativeLibrary instance from a Library interface instance or from a "registered" class - [@&#8203;matthiasblaesing](https://github.com/matthiasblaesing).
-   [#&#8203;1624](https://github.com/java-native-access/jna/pull/1624): Enable linker build-id for android builds - [@&#8203;mstyura](https://github.com/mstyura).

## Bug Fixes

-   [#&#8203;1579](https://github.com/java-native-access/jna/issues/1579): Fix analysis of ELF binary on arm systems running with a java ELF binary without section table headers (java8 on armv7 NAS) - [@&#8203;matthiasblaesing](https://github.com/matthiasblaesing).
-   [#&#8203;1586](https://github.com/java-native-access/jna/issues/1586): Fix free_callback JNI weak reference leak - [@&#8203;xiezhaokun](https://github.com/xiezhaokun).
-   [6486c90d913a413f247eef84742ce3c474738933](https://github.com/java-native-access/jna/commit/6486c90d913a413f247eef84742ce3c474738933): Check CallbackReference#cbstruct for null when checking existing Reference - [@&#8203;matthiasblaesing](https://github.com/matthiasblaesing).
-   [#&#8203;1622](https://github.com/java-native-access/jna/issues/1622): Add "linux-riscv64" entry to OSGI Bundle-NativeCode header in MANIFEST.MF  - [@&#8203;matthiasblaesing](https://github.com/matthiasblaesing).

</details>

<details>
<summary>vladmihalcea/hypersistence-utils</summary>

### [`v3.8.2`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-382---July-25-2024)

\================================================================================

Add JsonClobType and improve JsonType to support CLOB column types [#&#8203;734](https://github.com/vladmihalcea/hypersistence-utils/issues/734)

### [`v3.8.1`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-381---July-03-2024)

\================================================================================

Enhance BatchSequenceGenerator with support for IdGeneratorType [#&#8203;728](https://github.com/vladmihalcea/hypersistence-utils/issues/728)

### [`v3.8.0`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-380---June-27-2024)

\================================================================================

Add support for mapping Java Enums to custom ordinal values [#&#8203;730](https://github.com/vladmihalcea/hypersistence-utils/issues/730)

### [`v3.7.7`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-377---June-21-2024)

\================================================================================

Remove hypersistence-utils-hibernate-52 module [#&#8203;726](https://github.com/vladmihalcea/hypersistence-utils/issues/726)

MonetaryAmountType should use currency instead of property for the second attribute [#&#8203;707](https://github.com/vladmihalcea/hypersistence-utils/issues/707)

### [`v3.7.6`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-376---June-04-2024)

\================================================================================

Use Spring Data Range as an alternative to PostgreSQL range type [#&#8203;721](https://github.com/vladmihalcea/hypersistence-utils/issues/721)

ListArrayType on Set entity attribute fails for EntityManager.merge operation [#&#8203;717](https://github.com/vladmihalcea/hypersistence-utils/issues/717)

### [`v3.7.5`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-375---April-29-2024)

\================================================================================

NullableCharacterType prevents Hibernate from escaping backslash properly [#&#8203;715](https://github.com/vladmihalcea/hypersistence-utils/issues/715)

### [`v3.7.4`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-374---April-18-2024)

\================================================================================

Make the JsonTypeDescriptor thread-safe [#&#8203;713](https://github.com/vladmihalcea/hypersistence-utils/issues/713)

Equals method not found on abstract class [#&#8203;709](https://github.com/vladmihalcea/hypersistence-utils/issues/709)

</details>

<details>
<summary>hibernate/hibernate-orm</summary>

### [`v6.6.1.Final`](https://github.com/hibernate/hibernate-orm/compare/6.6.0...6.6.1)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.6.0...6.6.1)

### [`v6.6.0.Final`](https://github.com/hibernate/hibernate-orm/compare/6.5.3...6.6.0)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.5.3...6.6.0)

### [`v6.5.3.Final`](https://github.com/hibernate/hibernate-orm/compare/6.5.2...6.5.3)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.5.2...6.5.3)

### [`v6.5.2.Final`](https://github.com/hibernate/hibernate-orm/compare/6.5.1...6.5.2)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.5.1...6.5.2)

### [`v6.5.1.Final`](https://github.com/hibernate/hibernate-orm/compare/6.5.0...6.5.1)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.5.0...6.5.1)

### [`v6.5.0.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.10...6.5.0)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.10...6.5.0)

### [`v6.4.10.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.9...6.4.10)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.9...6.4.10)

### [`v6.4.9.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.9)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.9)

### [`v6.4.8.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.7...6.4.8)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.7...6.4.8)

### [`v6.4.7.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.6...6.4.7)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.6...6.4.7)

### [`v6.4.6.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.5...6.4.6)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.5...6.4.6)

### [`v6.4.5.Final`](https://github.com/hibernate/hibernate-orm/compare/6.4.4...6.4.5)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.4.4...6.4.5)

</details>

<details>
<summary>Blazebit/blaze-persistence</summary>

### [`v1.6.12`](https://github.com/Blazebit/blaze-persistence/blob/HEAD/CHANGELOG.md#&#8203;1612)

[Compare Source](https://github.com/Blazebit/blaze-persistence/compare/1.6.11...1.6.12)

02/08/2024 - [Release tag](https://github.com/Blazebit/blaze-persistence/releases/tag/1.6.12) [Resolved issues](https://github.com/Blazebit/blaze-persistence/issues?q=is%3Aissue+milestone%3A1.6.12+is%3Aclosed+sort%3Aupdated-desc)

##### New features

-   Add support for Spring Data/Boot 3.3
-   Add `date_iso`, `time_iso` and `timestamp_iso` internal functions

##### Bug fixes

-   Fix bug in collection insert code triggered by Hibernate ORM 6.4.2
-   Fix concurrency issue leading to NPE when concurrently creating entity view updaters
-   Fix `CAST_STRING` for SQL Server
-   Ensure Spring Jackson integration copies `ObjectMapper` bean
-   Fix entity view processor generated code for `@MappingSingular` leading to compilation error
-   Fix `MULTISET` issues with temporal `BasicUserType`

##### Backwards-incompatible changes

None yet

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v3.15.1`](https://github.com/quarkusio/quarkus/releases/tag/3.15.1)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.15.0...3.15.1)

##### Complete changelog

-   [#&#8203;38531](https://github.com/quarkusio/quarkus/issues/38531) - Compilation fails on Azure Functions Blob Trigger
-   [#&#8203;42711](https://github.com/quarkusio/quarkus/pull/42711) - Bump Keycloak version to 25.0.4
-   [#&#8203;43305](https://github.com/quarkusio/quarkus/issues/43305) - gRPC bidi streaming testing in DevUI is broken
-   [#&#8203;43310](https://github.com/quarkusio/quarkus/issues/43310) - Docs: config property names in the generated docs are no longer links
-   [#&#8203;43311](https://github.com/quarkusio/quarkus/pull/43311) - Fix a few issues with the local proxy for REST Client feature
-   [#&#8203;43337](https://github.com/quarkusio/quarkus/pull/43337) - Fix gRPC DevUI testing console
-   [#&#8203;43343](https://github.com/quarkusio/quarkus/pull/43343) - Minor updates to the Getting Started with Security doc
-   [#&#8203;43344](https://github.com/quarkusio/quarkus/pull/43344) - The logging guide review for 3.15
-   [#&#8203;43355](https://github.com/quarkusio/quarkus/pull/43355) - Remove unnecessary symbols that force you to change lines after copying each time
-   [#&#8203;43371](https://github.com/quarkusio/quarkus/pull/43371) - The Data source guide review for-3-15
-   [#&#8203;43377](https://github.com/quarkusio/quarkus/pull/43377) - Docs: Fix example in "Accessing Static Fields and Methods"
-   [#&#8203;43391](https://github.com/quarkusio/quarkus/issues/43391) - Quarkus Spring Data documentation should document newly supported interfaces and update existing examples
-   [#&#8203;43403](https://github.com/quarkusio/quarkus/pull/43403) - Fix classloading in AzureFunctionsProcessor#findFunctions
-   [#&#8203;43407](https://github.com/quarkusio/quarkus/pull/43407) - Picocli guide - add a note about passing arguments for gradle project
-   [#&#8203;43411](https://github.com/quarkusio/quarkus/pull/43411) - Remove a duplicated line in the TLS registry guide
-   [#&#8203;43414](https://github.com/quarkusio/quarkus/issues/43414) - Update protobuf-java to 3.25.5
-   [#&#8203;43426](https://github.com/quarkusio/quarkus/pull/43426) - Bump Keycloak version to 25.0.6
-   [#&#8203;43431](https://github.com/quarkusio/quarkus/pull/43431) - Bump protoc/protobuf-java from 3.25.3 to 3.25.5
-   [#&#8203;43447](https://github.com/quarkusio/quarkus/pull/43447) - Update  headings to  headings to prevent confusing numbering
-   [#&#8203;43451](https://github.com/quarkusio/quarkus/pull/43451) - Spring APIs - Document newly supported interfaces and update existing examples
-   [#&#8203;43457](https://github.com/quarkusio/quarkus/pull/43457) - Remove a superfluous quote in the GraphQL client docs
-   [#&#8203;43460](https://github.com/quarkusio/quarkus/pull/43460) - Small followup for Picocli + Gradle improvement
-   [#&#8203;43493](https://github.com/quarkusio/quarkus/pull/43493) - Config Doc - Bring back the links for config sections and properties

### [`v3.15.0`](https://github.com/quarkusio/quarkus/releases/tag/3.15.0)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.14.4...3.15.0)

##### Complete changelog

-   [#&#8203;43207](https://github.com/quarkusio/quarkus/pull/43207) - Cleanup & nitpicks on guide: security-jwt
-   [#&#8203;43297](https://github.com/quarkusio/quarkus/issues/43297) - Using jib with opentelemetry cannot produce a stable library layer
-   [#&#8203;43300](https://github.com/quarkusio/quarkus/pull/43300) - Set filtered jar's manifest time to epoch
-   [#&#8203;43309](https://github.com/quarkusio/quarkus/pull/43309) - Follow up of the fix making jar file reference close idempotent with minor comments and refactor
-   [#&#8203;43313](https://github.com/quarkusio/quarkus/pull/43313) - Smallrye GraphQL: add missing federation annotations to index
-   [#&#8203;43314](https://github.com/quarkusio/quarkus/pull/43314) - Make sure server log load on Dev UI start
-   [#&#8203;43315](https://github.com/quarkusio/quarkus/pull/43315) - TLS reference guide IDs' unification

### [`v3.14.4`](https://github.com/quarkusio/quarkus/releases/tag/3.14.4)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.14.3...3.14.4)

##### Complete changelog

-   [#&#8203;29604](https://github.com/quarkusio/quarkus/issues/29604) - Add quarkus property to set the hibernate flushmode
-   [#&#8203;37618](https://github.com/quarkusio/quarkus/issues/37618) - No server chosen by com.mongodb.reactivestreams: Failed looking up SRV record
-   [#&#8203;42706](https://github.com/quarkusio/quarkus/pull/42706) - TLS reference guide review: Follow-up
-   [#&#8203;43087](https://github.com/quarkusio/quarkus/pull/43087) - Messaging extensions doc update for tls-registry usage
-   [#&#8203;43187](https://github.com/quarkusio/quarkus/issues/43187) - Pulsar devservice is not starting on RHEL 8 aarch64
-   [#&#8203;43212](https://github.com/quarkusio/quarkus/pull/43212) - Fixed Maven artifact resolver initialization in QuarkusProjectMojoBase
-   [#&#8203;43217](https://github.com/quarkusio/quarkus/issues/43217) - Calling blocking code from SecurityIdentityAugmentor causes concurrent requests to be limited by the number of event loop threads
-   [#&#8203;43222](https://github.com/quarkusio/quarkus/pull/43222) - Introduce retry into Mongo DNS resolution
-   [#&#8203;43224](https://github.com/quarkusio/quarkus/pull/43224) - Bump com.gradle.plugin-publish from 1.2.2 to 1.3.0 in /devtools/gradle
-   [#&#8203;43228](https://github.com/quarkusio/quarkus/issues/43228) - Fails to shutdown when using grpc and kafka-streams extensions
-   [#&#8203;43234](https://github.com/quarkusio/quarkus/pull/43234) - Add a note on JsonFormat annotation and ORM FormatMapper
-   [#&#8203;43246](https://github.com/quarkusio/quarkus/pull/43246) - Expose property `quarkus.hibernate-orm.flush.mode`
-   [#&#8203;43247](https://github.com/quarkusio/quarkus/issues/43247) - Application hangs when using quarkus.http.ssl.certificate.reload-period less than 30s
-   [#&#8203;43248](https://github.com/quarkusio/quarkus/pull/43248) - Don't execute blocking security code serially as it limits concurrent blocking execution to number of the event loops
-   [#&#8203;43252](https://github.com/quarkusio/quarkus/pull/43252) - Properly fail when TLS reload config is invalid
-   [#&#8203;43257](https://github.com/quarkusio/quarkus/pull/43257) - Fix jar file reference close race condition
-   [#&#8203;43261](https://github.com/quarkusio/quarkus/issues/43261) - Quarkus is using an H2 version with a regression causing data loss
-   [#&#8203;43263](https://github.com/quarkusio/quarkus/pull/43263) - KafkaStreamsProducer no longer shuts down the injected executorservice
-   [#&#8203;43265](https://github.com/quarkusio/quarkus/pull/43265) - Downgrade H2 to 2.3.230
-   [#&#8203;43266](https://github.com/quarkusio/quarkus/pull/43266) - \[3.15] Revert Gradle cache compatibility changes
-   [#&#8203;43275](https://github.com/quarkusio/quarkus/pull/43275) - Use the branch version to compile the quickstarts
-   [#&#8203;43277](https://github.com/quarkusio/quarkus/pull/43277) - Fix an OidcEndpoint typo in the OIDC doc
-   [#&#8203;43279](https://github.com/quarkusio/quarkus/pull/43279) - Downgrade the default pulsar devservice image to 3.2.4
-   [#&#8203;43289](https://github.com/quarkusio/quarkus/pull/43289) - Do not define quarkus.version as it makes Keycloak resolution fail

### [`v3.14.3`](https://github.com/quarkusio/quarkus/releases/tag/3.14.3)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.14.2...3.14.3)

##### Complete changelog

-   [#&#8203;30087](https://github.com/quarkusio/quarkus/issues/30087) - jbang does not persist Q:CONFIG keys nor build set keys
-   [#&#8203;32831](https://github.com/quarkusio/quarkus/issues/32831) - Hibernate Validator Failure When TZ Set to Non-UTC
-   [#&#8203;41558](https://github.com/quarkusio/quarkus/pull/41558) - Add documentation for vertx and qute integration
-   [#&#8203;41559](https://github.com/quarkusio/quarkus/issues/41559) - Add documentation for Vertx and Qute integration
-   [#&#8203;42256](https://github.com/quarkusio/quarkus/issues/42256) - Gradle early task configuration causes `  quarkus.container-image. ` properties to be ignored
-   [#&#8203;42496](https://github.com/quarkusio/quarkus/pull/42496) - Configuration Cache compatibility (`QuarkusGenerateCode` - `QuarkusBuid`)
-   [#&#8203;42511](https://github.com/quarkusio/quarkus/pull/42511) - TLS Reference guide grammar check and review
-   [#&#8203;42724](https://github.com/quarkusio/quarkus/issues/42724) - gRPC Server INTERNAL: HTTP status code 400 When Upgrading from 3.12.3 > 3.13.0
-   [#&#8203;42751](https://github.com/quarkusio/quarkus/issues/42751) - `tls` command not found despite the extension present in the application
-   [#&#8203;42851](https://github.com/quarkusio/quarkus/issues/42851) - classic resteasy-client: ensure sub-resources are also proxied
-   [#&#8203;42875](https://github.com/quarkusio/quarkus/pull/42875) - Compatibility with configuration cache for image tasks
-   [#&#8203;42905](https://github.com/quarkusio/quarkus/pull/42905) - Port resteasy fix for sub-resources
-   [#&#8203;42908](https://github.com/quarkusio/quarkus/issues/42908) - Cannot initialize file manager
-   [#&#8203;42948](https://github.com/quarkusio/quarkus/pull/42948) - Document generic synthetic bean creation
-   [#&#8203;42990](https://github.com/quarkusio/quarkus/issues/42990) - `logout.backchannel.path` fails when `http.root-path` is present - Again
-   [#&#8203;42995](https://github.com/quarkusio/quarkus/pull/42995) - Fix minor typo: Use correct syntax for TIP admonition
-   [#&#8203;42998](https://github.com/quarkusio/quarkus/pull/42998) - Error page and not found page now looks the same in prod mode
-   [#&#8203;43000](https://github.com/quarkusio/quarkus/pull/43000) - Fix registration of backchannel logout route
-   [#&#8203;43009](https://github.com/quarkusio/quarkus/pull/43009) - mention gradle dsl kts not supported in quarkus update
-   [#&#8203;43010](https://github.com/quarkusio/quarkus/pull/43010) - Fix error message when a REST Client throws an exception
-   [#&#8203;43015](https://github.com/quarkusio/quarkus/pull/43015) - REST: comment out useless 10K System.out.printl() in the DrainTest
-   [#&#8203;43017](https://github.com/quarkusio/quarkus/issues/43017) - DefaultJaxRsRolesAllowedImplMethodSecuredTest produces a large number of errors
-   [#&#8203;43018](https://github.com/quarkusio/quarkus/pull/43018) - Reduce log clutter in security tests
-   [#&#8203;43019](https://github.com/quarkusio/quarkus/pull/43019) - Properly escape log message additions
-   [#&#8203;43020](https://github.com/quarkusio/quarkus/issues/43020) - Store Quarkus version in native executable
-   [#&#8203;43021](https://github.com/quarkusio/quarkus/issues/43021) - Decorated stacktrace that is added to the log record is not properly decorated
-   [#&#8203;43023](https://github.com/quarkusio/quarkus/pull/43023) - Reduce Agroal pool logging
-   [#&#8203;43025](https://github.com/quarkusio/quarkus/pull/43025) - Support transitive extensions when searching for plugins
-   [#&#8203;43028](https://github.com/quarkusio/quarkus/pull/43028) - Bump org.jboss.marshalling:jboss-marshalling from 2.2.0.Final to 2.2.1.Final
-   [#&#8203;43029](https://github.com/quarkusio/quarkus/pull/43029) - Bump mongo-client.version from 5.1.3 to 5.1.4
-   [#&#8203;43040](https://github.com/quarkusio/quarkus/issues/43040) - Excluding depencency from arc based on group id only results in NoSuchElementException
-   [#&#8203;43041](https://github.com/quarkusio/quarkus/pull/43041) - Update Vertx to version 4.5.10
-   [#&#8203;43043](https://github.com/quarkusio/quarkus/pull/43043) - Fix Arc dependency exclusion configuration
-   [#&#8203;43044](https://github.com/quarkusio/quarkus/issues/43044) - include sbom feature in LTS
-   [#&#8203;43045](https://github.com/quarkusio/quarkus/pull/43045) - Embed quarkus version in native executable as a global string symbol
-   [#&#8203;43051](https://github.com/quarkusio/quarkus/issues/43051) - Show exception cause during logging filter initialization
-   [#&#8203;43052](https://github.com/quarkusio/quarkus/pull/43052) - Show exception cause during logging filter initialization
-   [#&#8203;43055](https://github.com/quarkusio/quarkus/pull/43055) - Avoid publishing the `docs` module in Maven Central in extension template
-   [#&#8203;43063](https://github.com/quarkusio/quarkus/pull/43063) - Bump com.gradle:common-custom-user-data-maven-extension from 2 to 2.0.1
-   [#&#8203;43066](https://github.com/quarkusio/quarkus/pull/43066) - Add Application links on the welcome page
-   [#&#8203;43070](https://github.com/quarkusio/quarkus/pull/43070) - Add a note about let's encrypt challenge requiring the port 80 to be accessible
-   [#&#8203;43071](https://github.com/quarkusio/quarkus/issues/43071) - Quarkus CLI for extension setting old rest name
-   [#&#8203;43082](https://github.com/quarkusio/quarkus/pull/43082) - Fix guide URL in web-dependency-locator
-   [#&#8203;43083](https://github.com/quarkusio/quarkus/pull/43083) - Apply quarkus-rest-client-oidc-token-propagation name
-   [#&#8203;43085](https://github.com/quarkusio/quarkus/pull/43085) - \[3.14] Fix Boolean serializer
-   [#&#8203;43089](https://github.com/quarkusio/quarkus/pull/43089) - Avoid using "Reactive" for Quarkus REST in security doc
-   [#&#8203;43095](https://github.com/quarkusio/quarkus/pull/43095) - Qute: fix unsatisfied exception when recording rendered results is off
-   [#&#8203;43096](https://github.com/quarkusio/quarkus/pull/43096) - Use a Quarkus-specific clock provider that is reinitialized at runtime
-   [#&#8203;43107](https://github.com/quarkusio/quarkus/issues/43107) - TLS registry named config and Quarkus Messaging Kafka or Kafka Client can lead to failed application startup
-   [#&#8203;43108](https://github.com/quarkusio/quarkus/pull/43108) - Use the shared JsonProvider when creating Jsonb instance
-   [#&#8203;43109](https://github.com/quarkusio/quarkus/issues/43109) - Documentation generation for configuration properties in OIDC module leaves out plenty of information
-   [#&#8203;43112](https://github.com/quarkusio/quarkus/pull/43112) - Fix visual studio code svg
-   [#&#8203;43113](https://github.com/quarkusio/quarkus/issues/43113) - Documentation is not rendering the VSCode icon
-   [#&#8203;43115](https://github.com/quarkusio/quarkus/pull/43115) - Config Doc - Configure OIDC Common annotation processor for legacy root
-   [#&#8203;43116](https://github.com/quarkusio/quarkus/pull/43116) - Kafka TLS Registry integration: include tls-configuration-name in Kafka config
-   [#&#8203;43118](https://github.com/quarkusio/quarkus/pull/43118) - Fix doc numeration level of lists extension methods
-   [#&#8203;43126](https://github.com/quarkusio/quarkus/pull/43126) - Allows users to exclude DefaultMismatchedInputException
-   [#&#8203;43131](https://github.com/quarkusio/quarkus/pull/43131) - Revert "Satisfy GraalVM's classpath needs for the deletion of `org.h2.fulltext.FullTextLucene`"
-   [#&#8203;43132](https://github.com/quarkusio/quarkus/pull/43132) - Fix obsolete name in integration tests pom.xml of quarkus extension codestart
-   [#&#8203;43135](https://github.com/quarkusio/quarkus/issues/43135) - The class CertificateReloadedEvent missing
-   [#&#8203;43137](https://github.com/quarkusio/quarkus/pull/43137) - The CDI event fired after a successful update of certificates was wrong in the documentation
-   [#&#8203;43139](https://github.com/quarkusio/quarkus/pull/43139) - \[3.14] Initial support for SBOM generation and CycloneDX
-   [#&#8203;43142](https://github.com/quarkusio/quarkus/pull/43142) - Fix flaky OTel tests
-   [#&#8203;43157](https://github.com/quarkusio/quarkus/pull/43157) - \[3.14] Make generated Jackson serializers to work with null values of boxed types
-   [#&#8203;43160](https://github.com/quarkusio/quarkus/pull/43160) - Add runtime properties to Quarkus builder
-   [#&#8203;43168](https://github.com/quarkusio/quarkus/pull/43168) - Update rest-data-panache docs to clarify experimental status
-   [#&#8203;43169](https://github.com/quarkusio/quarkus/pull/43169) - Fixes error if annotation processing directories do not exist
-   [#&#8203;43194](https://github.com/quarkusio/quarkus/pull/43194) - Fix javadoc for quarkus.bootstrap.incubating-model-resolver
-   [#&#8203;43195](https://github.com/quarkusio/quarkus/pull/43195) - Config Doc - Reset list status for passthrough maps

### [`v3.14.2`](https://github.com/quarkusio/quarkus/releases/tag/3.14.2)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.14.1...3.14.2)

##### Complete changelog

-   [#&#8203;31375](https://github.com/quarkusio/quarkus/issues/31375) - RuntimeException using VirtualThreads with Jacoco
-   [#&#8203;31802](https://github.com/quarkusio/quarkus/issues/31802) - Unauthenticated request with a request path that contains a semicolon results in a server exception when using OIDC
-   [#&#8203;34395](https://github.com/quarkusio/quarkus/issues/34395) - Spring Data API Extension Property Expressions with List not working
-   [#&#8203;41854](https://github.com/quarkusio/quarkus/issues/41854) - REST request fails after adding maven dependency to quarkus-opentelemetry
-   [#&#8203;41927](https://github.com/quarkusio/quarkus/pull/41927) - Fix off-by-one issue caused by ObservabilityIntegrationRecorder using its own method for getting path without prefix
-   [#&#8203;42098](https://github.com/quarkusio/quarkus/issues/42098) - Kotlin junit ParameterizedTest with list as argument, not working anymore (3.13.0.CR1)
-   [#&#8203;42109](https://github.com/quarkusio/quarkus/pull/42109) - Make sure arrays are always cloned as arrays
-   [#&#8203;42136](https://github.com/quarkusio/quarkus/pull/42136) - Fail OIDC build if a primitive type Claim is injected in Singleton
-   [#&#8203;42205](https://github.com/quarkusio/quarkus/pull/42205) - Enable comments (reasons) in the generated reflect-config.json and improve hierarchical registration tracing
-   [#&#8203;42228](https://github.com/quarkusio/quarkus/issues/42228) - Native image build fails with `-Dquarkus.native.report-errors-at-runtime`
-   [#&#8203;42301](https://github.com/quarkusio/quarkus/issues/42301) - Records that contain Enum are still unsupported with `@ParameterizedTest` even with Serializable in 3.13.0
-   [#&#8203;42394](https://github.com/quarkusio/quarkus/issues/42394) - Take  `@JsonProperty` into account in the reflection free Jackson serializers
-   [#&#8203;42466](https://github.com/quarkusio/quarkus/issues/42466) - quarkus.knative.app-config-map misses adding the volumes to the ksvc template
-   [#&#8203;42485](https://github.com/quarkusio/quarkus/pull/42485) - Fix quarkus.knative.app-config-map misses adding the volumes to the ksvc template
-   [#&#8203;42491](https://github.com/quarkusio/quarkus/pull/42491) - Change dekorate template to use the intended knative object
-   [#&#8203;42535](https://github.com/quarkusio/quarkus/pull/42535) - Add "how to write dev services" documentation
-   [#&#8203;42578](https://github.com/quarkusio/quarkus/issues/42578) - OTEL + `quarkus.http.test-timeout` -> NullPointerException: Cannot invoke "io.vertx.core.spi.observability.HttpResponse.headers()" because "httpResponse" is null
-   [#&#8203;42619](https://github.com/quarkusio/quarkus/issues/42619) - Jackson build time serializers could use SerializableString field names
-   [#&#8203;42651](https://github.com/quarkusio/quarkus/pull/42651) - Use SerializableString field names + support for `@JsonProperty` in the reflection free Jackson serializers
-   [#&#8203;42661](https://github.com/quarkusio/quarkus/pull/42661) - Bump Micrometer to 1.13
-   [#&#8203;42684](https://github.com/quarkusio/quarkus/pull/42684) - Encode URL in OIDC cookie
-   [#&#8203;42702](https://github.com/quarkusio/quarkus/pull/42702) - Updates to Infinispan 15.0.8.Final
-   [#&#8203;42703](https://github.com/quarkusio/quarkus/pull/42703) - Update security docs
-   [#&#8203;42705](https://github.com/quarkusio/quarkus/pull/42705) - Fix for resolving entity fields based on collections and generics
-   [#&#8203;42707](https://github.com/quarkusio/quarkus/pull/42707) - Update OAuth2 docs because of change in Bearer token check change
-   [#&#8203;42714](https://github.com/quarkusio/quarkus/issues/42714) - Continuous testing exclude-tags or exclude-engines cannot be configured via pom.xml anymore in 3.13
-   [#&#8203;42718](https://github.com/quarkusio/quarkus/pull/42718) - Bump flyway.version from 10.17.1 to 10.17.2
-   [#&#8203;42733](https://github.com/quarkusio/quarkus/issues/42733) - Qute template exception don't print origin
-   [#&#8203;42745](https://github.com/quarkusio/quarkus/pull/42745) - Remove useless enum converter allocation
-   [#&#8203;42752](https://github.com/quarkusio/quarkus/issues/42752) - `quarkus`cli always return 1 for exitcode for plugin commands
-   [#&#8203;42755](https://github.com/quarkusio/quarkus/pull/42755) - Upload native build stats from a single GH runner
-   [#&#8203;42761](https://github.com/quarkusio/quarkus/issues/42761) - Qute: ignore template files that contain whitespace in its name
-   [#&#8203;42766](https://github.com/quarkusio/quarkus/pull/42766) - Use initial Quarkus Dev config for test tags and engines
-   [#&#8203;42773](https://github.com/quarkusio/quarkus/pull/42773) - Remove jakarta.json.Json usage for performance reasons
-   [#&#8203;42774](https://github.com/quarkusio/quarkus/issues/42774) - quarkus.rest.jackson.optimization.enable-reflection-free-serializers=true fails native build of StartStopTS microprofile application
-   [#&#8203;42778](https://github.com/quarkusio/quarkus/issues/42778) - Rest Client (formerly reactive) keep using DEFAULT_MAX_POOL_SIZE
-   [#&#8203;42779](https://github.com/quarkusio/quarkus/pull/42779) - QuarkusComponentTest: programmatic lookup improvements
-   [#&#8203;42783](https://github.com/quarkusio/quarkus/pull/42783) - Qute: ignore template files that contain whitespace in its name
-   [#&#8203;42786](https://github.com/quarkusio/quarkus/issues/42786) - Quarkus CLI Catalog wipes its content when a new plugin is added / removed
-   [#&#8203;42787](https://github.com/quarkusio/quarkus/pull/42787) - Qute: print origin if non-literal value used in bracket notation
-   [#&#8203;42788](https://github.com/quarkusio/quarkus/pull/42788) - Invalidate catalogs when adding/removing plugins
-   [#&#8203;42793](https://github.com/quarkusio/quarkus/pull/42793) - Quote directory variable to support directories with spaces
-   [#&#8203;42794](https://github.com/quarkusio/quarkus/pull/42794) - Avoid `NullPointerException`s when application fails to start
-   [#&#8203;42806](https://github.com/quarkusio/quarkus/issues/42806) - quarkus-websockets-next client connect to WSS not possible
-   [#&#8203;42808](https://github.com/quarkusio/quarkus/issues/42808) - quarkus-websockets-next client adds / to empty path
-   [#&#8203;42810](https://github.com/quarkusio/quarkus/pull/42810) - Register InetAddressResolverProvider service providers
-   [#&#8203;42814](https://github.com/quarkusio/quarkus/pull/42814) - OpenTelemetry traces and metrics config fallback to base
-   [#&#8203;42815](https://github.com/quarkusio/quarkus/issues/42815) - The configuration options missing the `quarkus.oidc.credentials.*`
-   [#&#8203;42820](https://github.com/quarkusio/quarkus/pull/42820) - Disable GrpcCliTest#testCommand due to CI failures
-   [#&#8203;42821](https://github.com/quarkusio/quarkus/pull/42821) - CDI: add cross-reference links to docs
-   [#&#8203;42822](https://github.com/quarkusio/quarkus/pull/42822) - Qute docs: clarify template record not annotated with `@CheckedTemplate`
-   [#&#8203;42823](https://github.com/quarkusio/quarkus/pull/42823) - Properly set PoolOptions for REST Client
-   [#&#8203;42826](https://github.com/quarkusio/quarkus/pull/42826) - WebSockets Next - client: support the `wss` scheme correctly
-   [#&#8203;42828](https://github.com/quarkusio/quarkus/issues/42828) - Duplicate annotation for class: interface org.jetbrains.annotations.NotNull
-   [#&#8203;42830](https://github.com/quarkusio/quarkus/pull/42830) - WebSockets Next: support endpoints with empty path
-   [#&#8203;42832](https://github.com/quarkusio/quarkus/pull/42832) - Respect exit code of cli commands
-   [#&#8203;42833](https://github.com/quarkusio/quarkus/pull/42833) - ArC - static methods interception: fix the set of copied annotations
-   [#&#8203;42835](https://github.com/quarkusio/quarkus/pull/42835) - Config Doc - Fix two scanning issues
-   [#&#8203;42837](https://github.com/quarkusio/quarkus/pull/42837) - ArC docs: mention ` @&#8203;Inject  `[@All](https://github.com/All)`  List<> ` in section about unused beans
-   [#&#8203;42840](https://github.com/quarkusio/quarkus/issues/42840) - Possible to handle routes for base URI without path from extensions
-   [#&#8203;42844](https://github.com/quarkusio/quarkus/issues/42844) - System properties config overrides in tests does not seem to take effect properly in quarkus 3.14.1
-   [#&#8203;42846](https://github.com/quarkusio/quarkus/pull/42846) - Updating selected OIDC/OpenID guides
-   [#&#8203;42848](https://github.com/quarkusio/quarkus/pull/42848) - Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.1 to 1.7.2
-   [#&#8203;42853](https://github.com/quarkusio/quarkus/pull/42853) - Config Doc - Also ignore FileNotFoundException
-   [#&#8203;42856](https://github.com/quarkusio/quarkus/pull/42856) - Always put Jackson first in documentation
-   [#&#8203;42857](https://github.com/quarkusio/quarkus/issues/42857) - quarkus-rest-client-jackson - Force property
-   [#&#8203;42858](https://github.com/quarkusio/quarkus/issues/42858) - `ExtLogRecord` creation is more costly following the update to SmallRye Common 2.4.0
-   [#&#8203;42859](https://github.com/quarkusio/quarkus/pull/42859) - Satisfy GraalVM's classpath needs for the deletion of `org.h2.fulltext.FullTextLucene`
-   [#&#8203;42860](https://github.com/quarkusio/quarkus/issues/42860) - Quarkus output class in incorrect folder on live reload (gradle, multimodule, kotlin)
-   [#&#8203;42862](https://github.com/quarkusio/quarkus/pull/42862) - Revert "QuarkusTestProfile overrides in a high ordinal application.properties"
-   [#&#8203;42864](https://github.com/quarkusio/quarkus/pull/42864) - Correct typo in messaging.adoc
-   [#&#8203;42865](https://github.com/quarkusio/quarkus/issues/42865) - kafka_version label is unkown in native mode
-   [#&#8203;42866](https://github.com/quarkusio/quarkus/issues/42866) - DevUI log timestamp difference, as it was reported in GMT
-   [#&#8203;42867](https://github.com/quarkusio/quarkus/issues/42867) - Dev mode error page stacktrace doesn't open problematic code IDE on click
-   [#&#8203;42869](https://github.com/quarkusio/quarkus/issues/42869) - Dev UI log view doesn't catch up with logs after application restart
-   [#&#8203;42870](https://github.com/quarkusio/quarkus/issues/42870) - Decorated stacktraces in dev mode are not provided when using tools like curl or postman
-   [#&#8203;42871](https://github.com/quarkusio/quarkus/issues/42871) - org.springframework.aot.hint.annotation.Reflective missing from our Spring compatibilty layer?
-   [#&#8203;42877](https://github.com/quarkusio/quarkus/issues/42877) - Quarkus CLI subcommand `tls` is missing help option despite showing help
-   [#&#8203;42880](https://github.com/quarkusio/quarkus/pull/42880) - Remove BOOTSTRAP config phase from documentation
-   [#&#8203;42881](https://github.com/quarkusio/quarkus/pull/42881) - Bump com.gradle.plugin-publish from 1.2.1 to 1.2.2 in /devtools/gradle
-   [#&#8203;42883](https://github.com/quarkusio/quarkus/pull/42883) - Fix Quarkus CLI TLS command help option
-   [#&#8203;42884](https://github.com/quarkusio/quarkus/issues/42884) - `CompiledJavaVersionBuildStep` may load a wrong class number with gradle
-   [#&#8203;42885](https://github.com/quarkusio/quarkus/pull/42885) - Bump wildfly-elytron.version from 2.5.1.Final to 2.5.2.Final
-   [#&#8203;42889](https://github.com/quarkusio/quarkus/pull/42889) - Fix some small Dev UI issues
-   [#&#8203;42895](https://github.com/quarkusio/quarkus/pull/42895) - Upgrade spring-api dependency
-   [#&#8203;42896](https://github.com/quarkusio/quarkus/pull/42896) - Possible to handle routes for base URI without path from extensions
-   [#&#8203;42897](https://github.com/quarkusio/quarkus/pull/42897) - Process classes from the application artifact instead of the module output directory
-   [#&#8203;42898](https://github.com/quarkusio/quarkus/pull/42898) - Fix Kafka kafka-version metrics tag missing in native
-   [#&#8203;42899](https://github.com/quarkusio/quarkus/pull/42899) - Use quarkus-rest instead of quarkus-resteasy as default extension in maven plugin
-   [#&#8203;42901](https://github.com/quarkusio/quarkus/pull/42901) - Add LGTM traces test / check
-   [#&#8203;42911](https://github.com/quarkusio/quarkus/pull/42911) - Fix OTel DelayedAttributes bean handling
-   [#&#8203;42913](https://github.com/quarkusio/quarkus/pull/42913) - Gradle - Correctly merge classes dir when using dev mode
-   [#&#8203;42914](https://github.com/quarkusio/quarkus/pull/42914) - Fix Jackson serializers generation for interfaces and boxed primitive types
-   [#&#8203;42915](https://github.com/quarkusio/quarkus/issues/42915) - Upgrading to 3.13.x+ causes parameterised tests using record argument to fail with LinkageError 'loader constraint violation'
-   [#&#8203;42916](https://github.com/quarkusio/quarkus/pull/42916) - Update to JBoss Marshalling 2.2.0.Final
-   [#&#8203;42918](https://github.com/quarkusio/quarkus/pull/42918) - Update SmallRye Common to 2.6.0
-   [#&#8203;42919](https://github.com/quarkusio/quarkus/issues/42919) - ContainerRequestFilter checking for annotation fails in native
-   [#&#8203;42924](https://github.com/quarkusio/quarkus/pull/42924) - Bump io.smallrye.common:smallrye-common-bom from 2.5.0 to 2.6.0
-   [#&#8203;42926](https://github.com/quarkusio/quarkus/pull/42926) - Bump hibernate-search.version from 7.2.0.Final to 7.2.1.Final
-   [#&#8203;42927](https://github.com/quarkusio/quarkus/pull/42927) - Add missing dot to GraalVM not found message
-   [#&#8203;42928](https://github.com/quarkusio/quarkus/issues/42928) - Property \[autoIncrement] was not found for object type \[liquibase.datatype.core.BigIntType]
-   [#&#8203;42930](https://github.com/quarkusio/quarkus/pull/42930) - Config Doc - Avoid annotations in primitive type name
-   [#&#8203;42932](https://github.com/quarkusio/quarkus/pull/42932) - Improve compatibility of the REST Client configuration
-   [#&#8203;42936](https://github.com/quarkusio/quarkus/pull/42936) - Add decorate to all contents types and added text base error response
-   [#&#8203;42941](https://github.com/quarkusio/quarkus/pull/42941) - Register all resource classes for reflection when `ResourceInfo` is used
-   [#&#8203;42944](https://github.com/quarkusio/quarkus/issues/42944) - Test: `quarkus.http.port` is not updated with random port activated through `quarkus.http.test-port=0`
-   [#&#8203;42950](https://github.com/quarkusio/quarkus/issues/42950) - Changed order of property resolution in tests
-   [#&#8203;42958](https://github.com/quarkusio/quarkus/issues/42958) -  Signed OIDC UserInfo whith charset not recognized
-   [#&#8203;42962](https://github.com/quarkusio/quarkus/pull/42962) - Support OIDC signed UserInfo with charset content type parameters
-   [#&#8203;42964](https://github.com/quarkusio/quarkus/pull/42964) - Registering Liquibase BigIntType and Additional Classes for Reflection
-   [#&#8203;42968](https://github.com/quarkusio/quarkus/pull/42968) - Bump flyway.version from 10.17.2 to 10.17.3
-   [#&#8203;42969](https://github.com/quarkusio/quarkus/pull/42969) - Bump io.quarkus:quarkus-platform-bom-maven-plugin from 0.0.107 to 0.0.108
-   [#&#8203;42977](https://github.com/quarkusio/quarkus/issues/42977) - Quarkus REST client and Quarkus REST with abstract resource - NATIVE build fails
-   [#&#8203;42980](https://github.com/quarkusio/quarkus/pull/42980) - Prevent REST Client handling of abstract classes
-   [#&#8203;42981](https://github.com/quarkusio/quarkus/issues/42981) - `gu install native-image` instructions are not need anymore
-   [#&#8203;42983](https://github.com/quarkusio/quarkus/pull/42983) - Remove mentions to obsolete `gu install native-image`

### [`v3.14.1`](https://github.com/quarkusio/quarkus/releases/tag/3.14.1)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.14.0...3.14.1)

##### Complete changelog

-   [#&#8203;42166](https://github.com/quarkusio/quarkus/issues/42166) - LogManager error of type GENERIC_FAILURE: Handler with name 'console' is linked to a category but not configured.
-   [#&#8203;42537](https://github.com/quarkusio/quarkus/issues/42537) - REST usage fails with native when e.g. ContainerResponseFilter is used
-   [#&#8203;42612](https://github.com/quarkusio/quarkus/issues/42612) - MQTT dev services always start if another reactive messaging connector is present
-   [#&#8203;42670](https://github.com/quarkusio/quarkus/pull/42670) - Upgrade opentelemetry-semconv to 1.26.0-alpha
-   [#&#8203;42672](https://github.com/quarkusio/quarkus/pull/42672) - Add socket timeout config for the hotrod client
-   [#&#8203;42698](https://github.com/quarkusio/quarkus/pull/42698) - Fix config encryption CLI command in guide
-   [#&#8203;42725](https://github.com/quarkusio/quarkus/pull/42725) - Bump mssql-jdbc to 12.8.1
-   [#&#8203;42738](https://github.com/quarkusio/quarkus/pull/42738) - Fix OIDC Discord provider configuration
-   [#&#8203;42742](https://github.com/quarkusio/quarkus/pull/42742) - Bump org.postgresql:postgresql from 42.7.3 to 42.7.4
-   [#&#8203;42746](https://github.com/quarkusio/quarkus/pull/42746) - Fix MQTT dev services always start if there is another connector present
-   [#&#8203;42753](https://github.com/quarkusio/quarkus/pull/42753) - TLS - Prevent Duplicate Entries in .env File
-   [#&#8203;42754](https://github.com/quarkusio/quarkus/pull/42754) - Register resource classes for reflection when ContainerResponseFilter exists
-   [#&#8203;42758](https://github.com/quarkusio/quarkus/pull/42758) - Single enum converter
-   [#&#8203;42759](https://github.com/quarkusio/quarkus/pull/42759) - Save Objects::hash varargs array allocation on JarResource::hashCode
-   [#&#8203;42784](https://github.com/quarkusio/quarkus/issues/42784) - Quarkus CLI report error when using CLI plugins with flags
-   [#&#8203;42785](https://github.com/quarkusio/quarkus/pull/42785) - False error message on cli plug with flags
-   [#&#8203;42789](https://github.com/quarkusio/quarkus/pull/42789) - Fix logging categories doc example
-   [#&#8203;42797](https://github.com/quarkusio/quarkus/pull/42797) - Upgrade to SmallRye GraphQL 2.9.2

### [`v3.14.0`](https://github.com/quarkusio/quarkus/releases/tag/3.14.0)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.13.3...3.14.0)

##### Complete changelog

-   [#&#8203;42367](https://github.com/quarkusio/quarkus/issues/42367) - Setting quarkus.http.proxy.proxy-address-forwarding=true changes Host header to host
-   [#&#8203;42449](https://github.com/quarkusio/quarkus/issues/42449) - Gradle task quarkusGenerateCode with custom Microprofile converter causes java.util.ServiceConfigurationError
-   [#&#8203;42539](https://github.com/quarkusio/quarkus/pull/42539) - Added office 365 email configuration
-   [#&#8203;42546](https://github.com/quarkusio/quarkus/issues/42546) - Wrong callback URL in documentation for GitHub OIDC
-   [#&#8203;42548](https://github.com/quarkusio/quarkus/pull/42548) - Fixing documentation regarding OIDC with GitHub
-   [#&#8203;42551](https://github.com/quarkusio/quarkus/pull/42551) - Bump apicurio-registry.version from 2.5.10.Final to 2.6.2.Final
-   [#&#8203;42561](https://github.com/quarkusio/quarkus/pull/42561) - Properly handle case when quarkus-extension.yaml doesn't exist
-   [#&#8203;42572](https://github.com/quarkusio/quarkus/pull/42572) - Add keystore and truststore default format change
-   [#&#8203;42584](https://github.com/quarkusio/quarkus/issues/42584) - Custom Smallrye ConfigSourceInterceptor not loading class using Gradle
-   [#&#8203;42585](https://github.com/quarkusio/quarkus/pull/42585) - Do not try to create temp directory in test archives
-   [#&#8203;42614](https://github.com/quarkusio/quarkus/issues/42614) - Improve error message / exception  "Unable to start the management interface" by mentioning the actual port number
-   [#&#8203;42617](https://github.com/quarkusio/quarkus/pull/42617) - Add host and port when error creating management interface
-   [#&#8203;42622](https://github.com/quarkusio/quarkus/pull/42622) - New Stork version aligning k8s client version
-   [#&#8203;42624](https://github.com/quarkusio/quarkus/pull/42624) - Try a new approach for caching Maven local repository
-   [#&#8203;42633](https://github.com/quarkusio/quarkus/pull/42633) - Bump `quarkiverse-parent` from 16 to 17
-   [#&#8203;42648](https://github.com/quarkusio/quarkus/pull/42648) - Use the `Host` header in a proxied responses instead of `host`
-   [#&#8203;42649](https:/…
bschuhmann pushed a commit to bschuhmann/quarkus that referenced this issue Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants