flet 0.23.2 flet: ^0.23.2 copied to clipboard
Write entire Flutter app in Python or add server-driven UI experience into existing Flutter app.
0.23.2 #
- CHANGED: Enhance Typing of Event Handlers (#3523)
- CHANGED: Delete Page.window.on_resize | deprecate Page.on_resize in favor of Page.on_resized (#3516)
- CHANGED: View is not opened on tap (#3513)
- FIXED:
Slider.value
defaults tomin
(#3503) - FIXED: add "hide" and "show" to WindowEventType enum (#3505)
- FIXED: TypeError raised for isinstance check with Union in before_update method (#3499)
- FIXED: Corrected
isinstance
check inSnackBar.before_update
to use a tuple of types instead of Union, resolving TypeError: "Subscripted generics cannot be used with class and instance checks". - FIXED:
Page.open()
breaking after multiple calls. - FIXED: Typo in on_resized setter decorator
0.23.1 #
- FIX: Fix parseFloatingActionButtonLocation() to work on desktop (#3496)
- FIX: Flet 0.23 crashes on Ubuntu 22.04 (#3495)
- FIX: View.floating_action_button_location: conditionally use _set_attr.
- FIX: Import
ParamSpec
fromtyping
for Python >3.10. - FIX: replace
len(list(filter(...)))
byany(...)
. - FIX: Make window and browser_context_menu private, and expose respective getters.
0.23.0 #
- NEW:
PermissionHandler
control (#3276) - NEW:
Map
control (#3093) - NEW:
Geolocator control
(#3179) - NEW:
AutoFillGroup
Control (#3047) - NEW: Migrated to Flutter 3.22 (#3396)
- NEW: An ability to access PubSubHub from outside Flet app (#3446)
- NEW:
TextStyle
props:overflow
,word_spacing
,baseline
(#3435) - NEW: Enable/disable browser context menu (#3434)
- NEW:
Container.color_filter
property (#3392) - NEW:
dropdown.Option.text_style
property (#3293) - NEW:
dropdown.Option.content
property (#3456) - NEW:
Video.configuration
property (#3074) - NEW: Enable Impeller on Android and macOS (#3458)
- NEW: AutoComplete: add selected_index read-only property (#3298)
- NEW: Renamed
NavigationDestination
toNavigationBarDestination
(#3172) - CHANGED: Prettify "build" command cli output (#3407)
- CHANGED: Set colorScheme.primary as defaultSideColor (#3421)
- CHANGED: feat(map): add missing py-events, better typing (#3464)
- CHORE: Refactor
numbers.dart
utils (#3263) - CHORE: Global Code Refactoring/Clean-up (#3186)
- CHORE: Cleanup (#3406)
- CHORE: Error handling enhancements (#3175)
- CHORE: Improve type hint for run_task and run_thread (#3459)
- CHORE: Move
page.window_*
andpage.browser_context_menu_*
properties toWindow
andBrowserContextMenu
classes (#3463) - FIX:
Container.on_tap_down
not called whenon_click
is not provided (#3442) - FIX: SnackBar bug #3311 (#3313)
0.22.1 #
AutoComplete
control (#3003)- Added
--exclude
option toflet build
command (#3125) CupertinoTimePicker.alignment
property (#3036)- Bump
file_picker
dependency to 8.0.3. - Fix latest flet-build-template version in development mode (#3021)
- Fix
flet --version
command for source checkout. - LineChart: fix regression (#3033)
- Fixed: OAuth expiry of token will hang fastapi server (#3150)
- Fixed: Disabled the dropwown, but the color isnot gray (#2989)
- Fixed:
pubspec.yaml
for adding custom Flutter packages requiresdependency_overrides
(#3187) - Fixed
disabled
dropdown (#3183) - Fixed default value for scrollbar thickness (#3147)
- Fixed: autoreload, restrict eventhandler from restart on open (#3098)
- Fixed (#3035) switch Flutter RichText to Text.rich (#3066)
- Fixed: Markdown code block is not selectable (#1753)
0.22.0 #
- Controls enhancement (see #2882 for details).
Theme
Enhancement (#2955).Rive
Control (#2841).Control.parent
property (#2906).Container.on_tap_down
event.- Add
upload_endpoint_path
intoflet.fastapi.app
(#2954). - Add checkbox border side state (#2973).
- Global context for session (#2934).
- Fix silent error in
page.run_task
(#2959). - Web: patch html title with app_name (#2909).
Container
: fix triggered bothon_click
andon_long_press
events (#2914).
0.21.2 #
- Fix for mobile Safari: Store session ID in SessionStorage instead of window.name.
- Bugfixing on Python side.
0.21.1 #
- Bugfixing.
0.21.0 #
- FastAPI instead of built-in Fletd server. Mixed async/sync apps. (#2700).
CupertinoActivityIndicator
Control (#2762).Lottie
Control andVideo
v2 (#2673).CupertinoActionSheet
andCupertinoActionSheetAction
controls (#2763).CupertinoSlidingSegmentedButton
andCupertinoSegmentedButton
controls (#2767).CupertinoTimerPicker
andCupertinorPicker
Controls (#2743).CupertinoContextMenu
andCupertinoContextMenuAction
controls (#2772).CupertinoDatePicker
Control (#2795).Page.on_app_lifecycle_state_change
event (#2800).- More
Semantics
properties andSemanticsService
control (#2731). - Fix container.dart for issue #2628 (#2701).(#2701)
- Adaptive fixes (#2720).
label_style
property forCheckbox
,Switch
, andRadio
(#2730).- Additional properties (#2736).
- Reorder
__init__
(#2724).
0.20.2 #
- Move
system_overlay_style
fromAppBar
toTheme
(#2667). flet build
command checks minimal Flutter SDK version.- Buttons turn to
CupertinoDialogAction
controls inside adaptive dialogs. FletApp
control takes control create factories from a parent app.
0.20.1 #
0.20.0 #
AppBar.system_overlay_style
property (#2615).- New
CupertinoButton
props:filled
,style.bgcolor
,style.padding
,text
,icon
,icon_color
. - Added
NavigationBar.border
property which is used in adaptive mode only. Page.design
andPagelet.design
properties to force Material, Cupertino or Adaptive design language on entire app (#2607).Page.media
property with the data about obstructed spaces on the device (#2613).- Adaptive buttons (#2591).
Control.on_update()
method for better custom controls.--include-packages
option and support forpubspec.yaml
for custom Flutter packages plus API for adding custom Flutter packages.- Add
rtl
property to multiple controls (#2582). - Fix: Material icon is shown instead of Cupertino icon if its name is thesame (#2581).
TextStyle.letter_spacing
property (#2574).Audio
,AudioRecorder
,Video
andWebView
controls moved into separate Flutter packages (#2579).- Introduced
Control.on_update()
overridable method (#2578). - New
AlertDialog
properties:icon
,bgcolor
,elevation
. expand_loose
property for Control and all controls that haveexpand
property (#2561).- Pyodide v0.25.0.
flet create
command to show verbose output (#2544).AudioRecorder
control (#2494).- Bugfix:
flet pack --distpath
deletesdist
directory (#2500). - Added recursive
adaptive
property to all container-alike controls. TextField.text_vertical_align
property (#2496).CupertinoButton
Control (#2495).CupertinoListTile
control (#2487).- Support for custom Flutter controls (#2482).
Pagelet
control (#2469).- Add
AppBar.adaptive
(#2458). - Cupertino Icons and Colors (#2433).
CupertinoTextfield
control (#2417).FloatingActionButtonLocation
offset (#2411).
0.19.0 #
flet build
to apply Python SSL fix when packaging for iOS and Android (#2349).- Upgrade Android Gradle in flet
build app
template (#2350). flet build -vv
should run pip install with verbose output (#2351).- Add Python output/logging to troubleshoot empty screens on startup of built app (#2352).
flet build
should raise an error when trying to package an app with native modules for iOS or Android (#2356).flet build
to add timestamp (hash) asset with Flet Python app to re-extract when code changes (#2289).- Handle/bypass
if __name__ == "__main__"
check on Android. - Support reading dependencies from
pyproject.toml
. flet build
to fix--base-url
with surrounding slashes (#2369).CupertinoAlertDialog
,CupertinoDialogAction
, adaptive property forAlertDialog
(#2365).Dismissible.confirmDismiss
prop (#2359).ListView.reverse
andGridView.reverse
props (#2335).Text.style
type Deprecation warning (#2286).- Add
LineChartData.prevent_curve_over_shooting
andLineChartData.prevent_curve_over_shooting_threshold
props (#2354). flet build
to add checks to allow certain build commands according to "build_on" platform (#2343).- Fixed:
flet build
gives "OSError: [WinError 193] %1 is not a valid Win32 application" for some users (#2318). - Fixed: PubSub is not shared between pages in the same FastAPI app (#2368).
- Fixed: check for
DISPLAY
instead ofXDG_CURRENT_DESKTOP
to check if linux machine is GUIless or not (#2373).
0.18.0 #
flet build
command to package Flet app for any platform (docs).- Added TextStyle for the Text control (#2270).
- Refactor code, add Enum deprecation utils (#2259).
CupertinoAppBar
control (#2278).- Fix AlertDialog content updating (#2277).
- Fix FLET_VIEW_PATH ignored on linux (#2244).
MenuBar
,SubMenuButton
andMenuItemButton
controls (#2252).- convert 'key' to a super parameter (#2258).
0.16.0 #
CupertinoSlider
control andSlider.adaptive
(#2224).CupertinoRadio
control andRadio.adaptive
(#2225).- Fix
NavigationBar.label_bahavior
(#2229). CupertinoSwitch
control (docs).- Disable fade-in effect on Flet app start.
- Tab alignment bug fix (#2208).
- Tab visibility (#2213).
- Dark window title for Windows (#2204).
- Fix
ValueError
on web page resize (#1564).
0.15.0 #
ExpansionPanel
andExpansionPanelList
controls (docs).CupertinoCheckBox
control, adaptiveCheckBox
(docs).- Additional control props (#2182):
Card.shape
.NavigationDestination.tooltip
.NavigationRail
:elevation
,indicator_color
,indicator_shape
.BottomSheet
:bgcolor
,elevation
.
- Added
Dropdown.Option.visible
property. - Fix AlertDialog broken content when testing in Flet app (#2192).
0.14.0 #
0.13.0 #
0.12.2 #
0.12.1 #
- Ability to expand
ButtomSheet
to the top of the screen withBottomSheet.is_scroll_controlled
property (#2087). BottomSheet.maintain_bottom_view_insets_padding
to avoid obstructing controls with on-screen keyboard (#2010).- Fixed:
NavigationDrawer
disappears when you move the window and is not opening again (#2062). - Fixed: alert dialog doesn't close (#2011).
- Fixed: Resizing app's window with an opened BottomSheet triggers new addition to Overlay (#2075).
- Fixed: on_window_event isnt handled after page navigation (#2081).
- Fixed: Routing is not working in 0.12.0 (#2082).
- Fixed: routing regression.
- Fixed: Multiple dialogs (AlertDialog) will create a ghost dialog (#1670).
0.12.0 #
NavigationDrawer
control (docs).Badge
control (docs).RangeSlider
control (docs).WebView
control (docs).Cookiecutter
replacesCopier
(#2014).page.go()
: ability to skip route change event (#2039).- Fixed: Two
Datepicker
Opening Issue (#2025). - Fixed: Using Audio and FilePicker at the same time, when click on the FilePicker, the audio automatically replays (#1807).
- Fixed: Audio issue while Route Changing (#1236).
- Fixed: Snackbar cause Audio stop playing (#1772).
- Fixed:
scroll_to()
with zero duration does nothing (#1659). - Fixed: cannot get height and width for page (#1960).
- Fixed: Put it the right version of flet (#1997).
- Fixed:
Chip.selected
property type changed to bool (#2048). - Fixed: Unreliable detection of SVG images (#2053).
0.11.0 #
DatePicker
control (docs).Chip
control (docs).- Pyodide v0.24.1.
- Python 3.12 support.
- Added
AlertDialog.inset_padding
property (#1899. - Embedded mode to work with
serious_python
.
0.10.3 #
- Add proxy_path parameter to flet_fastapi.app() (#1882).
- Fix
flet create
crashes with an empty project name.
0.10.2 #
- Wrapped --codesign-identity & --add-binary for flet pack (#1789).
- Fix incomplete code blocks in
flet_core/page.py
. - Fix disabled color of FilledButtons.
- Add
AppView
andWebRenderer
enums to flet-pyodide. - Pyodide v0.24.0.
0.10.1 #
0.10.0 #
- Hosting Flet web apps in FastAPI (docs).
- Migrated to Flutter 3.13.1.
- Pydantic 2.0 support (Copier upgraded to 8.2.0).
- BREAKING:
DataTable.data_row_height
replaced withDataTable.data_row_min_height
andDataTable.data_row_max_height
.
0.9.0 #
- Added
--android
option toflet run
command. - Added
page.debug
property (#1649) - Added
page.platform_brightness
property andpage.platform_brightness_change
event (#1630) - Store session ID in
html.window.name
(#1629) - Do not assign random port on Windows with
--ios
flag (#1620)
0.8.4 #
- Bumping version as PyPi was out of space.
0.8.3 #
- Fixed: FilePicker crash the flet.app() after open directory dialog and choose one directory (#1572)
0.8.2 #
- Fix
flet pack
command on macOS (#1580). - Fixed: Assets dir and manifest does not work (#1573)
- Fixed: Flet CLI crashes if
git
is not installed (#1581)
0.8.1 #
- Fix
auth
andPubSub
imports inpage.py
andconnection.py
. - Fix broken
flet pack
command.
0.8.0 #
- 📱🎉 iOS support - build standalone iOS apps in Python:
- Flet app in App Store to test Flet projects on iOS devices.
- New
--ios
switch forflet run
command to test Flet app on your iOS device. - Testing on iOS guide.
- serious_python Flutter package to add Python support to a Flutter app.
- An example of Flutter app combining serious_python package, flet package and your Python program into a ready iOS app.
- Part of
flet
package logic moved to a newflet-runtime
package.flet
package depends onflet-runtime
. The newflet-embed
package introduced depending onflet-runtime
- to run Python apps embedded into Flutter apps. - Less annoying re-connecting logic and loading page for mobile Flet apps.
- Enum parameters for
ft.app()
sview: ft.AppView
andweb_renderer: ft.WebRenderer
parameters (string values are still supported for backward compatibility), for example:
ft.app(main, view=ft.AppView.WEB_BROWSER, web_renderer=ft.WebRenderer.HTML)
- Flet packages
version
is centralized inflet_core.version
. - 💥 Breaking change: OAuth providers must be imported from
flet.auth.providers
module, for example:
from flet.auth.providers import GitHubOAuthProvider
- Added
Image.error_content
property - fallback content if image cannot be loaded. - New
BottomSheet
properties:dismissible
,enable_drag
,show_drag_handle
,use_safe_area
(#1468). ListTile.toggle_inputs
property - clicking on a list tile should toggle the state ofRadio
,Checkbox
orSwitch
inside the tile.- New
page
methods for showing/closing overlays:page.open_banner()
,page.close_banner()
,page.open_dialog()
,page.close_dialog()
,page.open_bottom_sheet()
,page.close_bottom_sheet()
. - New
FletApp
properties:reconnect_interval_ms
,reconnect_timeout_ms
,on_error
. - New
TextField
properties:autocorrect
,enable_suggestions
,smart_dashes_type
,smart_quotes_type
. - New
SafeArea
control. - New
SnackBar
properties:behavior
,dismiss_direction
,show_close_icon
,close_icon_color
,margin
,padding
,width
,elevation
. - New
View.fullscreen_dialog
property. ft.app()
assumesassets_dir="assets"
by default.- New
PaintSweepGradient.rotation
property.
0.7.4 #
- Added
use_color_emoji
toft.app()
inflet-pyodide
(#1416).
0.7.3 #
- Fix missing
FLET_APP_WEB
declaration inflet-pyodide
.
0.7.2 #
- Fix: Route change by url is not working if
page.theme
specified (#1406). - Rollback flutter_svg to 1.1.6 to fix regressions in Plotly charts (#1402).
- Force web server in desktop mode with
ft.app(view=ft.FLET_APP_WEB)
.
0.7.1 #
ButtonStyle
withshape
orside
params failed in flet 0.7.0 (#1390).
0.7.0 #
- Programmatically control scroll position and subscribe to scrolling notifications in Page, View, Column, Row, ListView and GridView controls.
- Material color scheme customization
- Text theming
- Scrollbars theming
- Tabs theming
- Nested page themes
- Flutter upgraded to 3.10 with Dart 3.0 required. CanvasKit WASM size reduced from 2.8 to 1.5 MB.
- Bumped Flutter dependencies: window_manager 0.3.0 → 0.3.2, flutter_markdown 0.6.13 → 0.6.14, markdown 6.0.1 → 7.0.0, file_picker 5.2.5 → 5.3.0, flutter_svg 1.1.6 → 2.0.5, shake 2.1.0 → 2.2.0, fl_chart 0.61.0 → 0.62.0.
- Color emoji support in web apps with "canvaskit" renderer (docs).
- Add CLI option -m to run as module (#1389).
- Selectable rich text control (#1386).
0.6.2 #
- Fix
SnackBar
(and other controls) exit animation. - Fix
Text
default style color.
0.6.1 #
- Fix regression in
AlertDialog
andBottomSheet
controls (#1344)
0.6.0 #
Canvas
control (docs).- Rich text support in
Text
control. - Added
url
andurl_target
to controls withon_click
event (#1337) - Auto-follow links in
Markdown
(docs). - Capturing web client info: IP and user agent (#1302)
- Fix: Make non-visual controls working with routing (#1333)
- Fix: Update
page.route
if typed in the URL (#1289)
0.5.2 #
- Fix: Dispose controls only on session closed event
- Fix "There is no current event loop" error in auth module
0.5.1 #
- Fix
page
reference inwill_unmount
method.
0.5.0 #
- Fixed: Memory usage continues to increase. (#1223)
- Fixed: possible memory leak (#969)
- Color values can contain opacity, e.g.
color=red,0.5
orft.colors.with_opacity(0.5, "red")
- 1st class Flet charts based on fl_chart package (#1255)
- Pyodide 0.23
- Use named loggers in Python (#1157)
- Fix Contribution guide as PDM is no longer used (#1124)
- Added focus() method, focus and blur events to Elevated, Outlined, Text and Icon buttons (#1079)
- New Card props: color, shadow_color, surface_tint_color (#1078)
- Added WindowDragArea.maximizable property (#1077)
- Added Container.blur and Container.shadow properties (#1076)
- Add template for Q&A discussions (#1070)
0.4.2 #
- Fix reading versioninfo for PyInstaller 5.8.0
- Fix
Dropdown.disable
property
0.4.1 #
- Slider.round to round slider value on a label
- Fix page.client_storage.get_keys() timeout
- Fix encode() import in PyInstaller integration
- Fix "ConnectionAbortedError" error on Windows
- Consistent licensing across the code - Apache 2.0
- Fix assets loading in a sub-directory app (#1019)
- Add --distpath option to flet pack and flet publish commands (#1018)
- Updating manifest.json when using flet publish (#1014)
- Fix "Address already in use" error on flet run hot reload (#1007)
- Force Python sub-process to run with UTF-8 encoding (#1002)
- Fix: View with content crashes in some routing scenarios (#1001)
0.4.0 #
- Changed re-connection logic to make hot reload work (#971)
- Pyodide publishing fixes and improvements (#953)
- feat: Add PaddingValue to init.py (#936)
- Standalone Flet web apps with Pyodide (#913)
- modified
tooltip
attribute fromprefere*
toprefer*
(#909) - Fix unicode encoding in
FletTcpSocketServerProtocol
- Fix relative assets path in desktop app
- PDM changed to Poetry
- Add
--hidden-import
option toflet pack
command - Add transparancy to matplotlib (#889)
- Replace Fletd server for desktop apps with a light-weight Python shim (#838)
- add default values in Border dataclass (#883)
- Fix for issue in control.py when checking add command (#835)
- Fix async pubsub (#868)
- add: Border, BorderSide, Scale Offset, Rotate to
__init__.py
(#866) - Loading images from a local file (#817)
- Asyncio support (#799)
- Set filled=True when setting bgcolor in TextField (#807)
- Page transition without animation (#809)
0.3.2 #
- Fix
flet pack
command on Windows and macOS (#795)
0.3.1 #
- Fixed Flutter package CHANGELOG and README.
0.3.0 #
flet pack
CLI to create app bundles with custom icons and metadata (#770)- Control comments (#681)
- Fix MaterialState error in ButtonStyle (#689)
- Flet CLI moved into separate module (#679)
- Added BorderRadius to
__init__.py
(#691) - Added dense property to TextField and Dropdown controls (#696)
- Correctly handle control replacement (#710)
- Fix "replace" when moving children in the collection (#711)
- Remove hard-coded colors in Markdown default code theme (#731)
- Authorization should allow to override, such as request_token() methods (#776)
0.2.4 #
- Use correct Flet viewer path when installed from a source package (#675)
- add
ControlEvent
to__init__.py
(#657) - fix: handle a few corner cases (#503)
0.2.2 #
- Make
Control.offset
work without animation enabled (#632) - Added
Dropdown.alignment
property (#630) - Remove beartype runtime check for all
value
properties - Fix
page.scroll
to allow None and strings - Literals to Enums (#626)
gapless_playback
isTrue
by default for base64 images- Ability to change border shape of FAB control (#621)
- Added Slider's
on_change_start
andon_change_end
events (#620) - DataTable control: 1-to-1 mapping to Flutter (#583)
- Implemented
page.can_launch_url()
(#582) - Update project changelog from very beginning (#581)
- Publish pre releases to pypi.org (#579)
- Theming Slider control (#573)
0.1.65 #
- Fixed: Floating Action Button now showing on top left (#567)
- Using variable fonts (#21)
- Old flet client app versions do not launch on Mac (#161)
- NavigationBar control (#193)
ResponsiveRow
control (#227)- Add code syntax highlighter to markdown (#294)
- feature: add mouse scroll wheel event (#354)
- Tooltip class (#367)
- BottomSheet control (#483)
- Fixed: Calling
update()
insideControl.did_mount()
causes deadlock (#489) - Add
page.window_maximizable
(#494) - Add an ability to change font family of
TextField
(#511) - Feature: Theming Switch and Checkbox component (#523)
- Change shape of AlertDialog (#537)
- Fixed: Saving and retreiving a string value from client storage adds quotation marks (#545)
- Matplotlib and Plotly Charts (#509)
- make control a cooperative object (#490)
0.1.62 #
- Initial release of Flet Flutter package.
- GestureDetector and other fixes (#459)
- removed all problems except dart:html problem because it needs material html kind of thing (#461)
- fix: ensure correct version is fetched in dev mode (#443)
- Fix controls setter for empty list input (#454)
- make ink=True behavior consistent with ink=False (#427)