Skip to content

v3.0.0-alpha.31

Pre-release
Pre-release

Choose a tag to compare

@evil159 evil159 released this 18 Sep 15:25
· 221 commits to main since this release

Warning

This is an alpha release. APIs may change before the stable release. Not recommended for production use.

What's new ✨

  • Add GeoJsonSource.dynamicData that maps to the dynamic option in the style specification. On web, set it to true for the source to accept addGeoJSONSourceFeatures, updateGeoJSONSourceFeatures, and removeGeoJSONSourceFeatures. Android and iOS ignore dynamicData and accept feature updates on all GeoJSON sources.
  • [web] Fix removeGeoJSONSourceFeatures failing to remove a feature that was added with a numeric id.
  • [web] Add ornament settings support: compass, scaleBar, logo and attribution are backed by the Mapbox GL JS controls and support partial updates, matching Android and iOS. Some fields have no GL JS counterpart and are stored and returned by getSettings without being applied; see each field's documentation. Note LogoSettings.enabled and AttributionSettings.enabled are a restricted API.
  • [web] Fix addStyleImportFromJSON and updateStyleImportWithJSON. They completed before the style held the fragment, so the next call failed with "Style is not done loading". Both now complete after the style holds the fragment, as on Android and iOS.
  • [web] Fix MapWidget ignoring styleUri. The map loaded a default style first, fired onStyleLoaded for it, then loaded the requested style, which removed everything onStyleLoaded had added. The map now loads the requested style directly.
  • [web] Document how web keeps a GeoJSON feature id. GL JS keeps the id only if it is a number, or a string that holds a number. It removes all other string ids, and the feature then has no id on web. Use a number for these ids, or put the id in a feature property.

Platform API coverage

Web support is actively being developed. Not all APIs available on iOS and Android are supported on web yet — full parity is coming in future releases. APIs that are not available on a given platform will throw UnimplementedError at runtime.

Dependency Updates

  • Update Mapbox Maps SDK to v11.31.0
    • For platform-specific updates see: iOS & Android
  • Update GL JS to v3.31.0