NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #992 most downloaded on pub.dev
Command-line tool for Patrol, a powerful Flutter-native UI testing framework.
Last release 16 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
163 releases · first in 2022
One column per quarter.
See changelog on pub.dev
See changelog on pub.dev
See changelog on pub.dev
patrol 4.10.0 or newer. See the
docs.patrol build android --develop, which builds the APKs a develop session needs so they can
be handed to another machine. (#3266)patrol develop --use-prebuilt-apks <dir> (Android only), which runs a develop session
against those APKs instead of building with Gradle. (#3266)--only, which runs the whole file.screenshot_on_failure in the pubspec's patrol
section and collected by patrol test into <test-directory>/screenshots. Requires patrol
4.10.0 or newer. See the docs. (#3222)package_config, cli_completion and pub_updater. (#3225)platform below 3.2.0, which ships a non-backwards-compatible API. (#3288)--only entries that match nothing instead of dropping them silently.RunnerUITests.m that disagrees with the build-time discovery setting, instead of
failing the build on a missing .inc.patrolTargetPlatform reporting the host's platform during build-time discovery. (#3241)patrol develop ignoring build-time test discovery..xctestrun file in the wrong place when building iOS tests from outside the
project root. (#3250)patrol develop, which regressed in 4.6.1. (#3223)patrol develop losing logs on devices and failing on simulators. (#2465, #3279)patrol develop crashing on hosts whose terminal modes can't be changed. (#3278)See changelog on pub.dev
patrol 4.9.0 or newer.-Ppatrol-enabled=true to Android Gradle builds so apps can detect a Patrol build.patrol.emit_test_manifest in
pubspec.yaml (or --emit-test-manifest): Dart tests are discovered while building and each
one becomes a real, individually-selectable native test, which makes per-test sharding on
device farms possible. (#3197)patrol test-without-building, which runs the tests from a previous patrol build
without rebuilding, optionally just one of them with --only. Requires build-time test
discovery. (#3197)--record-video flag to patrol test and patrol develop to record a video per test case (Android and iOS simulators). (#2741)patrol test/patrol develop not reading logs from iOS simulators, by streaming the simulator's log via simctl spawn. (#3198)See changelog on pub.dev
See changelog on pub.dev
patrol develop printing "You must specify a --flavor option" on iOS/macOS projects with schemes, by passing the flavor to flutter attach.sdk.dir missing from android/local.properties after the config-only build). (#3168)See changelog on pub.dev
patrol develop not reporting completion when the app shuts down before the tests finish, causing patrol_mcp to hang until its timeout. The backend exit is now detected independently of flutter attach.patrol test -d chrome failing with No devices attached on machines without a system Chrome installation. (#3172)--web-channel--web-executable-path--web-slow-mo--web-chromium-sandbox--web-downloads-path--web-ignore-default-args--web-proxy--web-browser-timeout--web-traces-dir--web-bypass-csp--web-ignore-https-errors--web-offline--web-http-credentials--web-extra-http-headers--web-screenshot--web-trace--web-storage-state--web-accept-downloads--web-headless to a flag. Use --web-headless/--no-web-headless instead of --web-headless true/false. The old syntax still works, but is deprecated and will be removed in a future release. (#3155)--web-* options being silently overridden by a same-named variable already set in the host shell environment when running web tests. (#3155)patrol test --coverage support for the web platform, producing the same coverage/patrol_lcov.info report as mobile. Requires a debug build (the default); Chromium only.See changelog on pub.dev
Bump equatable to ^2.1.0 and migrate PatrolPubspecConfig and related config classes from deprecated EquatableMixin to with Equatable.
-weak_framework XCTest linker flags to iOS and macOS build-for-testing to support Swift Package Manager integration.patrol develop on iOS Simulator timing out after ~6 minutes with "Test runner never began executing tests after launching". Requires a matching patrol version that enables the develop-specific native test runner path. (#3139)patrol test/patrol develop hanging on Windows at gradlew :app:dependencies by also draining the gradle process stderr stream during orchestrator-version detection. (#2565)--exclude not working. (#2990)--clear-permissions being ignored by patrol build ios. The flag was wired into patrol test but dropped from build ios, so prebuilt iOS test bundles (e.g. for BrowserStack/Firebase Test Lab) never had CLEAR_PERMISSIONS enabled.patrol test -t .\patrol_test\example_test.dart.test_bundle.dart generating a broken absolute import (and an invalid import alias containing characters such as -) when the test target lives outside the configured test_directory. The import is now computed relative to the bundle and the alias is sanitized. (#3104)SIGTERM on Windows, where it is not supported and throws an unhandled SignalException. (#3035)equatable to ^2.1.0 and migrate PatrolPubspecConfig and related config classes from deprecated EquatableMixin to with Equatable.patrol_log to ^0.10.0.This version requires version 4.7.0 of patrol package.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix iOS Simulator test crash on Xcode 26.4+ caused by missing platform frameworks path in xctestrun.
patrol_log to ^0.9.0.--app-name flag to override app_name from pubspec.yaml. (#2557)patrol test --coverage crashing with PathNotFoundException in Pub workspaces by resolving .dart_tool/package_config.json from the workspace root. (#2844)--coverage-workspace flag to include every package declared under the workspace root's workspace: key in the coverage report.- Update dependencies.
Refactor develop command into reusable components and expose public API for programmatic usage.
patrol_log to ^0.8.0.Add support for --web-port option to specify the port for the web server when running web tests with patrol test.
--web-port option to specify the port for the web server when running web tests with patrol test. (#2832)--web-server-timeout flag to configure the web server startup timeout (default: 120s). (#2948)patrol_test/. (#2922)web-browser-args. (#2932)Fix bug when running web tests with relative imports from integration_test directory.
--no-tree-shake-icons flag in cli commands. (#2704)PATROL_FLUTTER_COMMAND not being used when building web app. (#2857)test_bundle.dart files. (#2885)patrol_log to 0.7.0. (#2917)Remove platform_automator.dart import from test_bundler.dart.
platform_automator.dart import from test_bundler.dart. (#2833)Fix running web tests on Flutter 3.38.x.
Read the article announcing Patrol 4.0 here.
Patrol 4.0 is here!
Read the article announcing Patrol 4.0 here.
Add support for running Patrol tests on Web:
--web-results-dir, --web-report-dir, --web-reporter,--web-timeout, --web-global-timeout, --web-retries,--web-workers, --web-shard,--web-video, --web-headless,--web-locale, --web-timezone, --web-color-scheme,--web-geolocation, --web-permissions,--web-user-agent, --web-viewport.Add support for configurable test directory via test_directory option in pubspec.yaml. (#2728)
Introduces experimental --full-isolation flag that uninstall the app between each run on iOS Simulator.
Bump patrol_log to 0.6.0.
Read Patrol version from pubspec.lock instead of pubspec.yaml for compatibility checks. Fix edge cases for compatibility checks. (#2709)
BREAKING CHANGE
integration_test to patrol_test. (#2728)This version requires version 4.0.0 of patrol package.
Nothing published for this version
Nothing published for this version
Add --build-name and --build-number flags to patrol test, patrol develop, and patrol build commands.
--build-name and --build-number flags to patrol test, patrol develop, and patrol build commands. (#2590)PATROL_FLUTTER_COMMAND not being used when using --coverage flag. (#2781)This version requires version 3.20.0 of patrol package.
Add help command h to patrol develop.
h to patrol develop. (#2701)patrol build command. (#2685)Re-land: Do not pass flavor as dart-define when building.
leancode_lint to 17.0.0.patrol_log to 0.5.0.Remove --wait argument from patrol develop command (#2671 & #2691)
--wait argument from patrol develop command (#2671 & #2691)patrol_cli binary is triggered for shell completion only (#2512)Introduce check-compatibility flag to allow disabling the compatibility check.
check-compatibility flag to allow disabling the compatibility check. (#2649)Nothing published for this version
Improve patrol test error messaging when compatibility check fails, added same compatibility check and error messaging to patrol build command
patrol develop process by pressing q on the keyboard (#2577)--ios flag to patrol test that specifies the iOS version to use. (#2540)custom_lint to 0.7.0 and leancode_lint to 14.3.0. (#2574)vm_service dependency to 15.0.0 (#2636)Nothing published for this version
Gracefully handle when analytics fail to send.
--coverage-packages flag to patrol test that specifies which packages should be included
in the coverage report. (#2536)Add PATROL_ANALYTICS_ENABLED environment variable to disable analytics.
PATROL_ANALYTICS_ENABLED environment variable to disable analytics. (#2483)Add android product flavor to dart-define.
Add support for the patrol_log package.
patrol_log package. (#2387)This version requires version 3.13.0 of patrol package.
Nothing published for this version
Nothing published for this version
Add clear-permissions flag on ios commands.
clear-permissions flag on ios commands. (#2367)This version requires version 3.12.0 of patrol package.
Allow running Patrol tests from any subfolder of the project
Add code coverage collection support
This version requires version 3.11.0 of patrol package.
- Fix checking java version. (#2301) - Change selecting java path.
java version. (#2301)java path. (#2300)Run flutter build apk --config-only during android build.
tags and exclude-tags. (#2286)flutter build apk --config-only during android build.(#2293)This version requires version 3.10.0 of patrol package.
Fallback to read java version from JAVA_HOME when flutter doctor doesn't print any.
java version from JAVA_HOME when flutter doctor doesn't print any.Breaking: Use java version from flutter doctor
java version from flutter doctorFix parsing non string values from --dart-define-from-file (#2243).
Add support for --dart-define-from-file (#2232).
Add support for custom flutter commands (#2124).
Add support for --app-server-port and --test-server-port on Android (#2154).
Fix compatibility_checker getting stuck (#2091).
Fix invalid JSON output of version check command (#2087).
Print link to devtools regardless of open-devtools flag (#2076).
Fix passing port on iOS when patrol build is executed (#2061).
patrol build is executed (#2061).Allow for changing the port when running on iOS (#2027).
Allow for changing the port when running on iOS (#2027).
To do so, pass test-server-port (default 8081) and app-server-port
(default 8082) to Patrol CLI commands (e.g patrol test)
Do not open devtools by default when patrol develop is executed (#2048).
This version requires version 3.4.0 of patrol package.
Allow for defining a custom test file suffix
Add support for running patrol tests on macOS (alpha)
--destination-timeout 1 when calling xcodebuild test-without-building
to fail faster in error conditions (#1979)--only-testing RunnerUITests/RunnerUITests to ignore other XCTest that
might be present (#1991)Nothing published for this version
Add screenshots to pubspec.yaml
pubspec.yaml (#1917)Bump dependencies for Flutter 3.16 and Dart 3.2
topics in pubspec (#1904)patrol_finders being split from patrol~/.zshrc (and
alike) by setting the PATROL_NO_COMPLETION environment variableAdd support for Patrol 3.0 and its DevTools extension
patrol develop. This behavior can
be disabled by passing --no-open-devtools flag.This version requires version 3.0.0 of patrol package.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →