NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #436 most downloaded on pub.dev
A Flutter plugin for opening iOS and Android phone settings from an app.
Last release 1 months ago
16 Aug 2026
Release timing varies
gaps range from 4 weeks to 1.4 years
Most releases are documented
notes for 41 of 47 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
47 releases · first in 2019
BREAKING: raise SwiftPM iOS platform minimum to 13.0- #284
android/build.gradle now reads the actual android.builtInKotlin Gradle property (inherited from the consuming app's root project) instead of guessing
android/build.gradle now reads the actual android.builtInKotlin Gradle property (inherited from the consuming app's root project) instead of guessing from the AGP major version alone. kotlin-android is only skipped for consumers who have genuinely opted into AGP's built-in Kotlin support; it's still applied (avoiding the 8.0.1 bug) for the default android.builtInKotlin=false. Verified both branches against a real AGP 9.0.1 project: with the default false, the plugin builds correctly; with true, skipping kotlin-android avoids the 'org.jetbrains.kotlin.android' plugin is no longer required for Kotlin support since AGP 9.0 failure that other still-unmigrated plugins in the same build hit.One column per quarter.
fix: android/build.gradle now sets compileSdk = 36 / minSdk = 16 (property-assignment syntax) instead of the deprecated compileSdkVersion 36 / minSdkV…
android/build.gradle now sets compileSdk = 36 / minSdk = 16 (property-assignment syntax) instead of the deprecated compileSdkVersion 36 / minSdkVersion 16 method-call syntax, since the latter is unavailable under AGP 9's "new DSL" mode. Property assignment has worked since AGP 7.0, so this is backward-compatible with AGP 7.x/8.x too. Adapted from a suggestion at qeepcologne/app_settings@agp9-new-dsl.fix: android/build.gradle no longer conditionally skips applying the kotlin-android plugin on AGP 9+. That guard broke every consuming app on AGP 9 wi
android/build.gradle no longer conditionally skips applying the kotlin-android plugin on AGP 9+. That guard broke every consuming app on AGP 9 with the (default) android.builtInKotlin=false, producing error: cannot find symbol / class AppSettingsPlugin in the generated plugin registrant at build time.
Root cause: Flutter's own Gradle tooling (FlutterPluginUtils.detectApplyingKotlinGradlePlugin) decides whether to auto-apply kotlin-android for a plugin subproject by regex-matching the literal apply plugin: 'kotlin-android' text in that subproject's build.gradle — it does not evaluate Groovy conditionals. So even though our runtime guard (if (!isAgp9OrAbove) { ... }) skipped applying the plugin on AGP 9, Flutter's static text-based detection still saw the line and assumed KGP was already handled, so it didn't apply it either. Net effect: nothing ever compiled this module's Kotlin source on AGP 9. Verified against a real AGP 9.0.1 / Gradle 9.1.0 project. See #270 for the original guard.BREAKING: Drop CocoaPods support for iOS and macOS. Consuming apps must build with Swift Package Manager (supported by Flutter 3.24+); remove ios/app_
ios/app_settings.podspec and macos/app_settings.podspec.AppSettingsPlugin.swift, AppSettingsEnums.swift) through the Swift Package Manager Sources layout instead of the old Classes/ CocoaPods-only source set.PrivacyInfo.xcprivacy correctly for both iOS and macOS SPM targets (the iOS Package.swift previously pointed at a resource path Xcode rejected as "unhandled").FlutterFramework package dependency to both Package.swift files, per Flutter's current Swift Package Manager plugin-authoring guidance.Podfile/Podfile.lock/Pods/ for iOS and macOS; Xcode projects now resolve plugins via Swift Package Manager only.getPlatformVersion() leftover from the original plugin template (lib/app_settings_method_channel.dart, lib/src/app_settings.dart) — it was never implemented on any platform and always threw MissingPluginException.test/app_settings_test.dart, test/app_settings_method_channel_test.dart) to exercise real openAppSettings/openAppSettingsPanel behavior instead of stale, throwing mocks.android/build.gradle kotlin_version/gradle_version to match.fix: add preconcurrency annotation in swift api
Users can request permission to install apps
Added openAppSettings() to access platform specific 'camera' settings (Only MacOS) .
Fİx for AppSettingsPlugin.swift:5:43, Attribute can only be applied to declarations, not types issue #232
Add Swift Package Manager support.
Fixed a build issue on iOS for the example app.
Add AppSettingsType.appLocale to open the app language settings (only available on Android 13 and higher).
Add AppSettingsType.appLocale to open the app language settings (only available on Android 13 and higher).
The openAppSettings() method now accepts a single settings type. This replaces the various individual methods.
BREAKING CHANGES
openAppSettings() method now accepts a single settings type. This replaces the various individual methods.callback argument has been removed. Instead, await openAppSettings().Updated the plugin to the new plugin template, using the platform interface.
Fixed a typo in the application identifier.
Bumped the Android SDK version to 33
Added the namespace property to the build.gradle for compatibility with Gradle 8
Added support for notification settings on iOS 16
Added support for Android Q Settings Panels
Relaxes the Android Bluetooth settings (Settings.ACTION_BLUETOOTH_SETTINGS) requirement. The Bluetooth permission is no longer required.
Nothing published for this version
Nothing published for this version
Added the ability to provide an optional custom callback function to openAppSettings().
openAppSettings().Increase the Dart SDK upper bound to <3.0.0
<3.0.0Added support for Flutter <=3.0.1.
Added the ability to open personal hotspot settings.
Added the ability to open the developer settings. This requires enabling the developer settings to work correctly
Migrate from jcenter() to mavenCentral()
Added Android Open Lock & Password settings.
Updated Android compileSdkVersion to 31.
Added the ability to open VPN settings.
Added the ability to open settings as a new task on Android.
Updated the plugin to support Android embedding v2 in Flutter 1.12.
Fixed a bug in openNotificationSettings for Android.
Added in NFC settings access for Android. iOS will still rely on App Settings.
Added Battery Optimization settings access for Android. iOS will still rely on App Settings.
Updated Android compileSdkVersion to 30.
Updated Gradle wrapper distribution from 4.6 -> 6.2.2
Added Internal Storage settings access for Android. iOS will still rely on App Settings.
Upgraded to Swift version: 5.0.1 - This version will only work on projects running Swift 5.0.1
Updated plugin version in .podspec.
.podspec.- Legacy Swift 4 support.
Nothing published for this version
Added Bluetooth & Data Roaming settings access for Android (more to come). iOS will still rely on App Settings.
Updated AGP and migrate to AndroidX.
AndroidX.Added openAppSettings() to access platform specific 'app' settings menu.
*iOS TIP: If using Objective-C for iOS in your project, you will need to add `use_frameworks!` to your `Runner project podfile` in order to use this S
iOS TIP: If using Objective-C for iOS in your project, you will need to add use_frameworks! to your Runner project podfile in order to use this Swift plugin:
- target 'Runner' do
use_frameworks!
Added missing podspec description.
podspec description.Ensure the plugin stays compatible with iOS8+.
Upgraded Kotlin version from: ext.kotlin_version = '1.2.71' to ext.kotlin_version = '1.3.20'
Added additional documentation.
Nothing published for this version
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 →