Releases: AlphaWaveSystems/flutter-probe
Releases · AlphaWaveSystems/flutter-probe
v0.5.6
v0.5.5
Changed
flutter_probe_agentDart package re-licensed from BSL 1.1 to MIT (Go CLI remains BSL 1.1)- CI: added Dart agent validation job —
dart analyze,flutter test,dart pub publish --dry-run, CHANGELOG enforcement - CI: added PR template with pub.dev and docs checklist
v0.5.4
Release v0.5.4
v0.5.3
Added
- Automated pub.dev publishing via GitHub Actions using official
dart-lang/setup-dartreusable workflow - FAQ section on landing page (WiFi testing, physical devices, CI/CD, setup)
- ProbeScript Dictionary — complete reference of all keywords, commands, and modifiers
- Comprehensive third-party tool requirements documentation
Changed
- Renamed Dart package from
probe_agenttoflutter_probe_agentfor pub.dev branding - Publish workflow chains after Release workflow (prevents publishing broken versions)
- Version badge auto-updates from git tags (no more hardcoded versions)
Fixed
- Broken wiki link on landing page (
AlphaWaveSystems/wiki→flutter-probe/wiki) - Old domain references (
flutterprobe.com→flutterprobe.dev) - Old package name references in vscode README and docs
- pub.dev score: shorter description, dartdoc warning, clean public API
v0.5.2
Release v0.5.2
v0.5.1 — Physical Device Support, WiFi Testing, HTTP Fallback
Added
- Pre-shared restart token (
probe.set_next_token) — CLI sends a token to the agent beforerestart the app; agent persists it and uses it after restart, enabling WiFi reconnection withoutidevicesyslog --hostflag for WiFi testing — connect directly to device IP, no iproxy needed--tokenflag to skip USB-dependent token auto-detectionPROBE_WIFI=truedart-define — binds agent to0.0.0.0for network access- HTTP POST fallback transport (
POST /probe/rpc) — stateless per-request communication for physical devices ProbeClientinterface — both WebSocket and HTTP clients satisfy it for transport-agnostic executiontap "X" if visibleProbeScript syntax — silently skips when widget is not found; works with tap, type, clear, long press, double tap- Direct
onTapinvocation fallback forSemantics-wrappedGestureDetectorwidgets on physical devices take screenshot "name"now accepts name directly (nocalledkeyword needed)- Physical device E2E test suite for FlutterProbe Test App (12 tests covering all 10 screens)
Fixed
clear app dataon physical iOS now skips immediately (before confirmation prompt) to avoid killing the agent- Connection error detection in
if visible— propagates connection errors for auto-reconnect instead of silently swallowing them - Screenshot parser accepts
take screenshot "name"without requiringcalledkeyword
v0.4.0
Added
before all/after allhooks for suite-level setup and teardown (run once per file)kill the appcommand — force-stop without relaunch (CLI-side via ADB/simctl)open the appnow performs CLI-side launch + reconnect when device context is availablecopy "text" to clipboardandpaste from clipboardcommands (agent-side via Dart Clipboard API)set location lat, lngcommand — set device GPS coordinates (ADB geo fix / simctl location)verify external browser openedcommand — checks url_launcher platform channel for external launchescall GET/POST/PUT/DELETE "url"command — execute real HTTP requests from tests (Go-side net/http)call ... with body "json"— HTTP calls with request body, response stored in<response.status>and<response.body>variables<random.email>,<random.name>,<random.phone>,<random.uuid>,<random.number(min,max)>,<random.text(length)>data generators for form-heavy testswith examples from "file.csv"— load data-driven test data from external CSV files- Unit tests for random data generators, CSV loader, all new parser commands
- E2E test files for all new features: hooks, clipboard, app lifecycle, location, random data, HTTP calls, CSV-driven tests
v0.3.0
Fixed
- Resolve all pre-existing staticcheck lint errors blocking CI
- Replace deprecated Go 1.26 crypto/ecdsa field access with ecdh+x509 round-trip in wallet signing
- Remove unused functions and variables across CLI, runner, and probe-convert packages
- Fix error string style violations (punctuation, numeric HTTP status codes, nil context)
Added
- Unit tests for 6 previously untested packages: config, plugin, visual, report, device, cloud/wallet
- Test coverage for config loading/validation, plugin registry, visual regression comparison, HTML report generation, permission resolution, and wallet operations
Changed
- Bump GitHub Actions: actions/checkout v5→v6, actions/upload-artifact v4→v7, actions/setup-node v4→v6, actions/upload-pages-artifact v3→v4, codecov/codecov-action v4→v5
v0.2.0
Release v0.2.0
v0.1.0
Added
- ProbeScript language with indent-based natural language test syntax
- Go CLI with commands: test, lint, init, device, record, report, migrate, generate
- Dart ProbeAgent with WebSocket JSON-RPC 2.0 protocol and direct widget-tree access
- iOS simulator support with token file fast path and log stream fallback
- Android emulator support with ADB port forwarding and logcat token extraction
- Sub-50ms command round-trip execution
- Recipe system with parameterized reusable steps and
useimports - Data-driven tests with
Examples:blocks and variable substitution before each,after each, andon failurehooks- Conditional execution with
if/elseblocks repeat N timesloops- Visual regression testing with configurable threshold and pixel delta
- Test recording mode capturing taps, swipes, long presses, and text input
- Custom plugin system via YAML definitions
- probe-convert tool supporting 7 source formats at 100% construct coverage
- Supported formats: Maestro, Gherkin, Robot Framework, Detox, Appium (Python/Java/JS)
- VS Code extension with syntax highlighting, snippets, and commands
- HTML, JSON, and JUnit XML report generation with relative artifact paths
- Self-healing selectors via fuzzy matching (text, key, type, semantic strategies)
- HTTP mocking with
when ... respond withsyntax - App lifecycle commands:
clear app data,restart the app - OS-level permission handling via ADB and simctl
- Configurable tool paths for ADB and Flutter binaries
- Parallel testing support with per-platform config files
- Video recording on iOS (H.264) and Android (screenrecord/scrcpy)
- Dart escape hatch with
dart:blocks - probe.yaml configuration with full resolution order (CLI flag > YAML > default)