-
-
Notifications
You must be signed in to change notification settings - Fork 13
Bump python to 3.14 #227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump python to 3.14 #227
Conversation
WalkthroughThe 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)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
There was a problem hiding this 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
📒 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 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
No description provided.