Releases: strimzi/strimzi-kafka-operator
0.41.0
Main changes since 0.40.0
This release contains the following new features and improvements:
- Support for Apache Kafka 3.6.2
- Metrics to monitor CA expiration
- Support for JBOD storage in KRaft mode.
(Note: JBOD support in KRaft mode is considered early access in Apache Kafka 3.7.x) - Support for changing topic replication factor by changing the
KafkaTopic
resources. - The
KafkaNodePools
feature gate moves to GA stage and is permanently enabled without the possibility to disable it.
To use the Kafka Node Pool resources, you still need to use thestrimzi.io/node-pools: enabled
annotation on theKafka
custom resources. - Support for configuring the
externalIPs
field in node port type services. - The
UnidirectionalTopicOperator
feature gate moves to GA stage and is permanently enabled without the possibility to disable it.
If the topics whose names start withstrimzi-store-topic
andstrimzi-topic-operator
still exist, you can delete them. - Improve validation of
KafkaMirrorMaker2
resource to make sure the Connect cluster is set to the target cluster - Support for custom SASL config in standalone Topic Operator deployment to support alternate access controllers (i.e.
AWS_MSK_IAM
) - Continue reconciliation after failed manual rolling update using the
strimzi.io/manual-rolling-update
annotation (when theContinueReconciliationOnManualRollingUpdateFailure
feature gate is enabled)
All changes can be found under the 0.41.0 milestone.
Watch out also for some notable changes, deprecations, and removals:
- The
tlsSidecar
configuration for the Entity Operator is now deprecated and will be ignored. - The
zookeeperSessionTimeoutSeconds
andtopicMetadataMaxAttempts
configurations for the Entity Topic Operator have been removed and will be ignored.
Upgrading from Strimzi 0.40.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:4c687a4fac96ffc22433ca6d00fb1bd31722767b44c9d87c465f95b57fb70089 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:c3a346235ce4dea42986648ca07f2482d8fc0bf654c1d441b1301a23999304db |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:bf49499980bbe5d4dd399de0dd396089b0fd9dd29bc46e14d39b20f1e826aec1 |
Apache Kafka 3.6.2 | quay.io/strimzi/kafka@sha256:41811bb106d6182978a889eaedffeadffaa5ab1599c4cd8e4f5015b131c7ac30 |
Apache Kafka 3.7.0 | quay.io/strimzi/kafka@sha256:6243d98890c665ef65b5f5fa2ffd046412281ffef31bc7a07cac37bd77b2579d |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:c833f930ead2d1e9054912a20689ee979d335f5e5ca8769e3c6b8a5514a0df96 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:9404037bd5431b012c8c633ec3345907667453c5532e5bfaaedc78286de22c62 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:17f09b07fc41a059e6a048cb766046d43a072cfd3a8266c97388a37543dadee8 |
New Contributors
- @kockas made their first contribution in #9810
- @maciej-tatarski made their first contribution in #9817
- @steffen-karlsson made their first contribution in #9831
- @rao2100 made their first contribution in #9815
- @Gartium made their first contribution in #9857
- @MichaelMorrisEst made their first contribution in #9906
- @dermasmid made their first contribution in #9951
- @rolandjohann made their first contribution in #9961
- @KyriosGN0 made their first contribution in #9963
- @maakuth made their first contribution in #9923
- @john-mcpeek made their first contribution in #9606
- @FlxPeters made their first contribution in #9995
- @blaghed made their first contribution in #10026
What's Changed
- docs(kafka): expands the content for handling large message sizes by @PaulRMellor in #9790
- Bump main branch to 0.41.0-SNAPSHOT by @scholzj in #9803
- [ST] Fixups for few failing tests in nightlies by @im-konge in #9801
- [DOC] Fix and improve migration docs by @scholzj in #9804
- Add topic replication factor change by @fvaleri in #9483
- [ST] persistent kafka with 1 rep. instead ephemeral by @henryZrncik in #9782
- [ST] Fix the issue with creating Kafka in CC tests in KRaft mode with lower Kafka version by @im-konge in #9808
- #9734 - added toString to whole model, including Password, PasswordSe… by @kockas in #9810
- Add Strimzi 0.40.0 release to the main branch by @scholzj in #9816
- Promote
KafkaNodePools
feature gate to GA by @scholzj in #9811 - [DOC] Suggest removal of unused fields from Kafka CR after migration to node pools by @scholzj in #9809
- [DOC] Fix some leftovers from 0.40.0 release by @scholzj in #9822
- Fix value for all topics and groups selected in
Strimzi Kafka Exporter
dashboard by @maciej-tatarski in #9817 - [ST] Fix and improve QuotasST by @im-konge in #9813
- [ST] Update upgrade/downgrade YAMLs and Environment class after 0.40.0 release by @im-konge in #9818
- docs(cruise control): employing cruise control to change topic replication factor by @PaulRMellor in #9788
- [DOC] Add note about aggreated metrics produced by the quotas plugin by @fvaleri in #9827
- [ST] Enhance DrainCleanerST by @im-konge in #9829
- Change chart to table for log size by @maciej-tatarski in #9830
- Update Kafka version in kafka-with-node-pools.yaml example by @im-konge in #9835
- #2779 CrdGenerator validate
@JsonPropertyOrder
by @steffen-karlsson in #9831 - Add refactoring around replicas change handling by @fvaleri in #9821
- Add a single node KRaft example for use in quickstarts by @scholzj in #9837
- Bump Vert.x 4.5.5 by @ppatierno in #9838
- [ST] Set
STRIMZI_USE_NODE_POOLS_IN_TESTS
totrue
by default by @im-konge in #9839 - Bump org.apache.zookeeper:zookeeper from 3.8.3 to 3.8.4 by @dependabot in #9844
- Some minor refactoring on migration code by @ppatierno in #9833
- [ST] KafkaConnect dynamic log level change test checks addition by @henryZrncik in #9834
- [ST] - Topic replication change feature sts by @see-quick in #9789
- External ip support by @rao2100 in #9815
- [ST] (Kraft)KafkaUpgradeDowngrade decrease tests durations by @henryZrncik in #9852
- [ST] fix flaky test in MultipleClusterOperatorsST by @henryZrncik in #9850
- Added documentation about recommended Kubernetes labels by @ppatierno in #9854
- Promote
UnidirectionalTopicOperator
feature gate to GA by @fvaleri in #9840 - Bump Vert.x 4.5.6 by @ppatierno in #9865
- [ST] default builders for plain/tls internal clients by @henryZrncik in #9658
- Handle x-kubernetes-preserve-unknown-fields in CRD for Kubernetes Resources object. by @Gartium in https:...
0.41.0-rc3
Main changes since 0.41.0-rc2
- Improved documentation
- Fixed Grafana dashboards
All changes can be found under the 0.41.0 milestone.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1218/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.40.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:4c687a4fac96ffc22433ca6d00fb1bd31722767b44c9d87c465f95b57fb70089 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:c3a346235ce4dea42986648ca07f2482d8fc0bf654c1d441b1301a23999304db |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:bf49499980bbe5d4dd399de0dd396089b0fd9dd29bc46e14d39b20f1e826aec1 |
Apache Kafka 3.6.2 | quay.io/strimzi/kafka@sha256:41811bb106d6182978a889eaedffeadffaa5ab1599c4cd8e4f5015b131c7ac30 |
Apache Kafka 3.7.0 | quay.io/strimzi/kafka@sha256:6243d98890c665ef65b5f5fa2ffd046412281ffef31bc7a07cac37bd77b2579d |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:c833f930ead2d1e9054912a20689ee979d335f5e5ca8769e3c6b8a5514a0df96 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:9404037bd5431b012c8c633ec3345907667453c5532e5bfaaedc78286de22c62 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:17f09b07fc41a059e6a048cb766046d43a072cfd3a8266c97388a37543dadee8 |
0.41.0-rc2
Main changes since 0.40.0
This release contains the following new features and improvements:
- Support for Apache Kafka 3.6.2
- Metrics to monitor CA expiration
- Support for JBOD storage in KRaft mode.
(Note: JBOD support in KRaft mode is considered early access in Apache Kafka 3.7.x) - Support for changing topic replication factor by changing the
KafkaTopic
resources. - The
KafkaNodePools
feature gate moves to GA stage and is permanently enabled without the possibility to disable it.
To use the Kafka Node Pool resources, you still need to use thestrimzi.io/node-pools: enabled
annotation on theKafka
custom resources. - Support for configuring the
externalIPs
field in node port type services. - The
UnidirectionalTopicOperator
feature gate moves to GA stage and is permanently enabled without the possibility to disable it.
If the topics whose names start withstrimzi-store-topic
andstrimzi-topic-operator
still exist, you can delete them. - Improve validation of
KafkaMirrorMaker2
resource to make sure the Connect cluster is set to the target cluster - Support for custom SASL config in standalone Topic Operator deployment to support alternate access controllers (i.e.
AWS_MSK_IAM
)
All changes can be found under the 0.41.0 milestone.
Watch out also for some notable changes, deprecations, and removals:
- The
tlsSidecar
configuration for the Entity Operator is now deprecated and will be ignored. - The
zookeeperSessionTimeoutSeconds
andtopicMetadataMaxAttempts
configurations for the Entity Topic Operator have been removed and will be ignored.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1217/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.40.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:7c2fdf0ed7f43cdd9be1a6f838ef63e33bd92e45146629623a7c7861c20e6bf8 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:dcc427656560b78050e2f8ac6f592711beb52687d5eb469dcb13ef30f6b20e6c |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:bd9762d427c825141e7f786455b082db0b7585ba54ee3fb710f2b43a8075c0e3 |
Apache Kafka 3.6.2 | quay.io/strimzi/kafka@sha256:43b561f323abea2854e63c0e7ffb53e024ed01f7f218803a4da0f350c1a74d9c |
Apache Kafka 3.7.0 | quay.io/strimzi/kafka@sha256:cefea48c8e3538545ccdca061b8a46fb4c07897758028a59d8735b6126a76e60 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:c833f930ead2d1e9054912a20689ee979d335f5e5ca8769e3c6b8a5514a0df96 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:9404037bd5431b012c8c633ec3345907667453c5532e5bfaaedc78286de22c62 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:9bd9ff43b12faa23dbcdd13934d1e49e3c7a8030780efee5cf24c4af1f3e0b43 |
New Contributors
- @kockas made their first contribution in #9810
- @maciej-tatarski made their first contribution in #9817
- @steffen-karlsson made their first contribution in #9831
- @rao2100 made their first contribution in #9815
- @Gartium made their first contribution in #9857
- @MichaelMorrisEst made their first contribution in #9906
- @dermasmid made their first contribution in #9951
- @rolandjohann made their first contribution in #9961
- @KyriosGN0 made their first contribution in #9963
- @maakuth made their first contribution in #9923
- @john-mcpeek made their first contribution in #9606
- @FlxPeters made their first contribution in #9995
- @blaghed made their first contribution in #10026
All changes
- docs(kafka): expands the content for handling large message sizes by @PaulRMellor in #9790
- Bump main branch to 0.41.0-SNAPSHOT by @scholzj in #9803
- [ST] Fixups for few failing tests in nightlies by @im-konge in #9801
- [DOC] Fix and improve migration docs by @scholzj in #9804
- Add topic replication factor change by @fvaleri in #9483
- [ST] persistent kafka with 1 rep. instead ephemeral by @henryZrncik in #9782
- [ST] Fix the issue with creating Kafka in CC tests in KRaft mode with lower Kafka version by @im-konge in #9808
- #9734 - added toString to whole model, including Password, PasswordSe… by @kockas in #9810
- Add Strimzi 0.40.0 release to the main branch by @scholzj in #9816
- Promote
KafkaNodePools
feature gate to GA by @scholzj in #9811 - [DOC] Suggest removal of unused fields from Kafka CR after migration to node pools by @scholzj in #9809
- [DOC] Fix some leftovers from 0.40.0 release by @scholzj in #9822
- Fix value for all topics and groups selected in
Strimzi Kafka Exporter
dashboard by @maciej-tatarski in #9817 - [ST] Fix and improve QuotasST by @im-konge in #9813
- [ST] Update upgrade/downgrade YAMLs and Environment class after 0.40.0 release by @im-konge in #9818
- docs(cruise control): employing cruise control to change topic replication factor by @PaulRMellor in #9788
- [DOC] Add note about aggreated metrics produced by the quotas plugin by @fvaleri in #9827
- [ST] Enhance DrainCleanerST by @im-konge in #9829
- Change chart to table for log size by @maciej-tatarski in #9830
- Update Kafka version in kafka-with-node-pools.yaml example by @im-konge in #9835
- #2779 CrdGenerator validate
@JsonPropertyOrder
by @steffen-karlsson in #9831 - Add refactoring around replicas change handling by @fvaleri in #9821
- Add a single node KRaft example for use in quickstarts by @scholzj in #9837
- Bump Vert.x 4.5.5 by @ppatierno in #9838
- [ST] Set
STRIMZI_USE_NODE_POOLS_IN_TESTS
totrue
by default by @im-konge in #9839 - Bump org.apache.zookeeper:zookeeper from 3.8.3 to 3.8.4 by @dependabot in #9844
- Some minor refactoring on migration code by @ppatierno in #9833
- [ST] KafkaConnect dynamic log level change test checks addition by @henryZrncik in #9834
- [ST] - Topic replication change feature sts by @see-quick in #9789
- External ip support by @rao2100 in #9815
- [ST] (Kraft)KafkaUpgradeDowngrade decrease tests durations by @henryZrncik in #9852
- [ST] fix flaky test in MultipleClusterOperatorsST by @henryZrncik in #9850
- Added documentation about recommended Kubernetes labels by @ppatierno in #9854
- Promote
UnidirectionalTopicOperator
feature gate to GA by @fvaleri in #9840 - Bump Vert.x 4.5.6 by @ppatierno in #9865
- [ST] default builders for plain/tls internal clients by @henryZrncik in https://...
0.40.0
Main changes since 0.39.0
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.7.0. Remove support for Apache Kafka 3.5.0, 3.5.1, and 3.5.2.
- The
UseKRaft
feature gate moves to beta stage and is enabled by default. If needed,UseKRaft
can be disabled in the feature gates configuration in the Cluster Operator. - Add support for ZooKeeper to KRaft migration by enabling the users to move from using ZooKeeper to store metadata to KRaft.
- Add support for moving from dedicated controller-only KRaft nodes to mixed KRaft nodes
- Added support for Kafka Exporter
offset.show-all
parameter - Prevent removal of the
broker
process role from KRaft mixed-nodes that have assigned partition-replicas - Improve broker scale-down prevention to continue in reconciliation when scale-down cannot be executed
- Added support for Tiered Storage by enabling the configuration of custom storage plugins through the Kafka custom resource.
- Update HTTP bridge to the latest 0.28.0 release
All changes can be found under the 0.40.0 milestone.
Watch out also for some notable changes, deprecations, and removals:
- From Strimzi 0.40.0 on, we support only Kubernetes 1.23 and newer. Kubernetes 1.21 and 1.22 are not supported anymore.
- #9508 fixes the Strimzi CRDs and their definitions of labels and annotations. This change brings our CRDs in-sync with the Kubernetes APIs. After this fix, the label and annotation definitions in our CRDs (for example in the
template
sections) cannot contain integer values anymore and have to always use string values. If your custom resources use an integer value, for example:You might get an error similar to this when applying the resource:template: apiService: metadata: annotations: discovery.myapigateway.io/port: 8080
To fix the issue, just use a string value instead of an integer:spec.template.apiService.metadata.annotations.discovery.myapigateway.io/port: Invalid value: "integer": spec.template.apiService.metadata.annotations.discovery.myapigateway.io/port in body must be of type string: "integer"
template: apiService: metadata: annotations: discovery.myapigateway.io/port: "8080"
- Support for the JmxTrans component is now completely removed. If you are upgrading from Strimzi 0.34 or earlier and have JmxTrans enabled in
.spec.jmxTrans
of theKafka
custom resource, you should disable it before the upgrade or delete it manually after the upgrade is complete. - The
api
module was refactored and classes were moved to new packages. - Strimzi Drain Cleaner 1.1.0 (included in the Strimzi 0.40.0 installation files) changes the way it handles Kubernetes eviction requests. It denies them instead of allowing them. This new behavior does not require the
PodDisruptionBudget
to be set tomaxUnavailable: 0
. We expect this to improve the compatibility with various tools used for scaling Kubernetes clusters such as Karpenter. If you observe any problems with your toolchain or just want to stick with the previous behavior, you can use theSTRIMZI_DENY_EVICTION
environment variable and set it tofalse
to switch back to the old (legacy) mode.
Upgrading from Strimzi 0.39.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:2228d89b53e3524e69d1bcf5c2cd373884ce696d9005389a6c78dad23310e837 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:2c143eb10b66037ef877311eb767457e4b877d5ff2c47d393c76babec155caff |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:e2b9f2835498831bbf30ac2d651de143d57088bcb23943101b066e941db92aca |
Apache Kafka 3.7.0 | quay.io/strimzi/kafka@sha256:c491a95f9b9b58f406461faf222ef612ad8d2f4d7b53f7f3645b20c99d7d1583 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:73deb1af0d93e9fa8955a5a412d0e7138384bdc80e7574e815d21796e446b636 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:3fb4ace22589fcf8d3f01b74c37b10b32d87e15d103ea59e0933b61c4e46ff4a |
Maven Builder | quay.io/strimzi/maven-builder@sha256:d02a9b48c77a44eeab6426c9af4adf75405217994bcb01ce0196e616041350d8 |
New Contributors
- @mikekamornikov made their first contribution in #9476
- @MarkintoshZ made their first contribution in #9489
- @ilkerkocatepe made their first contribution in #9494
- @Anefu made their first contribution in #9520
- @vinod827 made their first contribution in #9672
- @Staniel made their first contribution in #9727
All changes
- Bump main branch to 0.40.0-SNAPSHOT by @scholzj in #9459
- docs(node pools): updates to node pools content to reflect move to beta by @PaulRMellor in #9460
- docs(upgrade): note on topic operator cleanup when upgrading with unidirectional mode by @PaulRMellor in #9464
- Use separate logger for Jetty in Topic Operator by @scholzj in #9468
- Update Cruise Control to 2.5.133 and Kaniko to 1.19.1 by @scholzj in #9472
- Fix the UTO upgrade issue reported in #9470. by @fvaleri in #9474
- Add UnlockExperimentalVMOptions to priority JVM options by @mikekamornikov in #9476
- Add Strimzi 0.39.0 to the main branch by @scholzj in #9479
- Renaming context handler variable on creation by @ppatierno in #9478
- Update supported Kubernetes version to 1.23+ by @scholzj in #9473
- docs(tls): updates the tls communication overview to accommodate kraft by @PaulRMellor in #9481
- Refactor cert handling by @katheris in #9463
- docs(drain cleaner): considerations when using anti-affinity by @PaulRMellor in #9482
- Fix NullPointerException From Missing listenerConfig by @MarkintoshZ in #9489
- Enable TO in KRaft examples by @scholzj in #9490
- Remove the rest of the JMX Trans logic by @scholzj in #9492
- ISSUE-9231 Makes Kafka Exporter offset.show-all configurable by @ilkerkocatepe in #9494
- Remove unused methods by @katheris in #9495
- [ST] Create NamespaceManager for handling namespaces in the tests by @im-konge in #9496
- Fix typo in import control by @fvaleri in #9500
- Use
additionalProperties
instead ofx-kubernetes-preserve-unknown-fields
forMap<String, String>
fields by @scholzj in #9508 - Set UTO as default standalone deployment by @fvaleri in #9514
- Add new CRD annotation to indicate Strimzi version when a property was added by @scholzj in #9515
- [ST] Enable connector autoRestart test by @jankalinic in #9507
- [ST] Fix detecting kind in systemtests by @jankalinic in #9504
- Remove Cruise Control's cluster.configs.file and related code by @fvaleri in #9499
- Add
kind
,apiVersion
andmetadata
to our CRDs by @scholzj in #9516 - Split the classes from the io.strimzi.api.kafka.model package to multiple sub-packages by @ShubhamRwt in #9207
- [ST] Update upgrade/downgrade files after 0.39.0 release and enable KRaftStrimziDowngradeST by @im-konge in #9506
- refactor: Rename *Resources.*StatefulSetName and deploymentName methods by @Anefu in #9520
- Correct CRD operator delete predicate, increase test timeout by @MikeEdgar in #871...
0.40.0-rc1
Main changes since 0.39.0
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.7.0. Remove support for Apache Kafka 3.5.0, 3.5.1, and 3.5.2.
- The
UseKRaft
feature gate moves to beta stage and is enabled by default. If needed,UseKRaft
can be disabled in the feature gates configuration in the Cluster Operator. - Add support for ZooKeeper to KRaft migration by enabling the users to move from using ZooKeeper to store metadata to KRaft.
- Add support for moving from dedicated controller-only KRaft nodes to mixed KRaft nodes
- Added support for Kafka Exporter
offset.show-all
parameter - Prevent removal of the
broker
process role from KRaft mixed-nodes that have assigned partition-replicas - Improve broker scale-down prevention to continue in reconciliation when scale-down cannot be executed
- Added support for Tiered Storage by enabling the configuration of custom storage plugins through the Kafka custom resource.
- Update HTTP bridge to the latest 0.28.0 release
All changes can be found under the 0.40.0 milestone.
Watch out also for some notable changes, deprecations, and removals:
- From Strimzi 0.40.0 on, we support only Kubernetes 1.23 and newer. Kubernetes 1.21 and 1.22 are not supported anymore.
- #9508 fixes the Strimzi CRDs and their definitions of labels and annotations. This change brings our CRDs in-sync with the Kubernetes APIs. After this fix, the label and annotation definitions in our CRDs (for example in the
template
sections) cannot contain integer values anymore and have to always use string values. If your custom resources use an integer value, for example:You might get an error similar to this when applying the resource:template: apiService: metadata: annotations: discovery.myapigateway.io/port: 8080
To fix the issue, just use a string value instead of an integer:spec.template.apiService.metadata.annotations.discovery.myapigateway.io/port: Invalid value: "integer": spec.template.apiService.metadata.annotations.discovery.myapigateway.io/port in body must be of type string: "integer"
template: apiService: metadata: annotations: discovery.myapigateway.io/port: "8080"
- Support for the JmxTrans component is now completely removed. If you are upgrading from Strimzi 0.34 or earlier and have JmxTrans enabled in
.spec.jmxTrans
of theKafka
custom resource, you should disable it before the upgrade or delete it manually after the upgrade is complete. - The
api
module was refactored and classes were moved to new packages. - Strimzi Drain Cleaner 1.1.0 (included in the Strimzi 0.40.0 installation files) changes the way it handles Kubernetes eviction requests. It denies them instead of allowing them. This new behavior does not require the
PodDisruptionBudget
to be set tomaxUnavailable: 0
. We expect this to improve the compatibility with various tools used for scaling Kubernetes clusters such as Karpenter. If you observe any problems with your toolchain or just want to stick with the previous behavior, you can use theSTRIMZI_DENY_EVICTION
environment variable and set it tofalse
to switch back to the old (legacy) mode.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1213/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.39.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:2228d89b53e3524e69d1bcf5c2cd373884ce696d9005389a6c78dad23310e837 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:2c143eb10b66037ef877311eb767457e4b877d5ff2c47d393c76babec155caff |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:e2b9f2835498831bbf30ac2d651de143d57088bcb23943101b066e941db92aca |
Apache Kafka 3.7.0 | quay.io/strimzi/kafka@sha256:c491a95f9b9b58f406461faf222ef612ad8d2f4d7b53f7f3645b20c99d7d1583 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:73deb1af0d93e9fa8955a5a412d0e7138384bdc80e7574e815d21796e446b636 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:3fb4ace22589fcf8d3f01b74c37b10b32d87e15d103ea59e0933b61c4e46ff4a |
Maven Builder | quay.io/strimzi/maven-builder@sha256:d02a9b48c77a44eeab6426c9af4adf75405217994bcb01ce0196e616041350d8 |
All changes
- Bump main branch to 0.40.0-SNAPSHOT by @scholzj in #9459
- docs(node pools): updates to node pools content to reflect move to beta by @PaulRMellor in #9460
- docs(upgrade): note on topic operator cleanup when upgrading with unidirectional mode by @PaulRMellor in #9464
- Use separate logger for Jetty in Topic Operator by @scholzj in #9468
- Update Cruise Control to 2.5.133 and Kaniko to 1.19.1 by @scholzj in #9472
- Fix the UTO upgrade issue reported in #9470. by @fvaleri in #9474
- Add UnlockExperimentalVMOptions to priority JVM options by @mikekamornikov in #9476
- Add Strimzi 0.39.0 to the main branch by @scholzj in #9479
- Renaming context handler variable on creation by @ppatierno in #9478
- Update supported Kubernetes version to 1.23+ by @scholzj in #9473
- docs(tls): updates the tls communication overview to accommodate kraft by @PaulRMellor in #9481
- Refactor cert handling by @katheris in #9463
- docs(drain cleaner): considerations when using anti-affinity by @PaulRMellor in #9482
- Fix NullPointerException From Missing listenerConfig by @MarkintoshZ in #9489
- Enable TO in KRaft examples by @scholzj in #9490
- Remove the rest of the JMX Trans logic by @scholzj in #9492
- ISSUE-9231 Makes Kafka Exporter offset.show-all configurable by @ilkerkocatepe in #9494
- Remove unused methods by @katheris in #9495
- [ST] Create NamespaceManager for handling namespaces in the tests by @im-konge in #9496
- Fix typo in import control by @fvaleri in #9500
- Use
additionalProperties
instead ofx-kubernetes-preserve-unknown-fields
forMap<String, String>
fields by @scholzj in #9508 - Set UTO as default standalone deployment by @fvaleri in #9514
- Add new CRD annotation to indicate Strimzi version when a property was added by @scholzj in #9515
- [ST] Enable connector autoRestart test by @jankalinic in #9507
- [ST] Fix detecting kind in systemtests by @jankalinic in #9504
- Remove Cruise Control's cluster.configs.file and related code by @fvaleri in #9499
- Add
kind
,apiVersion
andmetadata
to our CRDs by @scholzj in #9516 - Split the classes from the io.strimzi.api.kafka.model package to multiple sub-packages by @ShubhamRwt in #9207
- [ST] Update upgrade/downgrade files after 0.39.0 release and enable KRaftStrimziDowngradeST by @im-konge in #9506
- refactor: Rename *Resources.*StatefulSetName and deploymentName methods by @Anefu in #9520
- Correct CRD operator delete predicate, increase test timeout by @MikeEdgar in #8715
- Remove support for Kafka 3.5.0 and 3.5.1 by @scholzj in #9526
- [ST] Upgrade/downgrade - specify file path for Kafka in the YAML files by @im-konge in #9529
- Update Fabric8 to 6.10.0 by @sc...
0.39.0
Main changes since 0.38.0
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.5.2 and 3.6.1
- The
StableConnectIdentities
feature gate moves to GA stage and is now permanently enabled without the possibility to disable it.
All Connect and Mirror Maker 2 operands will now use StrimziPodSets. - The
KafkaNodePools
feature gate moves to the beta stage and is enabled by default.
If needed,KafkaNodePools
can be disabled in the feature gates configuration in the Cluster Operator. - The
UnidirectionalTopicOperator
feature gate moves to the beta stage and is enabled by default.
If needed,UnidirectionalTopicOperator
can be disabled in the feature gates configuration in the Cluster Operator. - Improved Kafka Connect metrics and dashboard example files
- Allow specifying and managing KRaft metadata version
- Add support for KRaft to KRaft upgrades (Apache Kafka upgrades for the KRaft-based clusters)
- Improved Kafka Mirror Maker 2 dashboard example file
- Support for rolling updates of KRaft controller nodes
All changes can be found under the 0.39.0 milestone.
Upgrading from Strimzi 0.38.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:50b49f9b5e554cca517fc2794e11319d5aaba1676494b285baa3a74fc79eb501 |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:49b7530ada1175750ad5a706e545ba3594d85e1e3a90f98b0200a73fa9875057 |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:84691b3afb67b312400e01572ff08b64c1e1b1d32a4276e0c21bba10c71c36fe |
Apache Kafka 3.5.2 | quay.io/strimzi/kafka@sha256:53b960411e852f5cb182ecc5d395a3562865f83e15e6251f3a9af0eb413feeed |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:dd1706f36031c96dfcd0da7b3f804168e5f076220caa302973455fdcd76bd03e |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:2badc65532b483bba6c1f6a8b0c9895e993ce24e9ebd3cd953d0d17fbe36d27a |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:13838889cc20a3a382ea64e749cad94f997c0b928840588f2d1befcf19247bea |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:723b7add2473e73c45c81361e1708af4971c321b0391c1298a0557fb8ca4f7f6 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:6ce3c16284379d5db9e42a6f3e2b765c981091164a28fdd6bf927b6c5d4ab557 |
0.39.0-rc2
Main changes since 0.39.0-rc1
- Updated Kaniko and Cruise Control dependencies
- Updated documentation
- Improve Unidirectional Topic Operator log levels and handling of existing topics after rolling updates
All changes can be found under the 0.39.0 milestone.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1207/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.38.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:50b49f9b5e554cca517fc2794e11319d5aaba1676494b285baa3a74fc79eb501 |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:49b7530ada1175750ad5a706e545ba3594d85e1e3a90f98b0200a73fa9875057 |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:84691b3afb67b312400e01572ff08b64c1e1b1d32a4276e0c21bba10c71c36fe |
Apache Kafka 3.5.2 | quay.io/strimzi/kafka@sha256:53b960411e852f5cb182ecc5d395a3562865f83e15e6251f3a9af0eb413feeed |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:dd1706f36031c96dfcd0da7b3f804168e5f076220caa302973455fdcd76bd03e |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:2badc65532b483bba6c1f6a8b0c9895e993ce24e9ebd3cd953d0d17fbe36d27a |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:13838889cc20a3a382ea64e749cad94f997c0b928840588f2d1befcf19247bea |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:723b7add2473e73c45c81361e1708af4971c321b0391c1298a0557fb8ca4f7f6 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:6ce3c16284379d5db9e42a6f3e2b765c981091164a28fdd6bf927b6c5d4ab557 |
0.39.0-rc1
Main changes since 0.38.0
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.5.2 and 3.6.1
- The
StableConnectIdentities
feature gate moves to GA stage and is now permanently enabled without the possibility to disable it.
All Connect and Mirror Maker 2 operands will now use StrimziPodSets. - The
KafkaNodePools
feature gate moves to the beta stage and is enabled by default.
If needed,KafkaNodePools
can be disabled in the feature gates configuration in the Cluster Operator. - The
UnidirectionalTopicOperator
feature gate moves to the beta stage and is enabled by default.
If needed,UnidirectionalTopicOperator
can be disabled in the feature gates configuration in the Cluster Operator. - Improved Kafka Connect metrics and dashboard example files
- Allow specifying and managing KRaft metadata version
- Add support for KRaft to KRaft upgrades (Apache Kafka upgrades for the KRaft-based clusters)
- Improved Kafka Mirror Maker 2 dashboard example file
- Support for rolling updates of KRaft controller nodes
All changes can be found under the 0.39.0 milestone.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1206/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.38.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:59000793d272a703caf931ebf0cb38e6fdfbc3b2f2876e666d738ae045709c8d |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:67f22ed518e8a27436f8d144ff36c6db2df6e5d87b4078a96204dd139e01781e |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:ea7b0c6b923dfa2609fcb032c1b15dc46190dd558094ec404fd45540557f7149 |
Apache Kafka 3.5.2 | quay.io/strimzi/kafka@sha256:7d80f000657949c80f2de3716351bab0607cbacf12114e48e2ba9bd5058ef935 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:9a60d84b0c2d9c8cb55d442b89d9d0b1086d59ac7bb0dc6c10430406463860ed |
Apache Kafka 3.6.1 | quay.io/strimzi/kafka@sha256:eca7b205421c73169bdfbb39fd16732e9df785de164d5f70126fbee547853fd1 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:13838889cc20a3a382ea64e749cad94f997c0b928840588f2d1befcf19247bea |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:a02bcab834905b6ae852382718c8fbefea804eef895a16cb81861efc20507a8e |
Maven Builder | quay.io/strimzi/maven-builder@sha256:82c039f789934dacd3b767a5991d97c1ce6ab1ab117dbdc6a12b41c2f9c97247 |
0.38.0
Main changes since 0.37
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.6.0 and drop support for 3.4.0 and 3.4.1
- Sign containers using
cosign
- Generate and publish Software Bill of Materials (SBOMs) of Strimzi containers
- Add support for stopping connectors according to Strimzi Proposal #54
- Allow manual rolling of Kafka Connect and Kafka Mirror Maker 2 pods using the
strimzi.io/manual-rolling-update
annotation (supported only whenStableConnectIdentities
feature gate is enabled) - Make sure brokers are empty before scaling them down
- Add support for pausing reconciliations to the Unidirectional Topic Operator
- Allow running ZooKeeper and KRaft-based Apache Kafka clusters in parallel when the
+UseKRaft
feature gate is enabled - Add support for metrics to the Unidirectional Topic Operator
- Added the
includeAcceptHeader
option to OAuth client and listener authentication configuration and tokeycloak
authorization. If set tofalse
it turns off sending ofAccept
header when communicating with OAuth / OIDC authorization server. This feature is enabled by the updated Strimzi Kafka OAuth library (0.14.0). - Update HTTP bridge to latest 0.27.0 release
It also has several notable changes, deprecations, and removals:
- The
Kafka.KafkaStatus.ListenerStatus.type
property has been deprecated for a long time, and now we do not use it anymore.
The current plan is to completely remove this property in the next schema version.
If needed, you can use theKafka.KafkaStatus.ListenerStatus.name
property, which has the same value. - Added
strimzi.io/kraft
annotation to be applied onKafka
custom resource, together with the+UseKRaft
feature gate enabled, to declare a ZooKeeper or KRaft based cluster.- if
enabled
theKafka
resource defines a KRaft-based cluster. - if
disabled
, missing or any other value, the operator handle theKafka
resource as a ZooKeeper-based cluster.
- if
- The
io.strimzi.kafka.EnvVarConfigProvider
configuration provider is now deprecated and will be removed in Strimzi 0.42. Users should migrate to Kafka's implementation,org.apache.kafka.common.config.provider.EnvVarConfigProvider
, which is a drop-in replacement.
For example:becomesconfig: # ... config.providers: env config.providers.env.class: io.strimzi.kafka.EnvVarConfigProvider # ...
config: # ... config.providers: env config.providers.env.class: org.apache.kafka.common.config.provider.EnvVarConfigProvider # ...
All changes can be found under the 0.38.0 milestone.
Upgrading from Strimzi 0.37.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:aee45bbe439335e45a0423e6565bae0d0727d85c7b807812949bfa127d467fe6 |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:50e24c797455f9cdbb3cdde8e4f26bb8e1f0503469456da5d179017fd3e03ffe |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:0cc01438e8596643407b6b8ff05fafcea7ef54fa9410d4ae2492a9dbf41118b1 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:20d451fb32ec82eab3c16891198ace46bb9b9193f1f5511bb60ce249080dd7d4 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:13838889cc20a3a382ea64e749cad94f997c0b928840588f2d1befcf19247bea |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:4fe7a3f3f78e93369284a5ab456873c911230926ca071d1d88167e63d8ce376c |
Maven Builder | quay.io/strimzi/maven-builder@sha256:922d91dab9e2b8e14b6db25d8b48d7f4e3521bedd435468cc22039599ac4f888 |
0.38.0-rc1
Main changes since 0.37
This release contains the following new features and improvements:
- Add support for Apache Kafka 3.6.0 and drop support for 3.4.0 and 3.4.1
- Sign containers using
cosign
- Generate and publish Software Bill of Materials (SBOMs) of Strimzi containers
- Add support for stopping connectors according to Strimzi Proposal #54
- Allow manual rolling of Kafka Connect and Kafka Mirror Maker 2 pods using the
strimzi.io/manual-rolling-update
annotation (supported only whenStableConnectIdentities
feature gate is enabled) - Make sure brokers are empty before scaling them down
- Add support for pausing reconciliations to the Unidirectional Topic Operator
- Allow running ZooKeeper and KRaft-based Apache Kafka clusters in parallel when the
+UseKRaft
feature gate is enabled - Add support for metrics to the Unidirectional Topic Operator
- Added the
includeAcceptHeader
option to OAuth client and listener authentication configuration and tokeycloak
authorization. If set tofalse
it turns off sending ofAccept
header when communicating with OAuth / OIDC authorization server. This feature is enabled by the updated Strimzi Kafka OAuth library (0.14.0). - Update HTTP bridge to latest 0.27.0 release
It also has several notable changes, deprecations, and removals:
- The
Kafka.KafkaStatus.ListenerStatus.type
property has been deprecated for a long time, and now we do not use it anymore.
The current plan is to completely remove this property in the next schema version.
If needed, you can use theKafka.KafkaStatus.ListenerStatus.name
property, which has the same value. - Added
strimzi.io/kraft
annotation to be applied onKafka
custom resource, together with the+UseKRaft
feature gate enabled, to declare a ZooKeeper or KRaft based cluster.- if
enabled
theKafka
resource defines a KRaft-based cluster. - if
disabled
, missing or any other value, the operator handle theKafka
resource as a ZooKeeper-based cluster.
- if
- The
io.strimzi.kafka.EnvVarConfigProvider
configuration provider is now deprecated and will be removed in Strimzi 0.42. Users should migrate to Kafka's implementation,org.apache.kafka.common.config.provider.EnvVarConfigProvider
, which is a drop-in replacement.
For example:becomesconfig: # ... config.providers: env config.providers.env.class: io.strimzi.kafka.EnvVarConfigProvider # ...
config: # ... config.providers: env config.providers.env.class: org.apache.kafka.common.config.provider.EnvVarConfigProvider # ...
All changes can be found under the 0.38.0 milestone.
Maven artifacts
To test the Maven artifacts that are part of this release, use the staging repository by including the following in your pom.xml
:
<repositories>
<repository>
<id>staging</id>
<url>https://oss.sonatype.org/content/repositories/iostrimzi-1205/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.37.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
Name | Image |
---|---|
Operators | quay.io/strimzi/operator@sha256:aee45bbe439335e45a0423e6565bae0d0727d85c7b807812949bfa127d467fe6 |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:50e24c797455f9cdbb3cdde8e4f26bb8e1f0503469456da5d179017fd3e03ffe |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:0cc01438e8596643407b6b8ff05fafcea7ef54fa9410d4ae2492a9dbf41118b1 |
Apache Kafka 3.6.0 | quay.io/strimzi/kafka@sha256:20d451fb32ec82eab3c16891198ace46bb9b9193f1f5511bb60ce249080dd7d4 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:13838889cc20a3a382ea64e749cad94f997c0b928840588f2d1befcf19247bea |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:4fe7a3f3f78e93369284a5ab456873c911230926ca071d1d88167e63d8ce376c |
Maven Builder | quay.io/strimzi/maven-builder@sha256:922d91dab9e2b8e14b6db25d8b48d7f4e3521bedd435468cc22039599ac4f888 |