- Add proxy_path parameter to flet_fastapi.app() (#1882).
- Fix
flet create
crashes with an empty project name.
- 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.
- 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
.
- 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)
- Bumping version as PyPi was out of space.
- Fixed: FilePicker crash the flet.app() after open directory dialog and choose one directory (#1572)
- 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)
- Fix
auth
andPubSub
imports inpage.py
andconnection.py
. - Fix broken
flet pack
command.
- 📱🎉 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.
- Added
use_color_emoji
toft.app()
inflet-pyodide
(#1416).
- Fix missing
FLET_APP_WEB
declaration inflet-pyodide
.
- 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)
.
ButtonStyle
withshape
orside
params failed in flet 0.7.0 (#1390).
- 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).
- Fix
SnackBar
(and other controls) exit animation. - Fix
Text
default style color.
- Fix regression in
AlertDialog
andBottomSheet
controls (#1344)
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)
- Fix: Dispose controls only on session closed event
- Fix "There is no current event loop" error in auth module
- Fix
page
reference inwill_unmount
method.
- 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)
- Fix reading versioninfo for PyInstaller 5.8.0
- Fix
Dropdown.disable
property
- 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)
- 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)
- Fix
flet pack
command on Windows and macOS (#795)
- Fixed Flutter package CHANGELOG and README.
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)
- 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)
- 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)
- 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)
- 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)
- Audio control (#425)
- Client storage (#288)
- Windows: Clear FilePicker state before opening the dialog as it's blocking
- Reconnect with sessionID on desktop/mobile
- FilePicker and uploads (#258)
Fix ElevatedButton regression (9540beb)
- Desktop Flet app can be started with a hidden window
- New
page
properties to control window appearance and behavior - New
Stack
properties - Hot reload
- Platform details (
page.web
,page.platform
) - Customisable route transitions
RouteChangeEvent
,ViewPopEvent
- Fix container click event data object (#198)
- Fix #196 bgcolor has no effect if FAB has a custom content (#196)
- Linux ARM64 support for Flet runner app (#189)
- Bugfix: Image control attribute src_base64 accepts str now (#187)
ContainerTapEventData
- Accessibility fixes (#179)
- Fix button style updates
- Fix #173 - ValueError: mutable default (#173)
- Fix container blend mode
- Remove
SnackBar.elevation
- Implicit animations and AnimatedSwitcher control (#162)
- Markdown and ShaderMask controls (#160)
- Add slugify to utils (#154)
- New
Container
properties. - New
ElevatedButton
,OutlinedButton
,TextButton
properties. - New
IconButton
properties. - New
ListTile
properties. - New
Theme
properties. hidden
value forColumn
,Page
,View
,Row
andView
controls - to enable scrolling but hide a scrollbar.- New
TextField
andDropdown
properties. - New
TextField
properties - Fixed flet-dev#138 page.width and page.height are 0 on the first page load
- Fixed flet-dev#77 Allow partial theme updates
- Fixed flet-dev#140 Container on_click callback breaks containers without explicit size
- Fixed flet-dev#30 Assertion "lookup_hash_table" fails on ToDo App example
- Flutter SDK switched to
beta
channel. - Fixed flet-dev#98 Changing app host/IP binding
- Switching between "hash" and "path" routing URL strategy (#110)
- Navigation and Routing (#95)
- Fix draggable.content_when_dragging
- Drag and Drop (flet-dev#62)
- Any control can be positioned absolutely inside Stack (flet-dev#60)
- Clickable Container (flet-dev#59)
- Added
page.pwa
property to detect if an app is running as PWA (flet-dev#58)
- Fix
UserControl._build()
call (flet-dev#52)
- Window Manager fix for Linux (flet-dev#44)
- Controlling application window (flet-dev#39)
- Page events allow multiple subscribers (flet-dev#38)
- page.rtl to control text directionality (flet-dev#37)
- Fix web_renderer arg
- Default webrenderer is canvaskit
- support "assets" dir for "onefile" PyInstaller
- Try packaging bin as data
- PyInstaller integration (flet-dev#34)
- Update control itself when isolated (flet-dev#31)
- Linux runner (flet-dev#29)
- User control (flet-dev#26)
- Upgraded to Flutter 3.0.2 (flet-dev#23)
- Custom fonts (flet-dev#22)
- PubSub (flet-dev#19)
- Support for Python 3.7 (flet-dev#16)
- Update logo-inkscape.svg
- Add executables to artifacts again
- Upload Fletd archives only, without binaries
- Fix links in Python SDK README (flet-dev#15)
- Fixed #10 (flet-dev#14)
- Row, Column and ListView spacing and scrolling improvements (flet-dev#13)
- Installing specific versions of Fletd and Flet apps for Python source distro (flet-dev#12)
- focus() method for TextField and Dropdown controls (flet-dev#11)
- Upload Flet client app to GitHub releases
- .focus() method for TextField and Dropdown
- Update fletd name to get download working (flet-dev#7)
- Sprint 1 (flet-dev#6)
- Fix expand for TextField and Dropdown
- app_store_connect_api_key with base64 key
- index.html with loading animation
- Upgrade Flutter 3.0.1
- Update AndroidManifest.xml
- Build to client's "build" folder
- Update Fastlane
- Building and publishing iOS Flutter app on AppVeyor
- TextField and Dropdown unlim size fix
- Python samples cleanup
- Merge pull request #5 from flet-dev/s1-ios
- Config flutter
- Fix FLET_PACKAGE_VERSION
- Fix iOS building for PR builds
- Restore complete yaml
- Row python examples
- More control examples
- Text max_lines
- Fix setting clipboard
- ListTile
- Card control
- Slight protocol optimization
- Control._set_attr_json
- Tabs selected_index
- Check collection controls for visibility
- NavigationRail selected_index
- NavigationRail control
- AppBar, NavigationRail - Python
- PopupMenuButton control
- Dividers example
- Filled buttons, dividers
- Filled elevated button
- Upgraded to Flutter 3.0
- Progress indicator samples
- Fix page size parsing
- page.content -> page.controls
- Expand can be True
- FAB
- bgColor for ImageButton
- CircleAvatar control added
- PWA icons all good
- Temp remove icons
- Large logo on an icon
- Icons updated
- Exponential reconnection logic, PWA icons
- Re-connecting flow
- Use canvaskit even on mobile for now
- Upgrade to Flutter 2.10.5
- Multiline textboxes done right
- Create a separate package for Alpine
- Add package for Alpine distro
- More general wheel package tags for Linux
- Icon browser done
- autofocus, on_focus, on_blur to Python classes
- Default Flet color theme
- autofocus, focus, blur to all form controls
- Remove tooltip from iconbutton
- ignoreChange sometimes
- Update container.dart
- Clipboard
- Make tooltip delay longer
- Tooltip property added to all visible controls
- Icons browser with outlined buttons
- GridView child_aspect_ratio
- Dynamic lazy building ListView and GridView controls
- Alignment parsing fixed
- App icons changed for web, windows and macos
- Open Flet client on Windows and MacOS only
- mkdir server/server/content