NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #204 most downloaded on pub.dev
Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
Last release 1 months ago
04 Sep 2026
Ships unpredictably
gaps range from 1 weeks to 1.4 years
Nearly every release is documented
notes for 41 of 41 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
41 releases · first in 2022
Fixes Permission.status reporting permanentlyDenied after the user reset a permanently denied permission to "Ask every time" in the Android app settin
Permission.status reporting permanentlyDenied after the user reset a permanently denied permission to "Ask every time" in the Android app settings (Android 11+). See #1206.Permission.status no longer resolves to permanentlyDenied. Android does not expose the difference between a permission that was never requested, one reset to "Ask every time" and one that is permanently denied. Only the result of Permission.request() can be permanentlyDenied; requesting a permanently denied permission resolves immediately without showing a dialog.shouldShowRequestPermissionRationale across the request, so it is reported as permanentlyDenied even when the first denial happened in the app settings.denied again instead of permanentlyDenied.Fix dependency in android example app
One column per quarter.
Fix dependency in android example app
compileSdkVersion in the app/build.gradle file to 37.compileSdkVersion: 35 to 37fix: Resolve PermissionRequestInProgressException when app is relaunched with non-standard launchMode.
PermissionRequestInProgressException when app is relaunched with non-standard launchMode.BREAKING CHANGES: When updating to version 13.0.0 make sure to also set the compileSdkVersion in the app/build.gradle file to 35.
compileSdkVersion in the app/build.gradle file to 35.compileSdkVersion: 33 to 35com.android.tools.build:gradle:8.0.0 to com.android.tools.build:gradle:8.0.2sourceCompatibility = JavaVersion.VERSION_1_8 to sourceCompatibility = JavaVersion.VERSION_17Migrates away from deprecated imperative Gradle plugins.
Migrates example app away from deprecated imperative apply in gradle (see: https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-app…
Fixes permission status returned from Permission.photos.request() or Permission.videos.request() when limited access selected
Permission.photos.request() or Permission.videos.request() when limited access selectedAdds TargetApi annotation to getManifestNames method in PermissionUtils.java.
TargetApi annotation to getManifestNames method in PermissionUtils.java.Fixes a bug that causes a NullPointerException when the application is restarted after being killed by Android during the request of special permissio
NullPointerException when the application is restarted after being killed by Android during the request of special permissions (like, Permission.ignoreBatteryOptimizations, Permission.systemAlertWindow, Permission.accessNotificationPolicy, Permission.scheduleExactAlarm and Permission.manageExternalStorage).Makes the status returned when requesting the READ_MEDIA_VISUAL_USER_SELECTED permission more accurate.
Adds support for limited photo and video permission on Android.
Removes additional Android v1 embedding class reference.
Removes deprecated support for Android V1 embedding as support will be removed from Flutter (see flutter/flutter#144726).
Upgrades Gradle and Android Gradle plugin.
Returns granted on permission Permission.scheduleExactAlarm for devices running lower than Android S (API 31), before this change the default return w
granted on permission Permission.scheduleExactAlarm for devices running lower than Android S (API 31), before this change the default return was denied.minSdkVersion version to flutter.minSdkVersion.Updates the dependency on permission_handler_platform_interface to version 4.1.0 (SiriKit support is only available for iOS or macOS).
permission_handler_platform_interface to version 4.1.0 (SiriKit support is only available for iOS or macOS).Fixes bug where Android activity is leaked when embedded in native Android application.
Fixes a bug where the ignoreBatteryOptimizations permission didn't report the correct status when the permission is requested and granted.
ignoreBatteryOptimizations permission didn't report the correct status when the permission is requested and granted.Adds Permission.calendarWriteOnly.
Permission.calendarWriteOnly.Permission.calendarReadOnly.Implements the Permission.calendarReadOnly and PermissionCalendarFullAccess permissions.
Permission.calendarReadOnly and PermissionCalendarFullAccess permissions.Removes the obsolete updatePermissionShouldShowStatus method from the Java code base.
updatePermissionShouldShowStatus method from the Java code base.Fixes a bug where the status of special permissions would incorrectly be reported as denied.
denied.Fixes a bug where Permission.notification.status would never return permanentlyDenied on Android.
Permission.notification.status would never return permanentlyDenied on Android.Fixes a bug where Permission.Phone would always return 'denied' when requesting the permission status.
Permission.Phone would always return 'denied' when requesting the permission status.Fixes java.lang.IllegalStateException: Reply already submitted when requesting post notification permission.
java.lang.IllegalStateException: Reply already submitted when requesting post notification permission.BREAKING CHANGE: Fixes a bug where the permission status would return 'denied' regardless of whether the status was 'denied' or 'permanently denied'.
Fixes a bug where requesting multiple permissions would crash the app if at least one of the permissions was a special permission.
Fixes a bug where Permission.ScheduleExactAlarm was not opening the settings screen.
Permission.ScheduleExactAlarm was not opening the settings
screen.Fixes a bug where the permission status would return 'permanently denied' instead of 'denied' when the user dismisses the permission dialog.
Migrates the Gradle compile arguments to the example app, so they are not enforced upon consumers of the plugin.
Updates example app to show Permission.photos and hide Permission.bluetooth.
Permission.photos and hide Permission.bluetooth.Fixes java.lang.IllegalStateException: Reply already submitted when checking the status of Bluetooth service.
java.lang.IllegalStateException: Reply already submitted when checking the status of Bluetooth service.Adds support for the new Android 13 permission: BODY_SENSORS_BACKGROUND.
Fix missing POST_NOTIFICATIONS permission in the Android example project.
Fixes the SCHEDULE_EXACT_ALARM status check on Android 12 and 13.
Adds compatibility with Android Gradle Plugin 8.0.
Adds support for the new Android 13 permissions: SCHEDULE_EXACT_ALARM, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO and READ_MEDIA_AUDIO
Adds support for the new Android 13 permission: NEARBY_WIFI_DEVICES.
BREAKING CHANGE: Updates Android compileSdkVersion to 33 to handle the new POST_NOTIFICATIONS permission.
compileSdkVersion to 33 to handle the new POST_NOTIFICATIONS permission.
When updating to version 10.0.0 make sure to update the
android/app/build.gradlefile and set thecompileSdkVersionto33.
Moves Android implementation into its own package.
Undoes PR #765 which by mistake requests write_external_storage permission based on the target SDK instead of the actual SDK of the Android device.
Your coding agent can read these notes before it upgrades. Set up the MCP server →