website/blog/2025-02-20-flet-v-0-27-release-announcement.md
Flet 0.27.0 is now released with exciting new features and improvements!
Run the following command to upgrade Flet:
pip install 'flet[all]' --upgrade
:::note
[all] is an "extra" specifier which tells pip to install or upgrade all flet packages: flet, flet-cli, flet-desktop and flet-web.
:::
Bump flet package version to 0.27.0 (or remove it at all to use the latest) in your pyproject.toml.
numpy, pandas, flet, etc.) are now bundled inside a framework, ensuring Xcode signs all files correctly and passes App Store Connect verification.flet build options for proper iOS package signing.Currently, when packaging for macOS, Windows, and Linux, third-party Flet app dependencies (e.g., numpy, pandas, flet, etc.), also known as site packages, are bundled inside the app.zip artifact. This can cause a startup delay, sometimes significant, as the app needs to extract the artifact to the user’s file system before launching.
With Flet 0.27.0, site packages are now copied in an unpacked state directly into the application bundle instead of being compressed into app.zip. This change significantly reduces the first launch time.
If certain parts of the build configuration remain unchanged, the flet build command attempts to skip or optimize specific build pipeline steps (such as re-installing Flet app dependencies), reducing the overall completion time for consecutive builds.
Faster builds mean happier developers! 😄
Pyodide 0.27.2 is based on Python 3.12 and has some serious performance improvements to foreign function interface (FFI).
Flet now supports Python 3.12 across all packaging platforms.
The next stop is Python 3.13!
Dropdown control.Since version 0.27.0, Flet uses DropdownMenu flutter widget for Dropdown control, which is a Material 3 version of previously used DropdownButton. Additionally to enhanced look and feel, it allows filter the list based on the text input or search one item in the menu list.
Some properties of previous Dropdown implementation are not available in the new version and were "stubbed" - they will not break your program but don't do anything. See the list of deprecated properties here.
Previous version of Dropdown control is available as DropdownM2 control and will be removed in Flet 0.30.0.
flet build command--team option renamed to --ios-team-id.--include-packages has been removed. Just add extension package into dependencies section of your pyproject.toml file: https://flet.dev/docs/extend/built-in-extensions/--cleanup-on-compile removed and two new options added to separate cleanup of app and 3rd-party site packages: --cleanup-app and --cleanup-packages. Two additional options: --cleanup-app-files and --cleanup-package-files work together with --cleanup-* and allow specifying lists of globs to exclude from app and site packages.tool.flet.build_arch renamed to tool.flet.target_arch.v0.24.0 DeprecationsThe following items, deprecated in Flet 0.24.0, have been removed: https://flet.dev/blog/flet-v-0-24-release-announcement#deprecations
CupertinoCheckbox.inactive_color propertyThe inactive_color property of the CupertinoCheckbox has been removed in favor of fill_color.
The full list of changes can be found in the CHANGELOG.
ReorderableListView Control (#4865)Container.dark_theme property (#4857)httpx Support (#4840)CupertinoCheckbox.inactive_color in favor of fill_color (#4837)flet build: use Provisioning Profile to sign iOS app archive (.ipa), deprecate --team option (#4869)flet doctor CLI command (#4803)ElevatedButton, OutlinedButton, TextButton, FilledButton, IconButton ) (#4872)ControlEvent.data should be of type Optional[str] and default to None (#4786)flet build: add --source-packages to allow installing certain Python packages from source distros (#4762)SearchBar.bar_border_side isn't visually honoured (#4767)SearchBar.blur() to programmatically unfocus the bar (#4827)Upgrade to Flet 0.27.0, test your apps and let us know how you find the new features we added.
If you have any questions, please join Flet Discord server or create a new thread on Flet GitHub discussions.
Happy Flet-ing! 👾