NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #251 most downloaded on pub.dev
Geolocation plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API for generic location (GPS etc.) functions.
Last release 7 days ago
27 Sep 2026
Release timing varies
gaps range from 2 weeks to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
135 releases · first in 2018
Resolve deprecation warnings when building for Android.
Added an example on how to access the current position of the device to the README.md (see issue #615).
One column per quarter.
Solve issue on Android which can throw a ConcurrentModificationException when accessing locations simultaneously (see issue #620).
ConcurrentModificationException when accessing locations simultaneously (see issue #620).Filter false positive notifications on Android indicating location services are not available (see issue #585).
Return LocationPermission.always when requesting permission on Android 5.1 and below (see issue #610).
LocationPermission.always when requesting permission on Android 5.1 and below (see issue #610).Deprecate the timeInterval parameter of the getPositionStream method in favor of the more semantic intervalDuration parameter.
timeInterval parameter of the getPositionStream method in favor of the more semantic intervalDuration parameter.- Fixed Dart formatting issue.
Resolved bug on Android where in some situations an IllegalArgumentException occures (see issue #590).
Improved the example app to minimize code that is not relevant, and prevent confusions.
Android: fixed issue where checkPermission reports permissions are denied when it should report permissions are deniedForever (see #571)
checkPermission reports permissions are denied when it should report permissions are deniedForever (see #571)When available return the floor on which the devices is located (see #562);
Hotfix to make sure the CLLocation.speedAccuracy property is only compiled when using Xcode 12 or higher (see #577).
CLLocation.speedAccuracy property is only compiled when using Xcode 12 or higher (see #577).Solves a bug causing less accurate location fixes (see #531).
Android: fix deprecation warning (see issue #556).
Android: throw LocationServiceDisabledException when location services are disabled while listening to the position update stream (see issue #548).
LocationServiceDisabledException when location services are disabled while listening to the position update stream (see issue #548).Wrapped all global functions to a static class, thus changing the way geolocator methods should be called. (see issue #524);
LocationServiceDisableException (see issue #519).iOS: fixed issue converting integer to LocationPermission enum;
Add the isMocked field to the Position class to indicate if the position is retrieved using the Android MockLocationProvider (see issue #498);
isMocked field to the Position class to indicate if the position is retrieved using the Android MockLocationProvider (see issue #498);IllegalArgumentException on Android when using geolocator together with Firebase Analytics (see issue #503);Make the bearingBetween and distanceBetween methods directly available from the geolocator package (see issue #496);
Android: fix crash when multiple permissions requests are make simultaneous (see issue #513).
Complete rebuild of the geolocator plugin. Please note the this version contains breaking changes. The most important changes are:
Complete rebuild of the geolocator plugin. Please note the this version contains breaking changes. The most important changes are:
InvalidPermissionException when you don't have permissions to request the position or the LocationServiceDisabledException when the location services are disabled);Upgrade to geolocator_platform_interface: 1.0.2
geolocator_platform_interface: 1.0.2Fixed a bug where on Android the geolocator handles Activity messages that don't belong to the geolocator.
Add support to force using the Android Location Manager instead of the Android FusedLocationProvider;
Fixed a typo causing a runtime exception when switching to the Android LocationManager.
Complete rebuild of the geolocator plugin. Please note the this version contains breaking changes. The most important changes are:
Complete rebuild of the geolocator plugin. Please note the this version contains breaking changes. The most important changes are:
InvalidPermissionException when you don't have permissions to request the position or the LocationServiceDisabledException when the location services are disabled).Nothing published for this version
Nothing published for this version
Nothing published for this version
Update to google_api_availability: 2.0.4
google_api_availability: 2.0.4Added unit-tests to guard for breaking API changes;
null the placemarkFromCoordinates method will now throw and ArgumentError if illegal values are returned (which should never happen).Fixes a bug where Placemark instances where not correctly converted to json (thanks to @efraimrodrigues);
Placemark instances where not correctly converted to json (thanks to @efraimrodrigues);CONTRIBUTING.md file.iOS: keep trying to get the location when a kCLErrorLocationUnknown error is received (as per Apple's documentation);
kCLErrorLocationUnknown error is received (as per Apple's documentation);Android: Fixes bug where latitude and longitude are not returned as part of the placemark (thanks to @slightfood).
Added support for Android 10’s background location permission;
Downgrade the "meta" package to version 1.7.0 since pub.dev static code analysis reports errors.
Return the heading on iOS correctly.
Added integration with public Bitrise CI project;
Added new method to calculate bearing given two points.
Updated dependency on 'meta' plugin to latest version.
Reverted the update of the 'meta' plugin as Flutter SDK depends on old version.
Change geocoding results on Android to return multiple records;
Make sure the stream channel is closed when Android activity is destroyed;
Converted the iOS version from Swift to Objective-C, reducing the size of the final binary considerably, as well as solve some compatibility issues wi
Update to latest version of the Location Permissions plugin to solve a bug when permissions are sometimes not requested.
Bug fix on Android which causing the Reply already submitted error;
Reply already submitted error;location_permission plugin to version 2.0.0.Updated to latest version of the Location Permissions plugin (1.1.0).
Overhauled the permissions system to make sure the plugin only depends on the location API. This means when using this version of the plugin Apple req
NSLocationWhenInUseUsageDescription and/ or NSLocationAlwaysUsageDescription in the Info.plist.disabled permission status. To check if the location services are running you should call the isLocationServiceEnabled method. This means you can now also request permissions when the location services are disabled.Updated dependencies on Permission Handler and Google API Availability to remove Kotlin dependency.
Removed method checkGeolocationStatus (marked deprecated in version 1.6.4);
isLocationServiceEnabled to check if location services are enabled or disabledcheckGeolocationStatus (marked deprecated in version 1.6.4);Updated to latest version of the permission_handler plugin (v2.1.2)
Updated dependencies on Permission Handler and Google API Availability plugins.
- Updated Gradle version
Bug fix where a null reference exception occurs because the timestamp of the Position could be null when fetching a Placemark using the placemarkFromA
Position could be null when fetching a Placemark using the placemarkFromAddress or placemarkFromCoordinates methods.\*_breaking_- The getPositionStream method now directly returns an instance of the Stream class, meaning there is no need to await the method before b
getPositionStream method now directly returns an instance of the Stream<Position> class, meaning there is no need to await the method before being able to access the stream;getCurrentPosition and getLastKnownPosition are now named optional parameters instead of positional optional parameters;Geolocator geolocator = Geolocator()..forceAndroidLocationManager = true;Added timestamp to instances of the Position class indicating when the GPS fix was acquired;
Position class indicating when the GPS fix was acquired;PermissionHandler to version >=2.0.0 <3.0.0.Fixed bug on Android when not supplying a locale while using the Geocoding features.
Deprecated the static method checkGeolocationStatus in favor of the instance method checkGeolocationPermissionStatus (the static version will be remov…
placemarkFromAddress and placemarkFromCoordinates methods.checkGeolocationStatus in favor of the instance method checkGeolocationPermissionStatus (the static version will be removed in version 2.0 of the Geolocator plugin).Added feature to check the availability of Google Play services on the device (using the checkGooglePlayServicesAvailability method). This will allow
checkGooglePlayServicesAvailability method). This will allow developers to implement a more user friendly experience regarding the usage of Google Play services (for more information see the article Set Up Google Play Services);'List<dynamic>' is not a subtype of type 'Future<dynamic>' on Flutter 0.6.2 and higher (thanks @fawadkhanucp for reporting the issue and solution);getCurrentPosition, getPositionStream, placemarkFromAddress and placemarkFromCoordinates from an Android background service (thanks @sestegra for reporting the issue and creating a pull-request).Hot fix to solve cast exception
Your coding agent can read these notes before it upgrades. Set up the MCP server →