Skip to content

Tags: flet-dev/flet

Tags

v0.85.0.dev0

Toggle v0.85.0.dev0's commit message

v0.84.0

Toggle v0.84.0's commit message

v0.84.0.dev0

Toggle v0.84.0.dev0's commit message

v0.83.1

Toggle v0.83.1's commit message

v0.83.0

Toggle v0.83.0's commit message

v0.82.3.dev7950

Toggle v0.82.3.dev7950's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Prepare Flet 0.83.0 release (#6334)

* Prepare Flet 0.83.0 release

* Add dataclass validation entry to CHANGELOG

Document lightweight dataclass validation and deprecation using Annotated, plus auto-added deprecation admonitions in the docs (PR #6278 by @ndonkoHenri). Adds a new line to CHANGELOG.md under the upcoming changes.

v0.82.3.dev7922

Toggle v0.82.3.dev7922's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: lightweight dataclass validation and deprecation with `Annotat…

…ed` + auto-added deprecation admonitions in docs (#6278)

* initial commit

* refactor: Simplify outbound validation rules by removing unnecessary parameters

* refactor: Remove `allow_none` parameter from validation functions and improve `None` handling

* refactor: Remove `allow_left_none` and `allow_right_none` parameters from validation functions and adjust tests accordingly

* refactor: Replace manual validation with annotated constraints and remove redundant `before_update` methods

* refactor: Add `V.visible_control` validation and replace `before_update` methods in core and material controls

* refactor: Use `Annotated` with `V.str_or_visible_control` and `V.visible_control` across controls, remove redundant `before_update` methods

* refactor more controls

* delete `HeroTag` and make `Hero.tag` control of type `str` only

* refactor more controls

* refactor: Use `V.visible_controls` with `Annotated` across controls, remove redundant outbound rules

* refactor: Rename `__outbound_rules__` to `__validation_rules__` across multiple files

* refactor: Add field-vs-field validation methods (`gt_field`, `ge_field`, `lt_field`, `le_field`), update tests accordingly

* refactor more controls

* refactor: Remove unused field comparison methods and streamline validation logic

* refactor: Enable `unwrap_annotated` in mkdocs configuration

* public validation file

* skill initial

* skill initial

* rename function

* refactor more controls

* refactor: Introduce `ValidationDeclarationError` for invalid validation rule declarations, update usages

* more controls

* Update validation documentation to use canonical wording for Raises entries

* refactor: Update validation module docstrings for clarity and consistency

* refactor: Rename ControlRule to ClassRule and update related types and usages

* refactor: Remove `V.control()` method and replace usages with `ClassRule`

* consistent icon and content checks

* refactor: Replace "control" with "instance" in validation module for clarity and consistency

* move validation.py to utils

* Add deprecated validation warnings

* Implement custom Griffe deprecations

* Show deprecation admonitions

* Fix deprecation admonitions

* Add `docs_reason` support for deprecation docs tooling

* improve error messages and docstrings for better consistency and readability.

* add validation error suppression feature with tests and utils

* add stacklevel resolution for deprecation warnings to target user code

* Add runtime deprecation utilities and tests, improve Griffe deprecation handling.

* Refactor `python_xref` patching

* Update .gitignore to exclude Python cache files

* Add deprecation skill

* update failing cross refs

* use Icon as docs example

* Optimize validation fast paths and add benchmarks

Improve validation performance and add benchmark tests.

- V.or_: avoid allocating the errors list unless needed, short-circuit on first successful rule, and fix error joining/formatting.
- Add @cache to _resolve_allow_none_for_field and simplify _prepare_field_value and _prepare_field_comparison_values with early returns to avoid redundant checks.
- Only clear reported set when it is non-empty.
- Add pytest conftest to auto-skip benchmark tests by default and a new benchmark suite (test_validation_benchmark.py) to measure validation overhead in _before_update_safe and construction time.

These changes reduce validation overhead (notably in _before_update_safe) and introduce tests to catch regressions.

* Fix Copilot review notes

Introduce HeroTag (Union[str,int,float,bool]) as a type alias and export it from flet.__init__.py; update Hero control to accept and validate HeroTag values and add docs entry for the alias. Remove deprecated_class usage and related deprecated methods/import from Icon control to clean up legacy deprecations. Also fix a minor grammar typo in TextField docs ("won't be shown").

* Add Linux desktop flavor option to docs

Document the two Linux desktop client flavors ("full" and "light") in the installation guide. Explain that the light flavor (default) excludes audio/video support, and show how to select the flavor via the FLET_DESKTOP_FLAVOR environment variable or the [tool.flet].desktop_flavor setting in pyproject.toml. Note that users of the light flavor must install audio/video libraries themselves and link to the Audio and Video setup guides. (Updated sdk/python/packages/flet/docs/getting-started/installation.md)

* remove deprecation leftovers + more docs

* refactor: update Hero control to use string type for tag

* add support for parsing and linking environment variables in CLI help docs

* update map example to use memomaps tile server url

* add documentation for Android signing environment variables

---------

Co-authored-by: Feodor Fitsner <feodor@appveyor.com>

v0.82.3.dev7921

Toggle v0.82.3.dev7921's commit message
fix: include top-level directory in template zips for cookiecutter

Cookiecutter requires zip files to have a top-level directory.
Zip from the parent so build/ and app/ are included as roots.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v0.82.3.dev7920

Toggle v0.82.3.dev7920's commit message
fix: avoid YAML anchors in patched pubspec by using separate dict ins…

…tances

pyyaml deduplicates identical dict objects as &id001/*id001 anchors,
which Flutter's pubspec parser doesn't support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v0.82.3.dev7907

Toggle v0.82.3.dev7907's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: align Dart-side defaults with Python across all packages (#6330)

* Adjust map defaults and switch to BaseControl

Multiple map-related fixes and defaults:

- Example: set SafeArea expand=True in basic map example to allow full expansion.
- Tile layer: use BaseControl instead of LayoutControl when composing TileLayerControl.
- Map utils: change fadeIn start/reload opacities default to 0.0; set pinch_move_threshold default to 40.0; provide fallback durations for performLeapTriggerDuration and animationCurveReverseDuration; make cursor keyboard trigger nullable when trigger_keys is absent; set WMS tile layer defaults for format ('image/png') and version ('1.1.1').

These changes prevent null/undefined behavior and ensure sensible defaults for map interactions and tile rendering.

* fix: align Dart-side defaults with Python for props not sent when unchanged

- Dismissible: read "movement_duration"/"resize_duration" instead of "duration" for both
- Image: add default `false` for gapless_playback
- ExpansionTile: add default `true` for enable_feedback
- DataTable2: fix sort_arrow_animation_duration unit (microseconds → milliseconds)
- Geolocator: fix notification_set_ongoing default (true → false)
- SecureStorage: fix WebOptions db_name/public_key to use "Flet" prefix

* docs: add warning about matching Python↔Dart default values for extension developers