Subscribe to these release notes.
This page is updated with each new release of the Places SDK for Android. The changelog lists the releases by date and includes any new features, bug fixes and significant performance improvements.
Consult the getting-started guide for information on how to download the Places SDK for Android and set up your development environment.
March 31, 2022 - v2.6.0
To ensure accurate results from the
Place.isOpen()method, request the
Place.Field.BUSINESS_STATUSfield and the
Place.Field.UTC_OFFSETfield in your original place request. If the returned
Place.Field.BUSINESS_STATUSwith a value of
Place.Field.BUSINESS_STATUSwas not requested or is unavailable,
Places.isOpen()assumes that the business is operational.
Places SDK for Android Version 2.6.0 is the last version that supports the equivalent Places SDK for Android compatibility library. If you are using the compatibility library to access Places SDK for Android features or data, we recommend that you follow the migration guide to use the Places SDK for Android directly before the release of Places SDK for Android Version 2.7.0. The compatibility library will not be supported above Version 2.6.0.
October 18, 2021 - Freezing support for API Level 23, 24 and 25
In response to changes in our internal dependencies, Android API Level 23, 24, and 25 (Android 6, 7.0 and 7.1) will not be supported in new versions of the Places SDK for Android beginning in the third quarter of 2022.
Places SDK for Android versions released beginning in the third quarter of 2022 will only support devices running a minimum of Android API Level 26.
App versions built with v2.x or lower of the Places SDK for Android will continue to work on devices running Android API Level 25 and below.
Be sure to specify a version in your application's build dependencies in order to control when you raise the minimum supported OS for new versions of your app.
October 14, 2021 - v2.5.0
- Added new Place fields
iconURL) to allow for rendering icons that indicate the place (POI) type.
@RecentlyNullableannotations. This change will cause warnings on null safety violations, and provides better Kotlin interoperability and better static null checking for apps that use Java null checking frameworks.
- Autocomplete widgets now have debouncing when typing quickly.
- Volley dependency updated to 1.2.1 in observation of the sunset of JCenter.
- Fixed a bug where the Autocomplete widget was resetting the text query in some cases.
September 16, 2020 - v2.4.0
- Added getters to request builders and model builders, for better Kotlin interoperability.
- Fixes an issue where the autocomplete search box would unexpectedly clear.
May 26, 2020 - v2.3.0
April 21, 2020 - Plus code support in Place Autocomplete
- Place Autocomplete now supports plus codes. This change is supported for all versions.
February 3, 2020 - v.2.2.0
- Place Autocomplete response now returns the distance in meters from each supported prediction, based on the specified origin (LatLng) in programmatic predictions requests. See the blog post to learn more about this enhancement.
- Place Autocomplete now supports filtering by multiple countries (up to five).
November 4, 2019 - v.2.1.0
- Added ability to create
AutocompleteSupportFragmentprogrammatically with a static newInstance method.
AutocompleteSupportFragment.newInstancereturns a new autocomplete fragment with default config.
AutocompleteSupportFragmentsetters now return the instance so the setters can be chained in a builder-like fashion.
- Resolved issue where empty
AddressComponenttypes incorrectly threw
IllegalStateException. Some address components legitimately have no types.
- Resolved issue where the autocomplete widget would lose its state on configuration change, for example, from portrait to landscape layout.
- Resolved issue where findCurrentPlace may crash when there are too many access points nearby.
- Our dependency on
FragmentFactoryis implemented by AndroidX, but our javadocs believe it is implemented by the Support Libraries.
July 17, 2019 - v.2.0.0
- Adds two new methods to
Place.getUtcOffsetMinutes()returns the UTC offset for a place, in minutes.
Place.isOpen(long utcTimeMillis)return a boolean indicating whether the place is currently open.
Autcomplete.IntentBuilder.setHint(String hint)to allow changing the hint text for the search box.
- Autocomplete API behavior has changed: All leading whitespace will be removed, and trailing whitespace will be replaced with a single space. This helps to conserve on network requests by using previously cached responses when user types in extra whitespace (e.g “Google ”).
- Dependency on Glide has been removed, resulting in a smaller APK size.
April 1, 2019 - v.1.1.0
- minSDKVersion is increased from 14 to 16.
- Added support for
AddressComponentsto the Place object (with the exception of
- Improved model class validation (e.g
OpeningHours.getWeekdayText()may not contain empty or null values).
- Removed Maven dependency on Guava resulting in reduced app size.
- Resolved proguard issue that caused
AutocompletePrediction.builder.setPlaceTypes()to be stripped from the AAR, and
Place.Builder.autoBuild()to not be stripped from the AAR.
- The AutocompleteActivity editText has been updated to manually request focus (required on API level 28).
- Made all collections in models classes immutable.
- Added support for restoring
AutocompleteActivitystate on config changes.
January 29, 2019 - v.1.0
- The Places SDK for Android is now distributed via a standalone static library, to enable more frequent updates and quicker bug fixes.
- Added a compatibility library to help with migration from the previous Android library, to the new and improved library.
- Added the ability to programmatically set/replace API keys.
- Added support for cancelling requests.
- Added support for using fields to enable specifying the types of place data to return.
- The Place object can now return the total number of reviews for each place.
- The Place object now returns business opening hours.
- Added support for Plus codes. Plus codes are short codes that provide an address for every location in the world, even in areas where traditional street addresses don't exist.
- Place autocomplete now supports session-based billing.
June 14, 2018
- Enabled the new basemap style for the Place Picker. This applies to all versions of the Places SDK for Android. See the blog post for more information about the new style.
September 2016 - v.9.6
- Added the
setCountrymethod to restrict the scope of a Places autocomplete request to a single country.
- Bug fixes and improvements to the Place Picker and Autocomplete Widget.
August 2016 - v.9.4
- The Places API now includes a redesigned Place Picker UI that implements the principles of material design.
December 17, 2015
- This release adds the autocomplete widget, a search dialog with built-in autocomplete functionality. As a user enters search terms, the widget presents a list of predicted places to choose from. Autocomplete functionality has also been added to the place picker.
September 24, 2015
This release adds three new methods to
AutocompletePrediction, giving you easy access to the primary and secondary parts of the place description as well as the full text of the description. This is useful, for example, when you want to display a short title followed by further detail about the place. See the sample code on GitHub. The new methods are as follows:
getFullText(CharacterStyle matchStyle)returns the full text of a place description. This is a combination of the primary and secondary text. Example: "Eiffel Tower, Avenue Anatole France, Paris, France". This method is equivalent to the existing
getDescription()method. In addition, it lets you highlight the sections of the description that match the search with a style of your choice, using
CharacterStyleparameter is optional. Set it to null if you don't need any highlighting.
getPrimaryText(CharacterStyle matchStyle)returns the main text describing a place. This is usually the name of the place. Examples: "Eiffel Tower", and "123 Pitt Street".
getSecondaryText(CharacterStyle matchStyle)returns the subsidiary text of a place description. This is useful, for example, as a second line when showing autocomplete predictions. Examples: "Avenue Anatole France, Paris, France", and "Sydney, New South Wales".
Accompanying the above improvement, the following methods on
AutocompletePrediction, are now deprecated:
getDescription()is now deprecated. Please use
getSecondaryText()to retrieve the full or partial description,
getMatchedSubstrings()is now deprecated. Please use
getFullText()to format matches more easily.
The upcoming release of Android (Android M) introduces a new model for handling permissions, which streamlines the process for users when they install and upgrade apps. Provided you're using version 8.1 or later of Google Play services, you can configure your app to target the Android M SDK and use the new permissions model. To learn more, see Working with System Permissions.
August 13, 2015
- Added support for retrieving and displaying Place Photos.
April 28, 2015
- Added a
PlaceBuffer. You now need to display third-party attributions if your app uses a
PlaceBufferby calling get place by ID. See the attributions guide for details.
This is the first release of the Places SDK for Android, included as part of the Google Play services SDK.
Help your customers explore where they are and what’s around them:
- Use the built-in place picker UI widget, allowing users to select a place on an interactive map.
- Get the current place, that is, the place where the device is last known to be located.
- Retrieve and display rich information about a place.
- Make it easy to enter place names and addresses, by autocompleting your users' queries as they type.
- Add a place to Google's Places database, for retrieval immediately from within your own app and for visibility to other apps after moderation.
- Improve the map around you by reporting the presence of a device at a particular place.
- Store the unique place ID for one or more places, and use the ID to retrieve place information on demand.