Improvements
flet-mcp'sget_apitool now covers top-level callables — the app entry point (run), reactive hooks (use_state,use_ref,use_effect, …), and decorators (component,memo,observable) — which previously returnednot foundbecause only classes were indexed. A newfunctionsbucket in the API builder extracts each package's re-exported public callables and renders them with asignature:line.get_apialso resolves enum member lookups inline:get_api("Colors", query="RED")now returns the matching members instead of erroring with a redirect tosearch_enum_members. Both changes remove wasted agent round-trips observed in production usage by @FeodorFitsner.
Bug fixes
- Fix
flet build windowsfailing on non-UTF-8 system locales (e.g. Simplified-Chinese Windows, code page 936/GBK) withwarning C4819escalated toerror C2220while compiling a plugin's Windows sources. A non-ASCII character in a plugin source (e.g. an em dash in a comment) couldn't be decoded under the system code page, and the build template's/WX(warnings-as-errors) turned it fatal. The Windows build template now compiles all targets with/utf-8, so every plugin — including third-party ones flet doesn't control (e.g.connectivity_plus) — reads its sources as UTF-8 regardless of the build machine's code page. Also bumpsserious_pythonto 4.3.3, which removes the character from its own plugin at the source (#6686) by @FeodorFitsner. - Fix the cryptic
shutil.ReadError: ... is not a zip filefailure in web apps when the app package download fails. The Pyodide worker piped thepyfetch(app_package_url)response straight intounpack_archive()without a status check, so any non-2xx response (transient server 500, expired auth 401, deleted app 404) wrote the JSON/HTML error body to a temp file and crashed while unpacking it. The worker now checksresponse.okand raises a readableFailed to download app package: HTTP <status> <url> — <body>error, including the first 200 chars of the error body. Applied to both the Flet web client and theflet buildtemplate (#6680) by @FeodorFitsner. - Remove unused
BasePagereturn type and import fromBaseControlandControlEvent(#6606) by @Iaw4tch. - Fix
GestureDetector.allowed_devicescrashing withtype 'List<dynamic>' is not a subtype of type 'List<String?>?'and preventing the control from rendering. Property values are deserialized from JSON asList<dynamic>, but the value was read viaget<List<String?>>(...), whose reified cast fails because aList<dynamic>is not aList<String?>. It's now read asList<dynamic>and each entry is converted to a string before parsing, restoringsupportedDevicesfiltering for Flutter'sGestureDetector(#6684) by @TURBODRIVER.
New Contributors
- @TURBODRIVER made their first contribution in #6684
Full Changelog: v0.86.0...v0.86.1