diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b587e2a5..b77e28a37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. - hbase: Add an SBOM for the web UI (npm) dependencies, which are unpacked from webjars and therefore not covered by the CycloneDX Maven plugin ([#1620]). - trino: Add SBOMs for the web UI, both for the two npm projects behind it and for the pre-built JavaScript vendored into the source tree ([#1620]). - hadoop, spark: Add SBOMs for the pre-built JavaScript that is vendored into the source tree for the HDFS and Spark web UIs ([#1620]). +- kafka: Add `4.3.1` ([#1659]). - stats-exporter: Add `0.31.0` ([#1664]). ### Changed @@ -57,6 +58,7 @@ All notable changes to this project will be documented in this file. - omid: remove 1.1.2 ([#1593]). - ci: Remove SLSA build provenance generation for published image indexes ([#1596]). +- kafka: Removed `3.9.1`, `4.1.1` ([#1659]). [#1593]: https://github.com/stackabletech/docker-images/pull/1593 [#1595]: https://github.com/stackabletech/docker-images/pull/1595 @@ -69,6 +71,7 @@ All notable changes to this project will be documented in this file. [#1630]: https://github.com/stackabletech/docker-images/pull/1630 [#1635]: https://github.com/stackabletech/docker-images/pull/1635 [#1638]: https://github.com/stackabletech/docker-images/pull/1638 +[#1659]: https://github.com/stackabletech/docker-images/pull/1659 [#1641]: https://github.com/stackabletech/docker-images/pull/1641 [#1664]: https://github.com/stackabletech/docker-images/pull/1664 diff --git a/kafka/boil-config.toml b/kafka/boil-config.toml index 539e5d327..d8c969db2 100644 --- a/kafka/boil-config.toml +++ b/kafka/boil-config.toml @@ -1,17 +1,6 @@ [metadata.registries] "oci.stackable.tech" = { namespace = "sdp" } -[versions."3.9.1".local-images] -java-base = "21" -java-devel = "21" -"kafka/kcat" = "1.7.0" -"kafka/kafka-opa-plugin" = "1.5.1" -"shared/reload4j" = "1.2.25" - -[versions."3.9.1".build-arguments] -scala-version = "2.13" -jmx-exporter-version = "1.3.0" - [versions."3.9.2".local-images] java-base = "21" java-devel = "21" @@ -23,9 +12,10 @@ java-devel = "21" scala-version = "2.13" jmx-exporter-version = "1.3.0" -[versions."4.1.1".local-images] -java-base = "24" -java-devel = "24" +[versions."4.2.1".local-images] +# For JVM compatibility see README.md and docs/getting-started/compatibility.md in the Kafka repository +java-base = "25" +java-devel = "25" "kafka/kcat" = "1.7.0" "kafka/kafka-opa-plugin" = "1.5.1" # TODO: this is not used in this version but it's added @@ -33,11 +23,11 @@ java-devel = "24" # Building this image is quick and in CI should not even be noticed. "shared/reload4j" = "1.2.25" -[versions."4.1.1".build-arguments] +[versions."4.2.1".build-arguments] scala-version = "2.13" jmx-exporter-version = "1.3.0" -[versions."4.2.1".local-images] +[versions."4.3.1".local-images] # For JVM compatibility see README.md and docs/getting-started/compatibility.md in the Kafka repository java-base = "25" java-devel = "25" @@ -48,6 +38,6 @@ java-devel = "25" # Building this image is quick and in CI should not even be noticed. "shared/reload4j" = "1.2.25" -[versions."4.2.1".build-arguments] +[versions."4.3.1".build-arguments] scala-version = "2.13" jmx-exporter-version = "1.3.0" diff --git a/kafka/stackable/patches/3.9.1/0001-Add-CycloneDX-plugin.patch b/kafka/stackable/patches/3.9.1/0001-Add-CycloneDX-plugin.patch deleted file mode 100644 index 70503b92e..000000000 --- a/kafka/stackable/patches/3.9.1/0001-Add-CycloneDX-plugin.patch +++ /dev/null @@ -1,71 +0,0 @@ -From c7a4c4cd14dac4be0f195d2e1ff1f6e38e12758d Mon Sep 17 00:00:00 2001 -From: Lukas Voetmand -Date: Thu, 17 Oct 2024 11:01:40 +0200 -Subject: Add CycloneDX plugin - ---- - build.gradle | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 51 insertions(+) - -diff --git a/build.gradle b/build.gradle -index 6b4725d5429..41954b3d3a6 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -48,6 +48,57 @@ plugins { - // We are going to drop JDK8 support. Hence, the spotless is upgrade to newest version and be applied only if the build env is compatible with JDK 11. - // spotless 6.15.0+ has issue in runtime with JDK8 even through we define it with `apply:false`. see https://github.com/diffplug/spotless/issues/2156 for more details - id 'com.diffplug.spotless' version "6.14.0" apply false -+ id 'org.cyclonedx.bom' version '1.10.0' -+} -+ -+cyclonedxBom { -+ // Specified the type of project being built. Defaults to 'library' -+ projectType = "application" -+ // Specified the version of the CycloneDX specification to use. Defaults to '1.5' -+ schemaVersion = "1.5" -+ // Boms destination directory. Defaults to 'build/reports' -+ destination = file("build/reports") -+ // The file name for the generated BOMs (before the file format suffix). Defaults to 'bom' -+ outputName = "bom" -+ // The file format generated, can be xml, json or all for generating both. Defaults to 'all' -+ outputFormat = "json" -+ includeConfigs = ["runtimeClasspath"] -+ // Exclude the projects that are not shipped. This list needs to be checked and, if it changed, -+ // updated for every new Kafka version. The list of projects can be obtained by running -+ // `gradle projects`. -+ // * jmh-benchmarks pulls in JMH, JUnit and Mockito. -+ // * generator is a build-time code generator for the message protocol. It pulls in Jackson, -+ // but its own dependencies never reach the distribution. -+ // * connect:test-plugins pulls in JGit, Bouncy Castle, Apache MINA sshd and commons-codec, -+ // none of which are shipped. -+ skipProjects = [ -+ 'generator', -+ 'jmh-benchmarks', -+ 'test-plugins', -+ 'upgrade-system-tests-0100', -+ 'upgrade-system-tests-0101', -+ 'upgrade-system-tests-0102', -+ 'upgrade-system-tests-0110', -+ 'upgrade-system-tests-10', -+ 'upgrade-system-tests-11', -+ 'upgrade-system-tests-20', -+ 'upgrade-system-tests-21', -+ 'upgrade-system-tests-22', -+ 'upgrade-system-tests-23', -+ 'upgrade-system-tests-24', -+ 'upgrade-system-tests-25', -+ 'upgrade-system-tests-26', -+ 'upgrade-system-tests-27', -+ 'upgrade-system-tests-28', -+ 'upgrade-system-tests-30', -+ 'upgrade-system-tests-31', -+ 'upgrade-system-tests-32', -+ 'upgrade-system-tests-33', -+ 'upgrade-system-tests-34', -+ 'upgrade-system-tests-35', -+ 'upgrade-system-tests-36', -+ 'upgrade-system-tests-37' -+ ] - } - - ext { diff --git a/kafka/stackable/patches/3.9.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch b/kafka/stackable/patches/3.9.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch deleted file mode 100644 index 73b27baba..000000000 --- a/kafka/stackable/patches/3.9.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f0ec37c057c7c37997f4bf71f1b4e475e8621e6c Mon Sep 17 00:00:00 2001 -From: Lars Francke -Date: Thu, 12 Dec 2024 10:09:47 +0100 -Subject: Change Gradle to use the Nexus Build Repo - ---- - build.gradle | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/build.gradle b/build.gradle -index 41954b3d3a6..6461e7cd37e 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -20,7 +20,9 @@ import java.nio.charset.StandardCharsets - - buildscript { - repositories { -- mavenCentral() -+ maven { -+ url 'https://build-repo.stackable.tech/repository/maven-public/' -+ } - } - apply from: "$rootDir/gradle/dependencies.gradle" - -@@ -177,7 +179,9 @@ ext { - allprojects { - - repositories { -- mavenCentral() -+ maven { -+ url 'https://build-repo.stackable.tech/repository/maven-public/' -+ } - } - - dependencyUpdates { diff --git a/kafka/stackable/patches/3.9.1/0003-Build-custom-Stackable-version.patch b/kafka/stackable/patches/3.9.1/0003-Build-custom-Stackable-version.patch deleted file mode 100644 index 5c8aaf14c..000000000 --- a/kafka/stackable/patches/3.9.1/0003-Build-custom-Stackable-version.patch +++ /dev/null @@ -1,116 +0,0 @@ -From f6c5706e8ce7d409384213db19b7be96e2c84296 Mon Sep 17 00:00:00 2001 -From: dervoeti -Date: Wed, 18 Jun 2025 12:17:53 +0200 -Subject: Build custom Stackable version - ---- - docs/configuration.html | 2 +- - docs/js/templateData.js | 2 +- - gradle.properties | 2 +- - streams/quickstart/java/pom.xml | 2 +- - .../java/src/main/resources/archetype-resources/pom.xml | 2 +- - streams/quickstart/pom.xml | 2 +- - tests/kafkatest/__init__.py | 2 +- - tests/kafkatest/version.py | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/docs/configuration.html b/docs/configuration.html -index f7c99623de9..266236b54aa 100644 ---- a/docs/configuration.html -+++ b/docs/configuration.html -@@ -296,7 +296,7 @@ -

If users want to only enable some URLs, users need to explicitly set the system property like below. -

-Dorg.apache.kafka.sasl.oauthbearer.allowed.urls=https://www.example.com,file:///tmp/token
- -- -+ - -
Since:3.9.1
Since:3.9.1-stackable0.0.0-dev
Default Value:All URLs are allowed
- -diff --git a/docs/js/templateData.js b/docs/js/templateData.js -index a1ed4601c78..57c854db36d 100644 ---- a/docs/js/templateData.js -+++ b/docs/js/templateData.js -@@ -19,6 +19,6 @@ limitations under the License. - var context={ - "version": "39", - "dotVersion": "3.9", -- "fullDotVersion": "3.9.1", -+ "fullDotVersion": "3.9.1-stackable0.0.0-dev", - "scalaVersion": "2.13" - }; -diff --git a/gradle.properties b/gradle.properties -index 05598137fd5..3f660d4ee51 100644 ---- a/gradle.properties -+++ b/gradle.properties -@@ -23,7 +23,7 @@ group=org.apache.kafka - # - streams/quickstart/pom.xml - # - streams/quickstart/java/src/main/resources/archetype-resources/pom.xml - # - streams/quickstart/java/pom.xml --version=3.9.1 -+version=3.9.1-stackable0.0.0-dev - scalaVersion=2.13.15 - # Adding swaggerVersion in gradle.properties to have a single version in place for swagger - # New version of Swagger 2.2.14 requires minimum JDK 11. -diff --git a/streams/quickstart/java/pom.xml b/streams/quickstart/java/pom.xml -index 3d404de9c37..92735dffbc8 100644 ---- a/streams/quickstart/java/pom.xml -+++ b/streams/quickstart/java/pom.xml -@@ -26,7 +26,7 @@ - - org.apache.kafka - streams-quickstart -- 3.9.1 -+ 3.9.1-stackable0.0.0-dev - .. - - -diff --git a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml -index 26af0e1dc39..b55640c1f01 100644 ---- a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml -+++ b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml -@@ -29,7 +29,7 @@ - - - UTF-8 -- 3.9.1 -+ 3.9.1-stackable0.0.0-dev - 1.7.36 - - -diff --git a/streams/quickstart/pom.xml b/streams/quickstart/pom.xml -index f524e00445f..05e8eee91a4 100644 ---- a/streams/quickstart/pom.xml -+++ b/streams/quickstart/pom.xml -@@ -22,7 +22,7 @@ - org.apache.kafka - streams-quickstart - pom -- 3.9.1 -+ 3.9.1-stackable0.0.0-dev - - Kafka Streams :: Quickstart - -diff --git a/tests/kafkatest/__init__.py b/tests/kafkatest/__init__.py -index a8e4d4515ce..36068eeb1ab 100644 ---- a/tests/kafkatest/__init__.py -+++ b/tests/kafkatest/__init__.py -@@ -22,4 +22,4 @@ - # Instead, in development branches, the version should have a suffix of the form ".devN" - # - # For example, when Kafka is at version 1.0.0-SNAPSHOT, this should be something like "1.0.0.dev0" --__version__ = '3.9.1' -+__version__ = '3.9.1-stackable0.0.0-dev' -diff --git a/tests/kafkatest/version.py b/tests/kafkatest/version.py -index 99cb2782265..cd8bcfab4b9 100644 ---- a/tests/kafkatest/version.py -+++ b/tests/kafkatest/version.py -@@ -122,7 +122,7 @@ def get_version(node=None): - return DEV_BRANCH - - DEV_BRANCH = KafkaVersion("dev") --DEV_VERSION = KafkaVersion("3.9.1-SNAPSHOT") -+DEV_VERSION = KafkaVersion("3.9.1-stackable0.0.0-dev") - - # This should match the LATEST_PRODUCTION version defined in MetadataVersion.java - LATEST_STABLE_METADATA_VERSION = "3.9-IV0" diff --git a/kafka/stackable/patches/3.9.1/patchable.toml b/kafka/stackable/patches/3.9.1/patchable.toml deleted file mode 100644 index 57d034bfa..000000000 --- a/kafka/stackable/patches/3.9.1/patchable.toml +++ /dev/null @@ -1,2 +0,0 @@ -base = "f745dfdcee2b9851204ddbbcd423626ab87294bc" -mirror = "https://github.com/stackabletech/kafka.git" diff --git a/kafka/stackable/patches/3.9.2/patchable.toml b/kafka/stackable/patches/3.9.2/patchable.toml index c5bd561ab..4a0f49481 100644 --- a/kafka/stackable/patches/3.9.2/patchable.toml +++ b/kafka/stackable/patches/3.9.2/patchable.toml @@ -1 +1,2 @@ +mirror = "https://github.com/stackabletech/kafka.git" base = "5e9866f43ab8e7e41ef39e5584ac50019381328d" diff --git a/kafka/stackable/patches/4.1.1/0001-Add-CycloneDX-plugin.patch b/kafka/stackable/patches/4.1.1/0001-Add-CycloneDX-plugin.patch deleted file mode 100644 index 21a0882cb..000000000 --- a/kafka/stackable/patches/4.1.1/0001-Add-CycloneDX-plugin.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4e266b5eac48e4bbcbc70052f352e961eb27fa5b Mon Sep 17 00:00:00 2001 -From: Malte Sander -Date: Thu, 25 Sep 2025 10:47:57 +0200 -Subject: Add CycloneDX plugin - ---- - build.gradle | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 60 insertions(+) - -diff --git a/build.gradle b/build.gradle -index 97250637b70..d055befd29b 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -41,6 +41,66 @@ plugins { - id 'org.scoverage' version '8.0.3' apply false - id 'com.gradleup.shadow' version '8.3.6' apply false - id 'com.diffplug.spotless' version "6.25.0" -+ id 'org.cyclonedx.bom' version '1.10.0' -+} -+ -+cyclonedxBom { -+ // Specified the type of project being built. Defaults to 'library' -+ projectType = "application" -+ // Specified the version of the CycloneDX specification to use. Defaults to '1.5' -+ schemaVersion = "1.5" -+ // Boms destination directory. Defaults to 'build/reports' -+ destination = file("build/reports") -+ // The file name for the generated BOMs (before the file format suffix). Defaults to 'bom' -+ outputName = "bom" -+ // The file format generated, can be xml, json or all for generating both. Defaults to 'all' -+ outputFormat = "json" -+ // The releaseOnly configuration is included as well, because the `core` and `tools` projects -+ // declare the Log4j runtime bindings (log4jReleaseLibs) there instead of on the -+ // runtimeClasspath. They are copied into libs/ by the releaseTarGz task, so they are shipped -+ // and must be part of the SBOM. -+ includeConfigs = ["runtimeClasspath", "releaseOnly"] -+ // Exclude the projects that are not shipped. This list needs to be checked and, if it changed, -+ // updated for every new Kafka version. The list of projects can be obtained by running -+ // `gradle projects`. -+ // * jmh-benchmarks pulls in JMH, JUnit and Mockito. -+ // * The test-common projects pull in JUnit. -+ // * generator is a build-time code generator for the message protocol. It pulls in Jackson, -+ // but its own dependencies never reach the distribution. -+ // * The integration test projects and connect:test-plugins pull in JGit, Bouncy Castle, -+ // Apache MINA sshd and commons-codec, none of which are shipped. -+ skipProjects = [ -+ 'clients-integration-tests', -+ 'generator', -+ 'integration-tests', -+ 'jmh-benchmarks', -+ 'test-common-internal-api', -+ 'test-common-runtime', -+ 'test-common-util', -+ 'test-plugins', -+ 'upgrade-system-tests-0110', -+ 'upgrade-system-tests-10', -+ 'upgrade-system-tests-11', -+ 'upgrade-system-tests-20', -+ 'upgrade-system-tests-21', -+ 'upgrade-system-tests-22', -+ 'upgrade-system-tests-23', -+ 'upgrade-system-tests-24', -+ 'upgrade-system-tests-25', -+ 'upgrade-system-tests-26', -+ 'upgrade-system-tests-27', -+ 'upgrade-system-tests-28', -+ 'upgrade-system-tests-30', -+ 'upgrade-system-tests-31', -+ 'upgrade-system-tests-32', -+ 'upgrade-system-tests-33', -+ 'upgrade-system-tests-34', -+ 'upgrade-system-tests-35', -+ 'upgrade-system-tests-36', -+ 'upgrade-system-tests-37', -+ 'upgrade-system-tests-38', -+ 'upgrade-system-tests-39', -+ ] - } - - ext { diff --git a/kafka/stackable/patches/4.2.1/patchable.toml b/kafka/stackable/patches/4.2.1/patchable.toml index 9ae3d09e9..7308f4c28 100644 --- a/kafka/stackable/patches/4.2.1/patchable.toml +++ b/kafka/stackable/patches/4.2.1/patchable.toml @@ -1 +1,2 @@ +mirror = "https://github.com/stackabletech/kafka.git" base = "18d5ecd939c8d510fdd72d0abb1f7099659dcd58" diff --git a/kafka/stackable/patches/4.3.1/0001-Add-CycloneDX-plugin.patch b/kafka/stackable/patches/4.3.1/0001-Add-CycloneDX-plugin.patch new file mode 100644 index 000000000..2de1c4804 --- /dev/null +++ b/kafka/stackable/patches/4.3.1/0001-Add-CycloneDX-plugin.patch @@ -0,0 +1,93 @@ +From 8362092081dccbfbd678e2f42e8e904e54d21c86 Mon Sep 17 00:00:00 2001 +From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> +Date: Wed, 13 May 2026 16:30:33 +0300 +Subject: Add CycloneDX plugin + +--- + build.gradle | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 71 insertions(+) + +diff --git a/build.gradle b/build.gradle +index 85f2bf67f9..40c73e83e0 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -41,8 +41,79 @@ plugins { + id 'org.scoverage' version '8.1' apply false + id 'com.gradleup.shadow' version '9.3.1' apply false + id 'com.diffplug.spotless' version "8.0.0" ++ id 'org.cyclonedx.bom' version '3.2.4' + } + ++cyclonedxBom { ++ // Specified the type of project being built. Defaults to 'library' ++ projectType = org.cyclonedx.model.Component.Type.APPLICATION ++ // Specified the version of the CycloneDX specification to use. Defaults to VERSION_16. ++ schemaVersion = org.cyclonedx.Version.VERSION_15 ++ jsonOutput = file("build/reports/bom.json") ++ xmlOutput.unsetConvention() ++} ++ ++// The SBOM must only describe what is shipped, so restrict it to the runtime dependencies. ++// Without this the SBOM also contains the test and build tooling (JUnit, Mockito, JaCoCo, ++// SpotBugs, Checkstyle, ...). It has to be configured on the per-project `cyclonedxDirectBom` ++// tasks, the `cyclonedxBom` extension above only configures the aggregation. ++// The releaseOnly configuration is included as well, because the `core` and `tools` projects ++// declare the Log4j runtime bindings (log4jReleaseLibs) there instead of on the ++// runtimeClasspath. They are copied into libs/ by the releaseTarGz task, so they are shipped ++// and must be part of the SBOM. ++allprojects { ++ tasks.matching { it.name == 'cyclonedxDirectBom' }.configureEach { ++ includeConfigs = ['runtimeClasspath', 'releaseOnly'] ++ } ++} ++ ++// Exclude the projects that are not shipped. This list needs to be checked and, if it changed, ++// updated for every new Kafka version. The list of projects can be obtained by running ++// `gradle projects`. ++// * jmh-benchmarks pulls in JMH and the test fixtures. ++// * The test-common projects pull in JUnit. ++// * generator is a build-time code generator for the message protocol. It pulls in Jackson, ++// but its own dependencies never reach the distribution. ++// * The integration test projects and connect:test-plugins pull in JGit, Bouncy Castle, ++// Apache MINA sshd and commons-codec, none of which are shipped. ++def skipCyclonedxProjects = [ ++ ':clients:clients-integration-tests', ++ ':connect:test-plugins', ++ ':generator', ++ ':jmh-benchmarks', ++ ':streams:integration-tests', ++ ':streams:upgrade-system-tests-0110', ++ ':streams:upgrade-system-tests-10', ++ ':streams:upgrade-system-tests-11', ++ ':streams:upgrade-system-tests-20', ++ ':streams:upgrade-system-tests-21', ++ ':streams:upgrade-system-tests-22', ++ ':streams:upgrade-system-tests-23', ++ ':streams:upgrade-system-tests-24', ++ ':streams:upgrade-system-tests-25', ++ ':streams:upgrade-system-tests-26', ++ ':streams:upgrade-system-tests-27', ++ ':streams:upgrade-system-tests-28', ++ ':streams:upgrade-system-tests-30', ++ ':streams:upgrade-system-tests-31', ++ ':streams:upgrade-system-tests-32', ++ ':streams:upgrade-system-tests-33', ++ ':streams:upgrade-system-tests-34', ++ ':streams:upgrade-system-tests-35', ++ ':streams:upgrade-system-tests-36', ++ ':streams:upgrade-system-tests-37', ++ ':streams:upgrade-system-tests-38', ++ ':streams:upgrade-system-tests-39', ++ ':streams:upgrade-system-tests-40', ++ ':streams:upgrade-system-tests-41', ++] ++ ++configure(subprojects.findAll { skipCyclonedxProjects.contains(it.path) || it.path.startsWith(':test-common') }) { ++ tasks.named('cyclonedxDirectBom') { ++ enabled = false ++ } ++} ++ + ext { + minClientJavaVersion = 11 + minNonClientJavaVersion = 17 diff --git a/kafka/stackable/patches/4.1.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch b/kafka/stackable/patches/4.3.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch similarity index 74% rename from kafka/stackable/patches/4.1.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch rename to kafka/stackable/patches/4.3.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch index 8a13c7055..be7057e1e 100644 --- a/kafka/stackable/patches/4.1.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch +++ b/kafka/stackable/patches/4.3.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch @@ -1,6 +1,6 @@ -From a99ac8dcc8ef2877e9ccd5642eafc00076c5f49b Mon Sep 17 00:00:00 2001 -From: Malte Sander -Date: Thu, 25 Sep 2025 10:50:07 +0200 +From 7d341f3cdb459a44538e2f7ace41f3cc91198b99 Mon Sep 17 00:00:00 2001 +From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> +Date: Wed, 13 May 2026 16:31:44 +0300 Subject: Change Gradle to use the Nexus Build Repo --- @@ -8,7 +8,7 @@ Subject: Change Gradle to use the Nexus Build Repo 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle -index d055befd29b..570da93c9ca 100644 +index 40c73e83e0..3658f51e11 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,9 @@ import java.nio.charset.StandardCharsets @@ -22,7 +22,7 @@ index d055befd29b..570da93c9ca 100644 } apply from: "$rootDir/gradle/dependencies.gradle" -@@ -223,7 +225,9 @@ ext { +@@ -238,7 +240,9 @@ ext { allprojects { repositories { diff --git a/kafka/stackable/patches/4.1.1/0003-Build-custom-Stackable-version.patch b/kafka/stackable/patches/4.3.1/0003-Build-custom-Stackable-version.patch similarity index 58% rename from kafka/stackable/patches/4.1.1/0003-Build-custom-Stackable-version.patch rename to kafka/stackable/patches/4.3.1/0003-Build-custom-Stackable-version.patch index 211cdcd52..8cf5da714 100644 --- a/kafka/stackable/patches/4.1.1/0003-Build-custom-Stackable-version.patch +++ b/kafka/stackable/patches/4.3.1/0003-Build-custom-Stackable-version.patch @@ -1,103 +1,114 @@ -From bb5ffc0aff0c3fee6ba631f9ae337c42c7673fc2 Mon Sep 17 00:00:00 2001 +From 704909b6cd77c6f52a95e5483b6c8ef1399d068f Mon Sep 17 00:00:00 2001 From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> -Date: Wed, 14 Jan 2026 12:58:54 +0100 +Date: Fri, 29 May 2026 17:33:00 +0200 Subject: Build custom Stackable version +How it was done: + +Replace in files in root dir (do not garble .git): + +for d in $(ls -p|grep -v /); do find $d -type f -exec sed -i +'s/4\.2\.1/4.2.1-stackable0.0.0-dev/g' {} +; done + +Replace in all subdirs: + +for d in $(ls -d */); do find $d -type f -exec sed -i +'s/4\.2\.1/4.2.1-stackable0.0.0-dev/g' {} +; done --- - committer-tools/kafka-merge-pr.py | 2 +- - docs/js/templateData.js | 2 +- - gradle.properties | 2 +- - streams/quickstart/java/pom.xml | 2 +- - .../java/src/main/resources/archetype-resources/pom.xml | 2 +- - streams/quickstart/pom.xml | 3 ++- - tests/kafkatest/__init__.py | 2 +- - 7 files changed, 8 insertions(+), 7 deletions(-) + committer-tools/kafka-merge-pr.py | 2 +- + gradle.properties | 2 +- + streams/quickstart/java/pom.xml | 2 +- + .../java/src/main/resources/archetype-resources/pom.xml | 2 +- + streams/quickstart/pom.xml | 2 +- + tests/kafkatest/__init__.py | 2 +- + tests/kafkatest/version.py | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/committer-tools/kafka-merge-pr.py b/committer-tools/kafka-merge-pr.py -index 1b181ed1d68..41fac8ba680 100755 +index 25026faa63..5416c76085 100755 --- a/committer-tools/kafka-merge-pr.py +++ b/committer-tools/kafka-merge-pr.py @@ -70,7 +70,7 @@ TEMP_BRANCH_PREFIX = "PR_TOOL" DEV_BRANCH_NAME = "trunk" --DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "4.1.1") -+DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "4.1.1-stackable0.0.0-dev") +-DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "4.3.1") ++DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "4.3.1-stackable0.0.0-dev") ORIGINAL_HEAD = "" -diff --git a/docs/js/templateData.js b/docs/js/templateData.js -index d63a81b503c..5b3ded927b8 100644 ---- a/docs/js/templateData.js -+++ b/docs/js/templateData.js -@@ -19,6 +19,6 @@ limitations under the License. - var context={ - "version": "41", - "dotVersion": "4.1", -- "fullDotVersion": "4.1.1", -+ "fullDotVersion": "4.1.1-stackable0.0.0-dev", - "scalaVersion": "2.13" - }; diff --git a/gradle.properties b/gradle.properties -index 005a86fa634..295ae5bc1f5 100644 +index b7ddc9552a..2f63a60448 100644 --- a/gradle.properties +++ b/gradle.properties -@@ -23,7 +23,7 @@ group=org.apache.kafka - # - streams/quickstart/pom.xml - # - streams/quickstart/java/src/main/resources/archetype-resources/pom.xml - # - streams/quickstart/java/pom.xml --version=4.1.1 -+version=4.1.1-stackable0.0.0-dev - scalaVersion=2.13.16 +@@ -14,7 +14,7 @@ + # limitations under the License. + + group=org.apache.kafka +-version=4.3.1 ++version=4.3.1-stackable0.0.0-dev + scalaVersion=2.13.18 # Adding swaggerVersion in gradle.properties to have a single version in place for swagger - swaggerVersion=2.2.25 + swaggerVersion=2.2.39 diff --git a/streams/quickstart/java/pom.xml b/streams/quickstart/java/pom.xml -index fc1aad5ee42..0335ea37603 100644 +index 25253367b8..0ba51d2e89 100644 --- a/streams/quickstart/java/pom.xml +++ b/streams/quickstart/java/pom.xml @@ -26,7 +26,7 @@ org.apache.kafka streams-quickstart -- 4.1.1 -+ 4.1.1-stackable0.0.0-dev +- 4.3.1 ++ 4.3.1-stackable0.0.0-dev .. diff --git a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml -index 4cab1223a71..0688fa4ccbb 100644 +index 9fed9d1496..fc19271a39 100644 --- a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml +++ b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml @@ -29,7 +29,7 @@ UTF-8 -- 4.1.1 -+ 4.1.1-stackable0.0.0-dev +- 4.3.1 ++ 4.3.1-stackable0.0.0-dev 2.0.16 diff --git a/streams/quickstart/pom.xml b/streams/quickstart/pom.xml -index eef0727480e..845281cce93 100644 +index 159ecdac2b..9a5cf5d867 100644 --- a/streams/quickstart/pom.xml +++ b/streams/quickstart/pom.xml -@@ -22,7 +22,8 @@ +@@ -22,7 +22,7 @@ org.apache.kafka streams-quickstart pom -- 4.1.1 -+ 4.1.1-stackable0.0.0-dev -+ +- 4.3.1 ++ 4.3.1-stackable0.0.0-dev Kafka Streams :: Quickstart diff --git a/tests/kafkatest/__init__.py b/tests/kafkatest/__init__.py -index 9484aec27d7..213f9eb9aac 100644 +index da3cc84f26..4e8066ceb7 100644 --- a/tests/kafkatest/__init__.py +++ b/tests/kafkatest/__init__.py @@ -22,4 +22,4 @@ # Instead, in development branches, the version should have a suffix of the form ".devN" # # For example, when Kafka is at version 1.0.0-SNAPSHOT, this should be something like "1.0.0.dev0" --__version__ = '4.1.1' -+__version__ = '4.1.1-stackable0.0.0-dev' +-__version__ = '4.3.1' ++__version__ = '4.3.1-stackable0.0.0-dev' +diff --git a/tests/kafkatest/version.py b/tests/kafkatest/version.py +index acf715b263..c9aa91a972 100644 +--- a/tests/kafkatest/version.py ++++ b/tests/kafkatest/version.py +@@ -128,7 +128,7 @@ def get_version(node=None): + return DEV_BRANCH + + DEV_BRANCH = KafkaVersion("dev") +-DEV_VERSION = KafkaVersion("4.3.1") ++DEV_VERSION = KafkaVersion("4.3.1-stackable0.0.0-dev") + + LATEST_STABLE_TRANSACTION_VERSION = 2 + # This should match the LATEST_PRODUCTION version defined in MetadataVersion.java diff --git a/kafka/stackable/patches/4.1.1/0004-Include-jackson-dataformat-xml-dependency.patch b/kafka/stackable/patches/4.3.1/0004-Include-jackson-dataformat-xml-dependency.patch similarity index 57% rename from kafka/stackable/patches/4.1.1/0004-Include-jackson-dataformat-xml-dependency.patch rename to kafka/stackable/patches/4.3.1/0004-Include-jackson-dataformat-xml-dependency.patch index fae064480..cb6ddd22a 100644 --- a/kafka/stackable/patches/4.1.1/0004-Include-jackson-dataformat-xml-dependency.patch +++ b/kafka/stackable/patches/4.3.1/0004-Include-jackson-dataformat-xml-dependency.patch @@ -1,131 +1,133 @@ -From 988f35e5eda25dd58a822b9e184c697238d495d1 Mon Sep 17 00:00:00 2001 -From: Malte Sander -Date: Thu, 25 Sep 2025 11:13:20 +0200 +From 85f02ff89e79f60b1cc3d5f3d291818a854ec7b4 Mon Sep 17 00:00:00 2001 +From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> +Date: Fri, 29 May 2026 17:43:58 +0200 Subject: Include jackson dataformat xml dependency +Add jacksonDatabindXml everywhere near jacjsonDatabindYaml in +build.gradle --- build.gradle | 15 ++++++++++++++- gradle/dependencies.gradle | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle -index 570da93c9ca..d99908185c9 100644 +index 3658f51e11..ad325b2835 100644 --- a/build.gradle +++ b/build.gradle -@@ -199,13 +199,15 @@ ext { +@@ -214,13 +214,15 @@ ext { libs.slf4jLog4j2, libs.junitPlatformLanucher, - libs.jacksonDatabindYaml, -+ libs.jacksonDatabindXml, + libs.jacksonDataformatYaml, ++ libs.jacksonDataformatXml, project(":test-common:test-common-util") ] log4jReleaseLibs = [ libs.slf4jLog4j2, libs.log4j1Bridge2Api, -- libs.jacksonDatabindYaml -+ libs.jacksonDatabindYaml, -+ libs.jacksonDatabindXml +- libs.jacksonDataformatYaml ++ libs.jacksonDataformatYaml, ++ libs.jacksonDataformatXml ] log4j2Libs = [ -@@ -1085,6 +1087,7 @@ project(':core') { +@@ -1181,6 +1183,7 @@ project(':core') { implementation libs.jacksonDataformatCsv implementation libs.jacksonJDK8Datatypes - implementation libs.jacksonDatabindYaml -+ implementation libs.jacksonDatabindXml + implementation libs.jacksonDataformatYaml ++ implementation libs.jacksonDataformatXml implementation libs.joptSimple implementation libs.jose4j implementation libs.metrics -@@ -1503,6 +1506,7 @@ project(':group-coordinator') { +@@ -1597,6 +1600,7 @@ project(':group-coordinator') { testImplementation project(':server-common').sourceSets.test.output testImplementation project(':coordinator-common').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation testLog4j2Libs -@@ -1625,6 +1629,7 @@ project(':test-common:test-common-runtime') { +@@ -1719,6 +1723,7 @@ project(':test-common:test-common-runtime') { implementation libs.junitPlatformLanucher implementation libs.junitJupiter - implementation libs.jacksonDatabindYaml -+ implementation libs.jacksonDatabindXml + implementation libs.jacksonDataformatYaml ++ implementation libs.jacksonDataformatXml implementation libs.slf4jApi testImplementation libs.junitJupiter -@@ -2098,6 +2103,7 @@ project(':raft') { +@@ -2196,6 +2201,7 @@ project(':raft') { testImplementation project(':clients') testImplementation project(':clients').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation libs.jqwik -@@ -2195,6 +2201,7 @@ project(':server-common') { +@@ -2293,6 +2299,7 @@ project(':server-common') { testImplementation project(':clients') testImplementation project(':clients').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation testLog4j2Libs -@@ -2336,6 +2343,7 @@ project(':storage') { +@@ -2433,6 +2440,7 @@ project(':storage') { testImplementation project(':transaction-coordinator') testImplementation libs.hamcrest - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation libs.bcpkix -@@ -2653,6 +2661,7 @@ project(':shell') { +@@ -2752,6 +2760,7 @@ project(':shell') { testImplementation project(':server-common') testImplementation project(':server-common').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation testLog4j2Libs -@@ -2702,6 +2711,7 @@ project(':streams') { +@@ -2801,6 +2810,7 @@ project(':streams') { testImplementation project(':clients').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.bcpkix testImplementation libs.hamcrest -@@ -2847,6 +2857,7 @@ project(':streams:streams-scala') { +@@ -2946,6 +2956,7 @@ project(':streams:streams-scala') { testImplementation project(':streams:test-utils') - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoJunitJupiter // supports MockitoExtension testImplementation testLog4j2Libs -@@ -2951,6 +2962,7 @@ project(':streams:test-utils') { +@@ -3050,6 +3061,7 @@ project(':streams:test-utils') { testImplementation project(':clients').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation libs.hamcrest -@@ -3629,6 +3641,7 @@ project(':connect:runtime') { +@@ -3746,6 +3758,7 @@ project(':connect:runtime') { testImplementation project(':server-common').sourceSets.test.output - testImplementation libs.jacksonDatabindYaml -+ testImplementation libs.jacksonDatabindXml + testImplementation libs.jacksonDataformatYaml ++ testImplementation libs.jacksonDataformatXml testImplementation libs.junitJupiter testImplementation libs.mockitoCore testImplementation libs.mockitoJunitJupiter diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle -index 10173814e53..1a8c1bac159 100644 +index 58aef4e575..f4a3c6dd31 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle -@@ -156,6 +156,7 @@ libs += [ - jacksonAnnotations: "com.fasterxml.jackson.core:jackson-annotations:$versions.jackson", +@@ -163,6 +163,7 @@ libs += [ jacksonDatabind: "com.fasterxml.jackson.core:jackson-databind:$versions.jackson", - jacksonDatabindYaml: "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$versions.jackson", -+ jacksonDatabindXml: "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$versions.jackson", jacksonDataformatCsv: "com.fasterxml.jackson.dataformat:jackson-dataformat-csv:$versions.jackson", + jacksonDataformatYaml: "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$versions.jackson", ++ jacksonDataformatXml: "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$versions.jackson", jacksonJDK8Datatypes: "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$versions.jackson", jacksonBlackbird: "com.fasterxml.jackson.module:jackson-module-blackbird:$versions.jackson", + jacksonJakartarsJsonProvider: "com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider:$versions.jackson", diff --git a/kafka/stackable/patches/4.1.1/patchable.toml b/kafka/stackable/patches/4.3.1/patchable.toml similarity index 51% rename from kafka/stackable/patches/4.1.1/patchable.toml rename to kafka/stackable/patches/4.3.1/patchable.toml index 939faf85a..56857bae9 100644 --- a/kafka/stackable/patches/4.1.1/patchable.toml +++ b/kafka/stackable/patches/4.3.1/patchable.toml @@ -1,2 +1,2 @@ -base = "be816b82d25370ceac697ccf7c88cea873e9b4e3" mirror = "https://github.com/stackabletech/kafka.git" +base = "26b251a451ce941d3d7a55e6487bcb7f16b5ad48"