Breaking changes
flet build macosnames the.appbundle after the product name when no artifact name is set (was the project name): Finder, the Dock, Spotlight and the app menu show that name. To keep the previous name, set[tool.flet.macos] artifact = "<project name>". See the macOS .app named after the product name guide (#6966) by @FeodorFitsner.- Flet's Dart code now takes Material and Cupertino from the
material_uiandcupertino_uipackages instead of the Flutter SDK'spackage:flutter/material.dartandpackage:flutter/cupertino.dart. The Dart code of extensions that uses Material or Cupertino must migrate. See the Material and Cupertino now come from material_ui and cupertino_ui guide by @ndonkoHenri. - Themes built from a seed color, including the default theme, now have neutral surfaces: white in light mode and near-black (
#121212) in dark mode, with neutral greys for containers, outlines and text on surfaces. The seed still drives accent colors. To keep the seed-tinted Material 3 look, setpage.theme = ft.Theme(surfaces=ft.ThemeSurfaces.TONAL)(and the same forpage.dark_theme). See Default theme surfaces are now neutral (#6921) by @FeodorFitsner. - The default dark splash and loading screen color of web apps is now
#121212(was#222222), to match the new dark theme surface (#6921) by @FeodorFitsner. - Custom
flet buildtemplates (--template) must read the build's settings fromcookiecutter._optionsand the app'spyproject.tomlfromcookiecutter._pyproject(werecookiecutter.optionsandcookiecutter.pyproject). Cookiecutter passes these private variables to the template unchanged, so numbers keep their types and values aren't rendered as Jinja (#6999) by @ndonkoHenri. - Custom
flet buildtemplates (--template) must read the iOS export options fromcookiecutter._options.ios_export_options(wascookiecutter.ios_export_options), otherwise they are left out ofexportOptions.plistwithout an error (#7036) by @ndonkoHenri. flet buildfor macOS and Windows no longer writes a placeholder copyright: withoutcopyright, it's generated fromcompany, or left empty without one. On macOS, the copyright text is used as written, no longer followed by. All rights reserved.(#7038) by @ndonkoHenri.flet build windowsnow escapes the company and product names itself: remove any""or\\added by hand to work around the old behavior, otherwise the app looks for its data in a different folder (#7038) by @ndonkoHenri.- The Flet desktop client is no longer built for Debian 10 on ARM64:
flet runon an ARM64 Linux system with glibc older than 2.31 (Debian 10 and other glibc 2.28 distros) now stops with an error naming the glibc it needs. Debian 10 on x86-64 is still supported by @FeodorFitsner. - flet-audio: On Android, every
Audioof an app now plays together by default, where one used to pause the others for good, and other apps' audio gets quieter instead of pausing. Setcontext=AudioContext(focus=AudioFocus.GAIN)on a music player to keep pausing other audio. See the Android: every Audio now plays together by default guide (#7034, #7043) by @ndonkoHenri.
New features
- Add
Page.get_package_info(), returningft.PackageInfowith the running app's name, package name, version, build number, build signature, installer store, and install/update times. Aflet buildapp gets the--build-versionand--build-numberit was built with, so it no longer needs its own copy of the version (#6950) by @FeodorFitsner. flet build: permission bundles can be set per platform with[tool.flet.<platform>].permissions, which replaces[tool.flet].permissionsfor that platform ([]applies none) by @FeodorFitsner.- Add
InteractiveViewer.get_scale(),get_transform(), andon_transform_changedto expose the effective zoom scale, translation, and transformation matrix, including reliable final-state notifications after consecutive interactions (#6938, #6939) by @ada-koki. - Add the
RefreshIndicatorcontrol for pull-to-refresh: pulling its scrollablecontentdown calls the asyncon_refreshhandler and shows a progress indicator until it returns, andshow()refreshes without a pull, for desktop and web. See RefreshIndicator (#6997) by @osamalzabidi. - Add the
flet-shadcn-uiextension: controls styled after shadcn/ui, built on the Fluttershadcn_uipackage, withThemecolor schemes and the Lucide icon set (LucideIcons). It includesButton,IconButton,Badge,Alert,Avatar,Card,Breadcrumb,Separator,Progress,Input,Textarea,Checkbox,Switch,Slider,RadioGroup,Select,InputOTP,Calendar,DatePicker,DateRangePicker,TimePicker,Tabs,Accordion,ResizablePanelGroup,Tooltip,Popover,ContextMenu,Menubar,Table,Dialog,Sheet,ToastandSonner; value controls supportlabel,descriptionanderror_text(#6918) by @InesaFitsner. - Add the
flet-notificationsextension: aNotificationsservice that shows, schedules and cancels local notifications on Android, iOS, macOS, Windows, Linux and Web, wrapping theflutter_local_notificationsplugin, with permission requests, Android channels, rich styles, inline-reply actions and typed tap and action handlers (#6948, #6999) by @Nwokike. flet build: add[tool.flet.android].res_dirto bundle the app's own Android resources, such as a notification icon or sound that code looks up by name; they are kept in release builds. See Resources (#6999) by @ndonkoHenri.flet build: extensions can declare build settings, such as Android compile options and Gradle dependencies, in aflet-extension.tomlfile, applied to every app that installs them under the app's own settings. See Build settings (#6999) by @ndonkoHenri.flet build: add[tool.flet.ios.entitlement]and--ios-entitlementsto sign iOS apps with entitlements, such as push notifications, universal links, App Groups or critical alerts. See Entitlements (#6999) by @ndonkoHenri.flet build: add[[tool.flet.android.activity.intent_filter]]to add intent filters to the Android app's main activity, such as verified App Links, link paths or share targets; receiver intent filters now accept<data>elements and filter attributes too. See Activity intent filters (#6560, #7031) by @ndonkoHenri.flet build: deep links need only a scheme:[tool.flet.deep_linking]withouthost, or--deep-linking-schemealone, opens the Android and iOS app from anymyapp://link. A host without a scheme, orhttp/httpswithout a host, now stops the build with an error. See Deep linking (#6560, #7031) by @ndonkoHenri.flet build: add[tool.flet.android.queries]to declare the apps, intents and content providers an Android app looks up, which Android 11+ hides otherwise, for example to open a payment app or check a URL scheme withUrlLauncher.can_launch_url(). See Queries (#6560, #7031) by @ndonkoHenri.flet build: add[tool.flet.android]settings for the app's Java compile options (compile_options), Gradle dependencies (gradle_dependencies), and manifest receivers (receiver) and services (service) (#6999) by @ndonkoHenri.- Add
text_input_actiontoTextFieldandCupertinoTextField, with theTextInputActionenum, to choose the action button of the onscreen keyboard:TextInputAction.NEXTmoves focus to the next focusable control, keeping the keyboard open when that is another text field (#6962, #7021) by @ndonkoHenri. - flet-audio: Add
Audio.context(AudioContext,AudioFocus) to configure mobile audio focus and silent mode (#7034, #7041, #7043) by @BartoszKog and @ndonkoHenri.
Improvements
- Bump the bundled Flutter to 3.47.8 (from 3.44.8). Android builds use Gradle 9.3.1, Android Gradle Plugin 8.13.2 and Kotlin 2.3.21 (#6916, #7023) by @ndonkoHenri.
Compatibility: Desktop apps and the desktop app thatflet runopens now render with Impeller, Flutter 3.47's default desktop renderer, instead of Skia. Useflet build --no-impeller(orimpeller = falseunder[tool.flet]),flet run --no-impelleror theFLET_NO_IMPELLERenvironment variable to render with Skia; see Renderer. Android plugins that still usejcenter()or other APIs removed in Gradle 9 no longer build.flet builddownloads Flutter 3.47.7 on first use. - The prebuilt Windows desktop client (
flet.exeand its DLLs) thatflet rundownloads is now code-signed, so it starts with Windows Smart App Control turned on (#7011) by @FeodorFitsner. - Web apps served by Flet, such as with
flet run --web, send their text and WebAssembly files gzip-compressed to browsers that accept it, somain.dart.wasm,main.dart.js, CanvasKit and fonts download about 3x smaller (#6266, #7026) by @ndonkoHenri. flet packwarns about each extension the app imports that the prebuilt Flet client doesn't include, since its controls show as unknown controls in the packed app (#6999) by @ndonkoHenri.flet packshows only warnings and errors by default instead of PyInstaller's full log:-vshows packaging progress and PyInstaller'sINFOlog,-vvitsDEBUGlog (#6999) by @ndonkoHenri.flet build linuxapps install a hidden desktop entry for the current user while they run, so GNOME's dock shows the app's icon and name instead of a generic icon and the app id, on Wayland and on GNOME 46+ under X11. Turn it off with[tool.flet.linux] desktop_entry = false. See App icon (#7001) by @ndonkoHenri.flet buildalways generates app icons and the splash screen. An app without an icon of its own gets them generated from the Flet logo, whichflet-platform-assetsnow bundles asDEFAULT_ICON, instead of the build template's committed icons. Previews of the icons a build will produce now match the build for every app. The default web icons are the bare logo rather than the logo on a white tile by @FeodorFitsner.- Add
min_width,max_width,min_heightandmax_heightto every layout control. They are applied by the client on every layout pass, so a capped, centered column (e.g.Container(max_width=760)in aColumn(horizontal_alignment=CENTER)) stays correct while the window resizes - no more computing widths in Python frompage.widthoron_size_change, which always lagged a frame or more behind by @FeodorFitsner. - Add
ft.MaterialTapTargetSizewithSwitch.material_tap_target_sizeandTheme.material_tap_target_size:SHRINK_WRAPdrops Material's 48px minimum tappable area for dense, pointer-driven layouts by @FeodorFitsner. Dropdown.heightnow sizes the field itself, down to compact heights such as 32 or 40: the leading icon and trailing arrow no longer force a 48px minimum by @FeodorFitsner.- Add
PopupMenuButton.border_radiusto round the hover/splash highlight around customcontentby @FeodorFitsner. - Add
Theme.input_decoration_theme(ft.InputDecorationTheme) to style everyTextFieldandDropdownat once: border, label/hint/helper/error styles, content padding, density and fill. Itsbordertakes per-state entries (DEFAULT,HOVERED,FOCUSED,ERROR,DISABLED); unset states keep the Material default, so a softer resting border still darkens on hover and turns primary on focus. Controls without their ownborderuse the theme's by @FeodorFitsner. - Add
Theme.text_field_theme(ft.TextFieldTheme) withtext_stylefor the text being edited in everyTextFieldby @FeodorFitsner. - Add
FletApp.platform_brightnessto preview an embedded app as though its device were in light or dark mode: an app on theSYSTEMtheme follows it,page.platform_brightnessreports it andon_platform_brightness_changefires by @FeodorFitsner. - Add
Theme.markdown_theme: a defaultMarkdownStyleSheetfor everyMarkdown, with a control's ownmd_style_sheetapplied on top property by property by @FeodorFitsner. - Add
PopupMenuTheme.border_radiusto set the default hover/splash corner radius of everyPopupMenuButtonby @FeodorFitsner. - Add
Theme.surfacesand theThemeSurfacesenum (NEUTRAL,TONAL) to choose whether surface colors are neutral or tinted with the seed color (#6921) by @FeodorFitsner. - Add
flet test --update-failed-goldens(FLET_TEST_GOLDEN=failed): compares screenshots as usual and overwrites only golden images that are missing or no longer match, so unchanged goldens stay untouched (#6921) by @FeodorFitsner. - Add
bgcolortoFletTestApp.take_page_controls_screenshot(),assert_control_screenshot()andwrap_page_controls_in_screenshot()to paint an opaque background behind the captured controls instead of a transparent one (#6918) by @InesaFitsner. - Add
--log-format {rich,plain,github}(FLET_CLI_LOG_FORMAT) toflet build,flet debugandflet test.githubprints plain output plus GitHub Actions workflow commands: a collapsible group per build step and annotations for warnings and errors;plainis the same as--no-rich-output. See Log formats (#6947) by @FeodorFitsner. - Install
uvicorn[standard]withflet-webagain on Windows on ARM with Python 3.12 or later, now thathttptools0.9.0 ships wheels for it; Python 3.10 and 3.11 there keep plainuvicorn, because PyYAML has no wheels for them (#6927) by @ndonkoHenri. - Update python-build to
20261027and serious_python to6.1.3, bringing CPython3.12.16,3.13.18and3.14.10, expedited security releases that distrust the compromised eMudhra intermediate CA keys. The bundled Python runtime, its native modules and dart_bridge1.11.0are now built for iOS 15 and macOS 12, the same minimums as the build template. Release Windows apps no longer ship Python's debug modules (*_d.pyd), about 10 MB each. Native Python extensions such aspydantic-corenow import in Windows debug builds and on Linux (#6940, python-build#46, python-build#48, serious-python#256, serious-python#257, serious-python#259, serious-python#260, serious-python#261, #7019) by @FeodorFitsner. - Make the future returned by
page.run_task()awaitable, soawait page.run_task(handler)returns the value ofhandler(#6515, #7008) by @ndonkoHenri.
Bug fixes
- Fix
ResponsiveRownot resizing its children when theircolchanges (#6734, #7027) by @ndonkoHenri. - Fix
ResponsiveRowfailing withspacing=0, and reject negativespacingandrun_spacing(#6368, #7027) by @ndonkoHenri. - Fix
RowandResponsiveRowfailing withvertical_alignment=CrossAxisAlignment.BASELINE(#6368, #7027) by @ndonkoHenri. - Fix the full Linux desktop client failing to start after an OS upgrade or a
FLET_LINUX_DISTROchange, when the client cached for the previous distro was reused (#5311, #7030) by @ndonkoHenri. - Fix
desktop_flavorinpyproject.tomlbeing ignored when the app is started from another directory withflet runorpython(#6265, #7030) by @ndonkoHenri. - Fix
flet build windowsstopping with an unclear CMake error when the artifact name contains a character that Windows doesn't allow in file names: it now names the character before building (#7038) by @ndonkoHenri. - Fix
flet build windowsfailing when the company, copyright or product name contains", and turning sequences such as\nin them into control characters (#7038) by @ndonkoHenri. - Fix
flet build macosfailing withScheme Runner is not currently configured for the build actionwhen the product or artifact name contains&(#7036) by @ndonkoHenri. - Fix
flet buildrejecting--permissions biometric, although thebiometricpermission bundle works frompyproject.toml(#7036) by @ndonkoHenri. - Fix
flet build ipafailing to export when a[tool.flet.ios.export_options]value contains<,>or&, such asthinning = "<none>", and writing numbers as strings (#7036) by @ndonkoHenri. - Fix
flet buildfor Android failing when a[tool.flet.android.meta_data]value or a[tool.flet.android.provider]attribute contains&,<or", which were written into the manifest unescaped (#7031) by @ndonkoHenri. - Fix
flet buildfor Android failing when[tool.flet.android.manifest_application]setslabel,name,iconorenableOnBackInvokedCallback, which wrote the attribute twice instead of replacing Flet's value (#7031) by @ndonkoHenri. - Fix
flet buildfailing with no explanation unless run with-vvwhen a step reported its error on stdout, such as aSyntaxErrorin an app file (#7029, #7031) by @ndonkoHenri. - Fix
flet buildhanging at "Packaging Python app..." on Windows when pip or another command writes more than about 1 KB of warnings or errors or waits for input, and failing when a command prints text that isn't UTF-8 (#5013, #5507, #7031) by @ndonkoHenri. - Fix
use_state()anduse_ref()type inference for callable initializers in mypy and ty (#6960, #7014, #7023) by @mmporong. - Fix
BottomAppBarcutting its notch away from the floating action button when the bar has a left or topmargin, including an animated one (#6986, #7024) by @ndonkoHenri. - Fix
Theme.bottom_appbar_themebeing ignored, so itsbgcolor,shapeand other settings never reachedBottomAppBar(#7024) by @ndonkoHenri. - Fix
flet buildapps showing a blank page when the system suspended them while Python was starting, such as when iOS launches an app in the background for a notification action (#6999) by @ndonkoHenri. - Fix
flet buildnaming a Linux app's iconsNone.pngand leaving the iOS frameworks it builds from the app's packages under shared identifiers when nobundle_idis set (#6999) by @ndonkoHenri. - Fix
flet buildwriting numbers in[tool.flet.macos.entitlement],[tool.flet.ios.info]and[tool.flet.macos.info]as strings, producing invalid plists when keys or values contain&or<, and failing when apyproject.tomlvalue contains{{(#6999) by @ndonkoHenri. - Fix
FilePickerdialogs failing with a timeout after being open for an hour (#6999) by @ndonkoHenri. - Fix
flet buildandflet testfailing with "Invalid kernel binary format version" on every run in a project last built with a different Flutter version, such as after upgrading Flet (#6993, #7039) by @ndonkoHenri. - Fix
flet buildfailing on every rebuild after one with changed build options, in apps with Flutter extensions (#7010, #7012) by @ndonkoHenri. - Fix
flet buildnot reinstalling the app's packages afterrequirements.txtis edited orbuild/site-packagesis deleted (#6994, #6996) by @ndonkoHenri. - Fix
flet testfailing when the app under test starts slowly, as on the first run after a build: the test now waits until the app finishes initializing its first page, and fails right away with the Python traceback when the app's Python program fails to start (#6993, #6995, #7023) by @ndonkoHenri. - Fix
use_effect()cleanups being skipped: a cleanup returned by the setup was lost once the component re-rendered, only one ran whencleanup=was passed too, andasynccleanups never ran when a dependency change re-ran the effect. A pendingasyncsetup is also cancelled on unmount (#6963, #6983, #7005) by @mangod12. - iOS apps built with
flet build ipano longer fail App Store Connect validation with ITMS-90683 (missingNSPhotoLibraryUsageDescriptionandNSCameraUsageDescriptionpurpose strings): thefile_pickerplugin is updated to 13.x, which picks photos with the system photo picker and no longer links DKImagePickerController's camera and photo-library code.device_info_plus,package_info_plusandshare_plusmove to their next major versions with it (win326).FilePicker.save_file()on desktop now creates the chosen file (empty when nosrc_bytesare given) before returning its path by @FeodorFitsner. - Fix
Tester.find_by_key()not findingTabandPopupMenuItemcontrols by their keys (#6965, #6976) by @RezaShamsipour. - Fix
GestureDetector.on_tap_movenot firing, while preserving tap accessibility and updates toallowed_devices(#6961, #6982) by @inchang-ing. - Honor an explicit platform
app.hide_window_on_start = falsewhen the global setting istrue, in both the Dart bootstrap and Windows runner (#6949, #6981) by @LaoChouPro. - Honor an empty
[tool.flet.<platform>]value forartifact,org,bundle_id,icon_backgroundandsplashsettings inflet build, which now clears the global value for that platform instead of being ignored (#6949, #7040) by @AbhayPhalswal. - Fix a declarative component moved to a structurally different parent (for example a
Columnreplaced by aRowwhen a responsive layout switches) being re-rendered as a fresh, never-mounted copy: its state was lost, its mount effects never ran and later state updates were ignored until a page reload, while the old copy stayed in the session index. A moved, already-mounted component now keeps its body (#6970) by @FeodorFitsner. - Fix a client method call (e.g.
FletApp.wait_idle()) failing with "Concurrent modification during iteration" when the control's widget was rebuilt while the call was in progress by @FeodorFitsner. - Fix an app freezing - no more events or updates processed - when a client method result (e.g. an embedded
FletApp'swait_idle()) arrived after its control had been removed: the session raised on it, which ended the connection's receive loop. The result now reaches its caller, and every transport (Pyodide, socket, FastAPI) logs a failing message and keeps receiving instead of stopping by @FeodorFitsner. - Fix
Markdownlinks always being blue and blockquotes light blue regardless of the theme: their defaults now come from the color scheme (primaryfor links, a surface container color for blockquotes) by @FeodorFitsner. - Fix an embedded
FletAppwithout its owntheme_modetaking the host page's theme mode instead of following the system (now: its platform brightness) by @FeodorFitsner. - Fix an embedded
FletAppoverwriting the host page's browser tab title on the web whenever the embedded app setpage.title. An embedded app's title now only reaches the host, throughFletApp.on_title_changeby @FeodorFitsner. - Fix the session crashing with "Control must be added to the page first" when the client sends an event (e.g.
size_change) for a control that was just removed from the page; such events are now dropped by @FeodorFitsner. - Fix
on_size_changenever reporting when Flutter reuses the widget for a different control at the same size (e.g. a new page swapped into the same slot) by @FeodorFitsner. - Fix a control's subtree (e.g. an embedded
FletApp, which restarted its app) being rebuilt from scratch when itsopacitychanged between1.0and another value, or aContainer'signore_interactionswas toggled: the wrapping widget was added and removed, changing the widget tree's shape. It is now always present by @FeodorFitsner. - Fix
auto_scrolllosing the end when content at the end shrank (e.g. a placeholder replaced by something shorter): the position clamping up to the new end counted as the user scrolling up, so the view stopped following what was added next by @FeodorFitsner. - Fix an embedded
FletApptaking the keyboard focus away from the host app when it starts or restarts (e.g. out of a text field being typed in); it gets the focus when the user clicks or taps into it by @FeodorFitsner. - Fix
InteractiveViewerswallowing taps meant for its content whenpan_enabledandscale_enabledare both off: it no longer installs gesture recognizers it can't use; programmatic zoom/pan still works by @FeodorFitsner. - An embedded app (
FletApp) no longer takes its host's Cupertino colors:CupertinoFilledButton,CupertinoButtonand adaptive buttons on iOS/macOS painted with the host app's primary color instead of the embedded app's own. An embedded page now carries a Cupertino theme derived from its own Material theme, as a top-level app does; top-level apps are unchanged by @FeodorFitsner. Button(adaptive=True)on iOS/macOS now honorsbgcolor,colorand the padding ofstyle: the Cupertino button it turns into ignored them and painted the theme's primary color by @FeodorFitsner.- Fix
flet build,flet debugandflet testfailing for macOS and iOS on Xcode 27, which rejects deployment targets below macOS 12 and iOS 15 (#6874) by @ndonkoHenri.
Compatibility: Apps built withflet buildand the macOS desktop client now require macOS 12 or later, and iOS apps require iOS 15 or later. Custom build templates keep building, because Flutter 3.47 raises the deployment targets during the build; apply the samePodfileand Xcode project changes to skip that step. See the macOS 12 and iOS 15 minimum guide. - Fix iOS apps made with
flet buildand Xcode 27 crashing at launch on iOS 27, which requires the UIScene lifecycle (#7044) by @ndonkoHenri.
Compatibility: Custom build templates need the sameAppDelegate.swiftandInfo.plistchanges. - Fix Flet web apps using the
hashroute URL strategy returningindex.htmlwith a200 OKfor unknown paths instead of a404(#2796, #6954) by @ndonkoHenri. - Fix
flet.fastapi.app()andft.run(..., export_asgi_app=True)failing every request with a500error whenroute_url_strategyorweb_rendereris passed as a string, such as"hash"(#6954) by @ndonkoHenri. - Fix
page.login(redirect_to_page=True)not returning to the page's route with thehashroute URL strategy or under aproxy_path(#6954) by @ndonkoHenri. - flet-audio: Fix
Audiofailing to play when it is created withoutsrcandsrcis set later (#6133, #6956) by @ndonkoHenri. - flet-audio: Fix
Audioignoringplayback_rateaftersrcchanges on web (#6956) by @ndonkoHenri. - flet-audio: Fix
Audiowithautoplaystarting to play afterpause()orrelease()when they are called while its source is loading (#7043) by @ndonkoHenri. - flet-audio-recorder: Fix
AudioRecorder.start_recording()not recording tooutput_pathon desktop, Android and iOS, where it returnedFalse, failed, wrote no file, or recorded into the assets directory (#5999, #6955) by @ndonkoHenri. - Fix
flet buildignoring the common[tool.flet.deep_linking]on Android and iOS: it's now the fallback when[tool.flet.<platform>.deep_linking]doesn't set a key, as documented (#6951) by @FeodorFitsner. - Fix setting
Window.skip_task_bartoTruenot hiding the app from the taskbar on Windows (#6302, #6946) by @ndonkoHenri. - Fix the desktop window flashing endlessly after a
flet runhot reload (#6913, #6945) by @ndonkoHenri. - Fix
flet run -rrestarting the app whenever it writes to its working directory or temp directory, which also leftflet run -r --webpages blank (#6944) by @ndonkoHenri. - Fix
flet run --ignore-dirsnot ignoring directories on Linux when the project is opened through a symlink (#6944) by @ndonkoHenri. - Fix the loading logo of web apps served by
flet run --weborflet publishshowing off-center after reloading the page in a mobile browser (#6051, #6943) by @ndonkoHenri. - Fix
page.querybeing empty inmain()when the app is opened with a query string, e.g./?name=Joe, and percent-encoded values such as%26being decoded twice (#5898, #6942) by @ndonkoHenri. - Fix
TemplateRoute.match()failing to match a route with a query string or fragment, e.g./store?ref=adagainst/store, or capturing them in the last parameter (#5898, #6942) by @ndonkoHenri. - Fix
flet runignoring theFLET_ASSETS_DIRenvironment variable and the app's ownft.run(assets_dir=...)(#5631, #6935) by @ndonkoHenri. - Fix
requests.Sessionignoring itsverifysetting in apps built withflet build(#5695, #6936) by @ndonkoHenri. - Fix
ProgressBar.semantics_valueandProgressRing.semantics_valuebeing read with a trailing ".0" by screen readers; they now take strings, such as"60%"or"Step 3 of 5"(#7013) by @ndonkoHenri.
Documentation
- Group the Reference > Controls section of the docs into Core, Material, Cupertino, Shadcn and Extensions (#6918) by @InesaFitsner.
- Document reading query string parameters with
page.queryin the Navigation and Routing guide, and add aQueryStringreference page (#5898, #6942) by @ndonkoHenri. - Add a Distributing section to the Windows publishing guide: an Inno Setup installer script, a zip archive, code signing, and building the installer in GitHub Actions (#6957) by @ndonkoHenri.
- Add a Microsoft Store section to the Windows publishing guide: packaging the app as an MSIX, testing it locally and with the Windows App Certification Kit, and submitting it through Partner Center (#6968) by @ndonkoHenri.
Full Changelog: v1.0.5...v1.1.0