Prepare Flet 1.0 announcement, migration guide, and website updates - #6842
Merged
Merged
Conversation
Update the main READMEs and the app bar example to use a shorter, clearer description of Flet as a Python framework for building web, desktop, and mobile apps.
Replace the user-facing "multi-platform" slogan with "cross-platform" in the web app manifest and Docusaurus site config so the product messaging stays consistent.
Update the project roadmap to cover 2026-2027 priorities across the Flet platform. This replaces the older Flet 1.0, website, testing, AI, community, and packaging milestones with a clearer split into Flet Framework, Flet Studio, and Fletbase, emphasizing Flutter ecosystem work, UI libraries, developer tooling, Studio integrations, and backend services for packaging, publishing, hosting, storage, and authentication.
Document Python 3.15 as part of the Flet Framework roadmap.
Update the 1.0 announcement blog post to emphasize Flet's growth and adoption. This adds links to the awesome-flet showcase, key GitHub and PyPI milestones, the growing Discord community, and the convenience of Flet Studio and the Flet MCP server for getting started.
Migration links previously pointed at GitHub issue #5238, an unstructured bullet list. The 0.28 to 1.0 jump spans the whole 0.70 - 0.86 pre-release series, so it needs a guide of its own rather than a per-release breaking change page. Adds website/docs/updates/migrate-to-1-0.md, organized as eight steps in migration order. The largest covers the single-threaded model: 0.28 dispatched sync event handlers onto a thread pool, so blocking code never froze the UI, while 1.0 calls them directly on the event loop. That is why an otherwise-working migrated app feels unresponsive, and it was documented nowhere. cookbook/async-apps.md still asserted the 0.28 behavior and documented run_task() under a "Threading" heading without mentioning run_thread(), so it is rewritten as the current-behavior reference. The #threading anchor is preserved for the multiprocessing and subinterpreters pages. Verified every API named in the guide against the installed SDK, which caught four errors carried over from issue #5238: NavigationDrawer.position and Chip.press_elevation do not exist, Theme.divider_color was not removed, and Padding.symmetric() still exists as a classmethod. It also surfaced two changes that fail silently rather than raising - SafeArea's edge flags became avoid_intrusions_*, while left/top/right/bottom remain as Stack positioning properties, and Tabs split into Tabs/TabBar/TabBarView - both now documented. Also fixes client-storage.md and authentication.md, which used the page.shared_preferences accessor removed in 1.0.
Deploying flet-website-v2 with
|
| Latest commit: |
b09e083
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9b41ec00.flet-website-v2.pages.dev |
| Branch Preview URL: | https://flet-1-0-announcement.flet-website-v2.pages.dev |
Refined both `flet_1_0.svg` and `flet_1_0_dark.svg` by replacing the original standalone text paths with grouped, transformed path sets for the main wordmark. The new geometry adjusts coordinates and stroke widths for cleaner proportions and keeps light/dark variants in sync while preserving the existing icon elements.
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved critical workflow permission scope and multiple moderate documentation and example issues remain.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Prepares Flet’s website, documentation, package messaging, and release workflow for Flet 1.0.
Changes:
- Adds the 1.0 announcement, themed logos, roadmap, homepage updates, and mobile guidance.
- Adds migration and refreshed concurrency, auto-update, authentication, storage, and breaking-change documentation.
- Updates Studio links, package metadata, changelog content, and pub.dev publishing configuration.
File summaries
| File | Reviewed change and final review notes |
|---|---|
website/static/img/blog/flet-1-0/flet_1_0.svg |
Adds the light-theme announcement logo. |
website/static/img/blog/flet-1-0/flet_1_0_dark.svg |
Adds the dark-theme announcement logo. |
website/static/docs/assets/getting-started/testing-on-mobile/ios/qr-code.svg |
Adds the iOS App Store QR code. |
website/src/pages/styles.module.css |
Updates homepage button styling. |
website/src/pages/roadmap.md |
Refreshes the 2026–2027 roadmap. |
website/src/pages/index.js |
Updates homepage messaging and Studio CTA. |
website/sidebars.yml |
Adds migration documentation navigation. |
website/docusaurus.config.js |
Updates website navigation links. |
website/docs/updates/migrate-to-1-0.md |
Adds migration guidance. Moderate: define and add selection before use (2 votes); correct the 0.28 thread-pool description (nit, 1 vote); publish intermediate progress after to_thread and future completion (moderate, 2 and 1 votes); await SharedPreferences.set() and apply the pattern to other async services (moderate, 1 vote); narrow the service-reference warning (nit, 1 vote). |
website/docs/updates/index.md |
Links migration resources. |
website/docs/updates/breaking-changes/index.md |
Reorganizes breaking-change documentation. |
website/docs/index.md |
Updates getting-started content. |
website/docs/getting-started/testing-on-mobile.md |
Adds mobile testing instructions. Nit: provide iOS-specific steps or make shared instructions platform-neutral (1 vote). |
website/docs/cookbook/client-storage.md |
Documents the client storage service API. |
website/docs/cookbook/auto-update.md |
Documents automatic updates. Moderate: the to_thread example needs explicit updates or yielding for intermediate progress (2 votes). |
website/docs/cookbook/authentication.md |
Refreshes authentication examples. Moderate: await Page.login() (2 votes) and replace obsolete .token access with await page.auth.get_token() (1 vote). |
website/docs/cookbook/async-apps.md |
Refreshes async and concurrency guidance. Moderate: update or yield after each completed future so progress is published (1 vote). |
website/blog/2026-09-14-flet-1-0.md |
Adds the Flet 1.0 announcement. Nit: remove the duplicated “been” (3 votes). |
sdk/python/packages/flet/README.md |
Adds Flet Studio messaging. |
sdk/python/packages/flet-webview/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-web/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-video/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-spinkit/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-secure-storage/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-rive/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-platform-assets/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-permission-handler/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-mcp/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-map/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-lottie/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-local-auth/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-geolocator/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-flashlight/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-desktop/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-datatable2/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-color-pickers/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-code-editor/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-cli/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-charts/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-camera/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-audio/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-audio-recorder/README.md |
Adds a Flet Studio link. |
sdk/python/packages/flet-ads/README.md |
Adds a Flet Studio link. |
sdk/python/examples/controls/material/app_bar/theme_mode_toggle/main.py |
Updates the theme-mode toggle example. |
README.md |
Adds project-level Studio messaging. |
packages/flet/README.md |
Updates Flutter package metadata and Studio messaging. |
client/web/manifest.json |
Updates the web theme color. |
CHANGELOG.md |
Adds Flet 1.0 release notes. |
.github/workflows/ci.yml |
Configures release publishing. Critical: the job still grants id-token: write on non-release and pull-request runs; scope the permission to a tag-only release job or environment (1 vote). |
Review details
Suppressed comments (7)
website/docs/cookbook/async-apps.md:264
- Because auto-update runs only after the handler returns, changing
progress.valuealone will not publish each completed future. Addprogress.update()after the assignment (as the other progress examples do), or make this an async generator and yield.
website/docs/cookbook/authentication.md:151 - The current
Authorizationcontract no longer exposespage.auth.token; token retrieval is asynchronous viaawait page.auth.get_token(). This migration bullet and the other.tokenreferences in the page will fail withAttributeError; update the token examples and their surrounding async context before publishing this guide.
website/docs/getting-started/testing-on-mobile.md:23 - The new iOS tab feeds into shared instructions that say to open Camera on an Android device and to try updates on Android. An iOS reader following this path is not given the corresponding iOS steps; make the shared instructions platform-neutral or add separate iOS and Android instructions.
website/docs/updates/migrate-to-1-0.md:156 - This contradicts the preceding explanation that 0.28 dispatched sync handlers to a thread pool. Describe the 0.28 behavior as running CPU-bound work on a pool thread, otherwise the table suggests that it blocked the UI in the old version.
website/docs/updates/migrate-to-1-0.md:294 await futureonly resumes the coroutine; assigningprogress.valuedoes not send a patch until the handler finishes. Callprogress.update()after each completed future (or yield from an async generator) so this example actually reports progress.
website/docs/updates/migrate-to-1-0.md:424SharedPreferences.set()is async, so this replacement creates an unawaited coroutine and performs no storage operation; the other service-method rows below have the same issue. Show a retained service instance and await the call, e.g.await prefs.set(k, v), and apply the same pattern to the remaining async services.
website/docs/updates/migrate-to-1-0.md:417- This warning is too broad and contradicts the one-shot example immediately below: a temporary service is valid for a single awaited call because the service remains referenced while that call is running. The warning should only require a retained reference when the service will be reused by later calls or handlers.
- Files reviewed: 46/51 changed files
- Comments generated: 6
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # Register publishing credentials only after dependency resolution and tests. | ||
| # Branch and PR builds must access public pub.dev packages anonymously. | ||
| - name: Setup Dart (OIDC for pub.dev) | ||
| if: ${{ github.ref_type == 'tag' && !contains(github.ref_name, '.dev') }} |
Comment on lines
+48
to
+49
| Async handlers can yield too, and `await` has the same effect - anything the | ||
| handler awaits gives the loop an opportunity to send queued updates: |
Comment on lines
+279
to
+281
| await asyncio.to_thread(do_chunk, i) | ||
| progress.value = (i + 1) / 100 | ||
| ``` |
|
|
||
| Since then, that idea has grown through the [apps you've built](https://github.com/flet-dev/awesome-flet), the feedback you've shared, and the contributions you've made. | ||
|
|
||
| Today, Flet has more than [16,700 stars on GitHub](https://github.com/flet-dev/flet), [100 contributors](https://github.com/flet-dev/flet/graphs/contributors) and has been been downloaded from PyPI more than [9,000,000 times](https://pepy.tech/projects/flet?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=weekly&viewType=line&versions=Total%2C0.*)! We've merged over [1,000 pull requests](https://github.com/flet-dev/flet/pulls?q=is%3Apr+is%3Amerged), closed [2,800 issues](https://github.com/flet-dev/flet/issues?q=is%3Aissue%20state%3Aclosed) and our [Discord community](https://discord.gg/dzWXP8SHG8) has grown to more than 6,000 members. |
Reduce padding, margins, and gaps in the website footer to make the layout more compact on both desktop and mobile while keeping the existing structure intact.
The uv flow documented a pip-shaped sequence (mkdir, uv init, uv venv,
activate, uv add flet, uv run flet create) that nobody would run, and that
contradicted itself: the create page needed a danger admonition warning that
`flet create` overwrites the pyproject.toml `uv init` had just made.
With uv, no install step is needed at all:
uvx --with flet-cli flet create my-app
cd my-app
uv run flet run
Installation is restructured to "set up your package manager" (install uv, or
create a venv for pip), a table of what flet/flet-cli/flet-desktop/flet-web
each do, adding Flet to an existing project, installing a pre-release build,
and upgrading. The pre-release section is new: uv and pip skip dev builds
unless asked, and a project scaffolded by a pre-release CLI additionally needs
`--prerelease allow` (or `[tool.uv] prerelease = "allow"`) because
flet-platform-assets is only reachable transitively.
Also drops an unrendered MkDocs-style prose annotation on the Python version
line, and repoints a testing-on-mobile link at a section that still exists.
Update the Flet 1.0 blog post filename to reflect the correct publication date. This is a file rename only; the content remains unchanged.
# Conflicts: # CHANGELOG.md # website/src/css/custom.css
Simplify the website homepage hero copy by removing the extra introductory sentence and leaving a more direct product value statement.
Update the Flet 1.0 blog post closing section to feel more personal and appreciative. This adds a heart and gratitude emoji to the thank-you message for contributors, bug reporters, and users who helped make the release possible.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Prepare the website and documentation for Flet 1.0, with a celebratory release announcement and a migration path for existing users.
Test code
Documentation and website changes; no new reproduction script. Verified the announcement's MDX syntax and logo asset paths. The logo's light and dark variants were visually checked in the local preview. Commit hooks passed for the final logo commit.
The full documentation build and CI workflow execution were not rerun for this PR.
Type of change
Checklist
website/sidebars.ymlfor breaking changes, removals, and deprecations, if applicable.Additional details
Includes all existing commits on
flet-1-0-announcement. The announcement uses a static themed SVG logo; the experimental fireworks animation is not included.Summary by Sourcery
Prepare Flet’s website, documentation, package messaging, and release workflow for the Flet 1.0 launch.
New Features:
Bug Fixes:
Enhancements:
CI:
Documentation: