vpn_connection_detector 2.1.0 copy "vpn_connection_detector: ^2.1.0" to clipboard
vpn_connection_detector: ^2.1.0 copied to clipboard

VPN connection detection for Flutter with native iOS & Android support. Includes real-time status stream & one-time checks.

Changelog #

All notable changes to the vpn_connection_detector package will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Released #

2.1.0 - 2026-07-06 #

Fixed #

  • Kotlin Gradle Plugin (KGP) warning (#14, #17). Migrated Android to Flutter Built-in Kotlin: the plugin no longer applies kotlin-android textually, so newer Flutter (>= 3.44) no longer emits "plugins that apply Kotlin Gradle Plugin (KGP)". Kotlin is applied via pluginManager only when the toolchain doesn't apply it for us, so older Flutter still works.
  • checkReleaseAarMetadata / compileSdk failure (#16). androidx.core 1.18.0 requires compileSdk 36 (AGP 8.9.1+). compileSdk now resolves adaptively — 36 on AGP 8.9.1+, and 34 on older AGP (whose Flutter ships an older androidx.core) — so both new and old setups build.

Changed #

  • Replaced the deprecated kotlinOptions { jvmTarget } block with the top-level kotlin { compilerOptions { jvmTarget } } DSL.
  • Bumped the plugin's declared Android Gradle Plugin to 9.0.1 and Kotlin to 2.3.20; the example app is updated to AGP 9.0.1 / Kotlin 2.3.20 / Gradle 9.1.0.
  • Updated connectivity_plus to ^7.2.0.

Compatibility #

  • No minimum-SDK bump for consumers. Minimum stays wide (flutter: >=3.7.0, sdk: >=3.2.0, matching connectivity_plus 7.2.0). Existing users on older Flutter continue to work.

2.0.3 - 2026-04-02 #

Added #

  • Swift Package Manager (SwiftPM) support for iOS plugin - Flutter plugins now support both CocoaPods and SwiftPM simultaneously
  • Added Package.swift manifest for SwiftPM integration
  • Restructured iOS plugin to use SwiftPM directory layout (ios/vpn_connection_detector/Sources/vpn_connection_detector/)
  • Updated .gitignore to 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.2 - 2026-02-18 #

Fixed #

  • iOS App Store rejection fix: Removed NEVPNManager / NetworkExtension framework usage which requires the Network Extension entitlement (Apple Guideline 2.5.1)
  • iOS VPN detection now relies entirely on CFNetworkCopySystemProxySettings SCOPED dictionary approach, which is App Store safe and detects both system VPNs and third-party VPN apps without any special entitlements

2.0.0 - 2026-01-21 #

Added #

  • Native iOS implementation using NEVPNManager for system VPNs and CFNetworkCopySystemProxySettings SCOPED dictionary for third-party VPN apps (NordVPN, ExpressVPN, ProtonVPN, etc.) — ~95% accuracy
  • Native Android implementation using NetworkCapabilities.TRANSPORT_VPN API — ~95% accuracy
  • New getVpnInfo() method to get detailed VPN information (interface name, protocol)
  • New VpnInfo class with isConnected, interfaceName, and vpnProtocol properties
  • New currentState getter 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

1.0.11 - 2026-01-21 #

Changed #

  • Bumped package version to 1.0.11.
  • Updated dependency: connectivity_plus -> ^7.0.0.

1.0.10 - 2025-07-23 #

Fixed #

  • connectivity_plus updated to 6.1.4

1.0.9 - 2024-09-27 #

Fixed #

  • ignore false detection by mistake in iOS 17.0 and later

  • connectivity_plus updated to 6.0.5

1.0.8 - 2024-03-26 #

Fixed #

  • ignore false detection by mistake in iOS 17.0 and later

  • connectivity_plus updated to 6.0.1.

1.0.7 - 2024-03-26 #

Updated #

  • connectivity_plus updated to 6.0.1.

1.0.6 - 2023-10-17 #

Updated #

  • connectivity_plus updated to 5.0.2.

1.0.5 - 2023-10-17 #

Updated #

  • connectivity_plus updated to 5.0.1.

1.0.4 - 2023-08-21 #

Fixed #

  • Improved code.
  • Updated Documentation.

1.0.3 - 2023-08-21 #

Fixed #

  • Fixed a bug .

1.0.2 - 2023-08-21 #

Added #

  • Initial release of the vpn_connection_detector package.
  • 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.

0.1.0 - 2023-08-21 #

Added #

  • Created the project repository on GitHub.

Changed #

  • Updated the project structure.

Fixed #

  • Fixed a bug related to VPN status detection.
36
likes
160
points
9.57k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

VPN connection detection for Flutter with native iOS & Android support. Includes real-time status stream & one-time checks.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

connectivity_plus, flutter, plugin_platform_interface

More

Packages that depend on vpn_connection_detector

Packages that implement vpn_connection_detector