MapKit SDK versions
New MapKit versions contain improvements and fixes for issues. We recommend that you always use the latest available version.
Numbering system
The MapKit version number consists of three numbers, such as 3.0.0. For each update, the MapKit version number increases according to these rules:
- The first number increases for major changes to the API architecture and the loss of compatibility at the API level.
- The second number increases when backward compatibility with prior versions is lost at the application level.
- The third number increases for a new version that is backward compatible.
The first two numbers indicate the major version (for example, 3.0), and all three numbers together represent the minor version (for example, 3.0.0).
List of versions
The changes to the MapKit SDK from version to version are listed below. The release date of each version is shown in parentheses.
-
MapKit SDK 4.14.0 (April 09 2025)
List of changes
- Expanded the list of road types that can be avoided when setting a route.
- A new parking layer has been added to the map.
- New traffic events have been added: Traffic control cameras and Police patrols.
- Added information about payment methods for public transport routes.
- A new
onTerminate
method is included in MapKit, which should be called when the application is closed. - The use of RAM has been optimized, which mainly affects iOS devices.
-
MapKit SDK 4.13.0 (March 25 2025)
List of changes
- Optimized the use of RAM.
- Fixed problems with incorrect cursor display in the navigation layer.
- Fixed a bug related to hiding the navigation layer.
- Fixed a problem when rendering the map on external Surface.
-
MapKit SDK 4.12.0 (February 28 2025)
List of changes
- Added the ability to design feature names and filters using icons.
- Added support for MapKit Swift Package.
-
MapKit SDK 4.11.0 (February 14 2025)
List of changes
- Added the ability to create an OffscreenMapWindow.
- Added support for external Surfaces larger than MapWindow.
- Added settings for the completeness and quality of the received location data in the Location simulator.
- Added the ability to limit the maximum number of frames per second.
- Added the ability to use custom glTF models in the navigation layer.
- Additional modes of transport are available in the public transport filter.
- Updated existing road signs and added new icons.
-
MapKit SDK 4.10.1 (December 27 2024)
List of changes
- Artifact composition fix.
-
MapKit SDK 4.10.0 (December 19 2024)
List of changes
- Added the ability to build routes based on provided geometry.
- Indoor map has been added.
- Added the construction of routes indoor.
- Improved the default style of polylines.
- The individual properties for configuring the display of the
PolylineMapObject
are assembled into aLineStyle
object. - Added the ability disable rerouting in car navigation.
-
MapKit SDK 4.9.0 (November 11 2024)
List of changes
- Added the option to avoid stairs in routing on public transport.
- Added information about stairs/ramps on the route to the routing on public transport.
- Added API for getting the rating of organizations in Geopoisk.
- Added the ability to attach
Surface
toOffscreenMap
. - Added the ability to set
anchorPoint
forSurface
. - Added support for long dotted lines.
- To create a car navigation layer, you do not need to create a road events layer.
- The camera ripple style has moved to the navigation layer style provider.
NavigationLayerMode
has been added to the style provider, which allows you to set a different style for the layer during the introduction and during the construction of routes.
-
MapKit SDK 4.8.1 (October 14 2024)
List of changes
Only for iOS
- Fixed memory leak on iOS 18.
-
MapKit SDK 4.8.0 (September 04 2024)
List of changes
- Added new route characteristics (tunnels, highways).
- Adding models to the map in
glTF
format. - Added the ability to specify an
anchor point
when displaying the map on an external surface (Android). - Added stylization of toll roads and restricted entry areas in the navigation layer.
- Added the ability to request offline maps containing this point.
- The
BicycleRouter
interface has been deprecated in favor ofBicycleRouterV2
. - Added the ability to build routes for electric bicycles.
- Added escalators, elevators, and travelators to routing on public transport.
- Added the ability to build routes without steep sections in routing on public transport.
Only for Android
- For android sdk,
minsdk
has been raised to 26.
-
MapKit SDK 4.7.0 (July 17 2024)
List of changes
- Fixed errors with driving on the car route.
- Fixed a bug with downloading offline caches.
- Added support for map display scenarios.
- Added support for detailed maps.
- Added support for textured models of landmarks.
- Added the ability to strictly limit the area for
geo suggest
results.
Only for Android
- For android sdk,
minsdk
has been raised to 23 andtargetsdk
to 33.
-
MapKit SDK 4.6.1 (April 25 2024)
List of changes
- The way to add custom layers has been simplified. Now the
add TileLayer
method is used for this. - You can now adjust the stroke width for the placemark text (the
outline Width
property).
Only for Android
- The
evernote android job
library has been replaced with theandroid WorkManager
.
- The way to add custom layers has been simplified. Now the
-
MapKit SDK 4.5.2 (April 11 2024)
List of changes
-
MapKit SDK 4.5.1 (February 26 2024)
List of changes
- Reducing the size.
- Added an API for searching photos.
- Fixed a crash when scrolling the map.
Only for iOS
- Fixed crash during initialization on iOS 17.4.
-
MapKit SDK 4.5.0 (December 24 2023)
List of changes
-
The NaviKit SDK has been added - this is an addition to the MapKit SDK. With it, you will get the tools to create your own navigation application. Use navigator technologies when designing passenger and cargo navigation for business tasks.
For more information about the NaviKit SDK, see the documentation for Android и iOS.
-
In
Camera Bounds
, the ability to limit the camera area by latitude and longitude has been added.
-
-
MapKit SDK 4.4.1 (February 20 2024)
List of changes
Only for iOS
- Fixed crash during initialization on iOS 17.4.
-
MapKit SDK 4.4.0 (September 15 2023)
List of changes
Map updates
- The polygon has the ability to fill with texture, the
setPattern
method has appeared. - The
addPlacemark()
method has been added to theMapObjectCollection
without parameters, all otheraddPlacemark
methods have the status @deprecated. - Added the
map.cameraBounds
method with the ability to set a limit on the maximum and minimum zoom of the map. - The
selectGeoObject
method now acceptsGeoObjectSelectionMetadata
. - The
CameraPosition(BoundingBox)
method has been replaced withCameraPosition(Geometry)
. - In
VisibleRegionUtils
, thegetBounds
method has appeared, which returns the value of `BoundingBox'. - To reduce the size and simplify the API, outdated and rarely used features have been removed:
Sub layer Manager
and the ability to manage sublayers;- using a 3D-model as a placemark;
- adding GeoJSON layers.
Other updates
- Tags for search filters are supported.
- Added id of parent regions to offline cache regions.
- The object position has been added to the search response (
SuggestItem
).
Only for iOS
- To reduce the size and simplify the API removed Vulkan support (except for emulators).
- Removed bitcode support, as it is declared deprecated.
- The polygon has the ability to fill with texture, the
-
MapKit SDK 4.3.2 (June 20 2023)
List of changes
Only for iOS
- Fixed compilation with swiftUI preview for x86_64.
Only for Android
- Upgraded the version of dependencies on Google Play services (
play-services-location:21.0.1
). SafetyNet API
has been replaced withPlay Integrity
.
-
MapKit SDK 4.3.1 (March 3, 2023)
List of changes
Only for iOS
- Fixed the minimum supported version of iOS: returned 12 (except for emulators with an M1 processor, the version for them remains 13).
-
MapKit SDK 4.3.0 (March 2, 2023)
List of changes
Map updates
-
Added the
Map.cameraPosition
method for arbitrary geometry. Previously, the camera position could only be calculated foraxis aligned bbox
. -
Fixed a problem with the orientation of long polyline labels.
-
Improved memory release:
-
The
MapWindow.onMemoryWarning
method now frees up more memory. -
Added the
wipe()
method, which frees up most of the memory used by the map. After you call the method, the map reloads. In some cases, it may be useful to call it when switching to background mode. -
Fixed the display of numbers in Arabic and Hebrew labels.
-
For emulators with an M1 processor, the map automatically switches to Metal API.
Other updates
- Significantly reduced the size of the full and lite MapKit versions.
- Removed a rarely used part of the API from the lite version.
- Added railway and ferry crossing signs to automobile routes. Added a clearer sign for bad roads, specifying whether it's a dirt road or a broken one.
- Added support for transfers within one metro station for pedestrian routes: in the
Transport
section, there's now aTransferStop
field with the transfer details. - Added organization icons to panoramas, which previously only had address tables. Added the ability to react to icon clicks.
- Added a field with the object coordinates in the search results in
SuggestItem
/YMKSuggestItem
.
Only for iOS
- The minimum supported iOS version is now 13.
- Removed unnecessary and unused header files from the framework.
-
-
MapKit SDK 4.2.2 (October 25, 2022)
List of changes
- Fixed the "Out of Memory" (OOM) bug that occurred when the map zoom changed quickly.
Only for Android
- The
android.permission.ACCESS_WIFI_STATE
andandroid.permission.ACCESS_NETWORK_STATE
options are no longer required and can be removed. - Fixed a crash that occurred when the
LocationListener.onLocationUpdated
method was called.
-
MapKit SDK 4.2.1 (September 22, 2022)
List of changes
- Fixed a bug when crossing lines within a group with the same
line-z-level
(border
should not be visible). - Fixed the alignment of the Yandex logo on the map.
Only for Android
- Upgraded the version of dependencies on Google Play services (
play-services-location:20.0.0
,play-services-gcm:17.0.0
, andplay-services-safetynet:18.0.1
).
- Fixed a bug when crossing lines within a group with the same
-
MapKit SDK 4.2.0 (August 10, 2022)
List of changes
- Added new types of road alerts: railway crossings, "speed bumps".
- Supports a new type of transport:
water
. - Added annotations in more languages (Tatar, Azerbaijani, Arabic).
- Supports plotting routes for an arbitrary time.
- Added a setting to avoid poor quality roads.
- Reduced the library size.
- Removed the unavailable and unnecessary API.
- Fixed bugs.
-
MapKit SDK 4.1.0 (May 18, 2022)
List of changes
Map updates
- A new VMAP3 substrate layer with support for multiple map display modes. The following modes are currently available:
Default
,Transport
, andNavigation
. - Added correction of object size on the map based on latitude to compensate for the distortion created by the Mercator projection.
- You can now add text to point map objects.
- Of the two classes
PolylineMapObject
andColoredPolylineMapObject
, onlyPolylineMapObject
is now used because it covers the functions of both classes. MapObject.getParent
now returnsBaseMapObjectCollection
, which is a common parent forMapObjectCollection
andClusterizedPlacemarkCollection
.- Renamed
ZoomFocusPointMode
toGestureFocusPointMode
.GestureFocusPoint
now also affects rotation inAffectsAllGestures
mode. - Fixed jerks when scrolling the map.
- Optimized memory consumption.
- Added the map inspector API for writing UI tests:
Map.visibleObjects
. - A new style format for GeoJSON layers.
- Made the map more customizable: you can now change icon color.
- Added the ability to set the 3D model dimensions in pixels.
Other updates
- Added the ability to build routes for cargo transport taking into account its parameters, including dimensions (length, width, and height), weight, maximum weight allowed, axle load, and load. If a route cannot be built without violating the vehicle parameter restrictions, a route with violations is built, and you can see where the violations occur.
Only for Android
- The minimum supported version is now 5.0.
Only for iOS
- A new VMAP3 substrate layer with support for multiple map display modes. The following modes are currently available:
-
MapKit SDK 4.0.0 (September 21, 2020)
List of changes
Map updates
- Added more detailed map scales: 20 and 21.
- Changed the style format to GeoJSON.
- Added the ability to limit the number of POIs:
Map::setPoiLimit()
. - Added a setting named
focusPoint
. Previously, this property was always linked tofocusRect
. - Made the map more customizable: added more tags for filtering objects. Also, now, when scaling a point object, the distance between its label and icon changes, too.
- Added support for displacing map objects when resolving conflicts. Previously, they could displace, but couldn't be displaced.
- Added the building/model height setting:
Map::setBuildingsHeightScale()
. - Added indoor map display (for shopping malls and airports).
Search updates
- You can no longer request two different snippets for rating organizations: only one is available now.
- Added the ability to pass the request type (primary/resubmit/nextpage) through to search layer events.
- You can no longer set a zIndex at the search layer.
- Added highlighting of found words in offline suggestions.
- Added the ability to request filters in the first search query via SearchOptions. The previous methods for setting filters are now deprecated.
- Now offline search results contain a category if the query is considered relevant to a particular category.
- Improved the network subsystem.
Other updates
-
The library is now distributed in two versions: lite and full.
-
Added support for cargo routing.
-
You can now set the language and region explicitly when initializing MapKit.
-
In a combined search, empty responses from an offline search are now ignored until a response or error is returned from an online search.
-
Fixed the way clicks are processed in the search layer: now you can't select one icon "through" another one.
-
Added enum filters with only a single value (the singleSelect field).
Only for Android
libc++_shared.so
no longer comes with the library. This eliminates NDK version discrepancy in several components of the app.
Only for iOS
- Fixed a number of leaks.
- Removed 32-bit architectures: armv7 and x86_64.
- Fixed a bug with the long tap handler in iOS 14.
-
MapKit SDK 3.5.0 (February 28, 2020)
List of changes
Map format updates
- A new GeoJSON tile format.
- A new customization format. Learn more
Search updates
- Removed the
Session.setSortByRank
method. UseSession.resetSort
instead. - Removed the
SearchManager.searchByOid
method. UseSearchManager.resolveURI/searchByURI
instead. - Removed the
SearchManager.suggest
method. UseSearchManager.createSuggestSession
instead. - Removed the
SearchLayer.resolveURI
andSearchLayer.searchByOid
methods. UseSearchLayer.searchByURI
only instead. SearchManagerType.DEFAULT
is no longer supported. UseCOMBINED
instead (not available in the free version).
New search features:
- You can now request a snippet with products (
Snippet.GOODS1X
) and receive a full list of products for an organization (SearchManager.requestGoodsRegister
). - You can now create multiple search layers.
Other changes to search queries:
- The search layer no longer requests snippets by default: you need to explicitly set all snippets in the options.
- Fixed an error when the state of pins in the search layer was recalculated incorrectly after the map was moved for the first time.
- Improved search layer performance on low-end devices.
Other updates
- Fixed a number of errors that occurred in the background and during de-initialization on iOS.
- Networking improvements for MapKit.
- For commercial users: a number of offline cache improvements (offline maps are now updated more often).
-
MapKit SDK 3.4.0 (August 2, 2019)
List of changes
Added:
- Clustering support.
- The ability to create UserLocationLayer by using MapKit, same as other layers.
Fixed:
- Improved performance on arm64.
- A large number of problems that cause crashes were fixed.
-
MapKit SDK 3.3.1 (February 11, 2019)
List of changes
Added:
- Support for custom GeoJSON.
- Support for zooming to a specific point.
- Ability to add labels with the same image and icon style by calling the
mapObjects.addPlacemarks
method.
Changed:
- On the Android platform, MapView now implements the ComponentCallbacks2 interface. This means you no longer need to process the
onMemoryWarning
event. - OfflineCacheManager is redesigned to improve working with maps.
Fixed:
- Improved map performance.
- The time on the UI thread is reduced.
-
MapKit SDK 3.2 (December 7, 2018)
List of changes
Fixed:
- Error with the MapObject.
- ContextLost error when working on the emulator.
- GL_OUT_OF_MEMORY error in com.yandex.runtime.view.internal.PlatformViewBinding.onRender.
- Error when working with the local cache in offline mode while updates are available.
- A number of application failures when working with the map.
- Pins disappearing when you click the search layer.
-
MapKit SDK 3.1.2 (November 1, 2018)
List of changes
Fixed:
- Improved map performance.
- Improved LocationPreprocessor working speed.
- Fixed a crash when using urlProvider.
- Fixed possible application hang when updating traffic jams.
-
MapKit SDK 3.1 (October 17, 2018)
List of changes
Added:
- Arm64 and x86 builds were added for Android.
- You can add any View object to the map.
- Bicycle routing was added.
- Nullable annotation were added for Android.
Changed:
-
MapKit is split into parts:
-
MapKit — map only;
-
MapKit Directions — vehicle routing;
-
MapKit Transport — pedestrian routing, public transport routing, and bicycle routing;
-
MapKit Search — search and geocoding;
-
MapKit Places — panoramas.
-
Nullable annotations for iOS are now more strict.
Fixed:
- A number of issues were fixed.
- Performance was improved.
-
MapKit SDK 3.0 — archive version (March 15, 2018)