diff --git a/.semaphore/cp_dockerfile_build.yml b/.semaphore/cp_dockerfile_build.yml
index 93859d6601..a40692aa14 100644
--- a/.semaphore/cp_dockerfile_build.yml
+++ b/.semaphore/cp_dockerfile_build.yml
@@ -25,7 +25,7 @@ global_job_config:
commands:
- checkout
- if [[ $SEMAPHORE_GIT_BRANCH =~ ^7\..* ]]; then sem-version java 8; else sem-version java 17; fi
- - sem-version python 3.9
+ - sem-version python 3.14
- . vault-setup
- . cache-maven restore
- pip install tox==3.28.0
diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml
index 08a785c442..2454c2490a 100644
--- a/.semaphore/semaphore.yml
+++ b/.semaphore/semaphore.yml
@@ -25,7 +25,7 @@ global_job_config:
commands:
- checkout
- if [[ $SEMAPHORE_GIT_BRANCH =~ ^7\..* ]]; then sem-version java 8; else sem-version java 17; fi
- - sem-version python 3.9
+ - sem-version python 3.14
- . vault-setup
- . cache-maven restore
- pip install tox==3.28.0
diff --git a/base/Dockerfile.ubi8 b/base/Dockerfile.ubi8
index e946cfbd2e..b23c5d8f23 100644
--- a/base/Dockerfile.ubi8
+++ b/base/Dockerfile.ubi8
@@ -53,7 +53,7 @@ ENV CUB_CLASSPATH='"/usr/share/java/cp-base-new/*"'
ARG OPENSSL_VERSION=""
ARG WGET_VERSION=""
ARG NETCAT_VERSION=""
-ARG PYTHON39_VERSION=""
+ARG PYTHON314_VERSION="3.14.0"
ARG TAR_VERSION=""
ARG PROCPS_VERSION=""
ARG KRB5_WORKSTATION_VERSION=""
@@ -85,9 +85,8 @@ RUN microdnf --nodocs install yum \
"openssl${OPENSSL_VERSION}" \
"wget${WGET_VERSION}" \
"nmap-ncat${NETCAT_VERSION}" \
- "python39${PYTHON39_VERSION}" \
- "python39-pip${PYTHON_PIP_VERSION}" \
"tar${TAR_VERSION}" \
+ "findutils" \
"procps-ng${PROCPS_VERSION}" \
"krb5-workstation${KRB5_WORKSTATION_VERSION}" \
"iputils${IPUTILS_VERSION}" \
@@ -99,9 +98,31 @@ RUN microdnf --nodocs install yum \
"curl${CURL_VERSION}" \
"libcurl${CURL_VERSION}" \
"zulu11-ca-jdk-headless${ZULU_OPENJDK_VERSION}" "zulu11-ca-jre-headless${ZULU_OPENJDK_VERSION}" \
- && alternatives --set python /usr/bin/python3 \
- && python3 -m pip install --upgrade "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
- && python3 -m pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
+ gcc \
+ make \
+ bzip2-devel \
+ expat-devel \
+ gdbm-devel \
+ libffi-devel \
+ ncurses-devel \
+ sqlite-devel \
+ zlib-devel \
+ && cd /tmp \
+ && wget -q https://www.python.org/ftp/python/${PYTHON314_VERSION}/Python-${PYTHON314_VERSION}.tgz \
+ && tar -xzf Python-${PYTHON314_VERSION}.tgz \
+ && cd Python-${PYTHON314_VERSION} \
+ && ./configure --prefix=/usr/local --enable-optimizations --with-ensurepip=yes --without-readline \
+ && make -j$(nproc) || make -j1 \
+ && make altinstall \
+ && ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 \
+ && ln -sf /usr/local/bin/python3.14 /usr/local/bin/python \
+ && /usr/local/bin/python3.14 -m ensurepip --upgrade \
+ && /usr/local/bin/python3.14 -m pip install --upgrade "pip==${PYTHON_PIP_VERSION}" \
+ && /usr/local/bin/python3.14 -m pip install --upgrade "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
+ && /usr/local/bin/python3.14 -m pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
+ && cd / \
+ && rm -rf /tmp/Python-${PYTHON314_VERSION}* \
+ && yum remove -y gcc make bzip2-devel expat-devel gdbm-devel libffi-devel ncurses-devel sqlite-devel zlib-devel \
&& yum remove -y git \
&& yum clean all \
&& rm -rf /tmp/* \
diff --git a/base/pom.xml b/base/pom.xml
index 890d69d417..5a4da6e761 100644
--- a/base/pom.xml
+++ b/base/pom.xml
@@ -126,7 +126,7 @@
-${ubi8-minimal.openssl.version}
-${ubi8-minimal.wget.version}
-${ubi8-minimal.nmap-ncat.version}
- -${ubi8-minimal.python39.version}
+ ${ubi8-minimal.python314.version}
-${ubi8-minimal.tar.version}
-${ubi8-minimal.procps-ng.version}
-${ubi8-minimal.krb5-workstation.version}
@@ -136,7 +136,7 @@
-${ubi8-minimal.glibc.version}
-${ubi8-minimal.curl.version}
-${ubi8-minimal.zulu11-ca-jdk-headless.version}
- -${ubi8-minimal.python39-pip.version}
+ ${ubi8-minimal.python314-pip.version}
==${python.setuptools.version}
${git-repo.confluent-docker-utils.tag}
${docker.skip-security-update-check}
@@ -156,7 +156,7 @@
-${ubi8-minimal.openssl.version}
-${ubi8-minimal.wget.version}
-${ubi8-minimal.nmap-ncat.version}
- -${ubi8-minimal.python39.version}
+ ${ubi8-minimal.python314.version}
-${ubi8-minimal.tar.version}
-${ubi8-minimal.procps-ng.version}
-${ubi8-minimal.krb5-workstation.version}
@@ -166,7 +166,7 @@
-${ubi8-minimal.glibc.version}
-${ubi8-minimal.curl.version}
-${ubi8-minimal.zulu11-ca-jdk-headless.version}
- -${ubi8-minimal.python39-pip.version}
+ ${ubi8-minimal.python314-pip.version}
==${python.setuptools.version}
${git-repo.confluent-docker-utils.tag}
${docker.skip-security-update-check}
diff --git a/pom.xml b/pom.xml
index 6f50642cdb..dd5774612b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
1.1.1k-14.el8_10
1.19.5-12.el8_10
7.92-2.el8_10
- 3.9.25-2.module+el8.10.0+23718+1842ae33
+ 3.14.0
1.30-11.el8_10
3.3.15-14.el8
1.18.2-32.el8_10
@@ -80,7 +80,7 @@
2.28-251.el8_10.27
7.61.1-34.el8_10.9
11.0.30-1
- 20.2.4-9.module+el8.10.0+21329+8d76b841
+ 24.2
80.9.0