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.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 the android WorkManager.
  • MapKit SDK 4.5.2 (April 11 2024)

    List of changes
    • Fixed crash when getting GPS position..

    Only for iOS

  • 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 the MapObjectCollection without parameters, all other addPlacemark 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 accepts GeoObjectSelectionMetadata.
    • The CameraPosition(BoundingBox) method has been replaced with CameraPosition(Geometry).
    • In VisibleRegionUtils, the getBounds 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.
  • 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 with Play 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 for axis 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 a TransferStop 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 and android.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, and play-services-safetynet:18.0.1).
  • 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, and Navigation.
    • 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 and ColoredPolylineMapObject, only PolylineMapObject is now used because it covers the functions of both classes.
    • MapObject.getParentnow returnsBaseMapObjectCollection, which is a common parent for MapObjectCollection and ClusterizedPlacemarkCollection.
    • Renamed ZoomFocusPointMode to GestureFocusPointMode. GestureFocusPoint now also affects rotation in AffectsAllGestures 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

    • Work in emulators with an M1 processor is supported.
    • Build with Xcode 13.3 is supported.
    • The SDK is now delivered as an xcframework.
    • The minimum supported iOS version is now 12 (13 for an emulator with an M1 processor).
  • 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 to focusRect.
    • 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. Use Session.resetSort instead.
    • Removed the SearchManager.searchByOidmethod. Use SearchManager.resolveURI/searchByURI instead.
    • Removed the SearchManager.suggest method. Use SearchManager.createSuggestSession instead.
    • Removed the SearchLayer.resolveURI and SearchLayer.searchByOid methods. Use SearchLayer.searchByURI only instead.
    • SearchManagerType.DEFAULT is no longer supported. Use COMBINED 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)

Supported platforms

Stable operation of MapKit requires:

  • Android 5.0 or higher.
  • iOS 12 or higher.