- Various bug fixes in dependencies.
- Search Native SDK
2.20.0 - Common SDK
24.20.0 - Maps SDK
11.20.0
- Various bug fixes in dependencies.
- Search Native SDK
2.20.0-rc.1 - Common SDK
24.20.0-rc.1 - Maps SDK
11.20.0-rc.1
- Search Native SDK
2.19.1 - Common SDK
24.19.1 - Maps SDK
11.19.1
- Various bug fixes in dependencies.
- Search Native SDK
2.19.0 - Common SDK
24.19.0 - Maps SDK
11.19.0
- Search Native SDK
2.19.0-rc.1 - Common SDK
24.19.0-rc.1 - Maps SDK
11.19.0-rc.1
- Search Native SDK
2.19.0-beta.1 - Common SDK
24.19.0-beta.1 - Maps SDK
11.19.0-beta.1
- Search Native SDK
2.18.2 - Common SDK
24.18.2 - Maps SDK
11.18.2
- Added category IDs to offline search results when included in tiles
- Search Native SDK
2.18.1 - Common SDK
24.18.1 - Maps SDK
11.18.1
- Restore fallback tileset selection when selectTileset is not called.
- Search Native SDK
2.18.0 - Common SDK
24.18.0 - Maps SDK
11.18.0
- Various bugfixes and improvements.
- Search Native SDK
2.18.0-beta.1 - Common SDK
24.18.0-beta.1 - Maps SDK
11.18.0-beta.1
- Search Native SDK
2.17.2 - Common SDK
24.17.2 - Maps SDK
11.17.2
- Search Native SDK
2.17.1 - Common SDK
24.17.1 - Maps SDK
11.17.1
- Added postcode in offline search results. Availability depends on dataset.
- Search Native SDK
2.17.0 - Common SDK
24.17.0 - Maps SDK
11.17.0
- Various bug fixes and improvements.
- Search Native SDK
2.17.0-rc.1 - Common SDK
24.17.0-rc.1 - Maps SDK
11.17.0-rc.1
- Various bug fixes and improvements.
- Search Native SDK
2.17.0-beta.1 - Common SDK
24.17.0-beta.1 - Maps SDK
11.17.0-beta.1
- Search Native SDK
2.16.4 - Common SDK
24.16.4 - Maps SDK
11.16.4
- Search Native SDK
2.16.3 - Common SDK
24.16.3 - Maps SDK
11.16.3
- Search Native SDK
2.16.2 - Common SDK
24.16.2 - Maps SDK
11.16.2
- Fix data race by serializing tile update and offline search tasks
- Search Native SDK
2.16.1 - Common SDK
24.16.2 - Maps SDK
11.16.1
- Search Native SDK
2.16.0 - Common SDK
24.16.0 - Maps SDK
11.16.0
- Fixed an issue where results were sometimes empty when bounding box was provided but proximity was not set
- Ignore invalid place types in offline search to prevent broken addresses
- Search Native SDK
2.16.0-rc.1 - Common SDK
24.16.0-rc.1 - Maps SDK
11.16.0-rc.1
- Fixed an issue where results were sometimes empty when bounding box was provided but proximity was not set.
- Ignore invalid place types in offline search to prevent broken addresses.
- Search Native SDK
324.16.0-beta.1 - Common SDK
24.16.0-beta.1 - Maps SDK
11.16.0-beta.1
- Added serialization of the
SearchResultMetadata.ratingvalue for theHistoryRecord.
- Search Native SDK
2.15.0 - Common SDK
24.15.0 - Maps SDK
11.15.0
- Added the
NewSearchResultTypeclass with predefined string constants for search results, replacing theSearchResultTypeenum. Unlike the old enum,NewSearchResultTypeintroduces a new value,UNKNOWN, which is used when a search result’s type is not included in the predefined constants. - If an object has a type not listed in the
SearchResultType, its type would fall back toSearchResultType.DEFAULT. With the new implementation, you should useNewSearchResultTypeto determine the actual type of a search result. - Updated classes:
SearchResult,SearchSuggestionType,IndexableRecord,HistoryRecord,FavoriteRecord, andSearchPlace:- Deprecated properties and constructors using
SearchResultTypeenum. - Added new properties and constructors using
NewSearchResultTypefor better type handling.
- Deprecated properties and constructors using
- Fixed a crash that could happen when backend returned incorrect metadata.
- Search Native SDK
2.15.0-rc.1 - Common SDK
24.15.0-rc.1 - Maps SDK
11.15.0-rc.1
- Added new field
SearchResultMetadata.parkingType- the type of parking at the POI. - Added new fields for the
SearchAddresstype -regionInfoandcountryInfowhich provide additional address information like region and country ISO codes.
- Search Native SDK
2.15.0-beta.2 - Common SDK
24.15.0-beta.2 - Maps SDK
11.15.0-beta.2
- Fixed a crash that could happen in some cases during offline search.
- Search Native SDK
2.14.1 - Common SDK
24.14.1 - Maps SDK
11.14.1
- Fixed an issue with empty in some cases
PlaceAutocompleteSuggestion.formattedAddressfield.
- Search Native SDK
2.14.0 - Common SDK
24.14.0 - Maps SDK
11.14.0
- Added support for brand search via
SearchEngine.brandSearch(). Note that the Brand API is available only to selected customers. Please contact our sales team for access.
- Search Native SDK
2.14.0-rc.1 - Common SDK
24.14.0-rc.1 - Maps SDK
11.14.0-rc.1
- Type
com.mapbox.search.common.ParkingRestrictionhas been moved tocom.mapbox.search.common.parking.ParkingRestriction - Type
com.mapbox.search.common.ParkingTypehas been moved tocom.mapbox.search.common.parking.ParkingType
- Extended list of supported
com.mapbox.search.common.parking.ParkingRestrictionandcom.mapbox.search.common.parking.ParkingType. - Added experimental support for parking metadata, both online and offline, see
SearchResultMetadata.parkingInfoandOfflineSearchResultMetadata.parkingInfo.
- Search Native SDK
2.14.0-beta.1 - Common SDK
24.14.0-beta.1 - Maps SDK
11.14.0-beta.1
- Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add
-ndk27suffix to the artifact name, for example,com.mapbox.search:mapbox-search-android->com.mapbox.search:mapbox-search-android-ndk27.
- Search Native SDK
2.14.0-alpha.2 - Common SDK
24.14.0-alpha.2 - Maps SDK
11.14.0-alpha.2
- Search Native SDK
2.13.1 - Common SDK
24.13.1 - Maps SDK
11.13.1
- Search Native SDK
2.13.0 - Common SDK
24.13.0 - Maps SDK
11.13.0
- Search Native SDK
2.13.0-rc.1 - Common SDK
24.13.0-rc.1 - Maps SDK
11.13.0-rc.1
- Search Native SDK
2.13.0-beta.1 - Common SDK
24.13.0-beta.1
- Added support for retrieving multiple search results at once in the
DetailsApi. - Added new properties
PlaceAutocompleteSuggestion.categoryIds,PlaceAutocompleteResult.categoryIds, andPlaceAutocompleteResult.boundingBox.
- Search Native SDK
2.12.0 - Common SDK
24.12.0
- Search Native SDK
2.12.0-rc.1 - Common SDK
24.12.0-rc.1
- Added new properties
SearchSuggestion.categoryIdsandSearchResult.categoryIdsthat return canonical POI category IDs.
- Search Native SDK
2.12.0-beta.1 - Common SDK
24.12.0-beta.1
- Added an optional property
SearchResult.boundingBoxwhich represents the geographical boundaries of a location. - Introduced a dedicated function for category search:
OfflineSearchEngine.categorySearch(). This function can accept multiple categories. Besides thatOfflineCategorySearchOptionshas a new optionensureResultsPerCategory. See documentation for more information. - Added a new option
OfflineEvSearchOptions.excludeOperatorswhich allows to exclude specific operators from search results.
- Search Native SDK
2.9.0 - Common SDK
24.11.0
- Added support for the offline search in Taiwan.
- Search Native SDK
2.9.0-rc.1 - Common SDK
24.11.0-rc.1
- Added new property
SearchResultMetadata.cuisineswhich returns a list of cuisines served if metadata belongs to a food-serving POI. - Added new function
OfflineSearchEngine.selectTileset(TilesetParameters)which allows to select tileset with specified parameters, including language and worldview.
- Search along route functionality in offline has been improved.
OfflineSearchEngine.createTilesetDescriptor(String, String, IsoLanguageCode, IsoCountryCode)has been replaced withOfflineSearchEngine.createTilesetDescriptor(TilesetParameters).OfflineSearchEngine.createPlacesTilesetDescriptor(String, String, IsoLanguageCode, IsoCountryCode)has been replaced withOfflineSearchEngine.createPlacesTilesetDescriptor(TilesetParameters).
- Search Native SDK
2.9.0-beta.1 - Common SDK
24.11.0-beta.1
OfflineSearchResultcan now be of a POI type.OfflineSearchResultTypehas been deprecated, along with theOfflineSearchResult.typeproperty. UseOfflineSearchResult.newTypeinstead.OfflineSearchEngine.searchAlongRoute(String, Point, List<Point>, OfflineSearchCallback)has been deprecated. Use an overloaded function that acceptsOfflineSearchAlongRouteOptionsas a parameter instead.
- Properties
EvConnector.id,EVSE.uidare nullable now. - Property
EvLocation.imageshas been removed. - Now
OfflineSearchAlongRouteOptionsdoesn't acceptproximityas a parameter, search will be performed along the whole route.
- Search Native SDK
2.8.0 - Common SDK
24.10.0
- Added new type
OfflineSearchAlongRouteOptionsthat acceptsOfflineEvSearchOptionsand allows to search for EV stations along the route.
- Search along route functionality in offline has been improved.
- Search Native SDK
2.8.0-rc.1 - Common SDK
24.10.0-rc.1
- Added experimental support for the EV search in offline, see
OfflineSearchOptions.evSearchOptionsandOfflineSearchResult.metadata. - Added experimental support for worldviews. Note that only selected worldviews are supported. To specify worldview, create Tileset Descriptor with required language and worldview, for example,
OfflineSearchEngine.createTilesetDescriptor(language = IsoLanguageCode.ENGLISH, worldview = IsoCountryCode.MOROCCO).
- Annotation
ExperimentalMapboxSearchAPIhas been replaced with Mapbox common annotationMapboxExperimental.
OfflineSearchEngine.OnIndexChangeListeneris not called when expected. Workaround is to listen forTileStore.loadTileRegiononFinishevent and allow some time (few seconds) for theOfflineSearchEngineto initialize the downloaded tiles.
- Search Native SDK
2.8.0-rc.1 - Common SDK
24.10.0-rc.1
- New property
SearchSuggestion.namePreferredis available. It provides the official name of the suggestion.
- Fixed
SearchResult.etaMinutesparsing for the Search Box api type.
SearchOptions.routeOptionshas been deprecated as not supported for the forward geocoding.
- Search Native SDK
2.8.0-beta.2 - Common SDK
24.10.0-beta.2
- New option
ForwardSearchOptions.attributeSetsis available. It allows to request additional metadata attributes besides the basic ones.
- Search Native SDK
2.7.0 - Common SDK
24.9.0
- New option
CategorySearchOptions.attributeSetsis available. It allows to request additional metadata attributes besides the basic ones.
- Search Native SDK
2.7.0 - Common SDK
24.9.0
- Added new function to search for multiple categories, e.g.,
SearchEngine.search(listOf("coffee_shop", "hotel"), ...), - New option
CategorySearchOptions.ensureResultsPerCategoryis available. It allows to request category search results to include at least one POI for each category, provided a POI is available in a nearby location.
- Fixed photos metadata parsing for the
ApiType.SEARCH_BOX.
- Search Native SDK
2.7.0-rc.1 - Common SDK
24.9.0-rc.1
- New option
OfflineSearchOptions.searchPlacesOutsideBoundingBoxis available. It allows to search for places outside of the bounding box, ifboundingBoxoption is specified.
- Search Native SDK
2.7.0-beta.1 - Common SDK
24.9.0-beta.1
- Now
SearchSuggestiontype provides new properties -coordinateandroutablePoints. This is a restricted API, available for selected customers only. Contact our team, if you're interested in this API. - Now
SearchEngineprovides new functionSearchEngine#forward()to make an one-off search request to get a list of search results with coordinates and metadata. See https://docs.mapbox.com/api/search/search-box/#search-request for more information.
- Fixed
AnalyticsService#sendFeedback()function which couldn't sent feedback event forSearch Boxapi responses.
- Search Native SDK
2.6.2 - Common SDK
24.8.0
- Added experimental Details API that provides access to POI metadata, boundary details, addresses and places. See
DetailsApitype.
- Fixed
OpenHoursparsing for the Search Box Api type.
- Search Native SDK
2.6.2 - Common SDK
24.8.0
- Search Native SDK
2.6.0 - Common SDK
24.8.0
- The
SearchEngine.createSearchEngine()andSearchEngine.createSearchEngineWithBuiltInDataProviders()functions, which do not acceptApiTypeas a parameter, have been deprecated. Please use functions that explicitly accept anApiTypeinstead. - The
SearchEngine.select()function, which allows selecting multiple suggestions, has been deprecated. From now on, you should select only one search suggestion at a time. - The
ApiType.SBShas been deprecated. Please use otherApiTypevalues that better suit your use case. - The
PlaceAutocomplete.create(LocationProvider?, ApiType)function has been deprecated. Please use the function with the default api type.
- Search Native SDK
2.6.0-rc.1 - Common SDK
24.8.0-rc.1
- Search Native SDK
v2.6.0-beta.2 - Common SDK
v24.8.0-beta.1
- Passing
languageparameter on subsequentretrievecalls for SearchBox
- Search Native SDK
v2.5.1
- Fixed a copy and paste issue in the documentation for the
OfflineSearchEngine.retrievemethod
- Search Native SDK
v2.5.0 - Common SDK
v24.7.0
- Adding a
toBuildermethod toSearchResultMetadataclass
- Search Native SDK
v2.5.0-rc.2 - Common SDK
v24.7.0-rc.1
- Adding Builder class to
SearchResultMetadataclass - Adding
CompletionCallback<Unit>to theAnalyticsServicemethods
- Search Native SDK
v2.5.0-beta.1 - Common SDK
v24.7.0-beta.1
- Introduced aliases translations and other improvements for offline category search
- This version of search-sdk is not binary compatible with old index and vice versa, old search-sdk is not compatible with new index
- Deprecating
avRatingfield - Error handling for old datasets loading
- Upgrading MapboxCommon to v24.7.0-beta.1
- Search Native SDK
2.3.0
- Aligning
SearchOptionsto Search Native SDK - Adding
List<AttributeSet>toSelectOptionsto support retrieving distinct attribute sets on SEARCH_BOX retrieve calls
- Search Native SDK
2.3.0-rc.3 - Common SDK
v24.6.0
- Updating to the version of Common SDK
v24.6.0-rc.1
- Common SDK
v24.6.0-rc.1
- Adding support for
AttributeSets when performing a retrieve - Adding additional fields to
SearchResultMetaData
- Search Native SDK
2.3.0-rc.4 - Common SDK
v24.6.0-rc1
- Search Native SDK
v2.2.1 - Common SDK
v24.5.0
- Performance improvements for short queries for offline search
- Search Native SDK
v2.2.0 - Common SDK
v24.5.0
- Updating SDK Intitialization
- Adding Debouncing to Sample Application
- feat(sample): loading offline tiles for sample activity
- fix(sample): Adding cleanup to the debouncer
- Search Native SDK
v2.2.0-rc.1 - Common SDK
v24.5.0-rc.1
- Search Native SDK
v2.2.0-beta.1 - Common SDK
v24.5.0-beta.4
- Fixes #197 clicking a "Recent Search" that is a favorite doesn't show as a favorite in the
SearchPlaceBottomSheetView
- Adding support for ApiType.SEARCH_BOX
- Search Native SDK
v2.1.0 - Common SDK
v24.4.0
- Adding support for
ApiType.SEARCH_BOX
- Search Native SDK
2.1.0 - Common SDK
24.4.0
- Location observer timeout can be configured now
- Updated default sample activity to default to
ApiType.SBS - Fixed a synchronization issue in
OfflineSearchAlongRouteExampleActivity - Fixed a bug in the default sample activity that crashed the activity when clicking on the map
- [Online search] Add method to retrieve a POI by Mapbox ID
- [Offline search] Add optional
languageparameter to OfflineSearchEngine.createTilesetDescriptor and OfflineSearchEngine.createPlacesTilesetDescriptor functions. - [UI] Added supports to select a single map feature to support map click events
- [CORE] Undo renaming of all Discover-related terms to Category
- [Address Autofill, Place Autocomplete] Added a separate function
reversefor coordinate-based searches.
- [Offline search] Offline Search Along Route
- [Offline search] Added bounding box filter for offline search functions
- [CORE] Added a new field called
mapboxIdtoBaseSearchResult,SearchResult,CategoryResultandOfflineSearchResult - [Address Autofill, Place Autocomplete] Added new fields called
idandmapboxIdtoAddressAutofillResultandPlaceAutocompleteResult
- [CORE] Access token needs to be assigned via
MapboxOptions.accessTokennow - [CORE] Renamed all Discover-related terms to Category
- [Address Autofill, Place Autocomplete] Search is now a two-step action. It returns
Suggestions(without the geo coordinate and routable points) at the first step andResult(with the geo coordinate and routable points) after the suggestion is selected. Thus, thecoordinatefield is no longer available inSuggestion.
- Search Native SDK
2.0.0-alpha.13 - Common SDK
24.0.0 - Maps SDK
11.0.0 - Kotlin
1.7.20
- [AUTOFILL] Improved
AddressAutofillsearch output.
- [CORE] Fixed empty
SearchSuggestionType.Brand.brandNameandSearchSuggestionType.Brand.brandId. - [UI] Fixed a crash that could happen in
SearchEngineUiAdapterwhen network connectivity status change.
- Search Native SDK
0.72.0 - Common SDK
23.7.0 - Kotlin
1.5.31
- [ALL] Fixed street name capitalization for names with numbers.
- [ALL] Fixed indexable records matching where a record with lower cased street wasn't matched correctly.
- Search Native SDK
0.71.0 - Common SDK
23.6.0 - Kotlin
1.5.31
- [CORE]
SearchSuggestionType.IndexableRecordItem.typefield has been replaced withrecordfield which providesIndexableRecordinstance.
- [CORE] Now search suggestions and search results that are matched with
IndexableRecords provide data from the backend which is likely to be up-to-date than data fromIndexableRecord. OriginalIndexableRecordinstance can be obtained fromSearchSuggestionType.IndexableRecordItem.recordandSearchResult.indexableRecord. - [ALL] Fixed an issue where SBS backend doesn't always capitilized street names for POI results.
- [ALL] Fixed an issue where some POI results from SBS backend were missing "Ave/St/Avenue/Street" words in street names.
- Search Native SDK
0.70.0 - Common SDK
23.6.0 - Kotlin
1.5.31
- [CORE] Now
SearchSuggestionmight return suggestions with typeSearchSuggestionType.Brand.
- [CORE] Function
SearchSelectionCallback.onCategoryResult()has been renamed toonResults(). Now this function is called when brand search suggestion is resolved. - [UI] Similarly, function
SearchEngineUiAdapter.onCategoryResultsShown()has been renamed toonSearchResultsShown().
- [ALL] Fixed an issue with truncated formatted address.
- [ALL] Fixed an issue with excessive normalization of category names in request's url.
- Search Native SDK
0.69.0 - Common SDK
23.6.0-rc.1 - Kotlin
1.5.31
- [Place Autocomplete] Now
PlaceAutocompleteSuggestionandPlaceAutocompleteResultprovide new propertyetaMinutes. - [Place Autocomplete] Now
PlaceAutocompleteOptionsaccepts an additional parameternavigationProfilethat determines how the distance and time of arrival (ETA) will be calculated.
- [CORE]
SearchNavigationProfiletype has been renamed toNavigationProfileand moved tocom.mapbox.search.commonpackage. - [Address Autofill]
AddressAutofillSuggestion.result()function has been removed. UseAddressAutofill.select(AddressAutofillSuggestion)instead. Note that developers must call this function when user selects a search suggestion in the UI.
- [Place Autocomplete] Fixed a bug with missing
PlaceAutocompleteSuggestion.distanceMeters.
- Search Native SDK
0.68.0 - Common SDK
23.3.1 - Kotlin
1.5.31
- [Place Autocomplete] Now
PlaceAutocompleteSuggestionprovides additional propertyPlaceAutocompleteSuggestion.routablePoints.
- [Place Autocomplete]
PlaceAutocompleteSuggestion.result()function has been removed. UsePlaceAutocomplete.select(PlaceAutocompleteSuggestion)instead. Note that developers must call this function when user selects a search suggestion in the UI.
- Search Native SDK
0.68.0 - Common SDK
23.3.1 - Kotlin
1.5.31
- [CORE] Partially fixed a bug when indexable records couldn't be matched with corresponding search results which caused duplicated search results.
- [UI] Fixed a crash in
SearchEngineUiAdapterthat could happen during history records removing.
- Search Native SDK
0.67.2 - Common SDK
23.3.1 - Kotlin
1.5.31
- [CORE] Deprecated functions
AnalyticsService.createRawFeedbackEvent()have been removed.
- Search Native SDK
0.67.1 - Common SDK
23.3.1 - Kotlin
1.5.31
- [CORE] Now
SearchSuggestionandSearchResulttypes provide a new fieldfullAddresswhich contains formatted text address from backend. - [DISCOVER] Now
DiscoverSDK provides callback-based alternatives for Kotlin suspend functions. - [DISCOVER] Now
DiscoverResultprovides a new fieldformattedAddress. - [PLACE AUTOCOMPLETE] Place Autocomplete SDK is available now. See docs for more information.
- [UI]
PlaceAutocompleteUiAdaptertype is available. It's a helper class for connectingPlace Autocomple SDKwith theSearchResultsView. - [UI] A new
SearchPlace.createFromPlaceAutocompleteResult()function is available.
- [CORE]
com.mapbox.search.CompletionCallbackhas been moved tocom.mapbox.search.common.CompletionCallback. - [CORE]
com.mapbox.search.ImageInfohas been moved tocom.mapbox.search.common.metadata.ImageInfo.
- [CORE] Fixed
SearchSuggestion.nameandSearchResult.nameformatting for address types. - [AUTOFILL] Fixed address formatting for
AddressAutofillSuggestion.formattedAddress.
- Search Native SDK
0.67.1 - Common SDK
23.3.1 - Kotlin
1.5.31
- [UI] Now
SearchResultsViewwill usemapboxSearchSdkBackgroundColoras a background color if background is not specified explicitly.
- [Discover]
Discover APIhas been renamed toDiscover. Also,DiscoverApiAddress,DiscoverApiOptions,DiscoverApiQuery,DiscoverApiResulthave been renamed toDiscoverAddress,DiscoverOptions,DiscoverQuery,DiscoverResultrespectively.
- [CORE] Fix a crash that could happen during unexpected backend metadata response.
- [OFFLINE] Update default tiles dataset name.
- Search Native SDK
0.66.0 - Common SDK
23.2.1 - Kotlin
1.5.31
- [Discover API] Discover API preview is available.
- [Autofill] Now
AddressComponentsprovides new propertiesAddressComponents.countryIso1andAddressComponents.countryIso2.
- [CORE]
OpenHours,OpenPeriod,WeekDay,WeekTimestamp,ParkingDataclasses have been moved tocom.mapbox.search.common.metadatapackage. - [CORE]
Languagehas been renamed toIsoLanguageCodeand moved tocom.mapbox.search.commonpackage. - [CORE]
Countryhas been renamed toIsoCountryCodeand moved tocom.mapbox.search.commonpackage. - [CORE]
DistanceCalculatorhas been moved tocom.mapbox.search.commonpackage.ServiceProvider.distanceCalculator(latitude: Double)function is not available anymore, instead useDistanceCalculator.instance(latitude: Double). - [CORE]
HighlightsCalculatorhas been moved tocom.mapbox.search.commonpackage.ServiceProvider.higlightsCalculator()function is not available anymore, instead useHighlightsCalculator.INSTANCE. - [Autofill]
AddressAutofillOptions.CountryandAddressAutofillOptions.Languagehave been removed and replaced byIsoCountryCodeandIsoLanguageCode. - [Autofill]
AddressAutofillResponsetype has been removed. NowAddressAutofillfunctions returnExpected<Exception, List<AddressAutofillSuggestion>>.
- Search Native SDK
0.66.0 - Common SDK
23.2.1 - Kotlin
1.5.31
- [CORE] Search SDK does not longer implicitly set
originandproximitypoints inSearchOptionsandCategorySearchOptionsforSBSApi Type if eitheroriginorproximitypoint is provided by a user.
- Search Native SDK
0.66.0 - Common SDK
23.2.1 - Kotlin
1.5.31
- [AUTOFILL] Fixed a bug in address autofill reverse geocoding.
- Search Native SDK
0.65.0 - Common SDK
23.2.0 - Kotlin
1.5.31
- [CORE]
SearchAddress.FormatStyle.Customhas been removed because it can't guarantee correct formatting behavior.SearchAddressprovides all the address components with the existing public API and customers still can format address according to needed formatting rules. - [UI]
SearchResultsView.defaultSearchOptionswas not used and was removed from the API.
- [CORE] Fixed a bug with
SearchAddressformatting when address house number is empty. - [CORE] Added a proguard rule that prevents DAO classes constructors from being removed.
- [UI] Fixed a bug in
SearchResultsViewwhen incorrect search options was used for request retry.
- Search Native SDK
0.64.0 - Common SDK
23.2.0-rc.3 - Kotlin
1.5.31 - Removed
mapbox-android-coredependency, it is now part of Mapbox Common library. NOTE: You need to remove any explicit dependency declaration tocom.mapbox.mapboxsdk:mapbox-android-core:<version>from the project to avoid duplicated class definition errors related to location APIs.
- Search Native SDK
0.63.0 - Common SDK
23.2.0-beta.1 - Kotlin
1.5.31
- [Autofill] Now
AutofillSuggestionprovides a new propertyname. - [Autofill] Minimal allowed query name has been changed from
3to2.
- Search Native SDK
0.62.0 - Common SDK
23.1.0 - Kotlin
1.5.31
- [UI] Fixed a bug in
SearchEngineUiAdapterwhereSearchListener.onPopulateQueryClick()was not called when user clicked thequery populatebutton.
- Search Native SDK
0.61.0 - Common SDK
23.1.0-rc.1 - Kotlin
1.5.31
- [UI]
SearchResultsViewbecame a generic view that can work with anySearchEngineorUse case. Its API has been changed. UseSearchEngineUiAdapterto adapt search engines for the view. See MainActivity for usage sample.
- [UI] Now UI module provides
AddressAutofillUiAdapterthat helps to displayAddressAutofillsuggestions on theSearchResultsView. - [Autofill] Now customers can provide own implementation of the
LocationEngine. - [Autofill]
AddressAutofillreturns up to 10 suggestions instead of 5. - [Search SDK COMMON]
AsyncOperationTaskprovidesAsyncOperationTask.COMPLETEDfield which represents completed task.
- Search Native SDK
0.61.0 - Common SDK
23.1.0-rc.1 - Kotlin
1.5.31
- [OFFLINE]
OfflineSearchEngine's functionscreateTilesetDescriptor()andcreatePlacesTilesetDescriptor()are static now. - [CORE]
SearchSuggestion.categories, andSearchResult.categoriesare nullable properties now. These properties are null for non-POI search results. - [CORE]
ApiType.AUTOFILLhas been removed. UseAutofillSDK instead. - [CORE]
MapboxSearcSdk.createSearchEngine(), andMapboxSearcSdk.createSearchEngineWithBuiltInDataProviders()functions have been moved toSearchEngine.createSearchEngine(), andSearchEngine.createSearchEngineWithBuiltInDataProviders(). - [CORE]
MapboxSearcSdk.serviceProviderproperty has been removed, callServiceProvider.INSTANCEinstead. - [CORE]
MapboxSearchSdkclass is not publicly available anymore. - [CORE]
IndexableRecord.coordinateis a non-null property now. Accordingly,HistoryRecord.coordinateis also a non-null property. This also makesSearchResult.coordinatea non-null property. - [CORE]
SearchResultis a class now. Functions signature ofSearchCallback,SearchSelectionCallback,SearchMultipleSelectionCallbackhave been changed for Java users. - [CORE] Subtypes
ServerSearchResult,IndexableRecordSearchResulthave been removed. CallSearchResult.IndexableRecordto check if aSearchResultis based on aIndexableRecordand access the record. - [UI] Function signature of
SearchResultsView.SearchListenerhave been changed for Java users. - [UI]
SearchPlacefactory functionscreateFromSearchResult(),createFromIndexableRecord()no longer acceptcoordinate: Pointarguments. Instead, coordinate will be taken from providedSearchResult, andIndexableRecordobjects.
- Search Native SDK
0.60.0 - Common SDK
23.1.0-beta.1 - Kotlin
1.5.31
- [CORE]
AsyncOperationTask,SearchCancellationException,SearchRequestException,RoutablePointhave been moved tocom.mapbox.search.commonpackage.MainThreadWorker, andSearchSdkMainThreadWorkerhave been moved tocom.mapbox.search.common.concurrent. - [CORE]
SearchRequestTaskhas been replaced withAsyncOperationTask - [CORE]
SearchSuggestionis a class now. Functions signature ofSearchSuggestionsCallback,SearchSelectionCallback,SearchMultipleSelectionCallbackhave been changed for Java users. - [CORE, UI] Offline functionality has been moved to a separate dependency which can be resolved via
com.mapbox.search:offline:$version. Package name for offline functionality iscom.mapbox.search.offline. At the moment Offline SDK version is the same as the main Search SDK version.OfflineSearchEngineinstance can be retrieved viaOfflineSearchEngine.create(OfflineSearchEngineSettings). - [UI]
SearchResultsView.SearchListener.onOfflineSearchResults()signature has been changed toonOfflineSearchResults(List<OfflineSearchResult>m OfflineResponseInfo). Also, a new functionSearchResultsView.SearchListener.onOfflineSearchResult()has been added.
- [CORE]
FeedbackEvent.FeedbackReasonnow has few more reasons that can be used in the feedback:INCORRECT_PHONE_NUMBER, andINCORRECT_RESULT_RANK. - [UI] A new function
SearchPlace.createFromOfflineSearchResult()is available.
- [UI] Now created in the
SearchPlaceBottomSheetViewFavoriteRecordwill be saved with id fromSearchPlace.id
- Search Native SDK
0.59.0 - Common SDK
23.0.0 - Kotlin
1.5.31
- [UI] Now
SearchPlaceconstructor requires additional propertyid.copy()function's signature has also been changed.
- [CORE] SearchResultType provides a new value -
BLOCKwhich represents the block number. Available specifically for Japan.
- Search Native SDK
0.58.0 - Common SDK
23.0.0-beta.1 - Kotlin
1.5.31
- [CORE] Undocumented system property used to enable SBS API Type is deprecated. Use
MapboxSearchSdk.createSearchEngine(ApiType, SearchEngineSettings), andMapboxSearchSdk.createSearchEngineWithBuiltInDataProviders(ApiType, SearchEngineSettings)instead. Note that SBS Api Type is still in beta and not available publicly. - [AUTOFILL]
AddressAutofill.suggestions(String, AddressAutofillOptions)has been replaced withAddressAutofill.suggestions(Query, AddressAutofillOptions). CallQuery.create()to create an instance ofQuery.
- [CORE]
MapboxSearchSdk.createSearchEngine(ApiType, SearchEngineSettings), andMapboxSearchSdk.createSearchEngineWithBuiltInDataProviders(ApiType, SearchEngineSettings)functions are available that allow to choose API Type. Note thatApiType.GEOCODINGis the only API Type available publicly. - [UI]
SearchResultsView.Configurationaccepts a new optional argumentapiTypeused for theSearchEngineinitialization.
- Search Native SDK
0.57.0 - Common SDK
22.1.0-beta.1 - Kotlin
1.5.31
- [CORE] Now
RequestOptionsprovides new fieldsendpointandsessionID.
- [CORE] Now
SearchAddress.formattedAddress(FormatStyle.Medium)for address with countryUnited Statesincludes region.
- Search Native SDK
0.57.0 - Common SDK
22.1.0-beta.1 - Kotlin
1.5.31
- [CORE]
ServiceProvider.analyticsService()function has been removed. NowAnalyticsServiceinstance is associated withSearchEngine, andOfflineSearchEngine.AnalyticsServicecan be retrieved fromSearchEngine.analyticsService, andOfflineSearchEngine.analyticsService. - [CORE]
ServiceProvider.locationEngine()function has been removed. NowLocationEngineinstance can be retrieved from settings used for search engines instantiation. - [CORE]
SearchSdkSettingsclass has been removed. Now default max number of history records is always 100. - [CORE] Now
SearchEngineSettingsandOfflineSearchEngineSettingsaccept new constructor parameters.OfflineSearchEngineSettings.copy()function's signature andOfflineSearchEngineSettings.Builderhave also been changed.SearchEngineSettingsprovidesSearchEngineSettings.Buildertype and newcopy()andtoBuilder()functions. - [CORE]
MapboxSearchSdk.initialize()function has been removed. Now it's not needed to initialize Search SDK explicitly. - [CORE]
MapboxSearchSdk.setAccessToken()function has been removed. Now in case of changed token a new instance ofSearchEngineorOfflineSearchEngineshould be created. - [CORE]
MapboxSearchSdk.getSearchEngine()function has been removed, callMapboxSearchSdk.createSearchEngine()function instead. - [CORE]
MapboxSearchSdk.createSearchEngine()function without parameters has been removed. NowSearchEngineSettingsshould always be provided as an argument. - [CORE]
MapboxSearchSdk.getOfflineSearchEngine()function has been removed, callMapboxSearchSdk.createOfflineSearchEngine()function instead. - [CORE]
OfflineSearchEngine.tileStoreproperty has been removed, callOfflineSearchEngine.settings.tileStoreinstead. - [CORE] Now
ApiTypehas a newAUTOFILLconstant. - [UI]
SearchResultsView.initialize()now acceptsSearchResultsView.Configurationobject. - [UI]
SearchBottomSheetView,SearchCategoriesBottomSheetView,SearchFeedbackBottomSheetViewviews are not supported anymore. These views and their nested types have been removed from the Search SDK. Also, unused types such asIncorrectSearchPlaceFeedback,FavoriteTemplate,Categoryare not available either. - [UI]
IncorrectSearchPlaceFeedbackhas been moved tocom.mapbox.search.ui.view.placepackage. - [AUTOFILL]
AddressAutofill.create(searchEngine: SearchEngine)has been replaced withAddressAutofill.create(context: Context, accessToken: String). - [AUTOFILL]
AddressAutofillOptions.countriesnow is a list ofAddressAutofillOptions.Countryvalues andAddressAutofillOptions.languageisAddressAutofillOptions.Languagevalue. - [AUTOFILL]
AddressAutofillResult.addressnow is an instance ofAddressAutofillResult.Addresstype.
- [CORE]
SearchEngineandOfflineSearchEngineprovidesettingsproperty that return settings object used for engine initialization. - [UI] Now clicked by a user in
SearchResultsViewsearch results will be automatically added to the search history. - [AUTOFILL] Now autofill works on top of the special-purpose version of the Geocoding V5 API.
- Search Native SDK
0.57.0 - Common SDK
22.1.0-beta.1 - Kotlin
1.5.31
Same release as 1.0.0-beta.31 but with Common SDK 22.0.0.
- Search Native SDK
0.56.0 - Common SDK
22.0.0 - Kotlin
1.5.31
- [CORE]
OfflineSearchEngineis a 1-step search now, which means thatSearchResult's returned in the first step withoutSearchSuggestionselection.OfflineSearchEngine.select()function has been removed.OfflineSearchEngine.search()acceptsSearchCallbackcallback type. - [CORE] Now automatically cancelled by the Search SDK search requests made to the
SearchEngineandOfflineSearchEnginewill be passingSearchCancellationExceptionto the corresponding callbacks ofSearchCallback,SearchSuggestionsCallback, andSearchSelectionCallback. - [UI] Now
SearchResultsView.SearchListenerhas a new functiononOfflineSearchResults().
- [CORE] Autofill SDK prototype is available now.
- [CORE] Now
SearchResultprovides a newaccuracyfield which is a point accuracy metric for the returned address.
- [CORE] Fixed a bug in the previous version of the Search SDK which didn't include http service implementation by default.
- Search Native SDK
0.55.0 - Common SDK
21.3.0 - Kotlin
1.5.31
- [CORE]
IndexableDataProvider.add(), andIndexableDataProvider.update()have been replaced with a new functionIndexableDataProvider.upsert(). - [CORE]
IndexableDataProvider.addAll()has been renamed toIndexableDataProvider.upsertAll(). - [CORE]
IndexableDataProviderEngine.add(), andIndexableDataProviderEngine.update()have been replaced with a new functionIndexableDataProviderEngine.upsert(). - [CORE]
IndexableDataProviderEngine.addAll()has been renamed toIndexableDataProviderEngine.upsertAll(). - [CORE]
IndexableDataProviderEngine.executeBatchUpdate()has been removed along withIndexableDataProviderEngine.BatchUpdateOperation. NowIndexableDataProviderEngineis a thread-safe entity. If you need multiple operations to be executed one after another, call them in a needed order on the same thread. - [CORE]
AnalyticsService.sendRawFeedbackEvent()has been removed. Events should be sent immediately. - [CORE]
AnalyticsService.createRawFeedbackEvent()functions have been made asynchronous and marked as deprecated. These functions return raw events in a very specific format and should not be used.
- Search Native SDK
0.54.1 - Common SDK
21.3.0 - Kotlin
1.5.31
- [CORE]
SearchResultandSearchSuggestionnow provideexternalIDsproperty.
- Search Native SDK
0.52.0 - Common SDK
21.3.0-rc.2 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [CORE]
ServiceProvider.globalDataProvidersRegistry()has been removed. Now customers should useSearchEngine.registerDataProvider()for the data providers registration. InterfaceIndexableDataProvidersRegistryand its internal classes are not available anymore either. - [CORE] Now
IndexableDataProviders should providepriorityfield which affectsIndexableRecord's ranking in case of multiple data providers added to a search engine. - [CORE]
IndexableDataProviderEngineLayerhas been renamed toIndexableDataProviderEngine. Also, functionsregisterIndexableDataProviderEngineLayer()andunregisterIndexableDataProviderEngineLayer()ofIndexableDataProviderhave been renamed toregisterIndexableDataProviderEngine()andunregisterIndexableDataProviderEngine(). - [CORE] Functionality of
CategorySearchEngine, andReverseGeocodingSearchEnginehave been merged intoSearchEngine. Also, functionsMapboxSearchSdk.getCategorySearchEngine(),MapboxSearchSdk.getReverseGeocodingSearchEngine()have been removed, callMapboxSearchSdk.getSearchEngine()orMapboxSearchSdk.createSearchEngine()instead. - [CORE] Constants
MapboxSearchSdk.LAYER_PRIORITY_HISTORY,MapboxSearchSdk.LAYER_PRIORITY_FAVORITEShave been movedHistoryDataProvider.PROVIDER_PRIORITY, andFavoritesDataProvider.PROVIDER_PRIORITY. - [CORE]
MapboxSearchSdk.addDataProviderInitializationCallback()andMapboxSearchSdk.removeDataProviderInitializationCallback()have been removed along withDataProviderInitializationCallbackinterface. UseHistoryDataProvider.OnDataProviderEngineRegisterListener(), andFavoritesDataProvider.OnDataProviderEngineRegisterListener()instead. - [CORE] Fields
SearchSdkSettings.geocodingEndpointBaseUrl, andSearchSdkSettings.singleBoxSearchBaseUrlhave been removed. Now you can configure search engine endpoints withSearchEngineSettings.SearchSdkSettings.Builderand corresponding functions have also been removed.MapboxSearchSdk.initialize()now can acceptSearchEngineSettings. - [CORE] Class
OfflineSearchSettingshas been renamed toOfflineSearchEngineSettings.MapboxSearchSdk.initialize()argumentofflineSearchSettingshas also been renamed toofflineSearchEngineSettings.
- [CORE] Now customers can create several independent from each other
SearchEngines. SeeMapboxSearchSdk.createSearchEngine(). - [CORE] Now
SearchRequestTaskprovidesisDone, andisCancelledproperties.
- Search Native SDK
0.52.0 - Common SDK
21.3.0-rc.2 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [UI] Now
SearchBottomSheetViewshows all the available search history records along with their addresses. - [UI] Now users can swipe history records left to remove a record from the the recent searches.
- [UI] Now keyboard is hidden automatically when user navigates back from the feedback card or closes it.
- Search Native SDK
0.51.0 - Common SDK
21.2.0 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [CORE] Now
SearchSuggestionhas a newcategoriesproperty. - [UI]
SearchBottomSheetViewhas a new callbackSearchBottomSheetView.OnSearchViewStateChangeListenerthat notifies subscribers when the "Main search view" changes it's state.
- [CORE] Search SDK doesn't implicitly request
android.permission.ACCESS_COARSE_LOCATIONpermission anymore. DefaultLocationEnginethat's passed toMapboxSearchSdk.initialize()needs location access in order to work properly. - [UI]
SearchResultsView.SearchListenernow has more callback functions:SearchListener.onSuggestions(),SearchListener.onCategoryResult(), andSearchListener.onError().
- Search Native SDK
0.50.0 - Common SDK
21.2.0-beta.1 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [CORE] New properties are available
SearchSuggestion.matchingName,SearchSuggestion.serverIndex,SearchResult.matchingName,SearchResult.serverIndex,ResponseInfo.responseUuid. - [CORE] Now customers can provide their own feedback IDs in
FeedbackEvent.feedbackIdandMissingResultFeedbackEvent.feedbackId. - [CORE] Now
SearchSuggestionprovides optionalmetadataproperty. - [CORE] Now
SearchResultMetadataprovides optionalcountryIso1andcountryIso2properties that provide country codes inISO 3166-1andISO 3166-2. These properties are available for bothSearchResultandSearchSuggestiontypes, in SBS and V5 APIs.
- [CORE] Fixed GSON serialization for
SearchResultandSearchSuggestion
- Search Native SDK
0.49.0 - Common SDK
21.1.0 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [CORE] Public interfaces
SearchResult,ServerSearchResult,IndexableRecordSearchResult,SearchSuggestionhave been marked assealedas they were not supposed to be implemented by external code. - [UI] Now
SearchCategoriesBottomSheetView.CategoryLoadingStateListener.onLoadingError()callback provides one more parameter -Exceptionoccurred during the request. - [UI] Now
SearchCategoriesBottomSheetView.CategoryLoadingStateListener.onCategoryResultsLoaded()callback provides one more parameter -ResponseInfowhich contains response information.
- [CORE, UI] Now Search SDK documentation and source code is visible in Android Studio.
- [CORE] Now
SearchRequestExceptioncontains original detail error message returned from the backend.
- Search Native SDK
0.47.0 - Common SDK
21.1.0-rc.1 - Telemetry SDK
8.1.1 - Kotlin
1.5.31
- [UI] Now initialization methods
SearchPlaceBottomSheetView.initialize(),SearchCategoriesBottomSheetView.initialize(),SearchResultsView.initialize()have to be called in order to make these views work properly.
- [UI] Now you can provide distance unit type (imperial or metric) used for views visual information via initialization methods of the views:
SearchBottomSheetView.initializeSearch(),SearchPlaceBottomSheetView.initialize(),SearchCategoriesBottomSheetView.initialize(),SearchResultsView.initialize().
- [UI] Fixed a bug with uninitialized properties in created from
SearchBottomSheetViewfavorite record.
- Search Native SDK
0.46.1 - Common SDK
21.0.1 - Telemetry SDK
8.1.0 - Kotlin
1.4.21
- [CORE] Signature of
OfflineSearchEngine.select(SearchSuggestion, Executor, SearchSelectionCallback): SearchRequestTaskfunction has been changed, now it also acceptsSelectOptions. - [CORE] Functions
MapboxSearchSdk.createCategorySearchEngine(),MapboxSearchSdk.createReverseGeocodingSearchEngine()andMapboxSearchSdk.createSearchEngine()have been replaced withMapboxSearchSdk.getCategorySearchEngine(),MapboxSearchSdk.getReverseGeocodingSearchEngine()andMapboxSearchSdk.getSearchEngine()functions accordingly. Now SDK consumers can access only single instance of each search engine. - [CORE]
MapboxSearchSdk.initialize()now acceptscom.mapbox.android.core.location.LocationEngineinstead ofcom.mapbox.search.location.LocationProvider, argument name has also been changed fromlocationProvidertolocationEngine.com.mapbox.search.location.LocationProvider,com.mapbox.search.location.DefaultLocationProvider,com.mapbox.search.location.PointLocationProviderhave been removed. Now you can usecom.mapbox.android.core.location.LocationEngineProvider.getBestLocationEngine(Context)to get a default implementation ofLocationEngine. - [CORE] Function
com.mapbox.search.ServiceProvider.locationProvider()has been removed, nowServiceProvider.locationEngine()is available which returns instance ofcom.mapbox.android.core.location.LocationEngine. - [CORE]
OfflineSearchEngine.createBoundariesTilesetDescriptor()has been renamed tocreatePlacesTilesetDescriptor(). - [UI]
SearchPlacehas a new propertyfeedback, constructor andcopyfunction signature have been changed. - [UI] Now
SearchPlace.createFromSearchResult()requiresResponseInfoas an additional argument. - [UI]
SearchBottomSheetView.OnSearchResultClickListener.onSearchResultClick()andSearchCategoriesBottomSheetView.OnSearchResultClickListener.onSearchResultClick()receiveResponseInfoas an additional argument. - [UI]
SearchResultsView.SearchListener's functionsonSearchResult()andonPopulateQueryClicked()now receiveResponseInfoas an additional argument.
- [CORE]
IndexableDataProviderEngineLayerclass now can be called from any thread. - [CORE] Now selected search suggestions from
OfflineSarchEngineare added toHistoryDataProviderby default. You can manage this behavior by passing customSelectOptionstoselect()function. - [CORE] New functions
IndexableDataProviderEngineLayer.removeAll()andIndexableDataProviderEngineLayer.executeBatchUpdate()and new interfaceIndexableDataProviderEngineLayer.BatchUpdateOperationhave been introduced. Now user can remove several records in one go and also specify several operations that should be executed atomically for a given engine layer. - [CORE] Now
OfflineSearchEnginehas a new functions for selecting preferable tileset -selectTileset(). - [CORE] Also,
OfflineSearchEnginecan notify users of index change events. Add a listener viaaddOnIndexChangeListener()to get these events. - [UI] Now
SearchPlaceBottomSheetViewclass notifies users about adding specificSearchPlaceto favorites viaSearchPlaceBottomSheetView.OnSearchPlaceAddedToFavoritesListener. - [UI]
SearchPlaceBottomSheetViewhas a newFeedbackbutton that enables users to report issues and send feedback on search quality. With this functionality also comeOnFeedbackClickListenerand functions to add/remove feedback listeners. Customers have to useSearchFeedbackBottomSheetViewor implement feedback UI on their own. - [UI] Now a new view
SearchFeedbackBottomSheetViewwhich implements feedback workflow is available. Customers can add their own listener viaaddOnFeedbackSubmitClickListener()to hook feedback sending to define their own behavior. - [UI] Now
SearchBottomSheetViewhas new interfacesOnFeedbackClickListener, andOnFeedbackSubmitClickListener. Customers can add their own listeners viaaddOnFeedbackClickListener, andaddOnFeedbackSubmitClickListener()to hook feedback sending and define custom behavior.
- [CORE] Fixed bug related to unexpected cancellation of scheduled
SearchEnginerequest when another search request was fired fromCategorySearchEngineor from anotherSearchEngine. - [CORE] Fixed bug in
HistoryDataProviderwhen records weren't removed fromIndexableDataProviderEngineLayerduring the trimming of obsolete records. - [UI] Fixed several bugs related to state restoration, keyboard showing and UI lagginess.
- Search Native SDK
0.44.1 - Common SDK
20.1.1 - Telemetry SDK
8.1.0
- [UI]
SearchModenow has a new valueAUTO. If search mode set toAUTO, UI will determine online/offline mode automatically based on the device's network reachability. - [CORE]
OfflineSearchEnginefunctionsgetTileRegions(),getGroupInfo(),loadTileRegion(),updateTilesGroup(),removeTilesGroup()have been removed. Now you should useTileStoredirectly to work with offline data. - [CORE] Signature of
EngineReadyCallback.onEngineReady()has been changed. Now this function has no arguments. - [CORE] Properties
OfflineSearchSettings.tilesDatasetandOfflineSearchSettings.tilesVersionand their corresponding Builder properties have been remove. Now dataset and version parameters can be specified duringTilesetDescriptorcreation. - [CORE]
OfflineSearchEngine.addOflineRegion()function andAddRegionCallbackinterface have been removed. Now you can useTileStoreto manage offline data.
- [CORE]
DefaultLocationProviderclass now can be called from any thread. - [CORE] A new property
OfflineSearchEngine.tileStoreis available. It returnsTileStoreobject used for offline tiles management.
- Common SDK
20.1.0 - Telemetry SDK
8.1.0
- [CORE] Enum
QueryTypehas a new type -CATEGORY. Now users can receive category-only search results. Please note: this type is restricted for internal or special use. - [CORE]
SearchEngine.select(SearchSuggestion, Executor, SearchSelectionCallback)method signature has been changed toSearchEngine.select(SearchSuggestion, SelectOptions, Executor, SearchSelectionCallback): now user can control whetherSearchEngineshould automatically add final result to the history or not.
- [CORE]
@Deprecatedannotations for Geocoding-specific search options have been removed. - [CORE] New function
SearchEngine.select(SearchSuggestion, SelectOptions, SearchSelectionCallback)is available. - [CORE]
SelectOptionsclass has been introduced.
- [CORE] Fixed a bug in
OfflineSearchEnginewhen tiles modifying functions such asloadTileRegion(),updateTilesGroup(),removeTilesGroup()were called before engine got initialized.
- Common SDK
20.0.0 - Telemetry SDK
8.1.0
- [CORE]
MainThreadWorkerhas a new propertymainExecutorthat returns an executor working on the main thread. All the subclasses now have to implement this property. - [CORE] Similarly to search engines, asynchronous functions of
IndexableDataProvidermay accept optional parameterExecutor. All the subclasses now have to implement these functions. - [CORE]
OfflineTileRegion's constructor has been made internal. Also, itscopyfunction has been removed. - [CORE] Signature of the function
OfflineSearchEngine.loadTileRegion()has been changed, now it accepts additionalprogressCallbackparameter.callbackparameter has been renamed tocompletionCallback.
- [CORE] Now you can pass
OfflineSearchSettingstoMapboxSearchSdk.initialize()to override offline search settings. - [CORE] Now asynchronous functions of
SearchEngine,ReverseGeocodingSearchEngine,CategorySearchEngine,OfflineSearchEngine,IndexableDataProvider,IndexableDataProvidersRegistrymay accept optional parameterExecutorused for events dispatching. By default events are still dispatched on the main thread. - [CORE] New function
OfflineSearchEngine.getGroupInfo()is available. This function provides group meta info. - [CORE] New function
OfflineSearchEngine.updateTilesGroup()is available. This function updates the existing tiles group.
- Common SDK
19.0.0 - Telemetry SDK
8.1.0
- Common SDK
19.0.0 - Telemetry SDK
8.1.0
- [CORE]
IndexableDataProvider.CompletionCallbackhas been moved to upper level packagecom.mapbox.search.
- [CORE] Now customers can override logger. See Mapbox Android Modularization for more information.
- [CORE] A new functionality to work with offline data has been added to
OfflineSearchEngine. - [CORE] Now customers can add custom data providers. As a result, new classes (
IndexableDataProvidersRegistryandIndexableDataProviderEngineLayer) have been added and also few extra methods and properties have been added to exisitng API. Take a look at new samples for more information. - [CORE] New functions
MapboxSearchSdk.addDataProviderInitializationCallback()andMapboxSearchSdk.removeDataProviderInitializationCallback()have been introduced. Now users can receive notifications about default data providers (history and favorites) successful or failed initialization.
- [CORE] Fix failed Search SDK requests for cases, when application label contains non-ASCII symbols.
- Common SDK
18.0.0 - Telemetry SDK
8.1.0
- [CORE] Now
OfflineSearchEngine.addOfflineRegion()doesn't implicitly add.contextensions for offline data files.
- [CORE] Now customers can override native library loader. See Mapbox Android Modularization for more information.
- Common SDK
17.0.0 - Telemetry SDK
8.1.0
- [CORE]
MapboxSearchSdk.initialize()function's signature has been changed:geocodingEndpointBaseUrlandsingleBoxSearchBaseUrlparameters have been removed and new parametersearchSdkSettings: SearchSdkSettingshas been added. With newSearchSdkSettingsclass user can specify not only search endpoints, but also maximum allowedHistoryRecordsamount inHistoryDataProvider. - [CORE]
SearchSuggestionType.IndexableRecordItem's constructor has been changed: new parametertype: SearchResultTypehas been added. Now user can get the type of resolvedIndexableRecordbefore the selection ofSearchSuggestion, associated with givenIndexableRecordItem. - [CORE]
SearchSuggestionType.SearchResultSuggestion,SearchSuggestionType.CategoryandSearchSuggestionType.IndexableRecordItemconstructors visibility have been reduced tointernal.
- [CORE]
MainThreadWorkerandSearchSdkMainThreadWorkerclasses are now public, they can be used to override main thread job handler which can be useful for testing. - [UI] Now history records matched with saved favorites will be marked as favorites in the search history view.
- [UI] Fix for suggestion clicks processing.
- Common SDK
16.2.0 - Telemetry SDK
8.1.0
- [UI] Functions
Category.findBySBSName()andCategory.findByName()have been removed, now you can useCategory.findByCanonicalName()which looks up for a Category by any of SBS or geocoding canonical names.
- [UI] Now
com.mapbox.search.ui.view.category.Category's constructor and properties are public, you can instantiate a new category to be used in the UI Search SDK. - [UI] Expose
maxWidthlayout parameter forSearchSdkFrameLayoutclass and its subclasses in public API.
- Common SDK
16.0.0 - Telemetry SDK
8.1.0
- [CORE] Async functions in
IndexableDataProviderandOfflineSearchEngine.addOfflineRegion()now returnAsyncOperationTaskobject instead ofFuture. - [CORE] Function
DistanceCalculator.squareDistance()has been removed. - [UI] Property
SearchBottomSheetView.Configuration.searchOptionsand correspondingConfiguration.Builderfunction have been removed. Now you can provideSearchOptionsthroughSearchBottomSheetView.searchOptionsand override them for each new request. - [UI] New
distanceMetersproperty has been added toSearchPlace. Therefore,copy(),createFromSearchResult()andcreateFromIndexableRecord()methods andSearchPlaceconstructor acceptdistanceMetersparameter now.
- [CORE] New
distanceMetersproperty has been added toSearchResult. - [CORE] Now
SearchOptions.indexableRecordsDistanceThresholdMetersandCategorySearchOptions.indexableRecordsDistanceThresholdMetersoptions are available that allow to look up for indexable records only within specified distance threshold. - [UI] Now user can edit name and can delete favorite, created from template (e.g. Work template).
- [UI] Now you can provide
CategorySearchOptionsthat will be used for search request inSearchCategoriesBottomSheetView. Options can be provided viafun open(category: Category, searchOptions: CategorySearchOptions). - [UI] New
updateDistance()method has been added toSearchPlaceBottomSheetView.
- [CORE] Fixed a bug with uninitialized in some cases
SearchResultMetadataproperties.
- Common SDK
14.2.0 - Telemetry SDK
8.1.0
- [CORE] All operations in
IndexableDataProviderclasses now are asynchronous. - [CORE] Property
LocalDataProvider.sizehas been removed, now it's recommended to get size of the provider by callingIndexableDataProvider.getAll(). - [CORE] Now
OfflineSearchEngine.addOfflineRegion()returns aFuture<Boolean>representing pending completion of the task. This change may break existing code in rare cases.
- [CORE]
OfflineSearchEnginehas a new functionfun searchAddressesNearby(street: String, proximity: Point, radiusMeters: Double, callback: SearchCallback)that searches for addresses nearby.
- [CORE] Offline data format has been changed, you'll need to obtain new offline data to work with offline.
- [CORE] In the previous versions, some internal classes were available publicly, they had the
internalkeyword in the package name. Now such classes are not available anymore. Normally, external customers shouldn't have accessed internal classes in their projects, however, this change may break customer's code.
- [UI] Landscape support.
- [UI]
SearchBottomSheetView,SearchCategoriesBottomSheetViewandSearchPlaceBottomSheetViewclasses extend fromSearchSdkFrameLayoutclass now. This new class allows users to specifymaxWidthof the view.
- [CORE] Fixed a bug with uninitialized properties in search suggestions and search results based on indexable records.
- [UI] Dark Mode support.
- [UI] Color palette customization has been added. Take a look at new sample for more information.
- [UI] Now
SearchBottomSheetViewreturns clickedHistoryRecordsviaSearchBottomSheetView.OnHistoryClickListener. In the previous SDK versions when a user clicked on aHistoryRecords, a new search started using the record's name as a query.
- [UI]
SearchPlace.createFromUserFavorite(FavoriteRecord)removed, useSearchPlace.createFromIndexableRecord(IndexableRecord, Point)instead.
- [CORE] The following methods now require extra
responseInfo: ResponseInfoparameter:AnalyticsService.createRawFeedbackEvent(searchResult: SearchResult)AnalyticsService.createRawFeedbackEvent(searchSuggestion: SearchSuggestion)AnalyticsService.sendFeedback(searchResult: SearchResult)AnalyticsService.sendFeedback(searchSuggestion: SearchSuggestion)
- [CORE]
FeedbackEvent.FeedbackReasonannotation class has been added which helps us to enforce developers to use one of predefined constants forFeedbackEvent.reasonproperty. Currently available constants are:FeedbackReason.INCORRECT_NAMEFeedbackReason.INCORRECT_ADDRESSFeedbackReason.INCORRECT_LOCATIONFeedbackReason.OTHER
- [CORE]
OfflineSearchEngine.addOfflineRegion()function's signature has been changed, now it accepts callback to be invoked when the region has been added. - [UI] Data classes
SearchPlaceandFavoriteTemplatehave been replaced with regular classes. As a result, allcomponentN()methods have been removed andFavoriteTemplate.copy()method has been removed. - [UI] Enum class
Categoryhas been replaced with a regular class. All predefinedCategoryvalues can be retrieved withCategory.PREDEFINED_CATEGORY_VALUESproperty. - [UI] Enum classes
SearchBottomSheetView.BottomSheetState,SearchCategoriesBottomSheetView.BottomSheetState,SearchPlaceBottomSheetView.BottomSheetStatehave been replaced with annotation classes, annotated with@IntDef.
- [CORE] Almost all public
data classes,sealed classesandenum classesAPI have been changed.
- [CORE, UI]
OfflineSearchEnginehas been added which provides offline search functionality. Contact our team to get more information on how to use it and where to get offline data.
- [CORE] Fixed NPE that could be thrown on some specific Android devices.
- [CORE, UI] Minimum Android SDK version 21, OkHttp 4.9.0.
- [CORE]
SearchResultTypeenum types order have been changed. Now all types are sorted in descending order by the size of the associated geofeature.
- [CORE] Fixed a bug with
SearchSuggestionType.Category()where propertycanonicalNamewas incorrect. - [UI] Functions
findByName()andfindBySBSName()fromCategoryclass now work properly:findByName()finds categories for names associated with Geocoding endpoint,findBySBSName()- for names associated with SBS endpoints.
- [CORE]
WeekTimestampclass API has been changed:hourandminuteproperties type has been changed fromBytetoInt.dayproperty type has been changed fromBytetoWeekDay. Also, newWeekDayenum class has been added. This class represents one of days of the week (Monday, ..., Sunday).
- [CORE]
HistoryRecordandFavoriteRecordconstructor signatures have been changed. - [CORE]
FavoriteRecord.categoriesproperty now is nullable. - [UI]
SearchPlace.categoriesproperty now is nullable.
- [CORE] Now
IndexableRecordinterface provides new properties:routablePoints,metadata,descriptionText,categories,makiIcon. Their semantic is the same as in the corresponding fields of theSearchResult.
- [CORE] New
AnalyticsService.createRawFeedbackEvent()methods have been added. This methods allow users to create raw feedback event, that can be cached and used later. Also,AnalyticsService.sendRawFeedbackEvent()method has been added, so users could send feedback event, based on provided raw feedback event.
- [CORE]
SearchCallback.onResults(),SearchSuggestionsCallback.onSuggestions(),SearchSelectionCallback.onResult(),SearchMultipleSelectionCallback.onResult()function signatures have been changed: now each function acceptsResponseInfoparameter, the information about search response and associated search request. - [CORE] Batch retrieve method
SearchEngine.select(List<SearchSuggestion>,SearchMultipleSelectionCallback): SearchRequestTasknow requires provided list of suggestions to be non-empty and also eachSearchSuggestionshould have sameRequestOptions, so request will be processed correctly. - [CORE]
CategorySearchOptions.typesproperty and its corresponding builder field and functions have been removed. - [CORE] Enum
QueryTypehas a new type -STREET. - [CORE]
SearchResultSuggestionpropertytype: SearchResultTypehas been replaced with propertytypes: List<SearchResultType>. Also,SearchResultpropertytype: SearchResultTypehas been replaced with propertytypes: List<SearchResultType>andSearchPlacepropertyresultType: SearchResultTypehas been replaced with propertyresultTypes: List<SearchResultType>. - [CORE] Now
RouteOptions.Deviation.Timeconstructor requires extrasarType: SarType?parameter. - [CORE]
SearchOptions.navigationProfile: SearchNavigationProfileproperty and its corresponding builder field and function have been removed. Instead, newSearchOptions.navigationOptions: SearchNavigationOptionsproperty and correspondingSearchOptions.Builder.navigationOptionsbuilder field andSearchOptions.Builder.navigationOptions()function have been added. - [UI] Now
SearchPlacealso providesdescriptionTextfield.SearchPlace's constructor signature has been changed.
- [CORE] New
AnalyticsService.sendMissingResultFeedback()method has been added. This method allows users to send feedback for use cases, when expected POI / place wasn't found in search results. Also newMissingResultFeedbackEventclass has been added. - [CORE] New
sessionIdproperty has been added toFeedbackEvent. - [CORE] New
EtaType,SearchNavigationOptions,RouteOptions.Deviation.SarTypeclasses have been added. Also,RouteOptions.Deviationand its subclasses has newsarType: SarType?property. - [CORE] Similarly to the
SearchSuggestiontype, nowSearchResultalso providesdescriptionTextfield. - [UI] All types of
SearchSuggestion/SearchResultwill be shown in the description label (previously only first was shown).
- [CORE]
RequestOptionsprimary constructor visibility has been reduced tointernal. Now you can not createRequestOptionsobjects. - [CORE]
com.mapbox.search.NavProfilehas been renamed tocom.mapbox.search.SearchNavigationProfile. Consequently,com.mapbox.search.SearchOptions.navProfileandcom.mapbox.search.SearchOptions.Builder.navProfileproperties have been renamed tonavigationProfile. Also,com.mapbox.search.SearchOptions.Builder.navProfile()function have been renamed tonavigationProfile()and acceptsSearchNavigationProfileinstead of the old type. - [CORE] Property
searchResultTypeincom.mapbox.search.record.HistoryRecordandcom.mapbox.search.record.FavoriteRecordclasses has been renamed totype. Nowtypebecame common property for all the Indexable Records. - [CORE]
CategorySearchEnginefunction signature has been changed: nowsearch()acceptsoptionsparameter ofCategorySearchOptionstype. ClassCategorySearchOptionscontains search options, used for category search (previously those options were stored insideSearchOptions). BothCategorySearchOptionsandSearchOptionsclass signatures are identical. - [CORE]
ReverseGeoOptions.countriesandReverseGeoOptions.reverseModeoptions have been marked as deprecated along withReverseModeenum. These entities will be removed in the future updates.
- [CORE] New
AnalyticsServiceandFeedbackEventclasses have been added.AnalyticsServicehelps users track analytics events. For now only feedback events can be tracked. User should provideSearchResult/SearchSuggestion/IndexableRecordobject andFeedbackEventobject, describing user's feedback. - [CORE] New
ServiceProvider.analyticsService()method has been added, which returns instance ofAnalyticsService. - [CORE] New
unsafeParametersproperty has been added toSearchOptions. The correspondingunsafeParametersproperty andunsafeParameters()method have been added toSearchOptions.Builder. - [CORE]
openHours,parking,cpsJsonproperties have been added toSearchResultMetadata. AlsoOpenHours,OpenPeriod,WeekTimestamp,ParkingDataclasses have been added. - [CORE] New
ignoreIndexableRecordsproperty now available inSearchOptions, andCategorySearchOptions. This property specifies whether to ignoreIndexableRecordresults or not, default is false. Semantic is the same for bothSearchOptions, andCategorySearchOptions.
- [CORE] Fixed a bug due to which search results based on Indexable Records could be with types not specified in
SearchOptions.
- [CORE] Fixed a bug that caused to fail in some cases search request with
IndexableRecordsincluded. - [UI] Category canonical name updated.
- [CORE] New
SearchSuggestionTypesubtype has been added, which may break existing code in some cases. - [CORE]
proximity,originandnavProfileproperties have been removed fromRequestOptions. - [CORE]
SearchResultMetadata's API has been significantly changed.- Function
SearchResultMetadata.getAllData()has been removed. InsteadextraDataproperty is available. This property provides the data that is not available via the other properties of the class. - Constants
KEY_PHONE,KEY_WEBSITE,KEY_REVIEW_COUNT,KEY_AVERAGE_RATINGwere removed. Instead, usephone,website,reviewCount,averageRatingproperties directly.
- Function
- [CORE] New
SearchSuggestionTypesubtype has been added. NowSearchSuggestioncan haveQuerytype, which means that selection of this suggestion type will result in new suggestions. - [CORE] Now you can search along a route, pass
RouteOptionstoSearchOptionsto configure route parameters. - [CORE] Now
SearchResultMetadataprovides associated with search result photos and also provides a newdescriptionproperty. - [CORE] Now
SearchSuggestionhas an optionaladdressproperty. - [CORE] Now
RequestOptionshas newoptionsproperty and additionalproximityRewrittenandoriginRewrittenflags that denote whetheroptionshave been modified by the Search SDK.
- [CORE] Fixed a bug that happened when backend sent suggestion with
POSTCODEtype. - [UI] Now UI SDK always shows address if it's available.
- [CORE]
SearchSelectionCallbackfunctions signatures have been changed, nowonResultandonCategoryResultacceptSearchSuggestionparameter, the suggestion from which the result was resolved. - [CORE] New fields have been added to
HistoryRecordandFavoriteRecorddata classes which may break existing code. - [CORE] String resource
app_namehas been removed from the core SDK. This resource was public by mistake and external modules normally shouldn't have used this.
- [CORE] Batch retrieve for search suggestions has been added. Call
SearchEngine.select(List<SearchSuggestion>,SearchMultipleSelectionCallback): SearchRequestTaskto resolve multiple suggestions at once. - [CORE] Now if you have a token with special permissions, you'll be receiving POI metadata if it's available. Metadata is available in
SearchResult, also, it can be stored inHistoryRecordandFavoriteRecord. - [CORE] Now you can request ETA to search suggestions and results for forward geocoding. Specify
originpoint andnavProfiletype inSearchOptionsto request ETA. ETA for reverse geocoding is to be added. - [CORE] Now routable points are available for search results, also, it can be stored in
HistoryRecordandFavoriteRecord.
- [CORE] Fixed a crash that happened after consecutive selection of
SearchSuggestionwithin one session. - [UI] Now
recent search historyview doesn't show duplicating history entries. - [UI] Prevent
SearchCategoriesBottomSheetViewandSearchResultsViewfrom leaking, when used byFragment.
- [CORE] Parameter
endpointBaseUrlof theMapboxSearchSdk.initialize()method has been renamed togeocodingEndpointBaseUrl. In addition, new parameter namedsingleBoxSearchBaseUrlhas been added to specifySingle Box SearchAPI endpoint. - [CORE] Enum
SearchResultTypenow has two more types -PLACEandSTREET. - [CORE]
SearchSuggestion.TypeDescriptionhas been transformed to a new type calledSearchSuggestionType. See documentation ofSearchSuggestionTypefor more details. Also propertytypeDescriptionof theSearchSuggestiontype has been renamed totype. - [CORE]
SearchCategorySuggestiontype has been removed. UseSearchSuggestion.typeto check if a suggestion is a category. - [CORE]
SearchSelectionCallback.onCategoryResult(results: List<SearchResult>)callback has been added. - [UI] From
SearchBottomSheetView,SearchPlaceBottomSheetView,SearchCategoriesBottomSheetViewclasses removed functions that were available to simplify interaction with Kotlin functional interfaces. With Kotlin 1.4.0 SAM conversions for Kotlin interfaces are available and these functions are not needed anymore. Removing these functions from the SDK may bring breaking changes if you were accessing those functions from Java code (which is usually pointless) or if you are using older versions of Kotlin.
- [ALL] Support of the new search backend (will be announced soon).
- [ALL] Bump Kotlin version to 1.4.0.
We are bug-free 😉 (almost).
No changes, the code is the same as v0.7.1.
- [CORE] Fixed serialization bug that caused history and favorites data loss.
- [CORE] Now it's possible for external customers to instantiate HistoryRecord instance.
- [CORE] SearchRequestException constructor arguments order changed.
- [UI] Now if
SearchCategoriesBottomSheetView.open(Category)is called with the latest set category, listeners will be notified about loaded results if they already loaded or loading will be initiated if the card's state is error. - [UI] New properties
isNavigateButtonVisible,isShareButtonVisible,isFavoriteButtonVisibleforSearchPlaceBottomSheetVieware available that manage buttons visible to user. - [UI] Now it's allowed to set any number of items for hot categories section including zero. Hot categories section will be hidden in case of an empty list. However, to ensure the best behavior for the view, we recommend setting at most four items. Hot categories section does not support scrolling, if items don't fit into the view width, they will be flattened.
- [UI] Now
SearchResultsViewhasdefaultSearchOptionsproperty which defines default options for search. To override these options, usesearch(query: String, options: SearchOptions)function. - [UI] Now you can specify collapsed state anchor for
SearchBottomSheetView. Desired anchor can be provided withSearchBottomSheetView.Configuration.
- [UI] Fixed a bug with
SearchBottomSheetViewwhen new configuration was ignored after activity recreation.
- [CORE] Some classes that used to be available in external modules have been moved to
com.mapbox.search.internalpackage. These files should not be accessed in the customer's code and we do not guarantee their availability in the future. - [CORE] Core SDK has been fully refactored, see new samples for more information.
- [UI] Removed
HotCategoryclass. Now it's allowed to choose any category for hot categories section. - [UI] Removed
SearchBottomSheetView.Configuration.categorySearchResultsLimitproperty and its corresponding builder fields. - [UI] We do not longer guarantee that returned by
SearchBottomSheetBehavior,SearchPlaceBottomSheetView, andSearchCategoriesBottomSheetView'sgetBehavior()function returns an instance ofcom.google.android.material.bottomsheet.BottomSheetBehavior. UseaddOnBottomSheetStateChangedListenerfunctions for watching card state changes andstateproperty for getting current state. - [UI]
SearchViewBottomSheetsMediatoris no longer part of the UI SDK and has been moved to the sample app. - [UI]
SearchResultsView.initialize()function has been removed. Now view can work without explicit initialization call. To provide search options, including results limit, usesearch(query: String, options: SearchOptions)function. - [UI]
SearchBottomSheetView.Configuration.searchResultsLimitproperty and its corresponding builder functions have been removed. Now you can provideSearchOptionsthat includes results limit.
- [UI] Fixed a bug with SearchBottomSheetView when it reset its state after
hide()function call.
- [UI] Added
SearchBottomSheetView.isHideableByDragproperty that sets whether the bottom sheet can hide when it is swiped down.
- [UI] Fixed a bug with BottomSheetBehavior when it came to the incorrect state after state restoration in some cases.
- [CORE] SearchError has been renamed to SearchNetworkRequestException. Now it extends RuntimeException() and contains error cause.
- [UI]
SearchPlaceBottomSheetView.addOnNavigateClickListener()andSearchPlaceBottomSheetView.addOnShareClickListener()functions now accept lambdas which take argument of typeSearchPlace.
- [UI] Added SearchPlaceBottomSheetView.
- [UI] Added SearchCategoriesBottomSheetView.
- [UI] Added auxiliary functions for SearchBottomSheet state management:
open(),expand(),hide(),restorePreviousNonHiddenState(). - [UI] Miles support. Now UI SDK detects measurement system from current device locale and formats distances in corresponding distance unit.
- [CORE] Added
SearchEngine.setAccessToken(String)function.
- [CORE] In some cases SDK couldn't get last known location.
- [UI] Removed SearchResultListener, use
SearchBottomSheetView.OnSearchResultClickListenerandSearchBottomSheetView.OnCategoryClickListenerinstead. Category search functionality has been removed fromSearchBottomSheetView, instead nowSearchCategoriesBottomSheetViewimplements category search. - [UI] Removed
UserFavoriteOnClickListener, useSearchBottomSheetView.OnFavoriteClickListenerinstead. - [UI] Removed
SearchCloseListener. NowSearchBottomSheetViewdoes not have close button, instead the card resets its state when it collapses. - [CORE] Removed
SearchResult.distance()function, insteadDistanceCalculatorclass is available, also you can useLatLng.distanceTo(LatLng)function. - [CORE] Removed
SearchEngine.destroy()function. NowSearchEnginemust be initialized only once, in case of reinitialization attemptIllegalStateExceptionwill be thrown.