Skip to content

Releases: strimzi/strimzi-kafka-operator

0.40.0

12 Mar 16:07
Compare
Choose a tag to compare

⚠️ Important: From Strimzi 0.40 on, we support only Kubernetes 1.23 and newer. Kubernetes versions 1.21 and 1.22 are no longer supported.

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:
    template:
      apiService:
        metadata:
          annotations:
            discovery.myapigateway.io/port: 8080
    
    You might get an error similar to this when applying the resource:
    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"
    
    To fix the issue, just use a string value instead of an 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 the Kafka 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 to maxUnavailable: 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 the STRIMZI_DENY_EVICTION environment variable and set it to false 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

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 of x-kubernetes-preserve-unknown-fields for Map<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 and metadata 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...
Read more

0.40.0-rc1

08 Mar 19:44
Compare
Choose a tag to compare
0.40.0-rc1 Pre-release
Pre-release

⚠️ Important: From Strimzi 0.40 on, we support only Kubernetes 1.23 and newer. Kubernetes versions 1.21 and 1.22 are no longer supported.

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:
    template:
      apiService:
        metadata:
          annotations:
            discovery.myapigateway.io/port: 8080
    
    You might get an error similar to this when applying the resource:
    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"
    
    To fix the issue, just use a string value instead of an 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 the Kafka 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 to maxUnavailable: 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 the STRIMZI_DENY_EVICTION environment variable and set it to false 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 of x-kubernetes-preserve-unknown-fields for Map<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 and metadata 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...
Read more

0.39.0

21 Dec 09:22
Compare
Choose a tag to compare

⚠️ Important: Strimzi 0.39 is the last minor release with support for Kubernetes 1.21 and 1.22. From Strimzi 0.40 on, only Kubernetes 1.23 and newer will be supported.

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

18 Dec 21:41
Compare
Choose a tag to compare
0.39.0-rc2 Pre-release
Pre-release

⚠️ Important: Strimzi 0.39 is the last minor release with support for Kubernetes 1.21 and 1.22. From Strimzi 0.40 on, only Kubernetes 1.23 and newer will be supported.

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

13 Dec 20:12
Compare
Choose a tag to compare
0.39.0-rc1 Pre-release
Pre-release

⚠️ Important: Strimzi 0.39 is the last minor release with support for Kubernetes 1.21 and 1.22. From Strimzi 0.40 on, only Kubernetes 1.23 and newer will be supported.

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

17 Oct 00:24
Compare
Choose a tag to compare

⚠️ Important: Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!

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 when StableConnectIdentities 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 to keycloak authorization. If set to false it turns off sending of Accept 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 the Kafka.KafkaStatus.ListenerStatus.name property, which has the same value.
  • Added strimzi.io/kraft annotation to be applied on Kafka custom resource, together with the +UseKRaft feature gate enabled, to declare a ZooKeeper or KRaft based cluster.
    • if enabled the Kafka resource defines a KRaft-based cluster.
    • if disabled, missing or any other value, the operator handle the Kafka resource as a ZooKeeper-based cluster.
  • 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:
    config:
      # ...
      config.providers: env
      config.providers.env.class: io.strimzi.kafka.EnvVarConfigProvider
      # ...
    becomes
    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

12 Oct 21:50
Compare
Choose a tag to compare
0.38.0-rc1 Pre-release
Pre-release

⚠️ Important: Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!

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 when StableConnectIdentities 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 to keycloak authorization. If set to false it turns off sending of Accept 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 the Kafka.KafkaStatus.ListenerStatus.name property, which has the same value.
  • Added strimzi.io/kraft annotation to be applied on Kafka custom resource, together with the +UseKRaft feature gate enabled, to declare a ZooKeeper or KRaft based cluster.
    • if enabled the Kafka resource defines a KRaft-based cluster.
    • if disabled, missing or any other value, the operator handle the Kafka resource as a ZooKeeper-based cluster.
  • 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:
    config:
      # ...
      config.providers: env
      config.providers.env.class: io.strimzi.kafka.EnvVarConfigProvider
      # ...
    becomes
    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

06 Sep 18:47
Compare
Choose a tag to compare

⚠️ Important: Strimzi 0.37.0 supports only Kubernetes 1.21 and newer! Kubernetes versions 1.19 and 1.20 are not supported anymore since Strimzi 0.36.

⚠️ Important: Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!

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, in KafkaConnect, KafkaMirrorMaker, KafkaMirrorMaker2 and KafkaBridge resources, is not supported anymore.
    • The OpenTelemetry-based tracing is the only available by using tracing.type: opentelemetry.
  • The default behavior of the Kafka Connect connector auto-restart has changed.
    When the auto-restart feature is enabled in KafkaConnector or KafkaMirrorMaker2 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
    • 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
      • 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 the Kafka custom resource.

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

01 Sep 21:19
Compare
Choose a tag to compare
0.37.0-rc1 Pre-release
Pre-release

⚠️ Important: Strimzi 0.37.0 supports only Kubernetes 1.21 and newer! Kubernetes versions 1.19 and 1.20 are not supported anymore since Strimzi 0.36.

⚠️ Important: Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!

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, in KafkaConnect, KafkaMirrorMaker, KafkaMirrorMaker2 and KafkaBridge resources, is not supported anymore.
    • The OpenTelemetry-based tracing is the only available by using tracing.type: opentelemetry.
  • The default behavior of the Kafka Connect connector auto-restart has changed.
    When the auto-restart feature is enabled in KafkaConnector or KafkaMirrorMaker2 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
    • 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
      • 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 the Kafka custom resource.

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

01 Aug 08:19
Compare
Choose a tag to compare

⚠️ Important: Strimzi 0.36.1 supports only Kubernetes 1.21 and newer! Kubernetes versions 1.19 and 1.20 are not supported anymore since Strimzi 0.36.

⚠️ Important: Direct upgrade from Strimzi 0.22 or earlier is not supported anymore!

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