Releases: strimzi/strimzi-kafka-operator
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 |
0.37.0
Main changes since 0.36
This release contains the following new features and improvements:
- The
StableConnectIdentites
feature gate moves to a beta stage. By default, StrimziPodSets are used for Kafka Connect and Kafka Mirror Maker 2. If needed,StableConnectIdentites
can be disabled in the feature gates configuration in the Cluster Operator. - Support for the
ppc64le
platform - Added version fields to the
Kafka
custom resource status to track installation and upgrade state - Support for infinite auto-restarts of Kafka Connect and Kafka Mirror Maker 2 connectors
It also has several notable changes, deprecations, and removals:
- Removed support for OpenTracing:
- The
tracing.type: jaeger
configuration, inKafkaConnect
,KafkaMirrorMaker
,KafkaMirrorMaker2
andKafkaBridge
resources, is not supported anymore. - The OpenTelemetry-based tracing is the only available by using
tracing.type: opentelemetry
.
- The
- The default behavior of the Kafka Connect connector auto-restart has changed.
When the auto-restart feature is enabled inKafkaConnector
orKafkaMirrorMaker2
custom resources, it will now continue to restart the connectors indefinitely rather than stopping after 7 restarts, as previously.
If you want to use the original behavior, use the.spec.autoRestart.maxRestarts
option to configure the maximum number of restarts.
For example:apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnector metadata: labels: strimzi.io/cluster: my-connect name: echo-sink-connector spec: # ... autoRestart: enabled: true maxRestarts: 7 # ...
- The automatic configuration of Cruise Control CPU capacity has been changed in this release:
- There are three ways to configure Cruise Control CPU capacity values:
.spec.cruiseControl.brokerCapacity
(for all brokers).spec.cruiseControl.brokerCapacity.overrides
(per broker)- Kafka resource requests and limits (for all brokers).
- The precedence of which Cruise Control CPU capacity configuration is used has been changed.
- In previous Strimzi versions, the Kafka resource limit (if set) took precedence, regardless if any other CPU configurations were set.
- For example:
- (1) Kafka resource limits
- (2)
.spec.cruiseControl.brokerCapacity.overrides
- (3)
.spec.cruiseControl.brokerCapacity
- For example:
- This previous behavior was identified as a bug and was fixed in this Strimzi release.
- Going forward, the brokerCapacity overrides per broker take top precedence, then general brokerCapacity configuration, and then the Kafka resource requests, then the Kafka resource limits.
- For example:
- (1)
.spec.cruiseControl.brokerCapacity.overrides
- (2)
.spec.cruiseControl.brokerCapacity
- (3) Kafka resource requests
- (4) Kafka resource limits
- (1)
- When none of Cruise Control CPU capacity configurations mentioned above are configured, CPU capacity will be set to
1
.
as any override value configured in the.spec.cruiseControl
section of theKafka
custom resource.
- For example:
- There are three ways to configure Cruise Control CPU capacity values:
All changes can be found under the 0.37.0 milestone.
Upgrading from Strimzi 0.36.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:52f376e64b9b31d74162e26248c278e9bd301d2d8b4240ee5bcf780dfe2f8ef8 |
Apache Kafka 3.4.0 | quay.io/strimzi/kafka@sha256:38bbadcdb196a373e1698be890caa1dc01134ce91763d8f95c71768a117e1932 |
Apache Kafka 3.4.1 | quay.io/strimzi/kafka@sha256:1de6e073e8625a193fcfd11dd1a6717cc17596911c10bcebd792c00b08a7ebaf |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:2997ba1c169eb792a6004d7a41b674560515f3ea6e62ab8b9a1fdb747eab40c1 |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:dfeb1eb7b94107c443b6bc82fcfee7fcf782516c83c6fc64451fb6a7e2de74a6 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:5b821f6f3396002ffa7c5804391b627ff9da3b494b2777dde518c55c2b73cefc |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:5729f1f0511da95e64e358cfabb3980ad9a660af2968118a87d6755f5d652a67 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:995be06a50b86c992fcee9f00e44f6a21c3406975e4e35802f10e88b72ffb9df |
0.37.0-rc1
Main changes since 0.36
This release contains the following new features and improvements:
- The
StableConnectIdentites
feature gate moves to a beta stage. By default, StrimziPodSets are used for Kafka Connect and Kafka Mirror Maker 2. If needed,StableConnectIdentites
can be disabled in the feature gates configuration in the Cluster Operator. - Support for the
ppc64le
platform - Added version fields to the
Kafka
custom resource status to track installation and upgrade state - Support for infinite auto-restarts of Kafka Connect and Kafka Mirror Maker 2 connectors
It also has several notable changes, deprecations, and removals:
- Removed support for OpenTracing:
- The
tracing.type: jaeger
configuration, inKafkaConnect
,KafkaMirrorMaker
,KafkaMirrorMaker2
andKafkaBridge
resources, is not supported anymore. - The OpenTelemetry-based tracing is the only available by using
tracing.type: opentelemetry
.
- The
- The default behavior of the Kafka Connect connector auto-restart has changed.
When the auto-restart feature is enabled inKafkaConnector
orKafkaMirrorMaker2
custom resources, it will now continue to restart the connectors indefinitely rather than stopping after 7 restarts, as previously.
If you want to use the original behavior, use the.spec.autoRestart.maxRestarts
option to configure the maximum number of restarts.
For example:apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnector metadata: labels: strimzi.io/cluster: my-connect name: echo-sink-connector spec: # ... autoRestart: enabled: true maxRestarts: 7 # ...
- The automatic configuration of Cruise Control CPU capacity has been changed in this release:
- There are three ways to configure Cruise Control CPU capacity values:
.spec.cruiseControl.brokerCapacity
(for all brokers).spec.cruiseControl.brokerCapacity.overrides
(per broker)- Kafka resource requests and limits (for all brokers).
- The precedence of which Cruise Control CPU capacity configuration is used has been changed.
- In previous Strimzi versions, the Kafka resource limit (if set) took precedence, regardless if any other CPU configurations were set.
- For example:
- (1) Kafka resource limits
- (2)
.spec.cruiseControl.brokerCapacity.overrides
- (3)
.spec.cruiseControl.brokerCapacity
- For example:
- This previous behavior was identified as a bug and was fixed in this Strimzi release.
- Going forward, the brokerCapacity overrides per broker take top precedence, then general brokerCapacity configuration, and then the Kafka resource requests, then the Kafka resource limits.
- For example:
- (1)
.spec.cruiseControl.brokerCapacity.overrides
- (2)
.spec.cruiseControl.brokerCapacity
- (3) Kafka resource requests
- (4) Kafka resource limits
- (1)
- When none of Cruise Control CPU capacity configurations mentioned above are configured, CPU capacity will be set to
1
.
as any override value configured in the.spec.cruiseControl
section of theKafka
custom resource.
- For example:
- There are three ways to configure Cruise Control CPU capacity values:
All changes can be found under the 0.37.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-1195/</url>
</repository>
</repositories>
Upgrading from Strimzi 0.36.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:52f376e64b9b31d74162e26248c278e9bd301d2d8b4240ee5bcf780dfe2f8ef8 |
Apache Kafka 3.4.0 | quay.io/strimzi/kafka@sha256:38bbadcdb196a373e1698be890caa1dc01134ce91763d8f95c71768a117e1932 |
Apache Kafka 3.4.1 | quay.io/strimzi/kafka@sha256:1de6e073e8625a193fcfd11dd1a6717cc17596911c10bcebd792c00b08a7ebaf |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:2997ba1c169eb792a6004d7a41b674560515f3ea6e62ab8b9a1fdb747eab40c1 |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:dfeb1eb7b94107c443b6bc82fcfee7fcf782516c83c6fc64451fb6a7e2de74a6 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:fefee252895e9f94756ed5c9ea71749e3fa89281df01bc55878a244ca7d17697 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:5729f1f0511da95e64e358cfabb3980ad9a660af2968118a87d6755f5d652a67 |
Maven Builder | quay.io/strimzi/maven-builder@sha256:995be06a50b86c992fcee9f00e44f6a21c3406975e4e35802f10e88b72ffb9df |
0.36.1
Main changes since 0.36.0
- Support for Apache Kafka 3.5.1
- Fix Grafana Dashboards in the Helm Chart
- Fix issues with 2-node ZooKeeper deployment
- Documentation fixes
All changes can be found under the 0.36.1 milestone.
Upgrading from Strimzi 0.36.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:e9e03b31007c0f9b67a6a33e6b644e8c1ba35bd9976804ee3d22a04e4bf511b1 |
Apache Kafka 3.4.0 | quay.io/strimzi/kafka@sha256:a0da6a48b5bcbff355365f07df2d99ef6443d22c5690495f10a6417e761b3799 |
Apache Kafka 3.4.1 | quay.io/strimzi/kafka@sha256:9f35f40be3d47b0cb1f6628f7ffd9c6a687ab9f564829f341dd66fd0759c064f |
Apache Kafka 3.5.0 | quay.io/strimzi/kafka@sha256:67c2b563a65c85c9393608f9af7eaf12ea48dcc0ef5f726d51f27273a3845186 |
Apache Kafka 3.5.1 | quay.io/strimzi/kafka@sha256:ea35817ff1ef295c682d70562f209ef658fcd87c61f467a4549d7a2f39e71700 |
Strimzi Bridge | quay.io/strimzi/kafka-bridge@sha256:fefee252895e9f94756ed5c9ea71749e3fa89281df01bc55878a244ca7d17697 |
Kaniko executor | quay.io/strimzi/kaniko-executor@sha256:5ff9fc7d0b7b694875ad0150fc787c582d42da3b4864d807ee8a6524e47b0e4e |
Maven Builder | quay.io/strimzi/maven-builder@sha256:2a469b40122027b981914db5b5c102be48280e039c3089963422c181174af226 |