From c7a8f93413fe28a4f83d66c5773263ab316d6f17 Mon Sep 17 00:00:00 2001 From: Jack McCluskey <34928439+jrmccluskey@users.noreply.github.com> Date: Thu, 6 Aug 2026 18:32:17 -0400 Subject: [PATCH 1/2] Fix Python 3.14 Container Build, Streamline Installation (#39659) --- sdks/python/container/Dockerfile | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/sdks/python/container/Dockerfile b/sdks/python/container/Dockerfile index a1e17edb82d1..acb637521c92 100644 --- a/sdks/python/container/Dockerfile +++ b/sdks/python/container/Dockerfile @@ -49,8 +49,6 @@ RUN \ rm -rf /var/lib/apt/lists/* && \ - pip install --upgrade pip setuptools wheel && \ - # Install required packages for Beam Python SDK and common dependencies used by users. # use --no-deps to ensure the list includes all transitive dependencies. # use --prefer-binary to avoid compiling wheels from source when prebuilt wheels exist. @@ -92,18 +90,12 @@ RUN \ if [ "${py_version}" = "3.10" ] || [ "${py_version}" = "3.11" ]; then \ pip install upgrade_ensurepip; \ python3 -m upgrade_ensurepip; \ - else \ - python3 /tmp/upgrade_bundled_pip.py; \ - fi; \ - # setuptools is not bundled with ensurepip in Python 3.12+ - if [ "${py_version}" = "3.10" ] || [ "${py_version}" = "3.11" ]; then \ find /usr/local/lib/python${py_version}/ensurepip/_bundled/setuptools-* -type f ! -name $(basename $(ls -v /usr/local/lib/python${py_version}/ensurepip/_bundled/setuptools-*-py3-none-any.whl | tail -n 1)) -delete; \ - fi; \ - find /usr/local/lib/python${py_version}/ensurepip/_bundled/pip-* -type f ! -name $(basename $(ls -v /usr/local/lib/python${py_version}/ensurepip/_bundled/pip-*-py3-none-any.whl | tail -n 1)) -delete; \ - if [ "${py_version}" = "3.10" ] || [ "${py_version}" = "3.11" ]; then \ pip uninstall upgrade_ensurepip -y; \ + else \ + python3 /tmp/upgrade_bundled_pip.py; \ fi; \ - python3 -m ensurepip; + find /usr/local/lib/python${py_version}/ensurepip/_bundled/pip-* -type f ! -name $(basename $(ls -v /usr/local/lib/python${py_version}/ensurepip/_bundled/pip-*-py3-none-any.whl | tail -n 1)) -delete; ENTRYPOINT ["/opt/apache/beam/boot"] From 0b91ed1d432e6444511a4c5c766f9c175443a69e Mon Sep 17 00:00:00 2001 From: Ahmed Abualsaud <65791736+ahmedabu98@users.noreply.github.com> Date: Thu, 6 Aug 2026 18:00:24 -0700 Subject: [PATCH 2/2] add mention of managed iceberg read breakage (#39660) --- CHANGES.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index a24589188922..81f7d493677b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -132,8 +132,12 @@ * (Python) Removed `google-perftools` from the SDK container images. Users who wish to use `--profiler_agent=tcmalloc` should install google-perftools APT package in their custom container images separately ([#39323](https://github.com/apache/beam/issues/39323)). * [IcebergIO] Reading a `timestamptz` column will now return a `Timestamp.MICROS` Beam logical type to preserve microseconds (the old Beam `Schema.FieldType#DATETIME` primitive type truncates past milliseconds). This may break - existing streaming read pipelines. It also breaks Python reads when a `timestamptz` column is present. Use pipeline - option `--updateCompatibilityVersion=2.75.0` (or any older version) to keep the old behavior ([#39344](https://github.com/apache/beam/issues/39344)). + the following use cases when a `timestamptz` column is present: + * Existing streaming read pipelines. + * Managed Iceberg batch reads when upgraded from an older SDK. + * Python reads. + + Use pipeline option `--updateCompatibilityVersion=2.75.0` (or any older version) to keep the old behavior ([#39344](https://github.com/apache/beam/issues/39344)). * `DoFn.process` returning a `str`, `bytes`, or `dict` (instead of an iterable wrapping one) now raises a `TypeError` rather than silently iterating per-character/byte/key (Python) ([#18712](https://github.com/apache/beam/issues/18712)). * (Java) Added `DRAINING` and `DRAINED` states to `PipelineResult`, including runner state mappings and Dataflow update handling ([#39020](https://github.com/apache/beam/issues/39020)). * (Python) Typehints of dataclass fields are honored during type inferences. To restore the behavior of fallback-to-any,