Skip to content

Conversation

@PGijsbers
Copy link
Contributor

No description provided.

@coderabbitai
Copy link

coderabbitai bot commented Dec 24, 2025

Walkthrough

The Docker Python image base is updated from python:3.12-bookworm to python:3.14-bookworm in the Dockerfile. This updates the Python runtime version from 3.12 to 3.14 while maintaining the Debian bookworm operating system base. The remaining Dockerfile instructions, including package installations and environment setup configurations, remain unchanged and are preserved as-is.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether it relates to the changeset. Add a pull request description explaining the reason for the Python version bump (e.g., new features, security updates, compatibility improvements).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Bump python to 3.14' directly and clearly describes the main change: updating the Python base image version in the Dockerfile from 3.12 to 3.14.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bump-python

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Dec 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@7e74cdc). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #227   +/-   ##
=======================================
  Coverage        ?   53.50%           
=======================================
  Files           ?       32           
  Lines           ?     1112           
  Branches        ?      100           
=======================================
  Hits            ?      595           
  Misses          ?      516           
  Partials        ?        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7e74cdc and d6ff110.

📒 Files selected for processing (1)
  • docker/python/Dockerfile
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Migration with mutations
  • GitHub Check: Migration read-only

@@ -1,4 +1,4 @@
FROM python:3.12-bookworm
FROM python:3.14-bookworm
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Python 3.14 release date and stability status

💡 Result:

Python 3.14 final (stable) was released on October 7, 2025. It is a stable production release; subsequent 3.14 bugfixes (e.g., 3.14.1 and 3.14.2) have been published since then. [1][2][3]

Sources:

  • PEP 745 (3.14 release schedule / lifecycle). [1]
  • Python.org release page for Python 3.14.0 (final) — Oct 7, 2025. [2]
  • Python Insider blog post announcing Python 3.14.0 (final). [3]

🌐 Web query:

python:3.14-bookworm Docker image availability Docker Hub

💡 Result:

Yes — the official python image on Docker Hub includes the tag python:3.14-bookworm (and related 3.14/3.14-slim/3.14-bookworm variants). [1][4]

Sources:

  • Docker Hub official python tags list. [1]
  • Example image layer page for the 3.14-slim-bookworm tag. [4]

🌐 Web query:

Python 3.14 breaking changes from Python 3.12 3.13

💡 Result:

Here are the main breaking/incompatible changes and removals introduced in Python 3.14 (differences you should watch for when migrating from 3.12 / 3.13):

  • Disallowed control-flow exiting finally: using return / break / continue that exit a finally block is now disallowed (PEP 765). [1]
  • Deferred evaluation of annotations: annotations are evaluated later (PEP 649) — can change runtime semantics for code that inspects / mutates annotations. [1]
  • New “free‑threaded”/multiple-interpreter and runtime changes (PEP 779 / PEP 734): official support for free-threaded mode and stdlib support for multiple interpreters — can change concurrency/embedding behaviour; some extension modules may need updates. [1]
  • New interpreter and bytecode/magic changes: 3.14 had bytecode magic-number bumps during pre-releases (pyc incompatibilities across pre‑releases); final 3.14.x series stabilizes ABI but check .pyc compatibility when upgrading from betas. [2][3]
  • Build/distribution changes: release artifacts no longer ship PGP signatures (PEP 761 — Sigstore recommended); official binaries now may include experimental JITs / new platform binaries (macOS/Windows JIT, Android binaries). This affects distribution/verification tooling. [1][3]
  • Standard‑library removals & prior 3.13 removals to be aware of: 3.13 removed many legacy stdlib modules and tooling (e.g., lib2to3/2to3, many “dead batteries” modules) — those removals remain in 3.14. Verify your code doesn’t depend on modules removed in 3.13. [4]
  • New/changed stdlib features with possible incompatibilities: changes such as HMAC builtin implementation (HACL*), uuid v6–v8 support, new compression.zstd module, changed semantics for locals(), etc. — review any code that depended on previous implementation details. [1]

Quick migration tips:

  • Run your test suite under 3.14 and enable warnings; check extensions/C-API-using packages for compatibility with the new C API/config APIs noted in the 3.14 docs. [1]
  • Review the “Incompatible changes / Removals / Deprecations” sections of the Python 3.14 “What’s New” and the 3.13 “What’s New” pages for module-by-module details. [1][4]

Sources:
[1] Python 3.14 release notes / “What’s New in Python 3.14” (python.org).
[2] Python 3.14.0rc3 announcement / release notes (python.org / Python Insider).
[3] Python 3.14.0b1 release notes (python.org).
[4] “What’s New in Python 3.13” (docs.python.org).


Test Python 3.14 compatibility before merging.

Python 3.14 is stable (released October 2025), and the python:3.14-bookworm Docker image is available. However, Python 3.14 introduces several breaking changes from 3.12:

  • Control-flow statements (return/break/continue) are disallowed in finally blocks (PEP 765)
  • Annotations are now evaluated lazily instead of at definition time (PEP 649)
  • Standard library modules removed in 3.13 remain removed
  • Bytecode format has changed; .pyc files from 3.12 are incompatible

Run your test suite under Python 3.14 to verify your code and dependencies are compatible with these changes before merging.

@PGijsbers PGijsbers merged commit d150131 into main Dec 24, 2025
8 checks passed
@PGijsbers PGijsbers deleted the bump-python branch December 24, 2025 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants