- [Core] Fix the OpenHours parsing logic for SearchBox.
- [Core] Fix the issue with setting OpenHours mode when there is only one open hour period.
- [ResultChildMetadata] Add ResultChildMetadata.init(category:coordinate:mapboxId:name)
- [Core] Update dependencies
MapboxCoreSearch: v2.6.2
- [Core] Update dependencies
MapboxCommon: v24.8.0 MapboxCoreSearch: v2.6.0
- [Core] Update dependencies
MapboxCommon: v24.8.0-rc.1 MapboxCoreSearch: v2.6.0-rc.1
- [SearchResult] Mark
matchingName
field as deprecated and add note for absence of values in ApiType.searchBox results. - [SearchEngine] Add documentation and assertion that ApiType.searchBox does not support batch requests.
- [Core] Update dependencies
MapboxCommon: v24.8.0-beta.1 MapboxCoreSearch: v2.6.0-beta.2
- [Demo] Add example for forward(query:options:completion:) to Demo app using SwiftUI.
- [Search] Add forward(query:options:completion:) function to search forward/ API endpoint.
MapboxCommon: v24.7.0 MapboxCoreSearch: v2.5.1
- [Search] Add SearchSuggestType.brand
- [SearchUI] Add display of Brand results
- [SearchUI] Add ability to view nested results for a Brand (similar to Category results) when the query matches a brand name
- [SearchResultMetadata] Add SearchResultMetadata.init(rating:)
- [Offline] Change default tileset name to
mbx-gen2
- [Core] Update dependencies
MapboxCommon: v24.7.0 MapboxCoreSearch: v2.5.0
- [Core] Update dependencies
MapboxCommon: v24.7.0-rc.2 MapboxCoreSearch: v2.5.0-rc.3
- [Core] Update dependencies
MapboxCommon: v24.7.0-rc.1 MapboxCoreSearch: v2.5.0-rc.2
- [Core] Update dependencies
MapboxCommon: v24.7.0-rc.1 MapboxCoreSearch: v2.5.0-rc.1
- [Core] Update dependencies
MapboxCommon: v24.7.0-beta.2 MapboxCoreSearch: v2.5.0-beta.2
- [Core] Update dependencies
MapboxCommon: v24.7.0-beta.1 MapboxCoreSearch: v2.5.0-beta.1
MapboxCommon: v24.6.0 MapboxCoreSearch: v2.3.0
- [SearchEngine] Add SearchEngine.init(baseURL:) parameter for custom Mapbox API endpoint development.
- [SearchResultMetadata] Add
rating
field to replace deprecatedaverageRating
field. - [SearchResultMetadata] Add fields for search response.
- [Project] Downgrade Package from Swift 5.10 to 5.9 for compatibility with Xcode 15.0 to 15.2.
- [Project] Remove SPM strict concurrency flag from MapboxSearch, MapboxSearchUI targets.
- [Project] Update Fastlane to 2.222.0.
- [Project] Fix license with Cocoapods.
- [Project] Update README and add GitHub Issue templates.
MapboxCommon: v24.6.0 MapboxCoreSearch: v2.3.0
- [SearchResult] Add
distance
field to SearchResult protocol - [Demo] Add Atlantis package to Demo app for development with network proxy.
- [UI] Enforce template mode on all Maki and SearchResult Types icons (always theme-able).
- [SearchOptions] Remove SearchOptions.AttributeSets parameter.
- [SearchEngine] Add RetrieveOptions(attributeSets:) parameter to
select()
functions. Use this to provide attribute set queries. - [SearchResultMetadata] Add fields for more metadata characteristics, options, social media handles, and contact information.
- [SearchResult] Add ResultChildMetadata type to SearchResultMetadata.children field.
MapboxCommon: v24.6.0 MapboxCoreSearch: v2.3.0
- [SearchResultMetadata] Add
weekdayText
andnote
associated values to OpenHours.scheduled case. - [OpenHours] Change OpenHours decoding to work regardless of key-ordering.
- [SearchOptions] Add support for AttributeSets parameter to change the level of metadata that is returned.
- [Core] Update dependencies
MapboxCommon: v24.6.0-rc.1 MapboxCoreSearch: v2.3.0-rc.4
- [Demo] Update Demo app to use MapboxMaps
- [Demo] Rename 'Discover' tab to 'Category' in Demo app target
- [Demo] Add earlier examples into MapboxSearch.xcodeproj Demo target
- [SearchUI] Add
Maki: RawRepresentable
conformance forMaki(rawValue:)
initializer - [Core] Add public scope to several types and initializers for broader support
- [Core] Add several new types and fields for new SearchResult functionality
MapboxCommon: v24.6.0-beta.1 MapboxCoreSearch: v2.3.0-rc.1
- [Project] Update Podspec
swift_version = "5.10"
- [Core] Update MapboxCommon and MapboxCoreSearch package dependencies
MapboxCommon: v24.5.0 MapboxCoreSearch: v2.2.0
- [Project] Update Package from Swift 5.7 to 5.10
- [Project] Update MapboxSearch.xcodeproj for Xcode 15.3 and signed MapboxCommon framework
- [Project] Remove MapboxCoreSearch.podspec. This source has moved to another repo.
- [UI] Change
MapboxSearchUI.Maki.image: UIImage
to public - [Core] Update MapboxCommon and MapboxCoreSearch package dependencies
MapboxCommon: v24.5.0-rc.1 MapboxCoreSearch: v2.2.0-rc.1
- [Core] Update MapboxCommon and MapboxCoreSearch package dependencies
MapboxCommon: v24.5.0-beta.4 MapboxCoreSearch: v2.2.0-beta.1
- [Core] Fix MapboxCoreSearch dependency when using cocoapods
- [Offline] Expose selectTileset function for offline mode
- [Address] Change Country.ISO3166_1_alpha2 enum to public
- [Core] Update MapboxCommon and MapboxCoreSearch package dependencies
MapboxCommon: v24.4.0 MapboxCoreSearch: v2.1.0
- [Core] Change MapboxCommon dependency to use exact versions in SPM and CocoaPods
- [Core] Align MapboxCommon dependency with exact version 24.3.1
- [Core] Update to MapboxCoreSearch v2.0.2 to align dependencies
MapboxCommon: v24.3.1 MapboxCoreSearch: v2.0.2
- [Core] Update to MapboxCoreSearch v2.0.1 for corrected compatibility with Xcode 15.3
- [Core] Update to MapboxCoreSearch for corrected PrivacyInfo.xcprivacy
MapboxCoreSearch: v2.0.1
- [Core] Update to MapboxCoreSearch v2.0.0-beta.19 for compatibility with Xcode 15.3
MapboxCoreSearch: v2.0.0-beta.19
- [Demo] Add OfflineDemoViewController to MapboxSearch.xcodeproj > Demo application.
- [Demo] Remove support for
--offline
launch argument. - [SearchResult] Add support for
mapboxId
field when available. - [FavoriteRecord] Add support for
mapboxId
field when available. - [HistoryRecord] Add support for
mapboxId
field when available. - [Discover] Add more complete support for
mapboxId
field in Result subtype when available. - [Address Autofill] Add more complete support for
mapboxId
field in Result and Suggestion subtypes when available. - [Place Autocomplete] Add more complete support for
mapboxId
field in Result and Suggestion subtypes when available. - [Demo] Add
mapboxId
table view cell to PlaceAutocomplete detail view controller when available. - [Offline] Remove
CoreOfflineIndexChangeEventType
extension previously used for development. - [Core] Remove usages of
@_implementationOnly import
due to compilation issue. - [Offline] Add optional
language
parameter to SearchOfflineManager.createTilesetDescriptor and SearchOfflineManager.createPlacesTilesetDescriptor functions. - [Tests] Add Spanish language offline search test.
- [Offline] Added OfflineIndexObserver which accepts two blocks for indexChanged or error events. This can be assigned to the offline search engine to receive state updates.
- [Offline] Change default tileset name to
mbx-main
- [Tests] Fix Offline tests and re-enable.
- [Tests] Add
offlineResultsUpdated
delegate function toSearchEngineDelegateStub
. - [Tests] Demonstrate providing a
Geometry(point: NSValue(mkCoordinate: CLLocationCoordinate2D))
withTileRegionLoadOptions.build
function. - [Core] Increment minimum MapboxCommon version from 24.0.0 to 24.4.0-beta.2
- [Core] Increment minimum MapboxCoreSearch version to provide PrivacyInfo.xcprivacy.
MapboxCoreSearch: v2.0.0-beta.18 MapboxCommon: v24.4.0-beta.2
- [Core] Add
SearchResultAccuracy.proximate
case which "is a known address point but does not intersect a known rooftop/parcel." - [UI] Add Right-to-Left language support for Categories/Favorites segment control and fix xib errors.
- [UI] Add Preview file for CategoriesFavoritesSegmentControl to fix compiler problems.
- [Core] Add SearchError.owningObjectDeallocated when network responses fail to unwrap guard-let-self. If you encounter this error you must own the reference to the search engine.
- [Tests] Add UnownedObjectError tests to validate behavior of SearchError.owningObjectDeallocated.
- [Privacy] Add Search history collected data for the purpose of product personalization (used for displaying the search history)
- [Discover, Category] Discover API to query categories remains available and compatible with 1.0.0 series.
- [Core] Default API engine type remains SBS and search-box is available by opt-in.
- [License] Update license to reflect 2024 usage
- [Tests] Change MockResponse into a protocol, create separate enums conforming to MockResponse for each API type (geocoding, sbs, autofill), add MockResponse as generic to each test base class and MockWebServer.
- [Tests] Reorganize tests based on API type
MapboxCoreSearch: v2.0.0-alpha.14
- [Discover] Add support for country, proximity, and origin parameters in Discover.Options search parameters. This fixes an issue when using search-along-route to query category results.
- [SearchUI] Add
distanceFormatter
field to Configuration to support changing the search suggestions distance format. Nil values will use the default behavior. - [Core] Add xcprivacy for MapboxSearch and MapboxSearchUI
- [SearchUI] Update Maki icons to all SVG, latest versions from https://github.com/mapbox/maki
- [SearchUI] Remove all custom Maki icons
- [Unit Tests] Update and correct tests for iOS 17 using all mocked data.
- [UI Tests] Update and correct tests for iOS 17 using all mocked data.
- [Search] Rename
SearchEngine.reverseGeocoding
function toSearchEngine.reverse
. - [Core] Stop reading "MapboxAPIBaseURL" from UserDefaults in
ServiceProvider.createEngine
. (Providing a value in Info.plist is still supported). - [Core] Remove Swifter library dependency from MapboxSearch target (only used in Test targets)
- [Core] Change AbstractSearchEngine.init
supportSBS: Bool = false
parameter toapiType: ApiType = .SBS
. This changes the default API engine for discover/category and other API requests to SBS. Add ApiType enum to represent non-Autofill and non-PlaceAutocomplete SearchEngine API types.
MapboxCoreSearch: v2.0.0-alpha.13
- [Discover] Fix charging station category canonical ID
- [Core] Change AbstractSearchEngine.init
supportSBS: Bool = false
parameter toapiType: ApiType = .SBS
. This changes the default API engine for discover/category and other API requests to SBS. Add ApiType enum to represent non-Autofill and non-PlaceAutocomplete SearchEngine API types. - [SearchUI] Rename MapboxPanelController.Configuration to .PanelConfiguration. This disambiguates PanelConfiguration from the broader Configuration struct.
- [Core] Update SwiftLint to 0.54.0 and SwiftFormat to 0.52.11
- [Core] Fix project compliance with linter, reformat Swift files
- [Core] Add Brewfile for project
- [Core] Remove legacy
MGLMapboxAccessToken
. - [SearchExample] Update Examples/SearchExample.xcworkspace to use MapboxMaps v11, MapboxCommon v24, and the local package (parent directory) for MapboxSearch.
- [Address Autofill] Add support for
mapboxId
field. - [Discover] (aka Category) Add support for
mapboxId
field. - [Place Autocomplete] Add support for
mapboxId
field. - [Core] Update MapboxCoreSearch
MapboxCoreSearch: v2.0.0-alpha.9
- [Address Autofill] Suggestions no longer perform a
retrieve
call. - [Address Autofill]
AddressAutofill.Suggestion
fieldcoordinate: CLLocationCoordinate2D?
is now an optional. - [Address Autofill]
AddressAutofill.Suggestion.init
now requires anAddressAutofill.Suggestion.Underlying
enum parameter. - [Address Autofill] Added new AddressAutofill.Suggestion.Underlying enum parameter with cases for suggestion and result inputs.
- [Place Autocomplete] Suggestions no longer perform a
retrieve
call. - [Place Autocomplete]
PlaceAutocomplete.Suggestion
fieldcoordinate: CLLocationCoordinate2D?
is now an optional. - [Place Autocomplete]
Result.coordinate
is now an optional. - [Core] Remove bitcode support
- [Core] Updated API usage:
- Removed parameter-based Access Token. Be sure to provide your token in Info.plist.
- Renamed
CoreSuggestAction.isMultiRetrivable
tomultiRetrievable
. - Renamed
CoreSearchResult.center
to.centerLocation
. - Renamed
CoreSearchOptions.isIgnoreUR
toignoreUR
. - Renamed
TileRegionLoadOptions
initializer parameterstart
tostartLocation
. - Replace some
CLLocation
fields withCoordinate2D
wrapper containing a value ofCLLocationCoordinate2D
. This changes the call-site from.coordinate
to.value
. - Added
SdkInformation.defaultInfo
default value for various Core initializer parameters. - Added
SearchAddressRegion
containingname
,regionCode
, andregionCodeFull
fields. - Added
SearchAddressCountry
containingname
,countryCode
, andregionCodeFull
fields. - Added fields
searchAddressRegion
andsearchAddressCountry
toAddress
alongside existingcountry
andregion
. - Remove access token parameter from
SearchTileStore
.
MapboxCommon: v24.0.0 MapboxCoreSearch: v2.0.0
- [Core] removed unnecessary log statement that didn't respect the
LoggerLevel
setting.
- [PlaceAutocomplete] added
formattedAddress
function to perform default address formatting. - [PlaceAutocomplete] added
countryISO1
andcountryISO2
properties in the resul's address.
- [Core] Fixed street name capitalization for names with numbers.
- [PlaceAutocomplete] replaced
Address
type of theResult
to theAddressComponents
.
- [Core] removed assertion for unsupported search result types.
- [Place Autocomplete] request all possible
PlaceType
values in case if types were not specified in a search query options. - [Place Autocomplete] fixed an issue when reverevse geocoding suggestion returns error on
select
request. - [Address Autofill] fixed reverse geocoding query, removed unsupported types from query.
- [Place Autocomplete] added
estimatedTime
property to thePlaceAutocomplete.Suggestion
andPlaceAutocomplete.Result
. - [Place Autocomplete] added
navigationProfile
property to thePlaceAutocomplete.Options
to determine how distance and estimatedTime are calculated.
- [Place Autocomplete] fixed a bug with missing
PlaceAutocomplete.Suggestion.distance
. - [Core] fixed possibly incorrect data about POI opening hours. Fixed weekday conversion to the Gregorian calendar with Sunday as the first weekday.
- [Address Autofill]
AddressAutofill.Suggestion.result()
method has been removed. UseAddressAutofill.select(AddressAutofill.Suggestion)
instead. Note that developers must call this method when a user selects a search suggestion in the UI.
- [Place Autocomplete] added
routablePoints
property to thePlaceAutocomplete.Suggestion
.
- [Place Autocomplete]
PlaceAutocomplete.Suggestion.result()
method has been removed. UsePlaceAutocomplete.select(PlaceAutocomplete.Suggestion)
instead. Note that developers must call this method when a user selects a search suggestion in the UI.
- [Tech] added SDK version to the Telemetry User Agent.
- [Core] partially fixed a bug when indexable records couldn't be matched with corresponding search results which caused duplicated search results.
- [Discover] added Discover use case for searching POIs nearby/in region by a category.
- [Autofill] added example of the Address Autofill reverse geocoding requests.
- [Autofill] fixed retrieving reverse geocoding suggestions.
- [Tech] added version range support for
MapboxCommon
dependency inSPM
/Cocoapods
.
- [Autofill] fixed retrieving reverse geocoding suggestions.
- [Common] fixed errors related to Xcode 14, updated unit tests and removed dead code.
- Fixed the issue when
defaultSearchOptions
were ignored for theCategorySearchEngine
.
-
[Autofill]
name
field exposed for theAddressAutofill.Suggestion
. -
[Autofill] exposed query requirements constant in
AddressAutofill.Query.Requirements
. -
[Autofill] added example to the Demo project
-
[Common] added support to initialize
Language
with theLocale
object. -
[Common] added support to pass
Locale
object to theSearchOptions
. Language code will be used for a search request if present.
- [Core] fixed an issue related to suggestion resolving, when the request was failed in case
searchEngine.query
is changed during resolving. - [UI] fixed
hospital
category icon.
- [Autofill]
AddressAutofill
now returns up to 10 suggestions. - [Autofill] Now it is possible to provide custom implementation of
LocationProvider
.
- [Core] updated module dependencies
- [Core] Don't use languages list as default languages parameter. Use only first languages from system settings if available.
- [Core]
SearchEngine.setAccessToken(_: String)
has been removed.
- [Core] SearchResultType provides a new value -
block
which represents the block number. Available specifically for Japan.
- [UI] fixed UIViewController presentation on SDK side. #7
- [Core] Undocumented system property used to enable SBS API Type is deprecated.
com.mapbox.mapboxsearch.enableSBS
- [Core]
SearchResult.searchRequest
field exposed. Identifies original search request for a result. - [Core]
AddressAutofill
separate use case to for completing adress forms. - [Core]
SearchEngine.init(supportSBS: Bool) added flag to initialize
SearchEngine` with SBS support.
- [Core] Fixed warning related to
CLLocationManager
permissions check.
- [Core]
SearchSuggestion.serverIndex
andSearchResult.serverIndex
identifies index in response from server. - [Core]
SearchResult.accuracy
identifies accuracy metric for the returned address. - [Core]
SearchEngineDelegate.suggestionsUpdated(results:suggestions:searchEngine)
- added a separate method for search results received in offline mode.
- [UI] Fixed an issue in
MapboxSearchController
when search suggestions didn't update in offline mode
- [Core]
SearchSuggestion.categories
identifies categories of POI, optional.
- [Core]
OfflineSearchEngine
is a 1-step search now, which means thatSearchResult
's returned in the first step withoutSearchSuggestion
selection.
MapboxCommon: v22.0.0 MapboxCoreSearch: v0.56.0
RecordsProviderInteractor.contains(identifier: String)
method removed.MapboxMobileEvents
dependecy.
SearchError.searchRequestCancelled
in order to identify cancelled request.
- Analytics reports disabled for the
beta.30
+ (unit tests), it will be enabled again inbeta.31
.
MapboxCommon: v21.3.0 MapboxCoreSearch: v0.54.1
ignoreIndexableRecords
andindexableRecordsDistanceThreshold
not respected when merging search options
MapboxCommon: v21.3.0
MapboxCommon: v21.3.0-rc.2
MapboxCommon: v21.2.1
MapboxCommon: v21.2.0
MapboxCommon: v21.2.0-rc.1
MapboxCommon: v21.1.0
- ConstantCategoryDataProvider behave like described in API reference #18
- [CORE] New property is available:
SearchResult.matchingName
.
- ConstantCategoryDataProvider reference #18
- Missing result feedback type.
- RecordsProviderInteractor.add(records: [IndexableRecord]) method for batch adding user records.
- RecordsProviderInteractor.delete(identifiers: [String]) method for batch removing user records.
- Cancelable renamed into SearchCancelable to prevent naming conflicts with Maps SDK.
- Remove unused npm package
- Update MapboxCoreSearch to v0.46.1
- Release CI pipeline adjustments
- Update MapboxCoreSearch to v0.45.2
- Update MapboxCommon to v21.0.0
scripts/release_binary_manifest
reworked asscripts/release_notes
Category
renamed intoSearchCategory
- Delegate method
SearchControllerDelegate.categorySearchResultsReceived(results:)
added extra parametercategorySearchResultsReceived(category:results:)
- Update LICENSE.md file
- Update MapboxCommon to v20.1.1
- Update MapboxCoreSearch to v0.44.0
- Recent search entry deletion crash.
- MapboxCommon TileStore integration.
- Minor TileStore public api refactoring.
- Update SDK Version generation script to avoid re-generation.
- Update MapboxCommon to v20.1.x
- Update MapboxCoreSearch to v0.42.0
- Highlight favorites searches in the
Recent Searches
. - New filter type
SearchQueryType.category
to receive category-only results, exclusive to Single-Box Search endpoint.
- Search option
autocomplete
was removed as a redundant and unsupported for a long time on the core side.
- Update MapboxCommon to v20.x.x
- Update MapboxCommon to v19.x.x
- Updated maki icons bundle to v7.0.0 version.
- iOS 15 crash on
SearchSuggestionCell
.
- Update MapboxCommon to v18.x.x
- Update MapboxCommon to v17.x.x
- Generate public sdk version
String
variable –mapboxSearchSDKVersion
- Mark MapboxCommon_Private import as
@_implementationOnly
- Update MapboxCommon to v16.2.0
- New UserLayer model adopted
descriptionText
field forSearchResult
protocol
- All
fatalError
related to@unknown default
were replaced withnil
/.unknown
cases
- Update MapboxCommon to v16.0.0
- Add more
SearchOptions
constructors to empower Xcode autocompletion
- Update MapboxCommon to v14.2.0
SearchEngineDelegate.resultsUpdated(searchEngine: SearchEngine)
method renamed tosuggestionsUpdated(suggestions: [SearchSuggestion])
SearchEngine.items
renamed toSearchEngine.suggestions
- Support Offline Search
- Support MapboxCommon v13
- Hide/show horizontal category slots with
Configuration.hideCategorySlots
api inMapboxSearchUI
module - Support landscape orientation
- Support iPad mode
- Dynamic type support in Search UI
- Support iOS Simulators on Apple Silicon (arm64-simulator slice)
- Support MapboxCommon v10
- Feedback UI issue with collapsed search panel
- Unify SearchOptions to the single structure
- Support Multiple Result Types. Address type now can include few nested subtypes. For example, for Seoul would have Region and Place address types
- Support Dark mode in SearchUI
- UI to provide feedback about inaccurate search results.
- SearchCore v0.15.0 with requestParamsJSON for feedback events
- Support Feedback for Missing result issues
- Ability to store feedback events for delayed reporting
- Support open hours metadata
- Interactive tabs
Categories
|Favorites
- Re-export
MapboxSearch
inMapboxSearchUI
module. It's not necessary to explicitly includeMapboxSearch
in interaction withMapboxSearchUI
- Catch core exceptions
- Generate documentation for Make.swift enum
- Support Swift Package Manager
- Add SPM-based CI job
- UI Tests separation for integration and non integration tests
- Category list customization
- Category suggestions controller in Search UI
- Send Feedback method as part of
- Custom datasets and unit tests for it
- Ability to set engine configuration in SearchUI Module (languages, limits, etc.), search request configurations (proximity, bounding box)
- Added SearchResult ETA field
- Added SearchResult Metadata field
- CoreSearch 0.9.x adaptation
- EventsManager minor refactoring
- SearchEngine.select(suggestions: [SearchSuggestion]) -> Int method for POI batch retrieve
- Routable Points
- Send Feedback event based on SearchResult or SearchSuggestion
- Search along the Route
- SearchEngine.setAccessToken
- CoreSearch 0.10.x adaptation
- Added search address to Search Suggestion
- Added photos info to SearchResultMetadata
- Feedback Event v2.1 support
- Unit tests only issue related to DataLayerProvides
- MapboxPanelController shadow fix
- Possible fix for crash in 1tap
- Fix for keyboard issue on result selection
- UINavigationBar inset on "Edit Details" screen
- Fix UI Tests
- Support
.hidden
state for `MapboxPanelController - Customizable categories in horizontal slots
- Regression of the fix
- Blank space on Search panel view in SearchUI
- Network error passthrough
- Add Error Domain check in SearchErrorView
- Support
MBXAccessToken
key in Info.plist as well as legacyMGLMapboxAccessToken
- MapboxCoreSearch 0.6.1
- SearchEngine reverse geocoding feature
- Bindgen 4.0.0 support
- Automatic release scripts
- Random crash on CategorySearch callbacks
BoundingBox
in requestOptions forSearchEngine
andCategorySearchEngine
This functionality enables overriding of bounding box passed in configuration on engine init stage. Overrides if presented.