Please enumerate all user-facing changes using format <githib issue/pr number>: <short description>
, with changes ordered in reverse chronological order.
- ##419: Refactor endpoint creation and allow client connections to be formed to controllers in container mode.
- ##417: Bump kafka.version from 3.8.0 to 3.9.0
- #365: Bump kafka.version from 3.7.1 to 3.8.0
- #355: Changes for Kafka 3.8.0 compatibility
- #322: Allow test Kafka Clusters to use SASL SCRAM-SHA and OAUTH bearer
- #289: Bump org.testcontainers:testcontainers-bom from 1.19.6 to 1.19.7
- #283: Bump kafka.version from 3.6.1 to 3.7.0.
- For SCRAM support in KRaft mode, the Kafka Broker must be 3.5 or above and it must use storage format IBP_3_5_IV2 or higher. If using CONTAINER mode, be aware that support for this combination was introduced in kafka-native 0.9.0.
- In KRaft mode, the metadata storage format used by the test clusters defaults to
MetadataVersion.LATEST_PRODUCTION
rather thanMINIMUM_BOOTSTRAP_VERSION
as was the case in previous releases. To get back the old behaviour, override theinter.broker.protocol.version
broker configuration option and set the desired version. This config option also controls the metadata storage format when the storage is formatted for the first time.
- #262: Support embedding a 3.7 broker
- #250: Bump Apache Kafka to 3.6.1
- #248: Allow user to bring their own test templating when using KafkaClusterExtension
- #244: Bump org.testcontainers:testcontainers-bom from 1.19.2 to 1.19.3
- #221: Add ability to inject test topics into tests #229
- #231: Bump org.testcontainers:testcontainers-bom from 1.19.1 to 1.19.2
- #219: Allow kafka configuration to be provided for Producers, Consumer and Admin clients too
- #143: Default native kafka image tag from the version of Kafka on the classpath.
- #197: Consumer of the extension should be able to choose the version of the kafka dependency.
- It is now necessary to declare
org.apache.kafka:kafka_2.13
as a test dependency. - If you wish to use kafka in-vm with zookeeper,
org.apache.zookeeper:zookeeper
must be declared as test dependency too. - The way
TestcontainersKafkaCluster
determines the native image version tag to use for kafka and zookeeper is changed. PreviouslyTestcontainersKafkaCluster
always used thelatest-snapshot
version. With this release, it will now default to use the version of the kafka native image that corresponds to the version of Kafka Broker found on the classpath. This will give consumers of the test extension that have tests usingTestcontainersKafkaCluster
test repeatability and consumers who use bothInVMKafkaCluster
andTestcontainersKafkaCluster
kafka broker version consistency. To get back the original behaviour, annotate theKafkaCluster
with@Version("latest-snapshot")
. - The annotation
@ClientConfig
is now available to pass configuration to Kafka Clients. This is understood byProducer
,Consumer
, andAdmin
types.
- #193: Bump Apache Kafka from 3.5.1 to 3.6.0
- #190: Allow controller-only nodes in container mode
- #187: Tighten the conditions under which the extension will inject values.
- #186: Replace a Null Pointer Exception with a more meaningful one when there is no existing cluster
- #182: Prevent possibility of loop when performing consistency test (workaround KAFKA-15507)
- #180: Update kafka version range in testVersions to include 3.5.1
- #146: Expose TestInfo (and thus DisplayName) when clusters are injected via annotations.
- #145 Direct storage formatting stdout to the log
- #86 Added API to restart one or more brokers of a kafka cluster.
- #142 Prevent spinning in Utils#createTopic.
- #140 Prevent docker networks accumulations during test runs.
- #134: Support @BeforeEach and test cases referring to same cluster
- #130: Small KeytoolCertificateGenerator improvements (eliminates use of openssl)
- It is now legal to declare multiple KafkaCluster parameters with the same explicit name, as long as later declarations only supply an @Name annotation and no constraint annotations. This will inject a reference to the existing cluster.