pypi flet 1.1.0
v1.1.0

3 hours ago

Breaking changes

  • flet build macos names the .app bundle 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_ui and cupertino_ui packages instead of the Flutter SDK's package:flutter/material.dart and package: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, set page.theme = ft.Theme(surfaces=ft.ThemeSurfaces.TONAL) (and the same for page.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 build templates (--template) must read the build's settings from cookiecutter._options and the app's pyproject.toml from cookiecutter._pyproject (were cookiecutter.options and cookiecutter.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 build templates (--template) must read the iOS export options from cookiecutter._options.ios_export_options (was cookiecutter.ios_export_options), otherwise they are left out of exportOptions.plist without an error (#7036) by @ndonkoHenri.
  • flet build for macOS and Windows no longer writes a placeholder copyright: without copyright, it's generated from company, 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 windows now 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 run on 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 Audio of 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. Set context=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(), returning ft.PackageInfo with the running app's name, package name, version, build number, build signature, installer store, and install/update times. A flet build app gets the --build-version and --build-number it 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].permissions for that platform ([] applies none) by @FeodorFitsner.
  • Add InteractiveViewer.get_scale(), get_transform(), and on_transform_changed to expose the effective zoom scale, translation, and transformation matrix, including reliable final-state notifications after consecutive interactions (#6938, #6939) by @ada-koki.
  • Add the RefreshIndicator control for pull-to-refresh: pulling its scrollable content down calls the async on_refresh handler and shows a progress indicator until it returns, and show() refreshes without a pull, for desktop and web. See RefreshIndicator (#6997) by @osamalzabidi.
  • Add the flet-shadcn-ui extension: controls styled after shadcn/ui, built on the Flutter shadcn_ui package, with Theme color schemes and the Lucide icon set (LucideIcons). It includes Button, 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, Toast and Sonner; value controls support label, description and error_text (#6918) by @InesaFitsner.
  • Add the flet-notifications extension: a Notifications service that shows, schedules and cancels local notifications on Android, iOS, macOS, Windows, Linux and Web, wrapping the flutter_local_notifications plugin, 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_dir to 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 a flet-extension.toml file, 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-entitlements to 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] without host, or --deep-linking-scheme alone, opens the Android and iOS app from any myapp:// link. A host without a scheme, or http/https without 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 with UrlLauncher.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_action to TextField and CupertinoTextField, with the TextInputAction enum, to choose the action button of the onscreen keyboard: TextInputAction.NEXT moves 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 that flet run opens now render with Impeller, Flutter 3.47's default desktop renderer, instead of Skia. Use flet build --no-impeller (or impeller = false under [tool.flet]), flet run --no-impeller or the FLET_NO_IMPELLER environment variable to render with Skia; see Renderer. Android plugins that still use jcenter() or other APIs removed in Gradle 9 no longer build. flet build downloads Flutter 3.47.7 on first use.
  • The prebuilt Windows desktop client (flet.exe and its DLLs) that flet run downloads 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, so main.dart.wasm, main.dart.js, CanvasKit and fonts download about 3x smaller (#6266, #7026) by @ndonkoHenri.
  • flet pack warns 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 pack shows only warnings and errors by default instead of PyInstaller's full log: -v shows packaging progress and PyInstaller's INFO log, -vv its DEBUG log (#6999) by @ndonkoHenri.
  • flet build linux apps 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 build always generates app icons and the splash screen. An app without an icon of its own gets them generated from the Flet logo, which flet-platform-assets now bundles as DEFAULT_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_height and max_height to 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 a Column(horizontal_alignment=CENTER)) stays correct while the window resizes - no more computing widths in Python from page.width or on_size_change, which always lagged a frame or more behind by @FeodorFitsner.
  • Add ft.MaterialTapTargetSize with Switch.material_tap_target_size and Theme.material_tap_target_size: SHRINK_WRAP drops Material's 48px minimum tappable area for dense, pointer-driven layouts by @FeodorFitsner.
  • Dropdown.height now 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_radius to round the hover/splash highlight around custom content by @FeodorFitsner.
  • Add Theme.input_decoration_theme (ft.InputDecorationTheme) to style every TextField and Dropdown at once: border, label/hint/helper/error styles, content padding, density and fill. Its border takes 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 own border use the theme's by @FeodorFitsner.
  • Add Theme.text_field_theme (ft.TextFieldTheme) with text_style for the text being edited in every TextField by @FeodorFitsner.
  • Add FletApp.platform_brightness to preview an embedded app as though its device were in light or dark mode: an app on the SYSTEM theme follows it, page.platform_brightness reports it and on_platform_brightness_change fires by @FeodorFitsner.
  • Add Theme.markdown_theme: a default MarkdownStyleSheet for every Markdown, with a control's own md_style_sheet applied on top property by property by @FeodorFitsner.
  • Add PopupMenuTheme.border_radius to set the default hover/splash corner radius of every PopupMenuButton by @FeodorFitsner.
  • Add Theme.surfaces and the ThemeSurfaces enum (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 bgcolor to FletTestApp.take_page_controls_screenshot(), assert_control_screenshot() and wrap_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) to flet build, flet debug and flet test. github prints plain output plus GitHub Actions workflow commands: a collapsible group per build step and annotations for warnings and errors; plain is the same as --no-rich-output. See Log formats (#6947) by @FeodorFitsner.
  • Install uvicorn[standard] with flet-web again on Windows on ARM with Python 3.12 or later, now that httptools 0.9.0 ships wheels for it; Python 3.10 and 3.11 there keep plain uvicorn, because PyYAML has no wheels for them (#6927) by @ndonkoHenri.
  • Update python-build to 20261027 and serious_python to 6.1.3, bringing CPython 3.12.16, 3.13.18 and 3.14.10, expedited security releases that distrust the compromised eMudhra intermediate CA keys. The bundled Python runtime, its native modules and dart_bridge 1.11.0 are 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 as pydantic-core now 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, so await page.run_task(handler) returns the value of handler (#6515, #7008) by @ndonkoHenri.

Bug fixes

  • Fix ResponsiveRow not resizing its children when their col changes (#6734, #7027) by @ndonkoHenri.
  • Fix ResponsiveRow failing with spacing=0, and reject negative spacing and run_spacing (#6368, #7027) by @ndonkoHenri.
  • Fix Row and ResponsiveRow failing with vertical_alignment=CrossAxisAlignment.BASELINE (#6368, #7027) by @ndonkoHenri.
  • Fix the full Linux desktop client failing to start after an OS upgrade or a FLET_LINUX_DISTRO change, when the client cached for the previous distro was reused (#5311, #7030) by @ndonkoHenri.
  • Fix desktop_flavor in pyproject.toml being ignored when the app is started from another directory with flet run or python (#6265, #7030) by @ndonkoHenri.
  • Fix flet build windows stopping 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 windows failing when the company, copyright or product name contains ", and turning sequences such as \n in them into control characters (#7038) by @ndonkoHenri.
  • Fix flet build macos failing with Scheme Runner is not currently configured for the build action when the product or artifact name contains & (#7036) by @ndonkoHenri.
  • Fix flet build rejecting --permissions biometric, although the biometric permission bundle works from pyproject.toml (#7036) by @ndonkoHenri.
  • Fix flet build ipa failing to export when a [tool.flet.ios.export_options] value contains <, > or &, such as thinning = "<none>", and writing numbers as strings (#7036) by @ndonkoHenri.
  • Fix flet build for 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 build for Android failing when [tool.flet.android.manifest_application] sets label, name, icon or enableOnBackInvokedCallback, which wrote the attribute twice instead of replacing Flet's value (#7031) by @ndonkoHenri.
  • Fix flet build failing with no explanation unless run with -vv when a step reported its error on stdout, such as a SyntaxError in an app file (#7029, #7031) by @ndonkoHenri.
  • Fix flet build hanging 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() and use_ref() type inference for callable initializers in mypy and ty (#6960, #7014, #7023) by @mmporong.
  • Fix BottomAppBar cutting its notch away from the floating action button when the bar has a left or top margin, including an animated one (#6986, #7024) by @ndonkoHenri.
  • Fix Theme.bottom_appbar_theme being ignored, so its bgcolor, shape and other settings never reached BottomAppBar (#7024) by @ndonkoHenri.
  • Fix flet build apps 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 build naming a Linux app's icons None.png and leaving the iOS frameworks it builds from the app's packages under shared identifiers when no bundle_id is set (#6999) by @ndonkoHenri.
  • Fix flet build writing 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 a pyproject.toml value contains {{ (#6999) by @ndonkoHenri.
  • Fix FilePicker dialogs failing with a timeout after being open for an hour (#6999) by @ndonkoHenri.
  • Fix flet build and flet test failing 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 build failing on every rebuild after one with changed build options, in apps with Flutter extensions (#7010, #7012) by @ndonkoHenri.
  • Fix flet build not reinstalling the app's packages after requirements.txt is edited or build/site-packages is deleted (#6994, #6996) by @ndonkoHenri.
  • Fix flet test failing 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 when cleanup= was passed too, and async cleanups never ran when a dependency change re-ran the effect. A pending async setup is also cancelled on unmount (#6963, #6983, #7005) by @mangod12.
  • iOS apps built with flet build ipa no longer fail App Store Connect validation with ITMS-90683 (missing NSPhotoLibraryUsageDescription and NSCameraUsageDescription purpose strings): the file_picker plugin 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_plus and share_plus move to their next major versions with it (win32 6). FilePicker.save_file() on desktop now creates the chosen file (empty when no src_bytes are given) before returning its path by @FeodorFitsner.
  • Fix Tester.find_by_key() not finding Tab and PopupMenuItem controls by their keys (#6965, #6976) by @RezaShamsipour.
  • Fix GestureDetector.on_tap_move not firing, while preserving tap accessibility and updates to allowed_devices (#6961, #6982) by @inchang-ing.
  • Honor an explicit platform app.hide_window_on_start = false when the global setting is true, in both the Dart bootstrap and Windows runner (#6949, #6981) by @LaoChouPro.
  • Honor an empty [tool.flet.<platform>] value for artifact, org, bundle_id, icon_background and splash settings in flet 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 Column replaced by a Row when 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's wait_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 Markdown links always being blue and blockquotes light blue regardless of the theme: their defaults now come from the color scheme (primary for links, a surface container color for blockquotes) by @FeodorFitsner.
  • Fix an embedded FletApp without its own theme_mode taking the host page's theme mode instead of following the system (now: its platform brightness) by @FeodorFitsner.
  • Fix an embedded FletApp overwriting the host page's browser tab title on the web whenever the embedded app set page.title. An embedded app's title now only reaches the host, through FletApp.on_title_change by @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_change never 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 its opacity changed between 1.0 and another value, or a Container's ignore_interactions was toggled: the wrapping widget was added and removed, changing the widget tree's shape. It is now always present by @FeodorFitsner.
  • Fix auto_scroll losing 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 FletApp taking 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 InteractiveViewer swallowing taps meant for its content when pan_enabled and scale_enabled are 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, CupertinoButton and 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 honors bgcolor, color and the padding of style: the Cupertino button it turns into ignored them and painted the theme's primary color by @FeodorFitsner.
  • Fix flet build, flet debug and flet test failing for macOS and iOS on Xcode 27, which rejects deployment targets below macOS 12 and iOS 15 (#6874) by @ndonkoHenri.
    Compatibility: Apps built with flet build and 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 same Podfile and Xcode project changes to skip that step. See the macOS 12 and iOS 15 minimum guide.
  • Fix iOS apps made with flet build and Xcode 27 crashing at launch on iOS 27, which requires the UIScene lifecycle (#7044) by @ndonkoHenri.
    Compatibility: Custom build templates need the same AppDelegate.swift and Info.plist changes.
  • Fix Flet web apps using the hash route URL strategy returning index.html with a 200 OK for unknown paths instead of a 404 (#2796, #6954) by @ndonkoHenri.
  • Fix flet.fastapi.app() and ft.run(..., export_asgi_app=True) failing every request with a 500 error when route_url_strategy or web_renderer is 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 the hash route URL strategy or under a proxy_path (#6954) by @ndonkoHenri.
  • flet-audio: Fix Audio failing to play when it is created without src and src is set later (#6133, #6956) by @ndonkoHenri.
  • flet-audio: Fix Audio ignoring playback_rate after src changes on web (#6956) by @ndonkoHenri.
  • flet-audio: Fix Audio with autoplay starting to play after pause() or release() when they are called while its source is loading (#7043) by @ndonkoHenri.
  • flet-audio-recorder: Fix AudioRecorder.start_recording() not recording to output_path on desktop, Android and iOS, where it returned False, failed, wrote no file, or recorded into the assets directory (#5999, #6955) by @ndonkoHenri.
  • Fix flet build ignoring 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_bar to True not hiding the app from the taskbar on Windows (#6302, #6946) by @ndonkoHenri.
  • Fix the desktop window flashing endlessly after a flet run hot reload (#6913, #6945) by @ndonkoHenri.
  • Fix flet run -r restarting the app whenever it writes to its working directory or temp directory, which also left flet run -r --web pages blank (#6944) by @ndonkoHenri.
  • Fix flet run --ignore-dirs not 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 --web or flet publish showing off-center after reloading the page in a mobile browser (#6051, #6943) by @ndonkoHenri.
  • Fix page.query being empty in main() when the app is opened with a query string, e.g. /?name=Joe, and percent-encoded values such as %26 being decoded twice (#5898, #6942) by @ndonkoHenri.
  • Fix TemplateRoute.match() failing to match a route with a query string or fragment, e.g. /store?ref=ad against /store, or capturing them in the last parameter (#5898, #6942) by @ndonkoHenri.
  • Fix flet run ignoring the FLET_ASSETS_DIR environment variable and the app's own ft.run(assets_dir=...) (#5631, #6935) by @ndonkoHenri.
  • Fix requests.Session ignoring its verify setting in apps built with flet build (#5695, #6936) by @ndonkoHenri.
  • Fix ProgressBar.semantics_value and ProgressRing.semantics_value being 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.query in the Navigation and Routing guide, and add a QueryString reference 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

Don't miss a new flet release

NewReleases is sending notifications on new releases.