- Android: Add debug logs and deduplicate FFI imports.
- Android: Invalidate extracted assets when version keys change.
- Add zipDirectoryPosix to create POSIX-compliant app archives on Windows.
- Enforce C++20 standard for
serious_pythonplugin build. - Fix: Normalize
WINDIRpath for bundled DLLs in CMake. - Fix Logcat logging crash on some Android devices.
- Fix logging on Android.
- Fix app restart on Android 10.
- Redirect Python output to logcat.
- Make zipDirectory call asynchronous.
- Bump
archiveto^4.0.7. - Fixed iOS framework identifier generation.
- 16 KB memory page support for Android 15+ (by @ReYaNOW).
- Fix: Hidden files in site-packages are skipped when building macOS app.
- Fix: Do not delete package metadata in
.dist-infodirectories (#164).
- Breaking change: multiple
--requirementsoptions ofpackagecommand must be passed as--requirements DEP_1 --requirements DEP_2 ...(or-r DEP_1 -r DEP_2 ...) instead of-r DEP_1,DEP_2,...to support dependency specifications with commas, e.g.pandas>=2.2,<3. - Fix site-packages packaging for Pyodide platform.
- Fix
serious_pythonto work on macOS 12 Monterey and built with Xcode 14.
- Set
MinimumOSVersionto13.0for generated Python frameworks. - iOS and macOS packaging: Python system libraries are put into
python.bundleto pass App Store verification. - On macOS, Windows, and Linux, application site packages are copied in an unpacked state to the application bundle to speed up the first launch.
- Pyodide 0.27.2
- Python 3.12.9
- Packaging
--cleanupoption replaced with two separate--cleanup-appand--cleanup-packagesoptions. - New packaging options
--cleanup-app-filesand--cleanup-package-filesto specify a list of globs to exclude files and directories from app and site packages. - New packaging
--skip-site-packagesoption to skip site packages installation for faster re-builds. - Packaging
--archoption accepts a list now.
- Fixed:
xcframeworksmigration script didn't work for sub-directories.
- Added
com.flet.serious_python_android.PythonActivityholder class withmActivityholding a reference to an app MainActivity. Needed forplyer. - Android plugin sets
MAIN_ACTIVITY_HOST_CLASS_NAMEenvironment variable with the name of activity holder class name (com.flet.serious_python_android.PythonActivity). - Android plugin sets
MAIN_ACTIVITY_CLASS_NAMEenvironment variable with a class name of an app MainActivity. - Android plugin sets
ANDROID_NATIVE_LIBRARY_DIRenvironment variable with the path to a directory containing app .so libraries. Needed for patchingctypes.find_library. - Changed behavior of
SERIOUS_PYTHON_ALLOW_SOURCE_DISTRIBUTIONSenvironment variable that should contain a comma-separated list of packages to allow installation from source distribution. - Fixed: iOS
site-packagestoxcframeworksmigration script supports bothlibrary.soandlibrary.{something}.so.
- Added Java
loadLibraryto Android plugin to supportpyjnius(#128).
- Copy
site-packages/fluttercontents toSERIOUS_PYTHON_FLUTTER_PACKAGES. - Added
SERIOUS_PYTHON_ALLOW_SOURCE_DISTRIBUTIONSvariable to allow pip installing from source distributions.
- Remove
PYTHONOPTIMIZE=2to make CFFI work.
- Copy
.solibraries from{site-packages}/opttojniLibs.
- Remove
--only-binarywhen packaging for desktop platforms (#112) - Fixed: only pass string args ('script') if they are not null. (#77)
- Fixed: script set as empty string to fix windows build error (#83)
- New packaging, not based on Kivy and with pre-built binary packages.
- Added
namespacedefinition to Android Gradle build. - Bump dependencies.
runPython()method to support running Python script.- Updated
flet_exampleto catch program output and errors,sys.exit()support. packagecommand to read dependencies frompyproject.toml.
--excludeoption forpackagecommand - to exclude directories and files from Python app package.- Re-create temp Python distributive directory on every run of
packagecommand.
--verboseflag - verbose output.--mobileflag - (removes.so) from app dest archive.--webflag for packaging for pyodide.--find-linksoption for installing pip dependencies from alternative sources (indexes).--dep-mappingsfor rewritingfletdependency to eitherflet-embedorflet-pyodide.--req-depsfor adding required dependencies likeflet-embedorflet-pyodide.--platformoption for use withsitecustomize.pyto tweak pip to pull platform-specific packages.- More structured regular output.
- Bump deps versions.
- Simplified Python initialization on Android.
- Python 3.11.6.
- Bumping version after fixing pubspec.yaml.
- macOS, Windows and Linux support.
Initial version.