diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 1be4e177d50cb..e69b5ba3a9780 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -138,7 +138,7 @@
1.0.3
3.5.0.Final
1.7.0
- 3.1.0
+ 3.2.1
1.8.0
1.1.8.4
0.100.0
diff --git a/docs/src/main/asciidoc/kafka-dev-services.adoc b/docs/src/main/asciidoc/kafka-dev-services.adoc
index 2bea2abbfe50c..a56f2c4df94d9 100644
--- a/docs/src/main/asciidoc/kafka-dev-services.adoc
+++ b/docs/src/main/asciidoc/kafka-dev-services.adoc
@@ -84,15 +84,15 @@ without trying to re-partition the existing topic to a different number of parti
You can configure timeout for Kafka admin client calls used in topic creation using `quarkus.kafka.devservices.topic-partitions-timeout`, it defaults to 2 seconds.
-[[redpanda-enabling-transactions]]
-== Enabling transactions
+[[redpanda-transactions]]
+== Transactional and Idempotent producers support
-By default, the Red Panda broker does not act as a transaction coordinator.
-To enable transactions, set:
+By default, the Red Panda broker is configured to enable transactions and idempotence features.
+You can disable those using:
[source, properties]
----
-quarkus.kafka.devservices.redpanda.transaction-enabled=true
+quarkus.kafka.devservices.redpanda.transaction-enabled=false
----
-NOTE: It also enables producer idempotence support.
\ No newline at end of file
+NOTE: Redpanda transactions does not support exactly-once processing.
diff --git a/docs/src/main/asciidoc/kafka.adoc b/docs/src/main/asciidoc/kafka.adoc
index aabd50fd86c28..c313486b7512a 100644
--- a/docs/src/main/asciidoc/kafka.adoc
+++ b/docs/src/main/asciidoc/kafka.adoc
@@ -61,7 +61,7 @@ implementation("io.quarkus:quarkus-smallrye-reactive-messaging-kafka")
[NOTE]
====
-The extension includes `kafka-clients` version 3.1.0 as a transitive dependency and is compatible with Kafka brokers version 2.x.
+The extension includes `kafka-clients` version 3.2.1 as a transitive dependency and is compatible with Kafka brokers version 2.x.
====
== Configuring Smallrye Kafka Connector
@@ -1121,11 +1121,6 @@ If you'd like to consume records only written and committed inside a Kafka trans
mp.messaging.incoming.prices-in.isolation.level=read_committed
----
-[NOTE]
-====
-If you are using Dev Services for Kafka using Redpanda, you need to <>.
-====
-
== Processing Messages
Applications streaming data often need to consume some events from a topic, process them and publish the result to a different topic.
diff --git a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/RedPandaBuildTimeConfig.java b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/RedPandaBuildTimeConfig.java
index ed319a4a85009..f8e7ebfbdec03 100644
--- a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/RedPandaBuildTimeConfig.java
+++ b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/RedPandaBuildTimeConfig.java
@@ -26,6 +26,6 @@ public class RedPandaBuildTimeConfig {
* KIP-360 (Improve reliability of
* idempotent/transactional producer) are not supported.
*/
- @ConfigItem(defaultValue = "false")
+ @ConfigItem(defaultValue = "true")
public boolean transactionEnabled;
}
diff --git a/integration-tests/kafka-streams/src/test/java/io/quarkus/it/kafka/streams/KafkaStreamsPropertiesTest.java b/integration-tests/kafka-streams/src/test/java/io/quarkus/it/kafka/streams/KafkaStreamsPropertiesTest.java
index 1cd4c638c2ad3..cb2f1550cbe13 100644
--- a/integration-tests/kafka-streams/src/test/java/io/quarkus/it/kafka/streams/KafkaStreamsPropertiesTest.java
+++ b/integration-tests/kafka-streams/src/test/java/io/quarkus/it/kafka/streams/KafkaStreamsPropertiesTest.java
@@ -24,7 +24,7 @@ public class KafkaStreamsPropertiesTest {
@Test
public void testProperties() throws Exception {
// reflection hack ... no other way to get raw props ...
- Field configField = KafkaStreams.class.getDeclaredField("config");
+ Field configField = KafkaStreams.class.getDeclaredField("applicationConfigs");
configField.setAccessible(true);
StreamsConfig config = (StreamsConfig) configField.get(streams);