From 2761e2057c7f7f791fd48741c3360d1025596722 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Mon, 17 Aug 2026 14:40:38 +0200 Subject: [PATCH 1/3] fix(templates): write extension example paths with forward slashes (#5507) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `[tool.flet.dev_packages]` and `[tool.uv.sources]` entries of the generated extension example interpolated `{{cookiecutter.sep}}` (`os.sep`) inside TOML basic strings. On Windows that rendered `"..\.."` — an invalid escape sequence — and `"..\..\"`, whose trailing `\"` escapes the closing quote and leaves the string unterminated, which is the "unbalanced quotes" error reported in #5507. Every Windows user had to hand-edit the file before the example could be built or run. Forward slashes need no escaping in TOML and are accepted by `pathlib` and `uv` on Windows, so they render identically on every platform. --- CHANGELOG.md | 6 ++++++ .../pyproject.toml | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddebec747d..a2fc20d9ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.0.0 + +### Bug fixes + +* Fix `flet create --template extension` generating an example app whose `pyproject.toml` cannot be parsed on Windows. The `[tool.flet.dev_packages]` and `[tool.uv.sources]` entries that point back at the extension package interpolated the host's `os.sep` into a TOML basic string, so on Windows they rendered as `"..\.."` and `"..\..\"`: the first is an invalid escape sequence, and in the second the trailing `\"` escapes the closing quote and leaves the string unterminated — the "unbalanced quotes" error reporters hit before they could build or run the generated example. Both paths are now written with forward slashes, which need no escaping in TOML and which `pathlib` and `uv` accept on Windows just as they do elsewhere ([#5507](https://github.com/flet-dev/flet/issues/5507)) by @ndonkoHenri. + ## 0.86.7 ### Bug fixes diff --git a/sdk/python/templates/app/extension/{{cookiecutter.out_dir}}/examples/{{cookiecutter.project_name_underscore}}_example/pyproject.toml b/sdk/python/templates/app/extension/{{cookiecutter.out_dir}}/examples/{{cookiecutter.project_name_underscore}}_example/pyproject.toml index e87ead6965..0e8340d330 100644 --- a/sdk/python/templates/app/extension/{{cookiecutter.out_dir}}/examples/{{cookiecutter.project_name_underscore}}_example/pyproject.toml +++ b/sdk/python/templates/app/extension/{{cookiecutter.out_dir}}/examples/{{cookiecutter.project_name_underscore}}_example/pyproject.toml @@ -42,7 +42,7 @@ copyright = "Copyright (C) 2026 by MyCompany" path = "src" [tool.flet.dev_packages] -{{cookiecutter.project_name}} = "..{{cookiecutter.sep}}.." # relative path +{{cookiecutter.project_name}} = "../.." # relative path [tool.uv.sources] -{{cookiecutter.project_name}} = { path = "..{{cookiecutter.sep}}..{{cookiecutter.sep}}", editable = true } +{{cookiecutter.project_name}} = { path = "../../", editable = true } From 757820a50ad79300ca43ca18ed80513e56f6f0fe Mon Sep 17 00:00:00 2001 From: TheEthicalBoy <98978078+ndonkoHenri@users.noreply.github.com> Date: Mon, 17 Aug 2026 19:35:42 +0200 Subject: [PATCH 2/3] update changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2fc20d9ef..954d053ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ### Bug fixes -* Fix `flet create --template extension` generating an example app whose `pyproject.toml` cannot be parsed on Windows. The `[tool.flet.dev_packages]` and `[tool.uv.sources]` entries that point back at the extension package interpolated the host's `os.sep` into a TOML basic string, so on Windows they rendered as `"..\.."` and `"..\..\"`: the first is an invalid escape sequence, and in the second the trailing `\"` escapes the closing quote and leaves the string unterminated — the "unbalanced quotes" error reporters hit before they could build or run the generated example. Both paths are now written with forward slashes, which need no escaping in TOML and which `pathlib` and `uv` accept on Windows just as they do elsewhere ([#5507](https://github.com/flet-dev/flet/issues/5507)) by @ndonkoHenri. +* Fix `flet create --template extension` generating an example app whose `pyproject.toml` cannot be parsed on Windows. The `[tool.flet.dev_packages]` and `[tool.uv.sources]` entries that point back at the extension package interpolated the host's `os.sep` into a TOML basic string, so on Windows they rendered as `"..\.."` and `"..\..\"`: the first is an invalid escape sequence, and in the second the trailing `\"` escapes the closing quote and leaves the string unterminated — the "unbalanced quotes" error reporters hit before they could build or run the generated example. Both paths are now written with forward slashes, which need no escaping in TOML and which `pathlib` and `uv` accept on Windows just as they do elsewhere ([#5507](https://github.com/flet-dev/flet/issues/5507), [#6775](https://github.com/flet-dev/flet/pulls/6775)) by @ndonkoHenri. ## 0.86.7 From 7e6bb63f5c5eda95d747854dbe0f329bdabc1e59 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Tue, 18 Aug 2026 02:30:20 +0200 Subject: [PATCH 3/3] =?UTF-8?q?fix(cli):=20correct=20macOS=20arch=20value?= =?UTF-8?q?=20in=20`--arch`=20help=20(x64=20=E2=86=92=20x86=5F64)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/flet-cli/src/flet_cli/commands/build_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet-cli/src/flet_cli/commands/build_base.py b/sdk/python/packages/flet-cli/src/flet_cli/commands/build_base.py index b653de3bc8..18e0aec663 100644 --- a/sdk/python/packages/flet-cli/src/flet_cli/commands/build_base.py +++ b/sdk/python/packages/flet-cli/src/flet_cli/commands/build_base.py @@ -275,7 +275,7 @@ def add_arguments(self, parser: argparse.ArgumentParser) -> None: default=[], help="Build for specific CPU architectures " "(used in macOS and Android builds only). " - "Android: arm64-v8a, armeabi-v7a, x86_64; macOS: arm64, x64. " + "Android: arm64-v8a, armeabi-v7a, x86_64; macOS: arm64, x86_64. " "Example: `--arch arm64-v8a`", ) parser.add_argument(