Skip to content

Commit 451c1e5

Browse files
committed
docs: add CHANGELOG.md with version history from 0.1.0 to 0.1.5
1 parent 132c445 commit 451c1e5

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Changelog
2+
3+
All notable changes to FletX.
4+
5+
---
6+
7+
## [0.1.5] — 2026-06-09
8+
9+
### Flet 0.85+ Compatibility
10+
- `flet>=0.85.0` requirement — full `ft.Router` integration with `manage_views=True` and native platform transitions.
11+
12+
### ft.Router Backend (`router_backend="flet"`)
13+
- New `FletRouterBackend` — delegates rendering to `ft.Router` while `FletXRouter` keeps all logic (guards, middleware, history, resolvers).
14+
- `FletXApp(router_backend="flet")` selects the backend; `"fletx"` (default) keeps existing behavior.
15+
- `FletXRouter` API is **identical** in both modes — no code changes needed.
16+
17+
### Nested Routes with Outlet
18+
```python
19+
router_config.add_route("/settings", SettingsShell, outlet=True)
20+
router_config.add_nested_routes("/settings", [
21+
{"path": "general", "component": SettingsGeneral},
22+
{"path": "profile", "component": SettingsProfile},
23+
])
24+
25+
class SettingsShell(FletXPage):
26+
def build(self):
27+
return ft.Row([
28+
ft.NavigationRail(...), # persistent shell
29+
self._outlet_content, # active child
30+
])
31+
```
32+
- `RouteDefinition.outlet` flag marks layout routes.
33+
- `FletXPage._outlet_content` injected with rendered child BEFORE `build()`.
34+
- Auto-generated index child for the parent URL default view.
35+
- Deep nesting and `ModuleRouter` outlet support.
36+
37+
### Lifecycle-Aware Dialogs
38+
- `FletXPage.show_dialog()`, `close_dialog()` — track state, auto-close on unmount.
39+
- `alert(title, msg)`, `confirm(title, msg, on_confirm, on_cancel)` — one-liner helpers.
40+
- `show_snack_bar(content)`, `hide_loader()` — convenience wrappers.
41+
42+
### Sync Navigation
43+
- `FletXRouter.navigate_sync(route)` — safe from Flet event handlers (`on_click`, `on_change`).
44+
45+
### Flet CLI Passthrough
46+
- `fletx build`, `debug`, `pack`, `publish`, `serve`, `emulators`, `devices`, `doctor` — full `--help` support.
47+
48+
### Fixed
49+
- `ModuleRouter.__init__` crash when `sub_routers` not defined.
50+
- `CommandParser` error on commands with only optional args (e.g. `doctor`).
51+
- `add_nested_routes` path duplication in kwargs.
52+
- `ModuleRouter._config` class var → instance var (stopped test pollution).
53+
- History management: initial `/` no longer appended to stack.
54+
- Test `sys.modules` pollution causing cascading ImportErrors (saved/restored in 3 test files).
55+
- `build_navigation_widgets()` resilience (TypeError for Flet 0.85 `page.views` proxy).
56+
- `page.push_route()` now properly awaited (async in Flet 0.85.3).
57+
- `FletXRouter._instance` properly set in `router_backend="flet"` code path.
58+
59+
### Docs
60+
- New `examples/outlet_demo/` — working nested route app.
61+
- Comprehensive `api-reference.md`.
62+
- Updated `routing.md`, `pages.md`, `architecture.md`, `fletx-cli.md`, `README.md`.
63+
64+
---
65+
66+
## [0.1.4] — 2025-12
67+
68+
- Initial Flet >=0.85.0 requirement (preparation).
69+
- Dialog API on FletXPage.
70+
- `ft.Router` experimental support.
71+
- flet CLI passthrough commands.
72+
- Cleaner comment style.
73+
74+
---
75+
76+
## [0.1.3] — 2025-10
77+
78+
- Flet 0.27-0.28 compatibility.
79+
- Initial Obx widget support.
80+
81+
---
82+
83+
## [0.1.2] — 2025-08
84+
85+
- Flet 0.26-0.27 compatibility.
86+
- Controller lifecycle improvements.
87+
88+
---
89+
90+
## [0.1.1] — 2025-07
91+
92+
- Flet 0.25-0.26 compatibility.
93+
- Reactive state primitives (RxInt, RxList, Computed).
94+
95+
---
96+
97+
## [0.1.0] — 2025-06
98+
99+
- Initial release.
100+
- `FletXApp`, `FletXPage`, `FletXController`, `RouterConfig`, `FletXRouter`.
101+
- Decorators: `@obx`, `@register_router`, `@reactive_memo`, `@reactive_debounce`.
102+
- CLI: `fletx new`, `generate`, `run`, `test`, `check`.
103+
- Dependency injection via `FletX.find()` / `FletX.put()`.
104+
- Route guards and middleware.

0 commit comments

Comments
 (0)