Package Changelogs
Patrol is a monorepo containing multiple packages. Each package has its own detailed changelog:patrol
Main Patrol package with UI testing and native automation
patrol_cli
Command-line interface for running Patrol tests
patrol_finders
Custom finders that can be used in widget tests
patrol_log
Logging utilities for Patrol tests
Latest Release
Patrol 4.1.1 (Current)
The latest stable version of Patrol includes:- Fix Android permission dialog not being tapped with
grantPermissionWhenInUse - Fix iOS
tapOnNotificationBySelectorto supporttextparameter - Bump
patrol_logto0.7.0 - Bump
patrol_findersto3.1.0
Major Releases
Patrol 4.0 - Web Support & New Platform API
Patrol 4.0 was a major release introducing web testing support and a redesigned API for native interactions. Key Features:- Web Testing: Run Patrol tests on web browsers (Chrome, Firefox, Safari, Edge)
- New Platform API: Introduced
PlatformAutomatorreplacing deprecatedNativeAutomator - WebAutomator: New automator for web-specific interactions:
- Dark mode control
- Cookie management
- Browser navigation
- Keyboard shortcuts
- File uploads/downloads
- Dialog handling
- Window resizing
- Clipboard operations
- Configurable Test Directory: Set custom test directory via
test_directoryin pubspec.yaml - Full Isolation Flag (experimental): Uninstall app between runs on iOS Simulator
- Default test directory changed from
integration_testtopatrol_test - Deprecated
NativeAutomatorandNativeAutomator2in favor ofPlatformAutomator
Patrol 3.0 - DevTools Extension
Patrol 3.0 introduced the Patrol DevTools Extension for exploring native view hierarchy. Key Features:- DevTools Extension: Inspect native views during
patrol develop - Simplified API: Removed
bindingTypeandnativeAutomationparameters - Auto-initialization:
PatrolBindingnow initializes automatically - Removed Dependencies: No longer depends on
integration_testplugin
- Removed
bindingTypeparameter frompatrolTest() - Removed
nativeAutomationparameter - now enabled by default - Minimum Flutter version bumped to 3.16
Patrol 2.0 - Test Bundling
Patrol 2.0 introduced test bundling, allowing tests to run as native instrumented tests. Key Features:- Test Bundling: Run tests as native instrumented tests for better reliability
- Improved Performance: Faster and more reliable test execution
- Better Integration: Seamless integration with native testing infrastructure
Patrol 1.0 - Initial Stable Release
The first stable release of Patrol! Key Features:- Native automation for Android and iOS
- Custom finders with chaining support
- Hot restart for rapid test development
- Permission handling
- Notification interactions
- System settings control
Notable Features by Version
Recent Additions
4.1.x - Permission & Notification Fixes
4.1.x - Permission & Notification Fixes
- Fix Android permission dialog handling (4.1.1)
- Fix iOS notification indexing on iOS 18+ (4.1.1)
- Fix iOS
tapOnNotificationBySelectortext parameter (4.1.1) - Add
PlatformAutomatorto exports (4.1.0) - Remove dependency on
jspackage (4.0.1)
3.20.x - Build Configuration & iOS 18 Support
3.20.x - Build Configuration & iOS 18 Support
- Add
--build-nameand--build-numberflags (3.20.0) - Extend
$.native.enterText()to supportAutoCompleteTextViewon Android (3.20.0) - Add support for enabling/disabling WiFi on iOS 18 (3.20.0)
3.17.x - Camera & Gallery
3.17.x - Camera & Gallery
- Add
takeCameraPhoto()method (3.17.0) - Add
pickImageFromGallery()method (3.17.0) - Add
pickMultipleImagesFromGallery()method (3.17.0) - Add
isVirtualDevice()method (3.17.0) - Add
getOsVersion()method (3.17.0) - Add
swipeBack()andpullToRefresh()methods (3.17.0)
3.13.x - Logging Support
3.13.x - Logging Support
- Add support for
patrol_logpackage (3.13.0) - Fix tapping on notification on iOS 18 (3.13.0)
- Fix macOS functionality (3.13.0)
3.11.x - Code Coverage
3.11.x - Code Coverage
- Add code coverage collection support (3.11.0)
- Add option to select tap location in
enterText(3.11.0)
3.10.x - Android System Controls
3.10.x - Android System Controls
- Implement
enableBluetoothanddisableBluetoothfor Android 11+ (3.10.0) - Implement
enableAirplaneModeanddisableAirplaneModefor Android (3.10.0) - Implement
enableLocationanddisableLocationfor Android (3.10.0) - Add
tagsandexclude-tagssupport (3.10.0)
3.2.x - macOS Support
3.2.x - macOS Support
- Add support for running patrol tests on macOS (alpha) (3.2.0)
2.3.x - Test Hierarchy & Protocol Improvements
2.3.x - Test Hierarchy & Protocol Improvements
- Add support for nested test hierarchies using
group()s (2.3.0) - Replace Protocol Buffers/gRPC with custom lightweight solution (2.3.0)
- Add
PatrolFinder.longPress()(2.3.2)
Compatibility
For version compatibility betweenpatrol and patrol_cli, see the
Compatibility Table.
Deprecations
Migration Guides
When upgrading across major versions, follow these migration guides:- Migrating to Patrol 4.0
- Migrating to Patrol 3.0
- Migrating to Patrol 2.0
- Migrating from NativeAutomator to PlatformAutomator
GitHub Releases
For the complete release history including all pre-releases and detailed technical notes, visit our GitHub Releases page.Stay Updated
To stay informed about new releases:- Watch the GitHub repository
- Join our Discord community
- Follow @leancode_ on Twitter
- Subscribe to our blog
Release Schedule
We don’t follow a fixed release schedule. Releases happen when:- Critical bugs need to be fixed
- Important features are ready
- Multiple improvements have accumulated
Versioning
Patrol follows Semantic Versioning:- Major (x.0.0): Breaking changes
- Minor (0.x.0): New features, backward compatible
- Patch (0.0.x): Bug fixes, backward compatible