diff --git a/src/serious_python/CHANGELOG.md b/src/serious_python/CHANGELOG.md index 8d222075..2a0f0335 100644 --- a/src/serious_python/CHANGELOG.md +++ b/src/serious_python/CHANGELOG.md @@ -1,3 +1,9 @@ +## 6.0.0 + +* **Breaking (iOS/macOS):** the minimum supported OS is now **iOS 15.0** and **macOS 12.0** (was iOS 13.0 / macOS 11.0), the lowest deployment targets Xcode 27 accepts. Apps must set `platform :ios, '15.0'` / `platform :osx, '12.0'` in their Podfiles and the matching `IPHONEOS_DEPLOYMENT_TARGET` / `MACOSX_DEPLOYMENT_TARGET`. See `serious_python_darwin` 6.0.0 ([#254](https://github.com/flet-dev/serious-python/issues/254)). +* **Packaging (iOS):** the `package` command targets the `ios-15.0-*` wheel platform tags. Wheels tagged for older iOS versions, such as `ios_13_0`, are still accepted ([#254](https://github.com/flet-dev/serious-python/issues/254)). +* Update the bundled CPython to **3.12.15 / 3.13.16 / 3.14.8** ([python-build#46](https://github.com/flet-dev/python-build/pull/46)). + ## 5.0.0 * **Breaking (`package` command):** `--exclude`, `--cleanup-app-files` and `--cleanup-package-files` no longer split their values on commas, so paths containing `,` and brace globs such as `**/{tests,docs}` can be passed. Previously a hidden file named `.a,main.py` passed to `--exclude` became two exclusions, dropping `main.py`, and `**/{tests,docs}` was split into two broken globs. Pass each value as its own option: `--exclude build --exclude tests` instead of `--exclude build,tests`. A comma-separated value is now matched as a single path, so an unmigrated command packages the files it used to exclude without failing. The Dart API and runtime are unchanged. `flet build` pins serious_python exactly, so existing Flet releases are unaffected ([#253](https://github.com/flet-dev/serious-python/pull/253), [flet#6839](https://github.com/flet-dev/flet/issues/6839)). diff --git a/src/serious_python/README.md b/src/serious_python/README.md index 24d89952..a474d5c5 100644 --- a/src/serious_python/README.md +++ b/src/serious_python/README.md @@ -24,9 +24,9 @@ is specified. | Short | CPython runtime | Pyodide (web) | Pyodide wheel platform tag | | ----- | --------------- | ------------- | -------------------------------- | -| 3.12 | 3.12.14 | 0.27.7 | `pyodide-2024.0-wasm32` | -| 3.13 | 3.13.15 | 0.29.4 | `pyemscripten-2025.0-wasm32` | -| 3.14 | 3.14.7 | 314.0.6 | `pyemscripten-2026.0-wasm32` | +| 3.12 | 3.12.15 | 0.27.8 | `pyodide-2024.0-wasm32` | +| 3.13 | 3.13.16 | 0.29.5 | `pyemscripten-2025.0-wasm32` | +| 3.14 | 3.14.8 | 314.0.7 | `pyemscripten-2026.0-wasm32` | The default is the latest stable row (currently **3.14**) when neither `--python-version` nor `SERIOUS_PYTHON_VERSION` is set. When running through @@ -57,11 +57,11 @@ Import Serious Python package into your app: `import 'package:serious_python/serious_python.dart';` -The plugin is built against iOS 13.0, so you might need to update iOS version in `ios/Podfile`: +The plugin is built against iOS 15.0, so you might need to update iOS version in `ios/Podfile`: ```bash # Uncomment this line to define a global platform for your project -platform :ios, '13.0' +platform :ios, '15.0' ``` Package your Python app with the CLI (see [Packaging Python app](#packaging-python-app) below). Its sources are placed **unpacked inside the app bundle**, next to the Python stdlib and site-packages — on Android they ship as a *stored* `app.zip` asset inside the APK and are unpacked once on first launch. Then run it: @@ -370,19 +370,19 @@ The following matrix shows which platform you should build on to target specific ### macOS -macOS 11.0 (Big Sur) is the minimal supported version of macOS (the bundled -`Python.framework` requires 11.0). +macOS 12.0 (Monterey) is the minimal supported version of macOS (the bundled +`Python.framework` requires 12.0). You have to update your Flutter app's `macos/Podfile` to have this line at the very top: ```ruby -platform :osx, '11.0' +platform :osx, '12.0' ``` Also, make sure `macos/Runner.xcodeproj/project.pbxproj` contains: ```objc -MACOSX_DEPLOYMENT_TARGET = 11.0; +MACOSX_DEPLOYMENT_TARGET = 12.0; ``` ### Android diff --git a/src/serious_python/bin/package_command.dart b/src/serious_python/bin/package_command.dart index b92442ec..38f0d9cf 100644 --- a/src/serious_python/bin/package_command.dart +++ b/src/serious_python/bin/package_command.dart @@ -51,13 +51,13 @@ const spmKeyFileEnvironmentVariable = "SERIOUS_PYTHON_SPM_KEY_FILE"; const platforms = { "iOS": { - "iphoneos.arm64": {"tag": "ios-13.0-arm64-iphoneos", "mac_ver": ""}, + "iphoneos.arm64": {"tag": "ios-15.0-arm64-iphoneos", "mac_ver": ""}, "iphonesimulator.arm64": { - "tag": "ios-13.0-arm64-iphonesimulator", + "tag": "ios-15.0-arm64-iphonesimulator", "mac_ver": "" }, "iphonesimulator.x86_64": { - "tag": "ios-13.0-x86_64-iphonesimulator", + "tag": "ios-15.0-x86_64-iphonesimulator", "mac_ver": "" } }, diff --git a/src/serious_python/example/bridge_example/ios/Podfile b/src/serious_python/example/bridge_example/ios/Podfile index 620e46eb..9d7ef08d 100644 --- a/src/serious_python/example/bridge_example/ios/Podfile +++ b/src/serious_python/example/bridge_example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '13.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/bridge_example/ios/Podfile.lock b/src/serious_python/example/bridge_example/ios/Podfile.lock index 88e52bf8..26eb9584 100644 --- a/src/serious_python/example/bridge_example/ios/Podfile.lock +++ b/src/serious_python/example/bridge_example/ios/Podfile.lock @@ -11,6 +11,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 -PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e +PODFILE CHECKSUM: 3ba3a73b1b12adcf321a227a745625fe0888cc82 COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/bridge_example/ios/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/bridge_example/ios/Runner.xcodeproj/project.pbxproj index 28b7a207..eb644a22 100644 --- a/src/serious_python/example/bridge_example/ios/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/bridge_example/ios/Runner.xcodeproj/project.pbxproj @@ -451,7 +451,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -580,7 +580,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -631,7 +631,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/src/serious_python/example/bridge_example/macos/Podfile b/src/serious_python/example/bridge_example/macos/Podfile index a46f7f23..167132a2 100644 --- a/src/serious_python/example/bridge_example/macos/Podfile +++ b/src/serious_python/example/bridge_example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '11.0' +platform :osx, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/bridge_example/macos/Podfile.lock b/src/serious_python/example/bridge_example/macos/Podfile.lock index 1c915faa..40addbd2 100644 --- a/src/serious_python/example/bridge_example/macos/Podfile.lock +++ b/src/serious_python/example/bridge_example/macos/Podfile.lock @@ -11,6 +11,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 -PODFILE CHECKSUM: 346bfb2deb41d4a6ebd6f6799f92188bde2d246f +PODFILE CHECKSUM: 1e95c36afbfd1cb6423ceca4de7a8e1b256fb6ac COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/bridge_example/macos/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/bridge_example/macos/Runner.xcodeproj/project.pbxproj index 76bfd1b1..a02fc378 100644 --- a/src/serious_python/example/bridge_example/macos/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/bridge_example/macos/Runner.xcodeproj/project.pbxproj @@ -549,7 +549,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -631,7 +631,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -681,7 +681,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/src/serious_python/example/bridge_example/pubspec.yaml b/src/serious_python/example/bridge_example/pubspec.yaml index fd4e23bb..23133af7 100644 --- a/src/serious_python/example/bridge_example/pubspec.yaml +++ b/src/serious_python/example/bridge_example/pubspec.yaml @@ -24,14 +24,5 @@ dev_dependencies: sdk: flutter flutter_lints: ^2.0.0 -# jni arrives transitively (path_provider -> path_provider_android -> -# jni_flutter -> jni). 1.0.1 added global_jni_env.c, which passes a `va_list` -# where a `void *` is expected: fine on x86_64, where va_list is an array type -# that decays to a pointer, but a hard error on aarch64, where it's a struct. -# That breaks `flutter build linux` on ARM64 hosts. Tracked upstream at -# dart-lang/native#3498 — drop this override once a fixed jni is released. -dependency_overrides: - jni: 1.0.0 - flutter: uses-material-design: true diff --git a/src/serious_python/example/flask_example/ios/Podfile b/src/serious_python/example/flask_example/ios/Podfile index e51a31d9..a419e423 100644 --- a/src/serious_python/example/flask_example/ios/Podfile +++ b/src/serious_python/example/flask_example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '13.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/flask_example/ios/Podfile.lock b/src/serious_python/example/flask_example/ios/Podfile.lock index f6ece702..77ddbb3e 100644 --- a/src/serious_python/example/flask_example/ios/Podfile.lock +++ b/src/serious_python/example/flask_example/ios/Podfile.lock @@ -18,6 +18,6 @@ SPEC CHECKSUMS: Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 serious_python_darwin: 4858dfeb2d3d99e30a645bc25851c8f702db1890 -PODFILE CHECKSUM: 4f1c12611da7338d21589c0b2ecd6bd20b109694 +PODFILE CHECKSUM: 0e525152e3ec397947996fbf92d176f885bd8b2a COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/flask_example/ios/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/flask_example/ios/Runner.xcodeproj/project.pbxproj index fdc569bd..4c98cbac 100644 --- a/src/serious_python/example/flask_example/ios/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/flask_example/ios/Runner.xcodeproj/project.pbxproj @@ -477,7 +477,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -606,7 +606,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -657,7 +657,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/src/serious_python/example/flask_example/macos/Podfile b/src/serious_python/example/flask_example/macos/Podfile index dbccf89c..b15254e3 100644 --- a/src/serious_python/example/flask_example/macos/Podfile +++ b/src/serious_python/example/flask_example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '11.0' +platform :osx, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/flask_example/macos/Podfile.lock b/src/serious_python/example/flask_example/macos/Podfile.lock index e5d522eb..cc31352d 100644 --- a/src/serious_python/example/flask_example/macos/Podfile.lock +++ b/src/serious_python/example/flask_example/macos/Podfile.lock @@ -11,6 +11,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 -PODFILE CHECKSUM: c2e95c8c0fe03c5c57e438583cae4cc732296009 +PODFILE CHECKSUM: f0c21717cb7ee9112f915044c74bfceb5b12e02a COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/flask_example/macos/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/flask_example/macos/Runner.xcodeproj/project.pbxproj index 444ae65a..63d84295 100644 --- a/src/serious_python/example/flask_example/macos/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/flask_example/macos/Runner.xcodeproj/project.pbxproj @@ -549,7 +549,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -631,7 +631,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -681,7 +681,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/src/serious_python/example/flask_example/pubspec.lock b/src/serious_python/example/flask_example/pubspec.lock index b69aa558..88a4be20 100644 --- a/src/serious_python/example/flask_example/pubspec.lock +++ b/src/serious_python/example/flask_example/pubspec.lock @@ -156,21 +156,29 @@ packages: source: hosted version: "4.1.2" jni: - dependency: "direct overridden" + dependency: transitive description: name: jni - sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f + sha256: "6b9ca0602fef0230e83149afbe3f9f8227e94f2bbe84a1da4f14d699742f402d" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.1.0" jni_flutter: dependency: transitive description: name: jni_flutter - sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6" + sha256: "0dd33d67797560f66e961a6053882d4df54bd345bf063b8fe7ea133f7ad8b191" + url: "https://pub.dev" + source: hosted + version: "1.0.4+1" + jni_util: + dependency: transitive + description: + name: jni_util + sha256: "1ba86da04a5f2bf18fde2edb235587e70c5b0fc5bd4ba955f46b00942c3fc35f" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.0" leak_tracker: dependency: transitive description: @@ -361,42 +369,42 @@ packages: path: "../.." relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_android: dependency: transitive description: path: "../../../serious_python_android" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_darwin: dependency: transitive description: path: "../../../serious_python_darwin" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_linux: dependency: transitive description: path: "../../../serious_python_linux" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_platform_interface: dependency: transitive description: path: "../../../serious_python_platform_interface" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_windows: dependency: transitive description: path: "../../../serious_python_windows" relative: true source: path - version: "5.0.0" + version: "6.0.0" shelf: dependency: transitive description: diff --git a/src/serious_python/example/flask_example/pubspec.yaml b/src/serious_python/example/flask_example/pubspec.yaml index 23df2097..47da6963 100644 --- a/src/serious_python/example/flask_example/pubspec.yaml +++ b/src/serious_python/example/flask_example/pubspec.yaml @@ -56,15 +56,6 @@ dev_dependencies: # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter packages. -# jni arrives transitively (path_provider -> path_provider_android -> -# jni_flutter -> jni). 1.0.1 added global_jni_env.c, which passes a `va_list` -# where a `void *` is expected: fine on x86_64, where va_list is an array type -# that decays to a pointer, but a hard error on aarch64, where it's a struct. -# That breaks `flutter build linux` on ARM64 hosts. Tracked upstream at -# dart-lang/native#3498 — drop this override once a fixed jni is released. -dependency_overrides: - jni: 1.0.0 - flutter: # The following line ensures that the Material Icons font is diff --git a/src/serious_python/example/run_example/ios/Podfile b/src/serious_python/example/run_example/ios/Podfile index e51a31d9..a419e423 100644 --- a/src/serious_python/example/run_example/ios/Podfile +++ b/src/serious_python/example/run_example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '13.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/run_example/ios/Podfile.lock b/src/serious_python/example/run_example/ios/Podfile.lock index 3070b44a..dbc4a641 100644 --- a/src/serious_python/example/run_example/ios/Podfile.lock +++ b/src/serious_python/example/run_example/ios/Podfile.lock @@ -11,6 +11,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 -PODFILE CHECKSUM: 4f1c12611da7338d21589c0b2ecd6bd20b109694 +PODFILE CHECKSUM: 0e525152e3ec397947996fbf92d176f885bd8b2a COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/run_example/ios/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/run_example/ios/Runner.xcodeproj/project.pbxproj index 5ced52ee..6bc9fe5f 100644 --- a/src/serious_python/example/run_example/ios/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/run_example/ios/Runner.xcodeproj/project.pbxproj @@ -451,7 +451,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -580,7 +580,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -631,7 +631,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/src/serious_python/example/run_example/macos/Podfile b/src/serious_python/example/run_example/macos/Podfile index dbccf89c..b15254e3 100644 --- a/src/serious_python/example/run_example/macos/Podfile +++ b/src/serious_python/example/run_example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '11.0' +platform :osx, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/src/serious_python/example/run_example/macos/Podfile.lock b/src/serious_python/example/run_example/macos/Podfile.lock index e5d522eb..cc31352d 100644 --- a/src/serious_python/example/run_example/macos/Podfile.lock +++ b/src/serious_python/example/run_example/macos/Podfile.lock @@ -11,6 +11,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 -PODFILE CHECKSUM: c2e95c8c0fe03c5c57e438583cae4cc732296009 +PODFILE CHECKSUM: f0c21717cb7ee9112f915044c74bfceb5b12e02a COCOAPODS: 1.14.3 diff --git a/src/serious_python/example/run_example/macos/Runner.xcodeproj/project.pbxproj b/src/serious_python/example/run_example/macos/Runner.xcodeproj/project.pbxproj index 52de9a7a..cd38fde1 100644 --- a/src/serious_python/example/run_example/macos/Runner.xcodeproj/project.pbxproj +++ b/src/serious_python/example/run_example/macos/Runner.xcodeproj/project.pbxproj @@ -549,7 +549,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -631,7 +631,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -681,7 +681,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/src/serious_python/example/run_example/pubspec.lock b/src/serious_python/example/run_example/pubspec.lock index 7ce9a98a..2b486650 100644 --- a/src/serious_python/example/run_example/pubspec.lock +++ b/src/serious_python/example/run_example/pubspec.lock @@ -171,21 +171,29 @@ packages: source: sdk version: "0.0.0" jni: - dependency: "direct overridden" + dependency: transitive description: name: jni - sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f + sha256: "6b9ca0602fef0230e83149afbe3f9f8227e94f2bbe84a1da4f14d699742f402d" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.1.0" jni_flutter: dependency: transitive description: name: jni_flutter - sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6" + sha256: "0dd33d67797560f66e961a6053882d4df54bd345bf063b8fe7ea133f7ad8b191" + url: "https://pub.dev" + source: hosted + version: "1.0.4+1" + jni_util: + dependency: transitive + description: + name: jni_util + sha256: "1ba86da04a5f2bf18fde2edb235587e70c5b0fc5bd4ba955f46b00942c3fc35f" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.0" leak_tracker: dependency: transitive description: @@ -384,42 +392,42 @@ packages: path: "../.." relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_android: dependency: transitive description: path: "../../../serious_python_android" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_darwin: dependency: transitive description: path: "../../../serious_python_darwin" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_linux: dependency: transitive description: path: "../../../serious_python_linux" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_platform_interface: dependency: transitive description: path: "../../../serious_python_platform_interface" relative: true source: path - version: "5.0.0" + version: "6.0.0" serious_python_windows: dependency: transitive description: path: "../../../serious_python_windows" relative: true source: path - version: "5.0.0" + version: "6.0.0" shelf: dependency: transitive description: diff --git a/src/serious_python/example/run_example/pubspec.yaml b/src/serious_python/example/run_example/pubspec.yaml index 5e3c3c30..3035fb7e 100644 --- a/src/serious_python/example/run_example/pubspec.yaml +++ b/src/serious_python/example/run_example/pubspec.yaml @@ -58,15 +58,6 @@ dev_dependencies: # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter packages. -# jni arrives transitively (path_provider -> path_provider_android -> -# jni_flutter -> jni). 1.0.1 added global_jni_env.c, which passes a `va_list` -# where a `void *` is expected: fine on x86_64, where va_list is an array type -# that decays to a pointer, but a hard error on aarch64, where it's a struct. -# That breaks `flutter build linux` on ARM64 hosts. Tracked upstream at -# dart-lang/native#3498 — drop this override once a fixed jni is released. -dependency_overrides: - jni: 1.0.0 - flutter: # The following line ensures that the Material Icons font is diff --git a/src/serious_python/lib/src/python_versions.dart b/src/serious_python/lib/src/python_versions.dart index 9efa758b..84ca4f3b 100644 --- a/src/serious_python/lib/src/python_versions.dart +++ b/src/serious_python/lib/src/python_versions.dart @@ -1,5 +1,5 @@ // GENERATED by `dart run serious_python:gen_version_tables` from python-build's -// manifest.json (release 20260921). Do not edit by hand — edit python-build's +// manifest.json (release 20261016). Do not edit by hand — edit python-build's // manifest.json, cut a release, bump `pythonReleaseDate`, and regenerate. const pythonVersionEnvironmentVariable = "SERIOUS_PYTHON_VERSION"; @@ -10,8 +10,8 @@ const pyodideVersionEnvironmentVariable = "SERIOUS_PYTHON_PYODIDE_VERSION"; const dartBridgeVersionEnvironmentVariable = "DART_BRIDGE_VERSION"; /// python-build release the bundled runtimes come from (YYYYMMDD). -const pythonReleaseDate = "20260921"; -const dartBridgeVersion = "1.10.0"; +const pythonReleaseDate = "20261016"; +const dartBridgeVersion = "1.11.0"; const defaultPythonVersion = "3.14"; class PythonRelease { @@ -38,24 +38,24 @@ class PythonRelease { const pythonReleases = { "3.12": PythonRelease( - standaloneVersion: "3.12.14", - standaloneReleaseDate: "20260901", + standaloneVersion: "3.12.15", + standaloneReleaseDate: "20261001", pyodideVersion: "0.27.8", pyodidePlatformTag: "pyodide-2024.0-wasm32", androidAbis: ["arm64-v8a", "x86_64", "armeabi-v7a"], prerelease: false, ), "3.13": PythonRelease( - standaloneVersion: "3.13.15", - standaloneReleaseDate: "20260901", + standaloneVersion: "3.13.16", + standaloneReleaseDate: "20261001", pyodideVersion: "0.29.5", pyodidePlatformTag: "pyemscripten-2025.0-wasm32", androidAbis: ["arm64-v8a", "x86_64", "armeabi-v7a"], prerelease: false, ), "3.14": PythonRelease( - standaloneVersion: "3.14.7", - standaloneReleaseDate: "20260901", + standaloneVersion: "3.14.8", + standaloneReleaseDate: "20261001", pyodideVersion: "314.0.7", pyodidePlatformTag: "pyemscripten-2026.0-wasm32", androidAbis: ["arm64-v8a", "x86_64", "armeabi-v7a"], diff --git a/src/serious_python/pubspec.yaml b/src/serious_python/pubspec.yaml index 65555baf..592105c1 100644 --- a/src/serious_python/pubspec.yaml +++ b/src/serious_python/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python description: A cross-platform plugin for adding embedded Python runtime to your Flutter apps. homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 platforms: ios: diff --git a/src/serious_python_android/CHANGELOG.md b/src/serious_python_android/CHANGELOG.md index 59a1a227..d962b9de 100644 --- a/src/serious_python_android/CHANGELOG.md +++ b/src/serious_python_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.0.0 + +* Update the python-build snapshot to **20261016**: CPython **3.12.15 / 3.13.16 / 3.14.8** and `dart_bridge` **1.11.0** ([python-build#46](https://github.com/flet-dev/python-build/pull/46)). + ## 5.0.0 * Align with the serious_python **5.0.0** release ([#253](https://github.com/flet-dev/serious-python/pull/253)). diff --git a/src/serious_python_android/android/build.gradle.kts b/src/serious_python_android/android/build.gradle.kts index c8ebdbc3..dc9b0b2e 100644 --- a/src/serious_python_android/android/build.gradle.kts +++ b/src/serious_python_android/android/build.gradle.kts @@ -21,7 +21,7 @@ buildscript { } group = "com.flet.serious_python_android" -version = "5.0.0" +version = "6.0.0" rootProject.allprojects { repositories { diff --git a/src/serious_python_android/android/python_versions.properties b/src/serious_python_android/android/python_versions.properties index 39c3a22a..752f562d 100644 --- a/src/serious_python_android/android/python_versions.properties +++ b/src/serious_python_android/android/python_versions.properties @@ -1,11 +1,11 @@ # GENERATED by `dart run serious_python:gen_version_tables` from -# python-build manifest.json (release 20260921). Do not edit by hand. +# python-build manifest.json (release 20261016). Do not edit by hand. default_python_version=3.14 -dart_bridge_version=1.10.0 -python_build_release_date=20260921 -3.12.full_version=3.12.14 +dart_bridge_version=1.11.0 +python_build_release_date=20261016 +3.12.full_version=3.12.15 3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.13.full_version=3.13.15 +3.13.full_version=3.13.16 3.13.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.14.full_version=3.14.7 +3.14.full_version=3.14.8 3.14.android_abis=arm64-v8a,x86_64,armeabi-v7a diff --git a/src/serious_python_android/pubspec.yaml b/src/serious_python_android/pubspec.yaml index 63b170a5..41616b42 100644 --- a/src/serious_python_android/pubspec.yaml +++ b/src/serious_python_android/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python_android description: Android implementation of the serious_python plugin homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 environment: sdk: ">=3.0.0 <4.0.0" diff --git a/src/serious_python_darwin/CHANGELOG.md b/src/serious_python_darwin/CHANGELOG.md index 34e8150d..526d6a8d 100644 --- a/src/serious_python_darwin/CHANGELOG.md +++ b/src/serious_python_darwin/CHANGELOG.md @@ -1,3 +1,8 @@ +## 6.0.0 + +* **Breaking:** raise the minimum deployment target to **iOS 15.0** and **macOS 12.0** (was iOS 13.0 / macOS 11.0) in the podspec and `Package.swift`. The bundled `Python.framework`, the per-module Python frameworks and `dart_bridge` are now also built for iOS 15.0 / macOS 12.0, and the framework `MinimumOSVersion` generated for native modules in site-packages is 15.0 ([#254](https://github.com/flet-dev/serious-python/issues/254), [python-build#46](https://github.com/flet-dev/python-build/pull/46), [dart-bridge#23](https://github.com/flet-dev/dart-bridge/pull/23)). +* Update the python-build snapshot to **20261016**: CPython **3.12.15 / 3.13.16 / 3.14.8** and `dart_bridge` **1.11.0** ([python-build#46](https://github.com/flet-dev/python-build/pull/46)). + ## 5.0.0 * Align with the serious_python **5.0.0** release ([#253](https://github.com/flet-dev/serious-python/pull/253)). diff --git a/src/serious_python_darwin/darwin/python_versions.properties b/src/serious_python_darwin/darwin/python_versions.properties index 39c3a22a..752f562d 100644 --- a/src/serious_python_darwin/darwin/python_versions.properties +++ b/src/serious_python_darwin/darwin/python_versions.properties @@ -1,11 +1,11 @@ # GENERATED by `dart run serious_python:gen_version_tables` from -# python-build manifest.json (release 20260921). Do not edit by hand. +# python-build manifest.json (release 20261016). Do not edit by hand. default_python_version=3.14 -dart_bridge_version=1.10.0 -python_build_release_date=20260921 -3.12.full_version=3.12.14 +dart_bridge_version=1.11.0 +python_build_release_date=20261016 +3.12.full_version=3.12.15 3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.13.full_version=3.13.15 +3.13.full_version=3.13.16 3.13.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.14.full_version=3.14.7 +3.14.full_version=3.14.8 3.14.android_abis=arm64-v8a,x86_64,armeabi-v7a diff --git a/src/serious_python_darwin/darwin/serious_python_darwin.podspec b/src/serious_python_darwin/darwin/serious_python_darwin.podspec index da45c3d9..d4770369 100644 --- a/src/serious_python_darwin/darwin/serious_python_darwin.podspec +++ b/src/serious_python_darwin/darwin/serious_python_darwin.podspec @@ -4,7 +4,7 @@ # Pod::Spec.new do |s| s.name = 'serious_python_darwin' - s.version = '5.0.0' + s.version = '6.0.0' s.summary = 'A cross-platform plugin for adding embedded Python runtime to your Flutter apps.' s.description = <<-DESC A cross-platform plugin for adding embedded Python runtime to your Flutter apps. @@ -21,8 +21,8 @@ Pod::Spec.new do |s| s.source_files = ['serious_python_darwin/Sources/serious_python_darwin/**/*.swift'] s.ios.dependency 'Flutter' s.osx.dependency 'FlutterMacOS' - s.ios.deployment_target = '13.0' - s.osx.deployment_target = '11.0' + s.ios.deployment_target = '15.0' + s.osx.deployment_target = '12.0' # Flutter.framework does not contain a i386 slice. # `-all_load` is no longer needed: it existed to retain the static diff --git a/src/serious_python_darwin/darwin/serious_python_darwin/Package.swift b/src/serious_python_darwin/darwin/serious_python_darwin/Package.swift index 1c0bfcf5..97dc40e4 100644 --- a/src/serious_python_darwin/darwin/serious_python_darwin/Package.swift +++ b/src/serious_python_darwin/darwin/serious_python_darwin/Package.swift @@ -83,7 +83,7 @@ if let items = try? FileManager.default.contentsOfDirectory( let package = Package( name: "serious_python_darwin", - platforms: [.iOS("13.0"), .macOS("11.0")], + platforms: [.iOS("15.0"), .macOS("12.0")], products: [ .library(name: "serious-python-darwin", targets: ["serious_python_darwin"]), ], diff --git a/src/serious_python_darwin/darwin/xcframework_utils.sh b/src/serious_python_darwin/darwin/xcframework_utils.sh index 95c4bbde..94cc5ad3 100644 --- a/src/serious_python_darwin/darwin/xcframework_utils.sh +++ b/src/serious_python_darwin/darwin/xcframework_utils.sh @@ -31,7 +31,7 @@ create_plist() { iPhoneOS MinimumOSVersion - 13.0 + 15.0 CFBundleVersion 1 diff --git a/src/serious_python_darwin/pubspec.yaml b/src/serious_python_darwin/pubspec.yaml index ad781b43..98b4dea9 100644 --- a/src/serious_python_darwin/pubspec.yaml +++ b/src/serious_python_darwin/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python_darwin description: iOS and macOS implementations of the serious_python plugin homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 environment: # The Swift Package Manager build path needs Flutter 3.44 / Dart 3.11 (the diff --git a/src/serious_python_linux/CHANGELOG.md b/src/serious_python_linux/CHANGELOG.md index 5f92c2bd..0c54897a 100644 --- a/src/serious_python_linux/CHANGELOG.md +++ b/src/serious_python_linux/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.0.0 + +* Update the python-build snapshot to **20261016**: CPython **3.12.15 / 3.13.16 / 3.14.8** and `dart_bridge` **1.11.0** ([python-build#46](https://github.com/flet-dev/python-build/pull/46)). + ## 5.0.0 * Align with the serious_python **5.0.0** release ([#253](https://github.com/flet-dev/serious-python/pull/253)). diff --git a/src/serious_python_linux/linux/python_versions.properties b/src/serious_python_linux/linux/python_versions.properties index 39c3a22a..752f562d 100644 --- a/src/serious_python_linux/linux/python_versions.properties +++ b/src/serious_python_linux/linux/python_versions.properties @@ -1,11 +1,11 @@ # GENERATED by `dart run serious_python:gen_version_tables` from -# python-build manifest.json (release 20260921). Do not edit by hand. +# python-build manifest.json (release 20261016). Do not edit by hand. default_python_version=3.14 -dart_bridge_version=1.10.0 -python_build_release_date=20260921 -3.12.full_version=3.12.14 +dart_bridge_version=1.11.0 +python_build_release_date=20261016 +3.12.full_version=3.12.15 3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.13.full_version=3.13.15 +3.13.full_version=3.13.16 3.13.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.14.full_version=3.14.7 +3.14.full_version=3.14.8 3.14.android_abis=arm64-v8a,x86_64,armeabi-v7a diff --git a/src/serious_python_linux/pubspec.yaml b/src/serious_python_linux/pubspec.yaml index 16d5446e..cfc5a764 100644 --- a/src/serious_python_linux/pubspec.yaml +++ b/src/serious_python_linux/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python_linux description: Linux implementations of the serious_python plugin homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 environment: sdk: '>=3.1.3 <4.0.0' diff --git a/src/serious_python_platform_interface/CHANGELOG.md b/src/serious_python_platform_interface/CHANGELOG.md index 146c5cc6..0e9c83f5 100644 --- a/src/serious_python_platform_interface/CHANGELOG.md +++ b/src/serious_python_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.0.0 + +* Align with the serious_python **6.0.0** release. + ## 5.0.0 * Align with the serious_python **5.0.0** release ([#253](https://github.com/flet-dev/serious-python/pull/253)). diff --git a/src/serious_python_platform_interface/pubspec.yaml b/src/serious_python_platform_interface/pubspec.yaml index 70076c69..101009ca 100644 --- a/src/serious_python_platform_interface/pubspec.yaml +++ b/src/serious_python_platform_interface/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python_platform_interface description: A common platform interface for the serious_python plugin. homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 environment: sdk: ">=3.0.0 <4.0.0" diff --git a/src/serious_python_windows/CHANGELOG.md b/src/serious_python_windows/CHANGELOG.md index 6a203d54..0313826e 100644 --- a/src/serious_python_windows/CHANGELOG.md +++ b/src/serious_python_windows/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.0.0 + +* Update the python-build snapshot to **20261016**: CPython **3.12.15 / 3.13.16 / 3.14.8** and `dart_bridge` **1.11.0** ([python-build#46](https://github.com/flet-dev/python-build/pull/46)). + ## 5.0.0 * Align with the serious_python **5.0.0** release ([#253](https://github.com/flet-dev/serious-python/pull/253)). diff --git a/src/serious_python_windows/pubspec.yaml b/src/serious_python_windows/pubspec.yaml index f592d4c6..15f03e8d 100644 --- a/src/serious_python_windows/pubspec.yaml +++ b/src/serious_python_windows/pubspec.yaml @@ -2,7 +2,7 @@ name: serious_python_windows description: Windows implementations of the serious_python plugin homepage: https://flet.dev repository: https://github.com/flet-dev/serious-python -version: 5.0.0 +version: 6.0.0 environment: sdk: '>=3.1.3 <4.0.0' diff --git a/src/serious_python_windows/windows/python_versions.properties b/src/serious_python_windows/windows/python_versions.properties index 39c3a22a..752f562d 100644 --- a/src/serious_python_windows/windows/python_versions.properties +++ b/src/serious_python_windows/windows/python_versions.properties @@ -1,11 +1,11 @@ # GENERATED by `dart run serious_python:gen_version_tables` from -# python-build manifest.json (release 20260921). Do not edit by hand. +# python-build manifest.json (release 20261016). Do not edit by hand. default_python_version=3.14 -dart_bridge_version=1.10.0 -python_build_release_date=20260921 -3.12.full_version=3.12.14 +dart_bridge_version=1.11.0 +python_build_release_date=20261016 +3.12.full_version=3.12.15 3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.13.full_version=3.13.15 +3.13.full_version=3.13.16 3.13.android_abis=arm64-v8a,x86_64,armeabi-v7a -3.14.full_version=3.14.7 +3.14.full_version=3.14.8 3.14.android_abis=arm64-v8a,x86_64,armeabi-v7a