Skip to content

Commit daada1a

Browse files
Bump to 4.3.6: Windows UTF-8 startup fix (dart_bridge 1.5.1, python-build 20260720) (#238)
* Bump to 4.3.5: Windows UTF-8 startup fix (dart_bridge 1.5.1, python-build 20260720) Re-pin the bundled python-build snapshot to 20260720, which bumps dart_bridge 1.5.0 -> 1.5.1. 1.5.1 fixes Windows startup when app paths or environment values contain non-ASCII characters: Dart FFI strings (UTF-8) are now converted to UTF-16 before hitting the Windows CRT (_wputenv_s / _wfopen_s), Python UTF-8 mode is enabled before Py_Initialize(), and embedded env-setup failures are fatal. Closes flet-dev/flet#6641. Windows-only change; iOS/macOS/Android/Linux runtimes are functionally unchanged from 20260719. Python versions (3.12.13 / 3.13.14 / 3.14.6) unchanged. * Retarget release 4.3.5 -> 4.3.6 (4.3.5 was accidentally published and pulled) 4.3.5 was published to pub.dev by mistake before this PR merged and has been retracted, so the version number is burned. Bump all packages and CHANGELOG sections to 4.3.6. Content is identical: python-build 20260720 / dart_bridge 1.5.1 Windows UTF-8 startup fix (flet #6641).
1 parent 59168a8 commit daada1a

19 files changed

Lines changed: 48 additions & 23 deletions

File tree

src/serious_python/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 4.3.6
2+
3+
* **Windows:** fix startup with non-ASCII app paths or environment values — Dart FFI strings (UTF-8) are now converted to UTF-16 before being passed to the Windows CRT, so paths/env values are no longer corrupted through the process ANSI code page, and Python UTF-8 mode is enabled before `Py_Initialize()`. See `serious_python_windows` 4.3.6 and flet-dev/flet#6641.
4+
* Bundled python-build snapshot re-pinned to **20260720** (`dart_bridge` **1.5.0 → 1.5.1**, which carries the Windows fix above). Python versions (**3.12.13 / 3.13.14 / 3.14.6**) are unchanged.
5+
16
## 4.3.4
27

38
* **Windows/Linux:** desktop apps on Python **3.14** no longer crash at startup with `ModuleNotFoundError: No module named '_pyrepl'` when the app (or a dependency, e.g. NLTK) imports `pydoc` or `pdb`. `_pyrepl` was pruned from the desktop stdlib as a dev-only module, but 3.14's `pydoc`/`pdb` import it at module load. See `serious_python_windows` / `serious_python_linux` 4.3.4 and flet-dev/serious-python#236.

src/serious_python/lib/src/python_versions.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// GENERATED by `dart run serious_python:gen_version_tables` from python-build's
2-
// manifest.json (release 20260719). Do not edit by hand — edit python-build's
2+
// manifest.json (release 20260720). Do not edit by hand — edit python-build's
33
// manifest.json, cut a release, bump `pythonReleaseDate`, and regenerate.
44

55
const pythonVersionEnvironmentVariable = "SERIOUS_PYTHON_VERSION";
@@ -10,8 +10,8 @@ const pyodideVersionEnvironmentVariable = "SERIOUS_PYTHON_PYODIDE_VERSION";
1010
const dartBridgeVersionEnvironmentVariable = "DART_BRIDGE_VERSION";
1111

1212
/// python-build release the bundled runtimes come from (YYYYMMDD).
13-
const pythonReleaseDate = "20260719";
14-
const dartBridgeVersion = "1.5.0";
13+
const pythonReleaseDate = "20260720";
14+
const dartBridgeVersion = "1.5.1";
1515
const defaultPythonVersion = "3.14";
1616

1717
class PythonRelease {

src/serious_python/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: serious_python
22
description: A cross-platform plugin for adding embedded Python runtime to your Flutter apps.
33
homepage: https://flet.dev
44
repository: https://github.com/flet-dev/serious-python
5-
version: 4.3.4
5+
version: 4.3.6
66

77
platforms:
88
ios:

src/serious_python_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 4.3.6
2+
3+
* Re-pins the bundled python-build snapshot to **20260720** (`dart_bridge` **1.5.0 → 1.5.1**). 1.5.1 is a Windows-only UTF-8 startup fix (see `serious_python_windows` 4.3.6); the Android runtime is functionally unchanged from 20260719.
4+
15
## 4.3.4
26

37
* Re-pins the bundled python-build snapshot to **20260719** (previously 20260714). The snapshot un-prunes `_pyrepl` on Windows/Linux desktop only; Android already shipped `_pyrepl` (un-pruned in 4.3.2), so these runtimes are byte-identical to 20260714.

src/serious_python_android/android/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ buildscript {
2121
}
2222

2323
group = "com.flet.serious_python_android"
24-
version = "4.3.4"
24+
version = "4.3.6"
2525

2626
rootProject.allprojects {
2727
repositories {

src/serious_python_android/android/python_versions.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# GENERATED by `dart run serious_python:gen_version_tables` from
2-
# python-build manifest.json (release 20260719). Do not edit by hand.
2+
# python-build manifest.json (release 20260720). Do not edit by hand.
33
default_python_version=3.14
4-
dart_bridge_version=1.5.0
5-
python_build_release_date=20260719
4+
dart_bridge_version=1.5.1
5+
python_build_release_date=20260720
66
3.12.full_version=3.12.13
77
3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a
88
3.13.full_version=3.13.14

src/serious_python_android/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: serious_python_android
22
description: Android implementation of the serious_python plugin
33
homepage: https://flet.dev
44
repository: https://github.com/flet-dev/serious-python
5-
version: 4.3.4
5+
version: 4.3.6
66

77
environment:
88
sdk: ">=3.0.0 <4.0.0"

src/serious_python_darwin/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 4.3.6
2+
3+
* Re-pins the bundled python-build snapshot to **20260720** (`dart_bridge` **1.5.0 → 1.5.1**). 1.5.1 is a Windows-only UTF-8 startup fix (see `serious_python_windows` 4.3.6); the iOS/macOS runtimes are functionally unchanged from 20260719.
4+
15
## 4.3.4
26

37
* Re-pins the bundled python-build snapshot to **20260719** (previously 20260714). The snapshot un-prunes `_pyrepl` on Windows/Linux desktop (fixing a 3.14 `pydoc`/`pdb` crash — see `serious_python_windows` / `serious_python_linux` 4.3.4); iOS/macOS already shipped `_pyrepl` (un-pruned in 4.3.2), so these runtimes are byte-identical to 20260714. No iOS/macOS-affecting changes.

src/serious_python_darwin/darwin/python_versions.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# GENERATED by `dart run serious_python:gen_version_tables` from
2-
# python-build manifest.json (release 20260719). Do not edit by hand.
2+
# python-build manifest.json (release 20260720). Do not edit by hand.
33
default_python_version=3.14
4-
dart_bridge_version=1.5.0
5-
python_build_release_date=20260719
4+
dart_bridge_version=1.5.1
5+
python_build_release_date=20260720
66
3.12.full_version=3.12.13
77
3.12.android_abis=arm64-v8a,x86_64,armeabi-v7a
88
3.13.full_version=3.13.14

src/serious_python_darwin/darwin/serious_python_darwin.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
Pod::Spec.new do |s|
66
s.name = 'serious_python_darwin'
7-
s.version = '4.3.4'
7+
s.version = '4.3.6'
88
s.summary = 'A cross-platform plugin for adding embedded Python runtime to your Flutter apps.'
99
s.description = <<-DESC
1010
A cross-platform plugin for adding embedded Python runtime to your Flutter apps.

0 commit comments

Comments
 (0)