Skip to content

Bundle Python runtime built for iOS 15 / macOS 12; CPython 3.12.15/3.13.16/3.14.8 - #6980

Merged
FeodorFitsner merged 2 commits into
flet-1.1.0from
bump-python-ios15-macos12
Oct 18, 2026
Merged

FeodorFitsner merged 2 commits into
flet-1.1.0from
bump-python-ios15-macos12

Conversation

@FeodorFitsner

@FeodorFitsner FeodorFitsner commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #6940. Targets flet-1.1.0.

Why

#6914 moved the build template and the client to macOS 12.0 / iOS 15.0 for Xcode 27. The binaries flet build bundles still declared older minimums:

  • Python.framework and the per-module Python frameworks: iOS 13.0 / macOS 11.0.
  • dart_bridge: iOS 13.0 / macOS 10.15.
  • serious_python podspec / SwiftPM: iOS 13.0 / macOS 11.0.

Those are now rebuilt for iOS 15.0 / macOS 12.0, and CPython moves to the latest patches:

Changes

  • flet_cli/utils/python_versions.py: PYTHON_BUILD_RELEASE_DATE 20260921 → 20261016, the same release serious_python 6.0.0 pins.
  • Build template pubspec.yaml: serious_python: 5.0.0 → 6.0.0.
  • CHANGELOG.md (1.1.0 → Improvements): added an entry for the update.
  • minimum-macos-12-ios-15 breaking-change guide: notes that the bundled Python runtime, its native modules and dart_bridge use the same minimums, and links chore: Release serious_python and python_build with minimum iOS 15.0 #6940.
  • flet_web/patch_index.py: fixed a stale Pyodide version comment.

Testing

  • uv run pytest packages/flet-cli/tests/test_python_versions.py: 10 passed.
  • I built a hello app that prints platform.python_version() from this branch with an empty cache (FLET_CACHE_DIR pointing at a new directory). Both builds resolved manifest-20261016.json and v3.14.8-20261016.
    • flet build macos: the app bundles CPython 3.14.8. Python.framework and dart_bridge are minos 12.0, and so are 98 of the 99 native modules. LSMinimumSystemVersion is 12.0.
    • flet build ios-simulator: Python.framework (3.14.8), dart_bridge and the app binary are minos 15.0. 120 of the 121 module frameworks are minos 15.0, and all 61 framework plists say MinimumOSVersion 15.0. The app's MinimumOSVersion is 15.0.
    • The only module below the floor is msgpack._cmsgpack, which comes from its PyPI wheel on macOS (10.15/11.0) and the pypi.flet.dev mobile-forge wheel on iOS (13.0/14.0). A lower minimum loads fine on a higher OS. Rebuilding the mobile-forge wheels for iOS 15 is a separate follow-up.

Summary by Sourcery

Align bundled Python and bridge dependencies with the iOS 15 and macOS 12 platform requirements while updating supported CPython patch releases.

Enhancements:

  • Update the bundled Python runtime and native components to CPython 3.12.15, 3.13.16, and 3.14.8 with iOS 15 and macOS 12 deployment targets.
  • Align the build template with serious_python 6.0.0 and dart_bridge 1.11.0.

Documentation:

  • Document the updated minimum platform requirements for bundled Python components and dart_bridge.

Chores:

  • Correct the documented supported Pyodide versions.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Deploying flet-website-v2 with  Cloudflare Pages  Cloudflare Pages

Latest commit: d49b474
Status: ✅  Deploy successful!
Preview URL: https://5ec67e1e.flet-website-v2.pages.dev
Branch Preview URL: https://bump-python-ios15-macos12.flet-website-v2.pages.dev

View logs

@FeodorFitsner
FeodorFitsner marked this pull request as ready for review October 18, 2026 00:20

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@FeodorFitsner
FeodorFitsner merged commit 08b5884 into flet-1.1.0 Oct 18, 2026
112 of 129 checks passed
@FeodorFitsner
FeodorFitsner deleted the bump-python-ios15-macos12 branch October 18, 2026 17:42
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.

1 participant