Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: mapbox/mapbox-maps-ios

v11.25.0

12 Jun 12:59
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Note

Mapbox will end support for CocoaPods in December 2026. After that date, new versions of the Mapbox Maps SDK for iOS will not be published to CocoaPods. We recommend installing the SDK via Swift Package Manager to continue receiving updates.

Features ✨ and improvements 🏁

  • Indoor labels in the Mapbox Standard style
    The Mapbox Standard style now exposes an IndoorLabels featureset together with new configuration options: showIndoor, showIndoorLabels, colorIndoorLabelHighlight, and colorIndoorLabelSelect. Use them to display indoor venue labels and to highlight or select an indoor label through the standard interactions API.

  • Custom vertical field of view in CameraOptions
    CameraOptions now includes a verticalFov property, so you can set a custom vertical field of view when you call setCamera, easeTo, or flyTo. During flyTo, the field of view interpolates linearly and does not take part in the optimal-path animation. Changing the field of view also changes the camera distance, which matches the behavior of Mapbox GL JS.

  • Color string literals in interpolate expressions
    You can now use color string literals such as "red" or "#ff0000" as inputs to an interpolate expression. These strings raised an error before. This change brings the expression parser in line with Mapbox GL JS.

  • line-progress input for line-emissive-strength
    line-emissive-strength now accepts a line-progress input, so you can vary the emissive strength of a line along its length — for example, to fade a route line toward its destination.

  • Client-side conflation of standard-definition and high-definition roads
    The renderer can now conflate standard-definition (SD) and high-definition (HD) road and traffic data on the client. Where HD road coverage is available, the matching SD roads and traffic fade out through a stencil-masked transition with a configurable opacity fade, so the two datasets no longer draw on top of each other. The behavior is driven by style configuration and needs no API changes.

  • Sharper anti-aliasing for lines with borders
    Lines that have a border (a non-zero line-border-width) now use distance-based, pixel-perfect anti-aliasing on their outset and inset edges. Line edges and non-zero gap widths also render more accurately. This change affects only bordered lines.

  • Zstandard compression for tile store packages
    Tile store import packages now support seekable Zstandard (zstd) compression. Compressing a package that contains the Mapbox Standard style reduces its size from about 109 MB to about 51 MB, which lowers the download and storage cost of offline maps.

Bug fixes 🐞

  • Taps on view annotations no longer fall through to the map
    A tap on a view annotation also reached the underlying MapView, which could dismiss the annotation it had opened. The map view no longer receives a tap that a view annotation has already handled.

  • Hardened parsing of source attribution strings
    Source attribution strings arrive from per-source TileJSON and are operator-controlled. The SDK previously parsed them with NSAttributedString's HTML importer, which could silently fetch remote subresources (such as <img>, <link>, or CSS url() references) embedded in those strings. Attribution markup is now extracted with a restricted in-process parser, and only http and https URLs are surfaced as actionable links.

  • Map flicker from background shader compilation
    The background shader compiler did not populate the binary shader cache, so the cache stayed empty and every shader was compiled in the background again. This produced flickering. The compiler now writes to the binary cache, which removes the repeated compilation and the flicker.

  • Crash while iterating map interactions
    An interaction callback that removed an interaction during dispatch could invalidate the iterator the SDK was using and crash. Interaction dispatch now holds a strong reference to the handler and guards against iterator invalidation.

  • Missing letters in text labels on terrain-elevated lines
    Letters in the middle of a text label placed along a line could disappear when the line was elevated by terrain. The SDK no longer truncates map-aligned text along a line, which matches Mapbox GL JS, so the full label renders.

  • Appearance conditions that use zoom no longer fail to parse
    An appearance condition that combined a feature test with a ["zoom"] expression — for example, inside an ["all", ...] condition — failed to parse on iOS and produced an empty result, even though the same condition worked in Mapbox GL JS. These conditions now parse and render correctly.

  • Crash from a null index buffer during symbol rendering
    Rendering certain symbol layers could dereference a null index buffer and crash when a symbol bucket neither requested a shared index buffer nor generated its own. The SDK now requests a shared index buffer in this case.

  • Crash when overriding terrain was merged with another source
    Enabling terrain could crash when the overriding terrain was merged with another source from the same root style. The merge no longer crashes.

  • Process termination from uncaught SQLite "busy" exceptions
    Accessing persistent storage from more than one thread could throw an uncaught SQLITE_BUSY exception and terminate the process. The SDK now reuses an existing connection per database, applies a short busy timeout that retries a transient lock, and handles the exception around the affected statements.

  • Crash when an HTTP download was aborted mid-transfer
    Aborting an HTTP download left its output stream callback empty while a late data chunk could still arrive, which threw std::bad_function_call and terminated the process. The SDK now resets the download streams before it clears the callback.

  • Crash when an HTTP tile download could not create a temporary file
    A failure to create the temporary directory for a tile download raised a filesystem error that escaped into the network callback and terminated the process. The SDK now handles the error and aborts the download cleanly.

  • TileStore migration failures from duplicate resources
    Migrating a TileStore database from schema 9 to schema 10 could fail when converting resource URLs to the canonical mapbox:// form produced a collision, which left the TileStore unusable and forced navigation into fallback mode. The migration now ignores duplicate resources and completes.

  • Dropped tile store cache updates from a SQLite lock race
    Concurrent read and write TileStore connections that shared an in-memory cache table could trip a SQLITE_LOCKED error while tracking least-recently-used access, which silently dropped cache updates. The SDK now tracks least-recently-used access on a dedicated auto-commit connection, so the lock releases immediately.

Dependencies

  • Update MapboxCommon to 24.25.0.
  • Update MapboxCoreMaps to 11.25.0.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Assets 2
Loading
HamoBoker reacted with heart emoji
1 person reacted

v11.25.0-rc.2

05 Jun 07:32
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

v11.25.0-rc.2 Pre-release
Pre-release

Dependencies

  • Update MapboxCommon to 24.25.0-rc.2.
  • Update MapboxCoreMaps to 11.25.0-rc.2.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.25.0-rc.1

03 Jun 10:33
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

v11.25.0-rc.1 Pre-release
Pre-release

Note

Mapbox will end support for CocoaPods in December 2026. After that date, new versions of the Mapbox Maps SDK for iOS will not be published to CocoaPods. We recommend installing the SDK via Swift Package Manager to continue receiving updates.

Features ✨ and improvements 🏁

  • Indoor labels in the Mapbox Standard style
    The Mapbox Standard style now exposes an IndoorLabels featureset together with new configuration options: showIndoor, showIndoorLabels, colorIndoorLabelHighlight, and colorIndoorLabelSelect. Use them to display indoor venue labels and to highlight or select an indoor label through the standard interactions API.

  • Custom vertical field of view in CameraOptions
    CameraOptions now includes a verticalFov property, so you can set a custom vertical field of view when you call setCamera, easeTo, or flyTo. During flyTo, the field of view interpolates linearly and does not take part in the optimal-path animation. Changing the field of view also changes the camera distance, which matches the behavior of Mapbox GL JS.

  • Color string literals in interpolate expressions
    You can now use color string literals such as "red" or "#ff0000" as inputs to an interpolate expression. These strings raised an error before. This change brings the expression parser in line with Mapbox GL JS.

  • line-progress input for line-emissive-strength
    line-emissive-strength now accepts a line-progress input, so you can vary the emissive strength of a line along its length — for example, to fade a route line toward its destination.

  • Client-side conflation of standard-definition and high-definition roads
    The renderer can now conflate standard-definition (SD) and high-definition (HD) road and traffic data on the client. Where HD road coverage is available, the matching SD roads and traffic fade out through a stencil-masked transition with a configurable opacity fade, so the two datasets no longer draw on top of each other. The behavior is driven by style configuration and needs no API changes.

  • Sharper anti-aliasing for lines with borders
    Lines that have a border (a non-zero line-border-width) now use distance-based, pixel-perfect anti-aliasing on their outset and inset edges. Line edges and non-zero gap widths also render more accurately. This change affects only bordered lines.

  • Zstandard compression for tile store packages
    Tile store import packages now support seekable Zstandard (zstd) compression. Compressing a package that contains the Mapbox Standard style reduces its size from about 109 MB to about 51 MB, which lowers the download and storage cost of offline maps.

Bug fixes 🐞

  • Taps on view annotations no longer fall through to the map
    A tap on a view annotation also reached the underlying MapView, which could dismiss the annotation it had opened. The map view no longer receives a tap that a view annotation has already handled.

  • Hardened parsing of source attribution strings
    Source attribution strings arrive from per-source TileJSON and are operator-controlled. The SDK previously parsed them with NSAttributedString's HTML importer, which could silently fetch remote subresources (such as <img>, <link>, or CSS url() references) embedded in those strings. Attribution markup is now extracted with a restricted in-process parser, and only http and https URLs are surfaced as actionable links.

  • Map flicker from background shader compilation
    The background shader compiler did not populate the binary shader cache, so the cache stayed empty and every shader was compiled in the background again. This produced flickering. The compiler now writes to the binary cache, which removes the repeated compilation and the flicker.

  • Crash while iterating map interactions
    An interaction callback that removed an interaction during dispatch could invalidate the iterator the SDK was using and crash. Interaction dispatch now holds a strong reference to the handler and guards against iterator invalidation.

  • Missing letters in text labels on terrain-elevated lines
    Letters in the middle of a text label placed along a line could disappear when the line was elevated by terrain. The SDK no longer truncates map-aligned text along a line, which matches Mapbox GL JS, so the full label renders.

  • Appearance conditions that use zoom no longer fail to parse
    An appearance condition that combined a feature test with a ["zoom"] expression — for example, inside an ["all", ...] condition — failed to parse on iOS and produced an empty result, even though the same condition worked in Mapbox GL JS. These conditions now parse and render correctly.

  • Crash from a null index buffer during symbol rendering
    Rendering certain symbol layers could dereference a null index buffer and crash when a symbol bucket neither requested a shared index buffer nor generated its own. The SDK now requests a shared index buffer in this case.

  • Crash when overriding terrain was merged with another source
    Enabling terrain could crash when the overriding terrain was merged with another source from the same root style. The merge no longer crashes.

  • Process termination from uncaught SQLite "busy" exceptions
    Accessing persistent storage from more than one thread could throw an uncaught SQLITE_BUSY exception and terminate the process. The SDK now reuses an existing connection per database, applies a short busy timeout that retries a transient lock, and handles the exception around the affected statements.

  • Crash when an HTTP download was aborted mid-transfer
    Aborting an HTTP download left its output stream callback empty while a late data chunk could still arrive, which threw std::bad_function_call and terminated the process. The SDK now resets the download streams before it clears the callback.

  • Crash when an HTTP tile download could not create a temporary file
    A failure to create the temporary directory for a tile download raised a filesystem error that escaped into the network callback and terminated the process. The SDK now handles the error and aborts the download cleanly.

  • TileStore migration failures from duplicate resources
    Migrating a TileStore database from schema 9 to schema 10 could fail when converting resource URLs to the canonical mapbox:// form produced a collision, which left the TileStore unusable and forced navigation into fallback mode. The migration now ignores duplicate resources and completes.

  • Dropped tile store cache updates from a SQLite lock race
    Concurrent read and write TileStore connections that shared an in-memory cache table could trip a SQLITE_LOCKED error while tracking least-recently-used access, which silently dropped cache updates. The SDK now tracks least-recently-used access on a dedicated auto-commit connection, so the lock releases immediately.

Dependencies

  • Update MapboxCommon to 24.25.0-rc.1.
  • Update MapboxCoreMaps to 11.25.0-rc.1.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.21.7

03 Jun 07:32
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Dependencies

  • Update MapboxCommon to 24.21.7.
  • Update MapboxCoreMaps to 11.21.7.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.24.3

02 Jun 08:16
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Dependencies

  • Update MapboxCommon to 24.24.3.
  • Update MapboxCoreMaps to 11.24.3.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.21.6

26 May 14:39
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Changes

  • Fixed a use-after-free crash in MapImpl that could occur when asynchronous tasks accessed a partially-destroyed map instance, e.g. under heavy load or rapid view recreation.
  • Fixed a crash in the vector tile layer data cache when a sibling tile was destroyed during cache iteration.
  • Improved anti-aliasing for lines with a non-zero line-border-width, fixing pixelated rendering of thick line borders.

Dependencies

  • Update MapboxCommon to 24.21.6.
  • Update MapboxCoreMaps to 11.21.6.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.24.2

25 May 13:42
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Bug fixes 🐞

  • Crash when modifying a layer that shares an id with an imported style
    When a layer in the root style and a layer in an imported style shared the same id, a runtime change to that layer caused both layers to be re-sent to the renderer as duplicates, triggering a crash. The lookup that locates the layer being updated now uses the full FullStyleLayerId (id + import scope) instead of only the StyleLayerId, so the correct single layer is updated and duplicates are no longer emitted.

Dependencies

  • Update MapboxCommon to 24.24.2.
  • Update MapboxCoreMaps to 11.24.2.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.24.1

19 May 13:39
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Features ✨ and improvements 🏁

  • Featureset feature access
    Exposed the new FeaturesetFeature.originalFeature property, giving you direct access to the underlying public Feature (geometry, properties, id) from any featureset hit.
  • Landmark Level-of-Detail rendering
    The renderer now supports landmark models with LOD meshes when the tileset provides them, including a BVH-backed raycast path for more accurate label placement on top of 3D buildings.

Bug fixes 🐞

  • Use-after-free crash in MapImpl
    MapImpl's destructor previously invalidated the WeakFactory of its derived StyleManagerImpl but not its own, leaving a short window where in-flight asynchronous tasks could touch a partially destroyed instance. The own WeakFactory is now invalidated as well, eliminating the crash.
  • MapView rendered blank on an already-active CarPlay scene
    When a fresh MapView was instantiated and attached to a scene that had already activated (a common pattern on CarPlay), the SDK missed the sceneDidActivate notification and never cached the connected scene — leaving the display link idle and the map blank. The connected scene is now seeded on didMoveToWindow by walking up the responder chain, so the map renders correctly regardless of when it joins the scene.
  • Style import config lost during a URL swap
    Calling setStyleImportConfigProperty (e.g. lightPreset, color overrides) right after updateStyleImportWithURI could be silently dropped: the property was being applied to the soon-to-be-replaced import. Imports are now updated in place — the same Import object stays in the imports vector while only its internal Style::Impl is swapped — so config updates always land on the correct import. Observer callbacks (onStyleLoadingFinished, etc.) are also wired up only after the import is fully integrated, removing inconsistent intermediate states.
  • Crash in VectorTileLayerData cache when a sibling tile died mid-iteration
    The cache reuses sibling VectorTileLayerData instances (same data/layer, different offset) to avoid redundant parsing. It used to keep the sibling as a raw pointer; if the tile that owned that sibling was destroyed before the copy completed, the pointer dangled and dereferencing it crashed. Siblings are now retained via shared_ptr for the duration of the copy.
  • applyLUT produced incorrect colors with premultiplied input
    applyLUT was using the RGB channels of the input color as-is. Since input colors are essentially always premultiplied, RGB channels are scaled by alpha, so the LUT was being sampled at the wrong coordinates — producing dimmer-than-expected output. The lookup now operates in unpremultiplied color space.

Dependencies

  • Update MapboxCommon to 24.24.1.
  • Update MapboxCoreMaps to 11.24.1.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.21.5

19 May 12:57
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Changes

  • Fixed an issue where rapidly switching basemap import URL and updating its configuration (such as light preset or color theme) could leave the map with stale settings. Configuration updates issued during a pending import swap are now reliably applied to the new style.

Dependencies

  • Update MapboxCommon to 24.21.5.
  • Update MapboxCoreMaps to 11.21.5.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading

v11.23.1

13 May 07:00
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1

Choose a tag to compare

Dependencies

  • Update MapboxCommon to 24.23.1.
  • Update MapboxCoreMaps to 11.23.1.

Dependency requirements:

  • Compatible version of Xcode: 16.4
Loading
Previous 1 3 4 5 25 26
Previous

AltStyle によって変換されたページ (->オリジナル) /