vpn_connection_detector
VPN connection detection for Flutter with native iOS & Android support. Includes real-time status stream & one-time checks.
2.1.0
9.8K downloads/mo
#2972 most downloaded on pub.dev
bazl-E/vpn_connection_detector
What this package is like to depend on
Last release 1 months ago
06 Jul 2026
Release timing varies
gaps range from 4 weeks to 10 months
Most releases are documented
notes for 14 of 17 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
17 releases · first in 2023
6 releases in the last 12 months
see the full history below
Release timeline
17 releases · Aug 2023 to Jul 2026Releases
latest 17-
2.1.006 Jul 2026Release notes
Open source →Fixed
- Kotlin Gradle Plugin (KGP) warning (#14, #17). Migrated Android to Flutter Built-in Kotlin: the plugin no longer applies
kotlin-androidtextually, so newer Flutter (>= 3.44) no longer emits "plugins that apply Kotlin Gradle Plugin (KGP)". Kotlin is applied viapluginManageronly when the toolchain doesn't apply it for us, so older Flutter still works. checkReleaseAarMetadata/compileSdkfailure (#16).androidx.core1.18.0 requirescompileSdk 36(AGP 8.9.1+).compileSdknow resolves adaptively — 36 on AGP 8.9.1+, and 34 on older AGP (whose Flutter ships an olderandroidx.core) — so both new and old setups build.
Changed
- Replaced the deprecated
kotlinOptions { jvmTarget }block with the top-levelkotlin { compilerOptions { jvmTarget } }DSL. - Bumped the plugin's declared Android Gradle Plugin to
9.0.1and Kotlin to2.3.20; the example app is updated to AGP 9.0.1 / Kotlin 2.3.20 / Gradle 9.1.0. - Updated
connectivity_plusto^7.2.0.
Compatibility
- No minimum-SDK bump for consumers. Minimum stays wide (
flutter: >=3.7.0,sdk: >=3.2.0, matchingconnectivity_plus 7.2.0). Existing users on older Flutter continue to work.
- Kotlin Gradle Plugin (KGP) warning (#14, #17). Migrated Android to Flutter Built-in Kotlin: the plugin no longer applies
-
2.0.330 Apr 2026Release notes
Open source →Added
- Swift Package Manager (SwiftPM) support for iOS plugin - Flutter plugins now support both CocoaPods and SwiftPM simultaneously
- Added
Package.swiftmanifest for SwiftPM integration - Restructured iOS plugin to use SwiftPM directory layout (
ios/vpn_connection_detector/Sources/vpn_connection_detector/) - Updated
.gitignoreto exclude SwiftPM build artifacts (.build/,.swiftpm/)
Changed
- Updated iOS podspec to reference new Swift source file location
- Maintained full backwards compatibility with existing CocoaPods installations
-
2.0.218 Feb 2026Release notes
Open source →Fixed
- iOS App Store rejection fix: Removed
NEVPNManager/NetworkExtensionframework usage which requires the Network Extension entitlement (Apple Guideline 2.5.1) - iOS VPN detection now relies entirely on
CFNetworkCopySystemProxySettingsSCOPED dictionary approach, which is App Store safe and detects both system VPNs and third-party VPN apps without any special entitlements
- iOS App Store rejection fix: Removed
-
2.0.122 Jan 2026Nothing published for this version
-
2.0.021 Jan 2026Release notes
Open source →Added
- Native iOS implementation using
NEVPNManagerfor system VPNs andCFNetworkCopySystemProxySettingsSCOPED dictionary for third-party VPN apps (NordVPN, ExpressVPN, ProtonVPN, etc.) — ~95% accuracy - Native Android implementation using
NetworkCapabilities.TRANSPORT_VPNAPI — ~95% accuracy - New
getVpnInfo()method to get detailed VPN information (interface name, protocol) - New
VpnInfoclass withisConnected,interfaceName, andvpnProtocolproperties - New
currentStategetter for accessing cached VPN state - Platform interface architecture for better maintainability
- Dart fallback for desktop platforms (macOS, Windows, Linux)
- Real-time VPN status monitoring with
NWPathMonitor(iOS) and network callbacks (Android) - Comprehensive unit tests
Changed
- Singleton now properly resets after
dispose()is called - Stream now emits initial state immediately on subscription
- Improved VPN interface pattern matching with more VPN types (NordVPN, ProtonVPN, Tailscale, etc.)
- Updated minimum iOS version to 12.0
- Updated minimum Android SDK to 21
Removed
- Web platform support (VPN detection is not possible in browsers)
Fixed
- Fixed singleton not being recreatable after dispose
- Fixed stream not emitting initial state
- Native iOS implementation using
-
1.0.1121 Jan 2026Release notes
Open source →Changed
- Bumped package version to
1.0.11. - Updated dependency:
connectivity_plus->^7.0.0.
- Bumped package version to
-
1.0.1023 Jul 2025 -
1.0.927 Sep 2024Release notes
Open source →Fixed
-
ignore false detection by mistake in iOS 17.0 and later
-
connectivity_plus updated to 6.0.5
-
-
1.0.827 Sep 2024Release notes
Open source →Fixed
-
ignore false detection by mistake in iOS 17.0 and later
-
connectivity_plus updated to 6.0.1.
-
-
1.0.725 Mar 2024 -
1.0.612 Feb 2024 -
1.0.517 Oct 2023 -
1.0.427 Aug 2023 -
1.0.322 Aug 2023 -
1.0.221 Aug 2023Release notes
Open source →Added
- Initial release of the
vpn_connection_detectorpackage. - Detects VPN connection status.
- Detects changes in VPN connectivity.
- Allows custom time intervals for checking VPN status.
- Designed as a singleton for efficient resource management.
- Initial release of the
-
1.0.121 Aug 2023Nothing published for this version
-
1.0.021 Aug 2023Nothing published for this version