Skip to content

Commit bde43dc

Browse files
authored
chore: release v0.10.0 (#164)
* docs(mcp): document --launch-timeout flag in run_tests tool description * chore: release v0.10.0 Consolidates this release's CHANGELOG.md entries under a single [0.10.0] section (was scattered across per-PR [Unreleased] appends), bumps probe_agent to 0.10.0 (pubspec.yaml + agent_version.dart, kept in sync per the comment in that file), vscode/package.json to 0.10.0, and docs/wiki/Home.md's stated current version. Covers PT-01 through PT-19 from IMPROVEMENT_TASKS.md: 15 real bugs found and fixed (several with a different or larger root cause than originally reported, confirmed via real-device verification), one new config option (agent.launch_timeout / --launch-timeout), and a design proposal for native-UI bridging (not implemented this release).
1 parent ad6d6e2 commit bde43dc

8 files changed

Lines changed: 198 additions & 182 deletions

File tree

CHANGELOG.md

Lines changed: 158 additions & 174 deletions
Large diffs are not rendered by default.

docs/wiki/Home.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Welcome to the FlutterProbe wiki. This documentation covers architecture details
1818

1919
## Project Status
2020

21-
FlutterProbe is in active development. Current version: **0.9.9**.
21+
FlutterProbe is in active development. Current version: **0.10.0**.
2222

2323
### Repository Structure
2424

internal/mcp/server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ Named parameters cover the most common options. Any probe test flag can be passe
204204
205205
Key flags for the flags parameter:
206206
--timeout 60s per-step timeout (default 30s)
207+
--launch-timeout 3m timeout for restart the app/clear app data specifically (default 120s) -
208+
raise this if those steps time out on an app with an expensive cold-launch path
207209
--format json|junit structured output (default: terminal)
208210
--dry-run validate syntax without connecting to a device
209211
--parallel distribute tests across all connected devices

probe_agent/CHANGELOG.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,44 @@
11
# Changelog
22

3-
## 0.9.10 - 2026-07-05
3+
## 0.10.0 - 2026-07-05
4+
5+
A hardening release — every fix below was found and verified against a real
6+
device, working through a backlog of real E2E test issues surfaced by driver
7+
projects. Full detail on each is in the root CHANGELOG's `[Unreleased]`
8+
section (also being cut as part of this release); this is the summary
9+
relevant to apps embedding this package directly.
410

511
- `probe.ping` now returns `agent_version` (this package's version) alongside
612
`ok`, and accepts an optional `client_version` field from the CLI. Part of
7-
the CLI↔agent version-compatibility handshake (see root CHANGELOG PT-07).
8-
Both fields are additive and ignored by older CLIs/agents that don't know
9-
about them.
13+
the CLI↔agent version-compatibility handshake. Both fields are additive and
14+
ignored by older CLIs/agents that don't know about them.
1015
- Fixed: the version reported in mDNS advertisements and `GET /probe/status`
1116
had drifted to `0.7.0` while this file's version moved on — corrected to
1217
match `pubspec.yaml` and moved into its own `agent_version.dart` file.
18+
- Fixed: `scroll`/`swipe` could report success while producing zero visible
19+
movement (a single-jump synthetic drag, and stale content from a route
20+
mounted underneath the current one both resolving as visible).
21+
- Fixed: `tap #id` could leave a text field genuinely unfocused, and the
22+
`focused` state check (`see`/`don't see #id is focused`) had a false
23+
positive matching ancestors of the selected element.
24+
- Fixed: `tap #id`'s fast direct-invoke path now recognizes `InkResponse`
25+
(not just `InkWell`), covering more Material buttons before falling back
26+
to a real hit-tested pointer tap.
27+
- Fixed: `wait until #id appears`/`disappears` always searched for the
28+
literal text `"#my_button"` instead of resolving the id — timed out on
29+
every non-text widget (icon buttons, etc.) regardless of visibility.
30+
- Fixed: `close keyboard` and `close the app` were both complete no-ops.
31+
`close keyboard` now calls `FocusManager.instance.primaryFocus?.unfocus()`
32+
directly; `close the app` calls `SystemNavigator.pop()`.
33+
- Fixed: `don't see #id is <state>` (negated state checks — `focused`,
34+
`enabled`, `disabled`, `contains`) silently ignored the checked state,
35+
degrading to a bare existence check.
36+
- Fixed: `scroll` could lose the gesture arena to `Dismissible`-wrapped list
37+
rows and never actually scroll — now drives the nearest `Scrollable`'s own
38+
`ScrollPosition` directly instead of simulating a pointer gesture.
39+
- Fixed: `take screenshot` could capture stale content from a previous route
40+
instead of the current screen (missing `waitForSettled()` call, and
41+
`_captureViaRepaintBoundary` had no route-awareness).
1342

1443
## 0.9.9 - 2026-05-13
1544

probe_agent/lib/src/agent_version.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
/// Lives in its own file (rather than server.dart, where it previously
1010
/// lived) so executor.dart can read it too without an executor.dart <->
1111
/// server.dart import cycle.
12-
const String probeAgentVersion = '0.9.9';
12+
const String probeAgentVersion = '0.10.0';

probe_agent/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: >-
33
On-device E2E test agent for FlutterProbe. Embeds in your Flutter app and
44
executes test commands via direct widget-tree access with sub-50ms latency.
55
6-
version: 0.9.9
6+
version: 0.10.0
77
homepage: https://flutterprobe.dev
88
repository: https://github.com/AlphaWaveSystems/flutter-probe
99
issue_tracker: https://github.com/AlphaWaveSystems/flutter-probe/issues

vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "flutterprobe",
33
"displayName": "FlutterProbe",
44
"description": "High-performance E2E testing for Flutter apps — ProbeScript language support, local & cloud device testing (BrowserStack, Sauce Labs, AWS Device Farm, Firebase Test Lab, LambdaTest), visual regression, test recording, and Studio integration",
5-
"version": "0.9.9",
5+
"version": "0.10.0",
66
"publisher": "flutterprobe",
77
"icon": "resources/probe-icon.png",
88
"engines": { "vscode": "^1.85.0" },

website/src/content/docs/tools/mcp.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ The `run_tests` tool has named parameters for common options (`paths`, `tag`, `d
5858
| Flag | What it does |
5959
|---|---|
6060
| `--timeout 60s` | Per-step timeout (default 30s) |
61+
| `--launch-timeout 3m` | Timeout for `restart the app`/`clear app data` specifically (default 120s) — raise this if those steps time out on an app with an expensive cold-launch path (e.g. Firebase App Check init) |
6162
| `-v` | Verbose step output — prints `→ step` before each step and `✓/✗ step (Xs)` after; slow steps (>5s) emit `` progress ticks and a `` warning at 80% of timeout. Recommended when diagnosing failures. |
6263
| `--format json` | Structured JSON results (pipe to `get_report`) |
6364
| `--format junit` | JUnit XML for CI systems |

0 commit comments

Comments
 (0)