Skip to content

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

Draft
FeodorFitsner wants to merge 1 commit into
flet-1.1.0from
bump-python-ios15-macos12
Draft

FeodorFitsner wants to merge 1 commit 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.

Draft: these releases have to be published first, in this order:

  1. Release 1.11.0: raise Apple minimums to iOS 15.0 / macOS 12.0 dart-bridge#23 → dart_bridge 1.11.0
  2. Bump Pythons to 3.12.15/3.13.16/3.14.8; iOS 15.0 / macOS 12.0 minimums; dart_bridge 1.11.0 python-build#46 → new python-build release (date-keyed)
  3. Bump to 6.0.0: iOS 15.0 / macOS 12.0 minimums, CPython 3.12.15/3.13.16/3.14.8 serious-python#256 → serious_python 6.0.0 on pub.dev

Then finish this PR:

  • sdk/python/packages/flet-cli/src/flet_cli/utils/python_versions.py: PYTHON_BUILD_RELEASE_DATE = "<python-build date>"
  • sdk/python/templates/build/{{cookiecutter.out_dir}}/pubspec.yaml: serious_python: 6.0.0

The pins stay at 20260921 / 5.0.0 for now, because changing them before the releases exist would break flet build in CI.

Why

#6914 moved the build template and 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.

The upstream PRs rebuild all of them for iOS 15.0 / macOS 12.0 and move CPython to the latest patches (3.12.15 / 3.13.16 / 3.14.8). Pyodide stays at 0.27.8 / 0.29.5 / 314.0.7.

Changes so far

  • CHANGELOG.md (1.1.0 → Improvements): added an entry for serious_python 6.0.0, the CPython patches and dart_bridge 1.11.0, all built for iOS 15 / macOS 12.
  • The minimum-macos-12-ios-15 breaking-change guide now 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 (after the pins are set)

  • Run flet build macos and flet build ios-simulator on a hello app with a cold ~/.flet/cache. Check that 3.14.8 is resolved and that otool -l on the bundled Python.framework shows minos 12.0 / 15.0.
  • uv run pytest sdk/python/packages/flet-cli/tests/test_python_versions.py

Summary by Sourcery

Align the bundled Python tooling and native bridge with the macOS 12 and iOS 15 build targets while refreshing supported runtime versions.

Enhancements:

  • Align the bundled Python runtime, native modules, and Dart-Python bridge with the macOS 12 and iOS 15 deployment minimums.
  • Update bundled Python versions to CPython 3.12.15, 3.13.16, and 3.14.8 through the updated runtime dependencies.
  • Correct the documented supported Pyodide versions and clarify the matching deployment requirements for bundled runtimes.

Documentation:

  • Document the updated bundled runtime deployment minimums and link the related issue in the breaking-change guide.
  • Add the runtime and dependency updates to the 1.1.0 changelog.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying flet-website-v2 with  Cloudflare Pages  Cloudflare Pages

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

View logs

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