Mapbox GL v1.2.0 Release Notes

Release Date: 2020-02-17 // about 4 years ago
  • ๐Ÿš€ maps-v1.2.0 (2020.02-release-vanillashake)

    ๐Ÿฑ โœจ New features

    [core] Global settings API (#16174)

    ๐Ÿ‘ Global settings API provides means of managing non-persistent in-process settings. Initial implementation contains support for experimental option for setting thread priorities.

    Expose READ_ONLY_MODE_KEY property for DatabaseFileSource (#16183)

    The READ_ONLY_MODE_KEY property is exposed for DatabaseFileSource.

    ๐ŸŽ This property allows to re-open the offline database in read-only mode and thus improves the performance for the set-ups that do not require the offline database modifications.

    [core] Add runtime API for setting tile prefetch delta for a Source (#16179)

    0๏ธโƒฃ The new Source::setPrefetchZoomDelta(optional<uint8_t>) method allows overriding default tile prefetch setting that is defined by the Map instance.

    ๐Ÿ‘ [core] Add support for within expression. Implement the use of within expression with paint propery and filter expression. (#16157)

    The within expression enables checking whether a feature is inside a pre-defined geometry set/boundary or not. This within expression returns a boolean value, true indicates that the feature being evaluated is inside the geometry set. The returned value can be then consumed as input by another expression or used directly by a paint/layer property.

    ๐Ÿ‘Œ Support for using within expression with layout property will be implemented separately.

    ๐Ÿ‘ [core] Add support for using within expression with layout property. (#16194)

    ๐Ÿ‘ [core] Add support for in expression. (#16162)

    The in expression enables checking whether a Number/String/Boolean type item is in a String/Array and returns a boolean value.

    ๐Ÿฑ ๐Ÿž Bug fixes

    [core] Don't provide multiple responses with the same data for 304 replies (#16200)

    In cases when cached resource is useable, yet don't have an expiration timestamp, we provided data to the requester from the cache and the same data was returned once 304 response was received from the network.

    [core] Fix potential visual artifact for line-dasharray (#16202)

    Store gfx::DrawScope objects with associated render objects. (#15395)

    ๐Ÿš€ We used some shared SegmentVectors, e.g. for drawing raster or background tiles. In longer running maps, this lead to resource accumulation. By storing the SegmentVectors and the contained gfx::DrawScope objects, we ensure that resources get released when the associated render objects vanish.

    ๐Ÿ’… [core] Fix sprite sheet merging in Style::Impl::onSpriteLoaded (#16211)

    ๐Ÿ’… If we get a new sprite sheet from the server, we need to merge current sprite sheet with a new one, while overwriting duplicates and keeping old unique images in a style.

    ๐ŸŽ ๐Ÿ Performance improvements

    ๐Ÿ’… [core] Loading images to style optimization (#16187)

    ๐ŸŽ This change enables attaching images to the style with batches and avoids massive re-allocations. Thus, it improves UI performance especially at start-up time.

    ๐Ÿงฉ Architectural changes

    ๐Ÿฑ โš ๏ธ Breaking changes

    ๐Ÿ’… [core] Loading images to style optimization (#16187)

    ๐Ÿ’… The style::Style::getImage() semantics changed - it now returns optional<style::Image>.