Packages

mapbox-gl

3.34.2 · 3 Nov 2026SEE LICENSE IN LICENSE.txt6M / weekRepositoryHomepagenpmAtom feed

Your version

197 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 1.x
  2. 1.4.1

    10 Oct 2019
    • Fix the way that coalesce handles the image operator so available images are rendered properly

    • Do not emit the styleimagemissing event for an empty string value

    • Fix serialization of ResolvedImage type so *-pattern properties work properly

  3. 1.4.0

    27 Sep 2019
    • Add image expression operator to determine image availability

    • Enable text-offset with variable label placement

    • Faster loading and better look of raster terrain

  4. 1.3.2

    26 Sep 2019
    • Fix a SecurityError in Firefox >= 69 when accessing the cache

  5. 1.3.1

    5 Sep 2019
    • Fix a race condition that produced an error when a map was removed while reloading a source. #8711

    • Fix a race condition where render event was sometimes not fired after load event in IE11. #8708

  6. 1.3.0

    28 Aug 2019
    • Introduce text-writing-mode symbol layer property to allow placing point labels vertically. #8399

    • Extend variable text placement to work when text/icon-allow-overlap is set to true. #8620

    • Allow text-color to be used in formatted expressions to be able to draw different parts of a label in different colors. #8068

  7. 1.2.1

    9 Aug 2019
    • Fix bug in NavigationControl compass button that prevented it from rotating with the map

  8. 1.2.0

    29 Jul 2019
    • breaking

      Fix changes to text-variable-anchor, such that previous anchor positions would take precedence only if they are present in the updated array (considered a bug fix, but is technically a breaking change from previous behavior)

    • Add *-sort-key layout property for circle, fill, and line layers, to dictate which features appear above others within a single layer

    • Add ability to instantiate maps with specific access tokens

  9. 1.1.1

    16 Jul 2019
    • Fix unbounded memory growth caused by failure to cancel requests to the cache

    • Fix unbounded memory growth caused by failure to cancel requests in IE

    • Fix performance of getting tiles from the cache

  10. 1.1.0

    2 Jul 2019
    • Improve line rendering performance by using a more compact line attributes layout

    • Improve data-driven symbol layers rendering performance

    • Add the ability to disable validation during queryRenderedFeatures and querySourceFeatures calls, as a performance optimization (#8211) (h/t gorshkov-leonid)

  11. 1.0.0

    22 May 2019
    • breaking

      Add SKU token to Mapbox API requests #8276

  12. 0.54.x
  13. 0.54.1

    19 Jul 2019
    • Fix unbounded memory growth caused by failure to cancel requests in IE

  14. 0.54.0

    25 Apr 2019
    • breaking

      Turned localIdeographFontFamily map option on by default. This may change how CJK labels are rendered, but dramatically improves performance of CJK maps (because the browser no longer needs to download heavy amounts of font data from the server). Add localIdeographFontFamily: false to turn this off. #8008

    • breaking

      Added Popup maxWidth option, set to "240px" by default. #7906

    • Added support for updating and animating style images. #7999

  15. 0.53.x
  16. 0.53.1

    27 Feb 2019
    • Turn off telemetry for Mapbox Atlas

    • Fix order of 3D features in query results (fix #7883)

    • Fix RemovePaintState benchmarks

  17. 0.53.0

    7 Feb 2019
    • Enable fill-extrusion querying with ray picking

    • Add clusterProperties option for aggregated cluster properties (#2412, fixed by #7584)

    • Allow initial map bounds to be adjusted with fitBounds options. (#7681) (h/t elyobo)

  18. 0.52.x
  19. 0.52.0

    19 Dec 2018
    • breaking

      Canonicalize tile urls to mapbox:// urls so they can be transformed with config.API_URL

    • Add getter and setter for config.API_URL

    • Allow user to define element other than map container for full screen control

  20. 0.51.x
  21. 0.51.0

    7 Nov 2018
    • Add initial bounds as map constructor option (#5518) (h/t stepankuzmin)

    • Improve performance on machines with > 8 cores (#7407, fixed by #7430)

    • Add MercatorCoordinate type

  22. 0.50.x
  23. 0.50.0

    12 Oct 2018
    • 🎉 Add Custom Layers that can be rendered into with user-provided WebGL code

    • Add WebGL face culling for increased performance

    • Improve speed of expression evaluation

  24. 0.49.x
  25. 0.49.0

    12 Sep 2018
    • breaking

      Use client{Height/Width} instead of offset{Height/Width} for map canvas sizing (#6848, fixed by #7128)

    • Fix Top Issues list for mapbox-gl-js (#7108, fixed by #7112)

    • Fix bug in which symbols with icon-allow-overlap: true, text-allow-overlap: true, text-optional: false would show icons when they shouldn't

  26. 0.48.x
  27. 0.48.0

    17 Aug 2018
    • breaking

      Treat tiles that error with status 404 as empty renderable tiles to prevent rendering duplicate features in some sparse tilesets

    • Fix issue where text-max-angle property was being calculated incorectly internally, causing potential rendering errors when "text-placement": line

    • Require feature.id when using Map#setFeatureState

  28. 0.47.x
  29. 0.47.0

    18 Jul 2018
    • Add configurable drag pan threshold (#6809) (h/t msbarry)

    • Add raster-resampling raster paint property (#6411) (h/t andrewharvey)

    • Add symbol-placement: line-center

  30. 0.46.x
  31. 0.46.0

    20 Jun 2018
    • breaking

      Align implicit type casting behavior of match expressions with with case/==

    • :tada: Add Map#setFeatureState and feature-state expression to support interactive styling

    • Create draggable Marker with setDraggable

  32. 0.45.x
  33. 0.45.0

    7 May 2018
    • breaking

      Evented#fire and Evented#listens are now marked as private. Though Evented is still exported, and fire and listens are still functional, we encourage you to seek alternatives; a future version may remove their API accessibility or change its behavior. If you are writing a class that needs event emitting functionality, consider using EventEmitter or similar libraries instead.

    • breaking

      The "to-string" expression operator now converts null to an empty string rather than to "null". #6534

    • :rainbow: Add line-gradient property #6303

  34. 0.44.x
  35. 0.44.2

    3 Apr 2018
  36. 0.44.1

    14 Feb 2018
    • Fix bug causing features from symbol layers to be omitted from map.queryRenderedFeatures() #6074

    • Fix error triggered by simultaneous scroll-zooming and drag-panning. #6106

    • Fix bug wherein drag-panning failed to resume after a brief pause #6063

  37. 0.44.0

    25 Jan 2018
    • breaking

      Due to bug fixes #6005 and #6029, DragPanHandler, DragRotateHandler, and ScrollZoomHandler now fire map movement events (move, rotate, zoom, pitch) only once per render frame, rather than once per mouse/touch event. (See also issue #6047.)

    • The CSP policy of a page using mapbox-gl-js no longer needs to include script-src 'unsafe-eval' #559

    • Add LngLatBounds#isEmpty() method #5917

  38. 0.43.x
  39. 0.43.0

    21 Dec 2017
    • breaking

      It is now an error to attempt to remove a source that is in use #5562

    • breaking

      It is now an error if the layer specified by the before parameter to moveLayer does not exist #5679

    • breaking

      "colorSpace": "hcl" now uses shortest-path interpolation for hue #5811

  40. 0.42.x
  41. 0.42.2

    21 Nov 2017
    • Fix an issue with the scale control being too wide #5715

    • Fix rendering in Safari #5712

    • Fix "Cannot read property 'hasTransition' of undefined" error #5714

  42. 0.42.1

    18 Nov 2017
    • Workaround for map flashing bug on Chrome 62+ with Intel Iris Graphics 6100 cards #5704

    • Rerender map when map.showCollisionBoxes is set to false #5673

    • Fix transitions from property default values #5682

  43. 0.42.0

    13 Nov 2017
    • breaking

      Require that heatmap-color use expressions instead of stop functions #5624

    • breaking

      Remove support for validating and migrating v6 styles

    • breaking

      Remove support for validating v7 styles #5604

  44. 0.41.x
  45. 0.41.0

    11 Oct 2017
    • breaking

      Removed support for paint classes #3643. Instead, use runtime styling APIs or Map#setStyle.

    • breaking

      Reverted the canvas source contextType option added in 0.40.0 #5449

    • Clip raster tiles to avoid tile overlap #5105

  46. 0.40.x
  47. 0.40.1

    19 Sep 2017
    • removed

      Remove upper limit on fill-extrusion-height property #5320

    • Fix bug causing flicker when zooming in on overzoomed tiles #5295

    • Remove erroneous call to Tile#redoPlacement for zoom-only or low pitch camera changes #5284

  48. 0.40.0

    13 Sep 2017
    • breaking

      Map#addImage now requires the image as an HTMLImageElement, ImageData, or object with width, height, and
      data properties with the same format as ImageData. It no longer accepts a raw ArrayBufferView in the second
      argument and width and height options in the third argument.

    • breaking

      canvas sources now require a contextType option specifying the drawing context associated with the source canvas. #5155

    • Correct rendering for multiple fill-extrusion layers on the same map #5101

  49. 0.39.x
  50. 0.39.1

    24 Jul 2017
    • Fix packaging issue in 0.39.0 #5025

    • Correctly evaluate enum-based identity functions #5023

  51. 0.39.0

    21 Jul 2017
    • breaking

      GeolocateControl breaking changes #4479

    • breaking

      Anchor Markers at their center by default #4751 @andrewharvey

    • breaking

      Increase significantRotateThreshold for the TouchZoomRotateHandler #4971, @dagjomar

  52. 0.38.x
  53. 0.38.0

    9 Jun 2017
    • breaking

      Require node version >=6.4.0, enabling the use of more ES6 features #4752

    • Attenuate label size scaling with distance, improving readability of pitched maps #4547

    • Skip rendering for patterned layers when pattern is missing #4687

  54. 0.37.x
  55. 0.37.0

    2 May 2017
    • breaking

      Removed LngLat#wrapToBestWorld

    • Improve popup/marker positioning #4577

    • Add Map#isStyleLoaded and Map#areTilesLoaded events #4321

  56. 0.36.x
  57. 0.36.0

    19 Apr 2017
    • Replace LogoControl logo with the new Mapbox logo #4598

    • Fix bug with the BoxZoomHandler that made it glitchy if it is enabled after the DragPanHandler #4528

    • Fix undefined behavior in fill_outline shaders #4600

  58. 0.35.x
  59. 0.35.1

    12 Apr 2017
    • Add .json extension to style-spec require statements for webpack compatibility #4563 @orangemug

    • Fix documentation type for Map#fitBounds #4569 @andrewharvey

    • Fix bug causing {Image,Video,Canvas}Source to throw exception if latitude is outside of +/-85.05113 #4574

  60. 0.35.0

    7 Apr 2017
    • Use anisotropic filtering to improve rendering of raster tiles on pitched maps #1064

    • Add pitchstart and pitchend events #2449

    • Add an optional layers parameter to Map#on #1002

  61. 0.34.x
  62. 0.34.0

    17 Mar 2017
    • Add Map#addImage and Map#removeImage API to allow adding icon images at runtime #4404

    • Simplify non-browserify bundler usage by making the distribution build the main entrypoint #4423

    • Fix issue where coincident start/end points of LineStrings were incorrectly rendered as joined #4413

  63. 0.33.x
  64. 0.33.1

    11 Mar 2017
    • removed

      Remove double options.easing description from the Map#fitBounds documentation #4402

    • Prevent Mapbox logo from being added to the map more than once #4386

    • Add type='button' to FullscreenControl to prevent button from acting as a form submit #4397

  65. 0.33.0

    8 Mar 2017
    • breaking

      Automatically add Mapbox wordmark when required by Mapbox TOS #3933

    • breaking

      Increase default maxZoom from 20 to 22 #4333

    • deprecated

      Deprecate tiledata and tiledataloading events in favor of sourcedata and sourcedataloading. #4347

  66. 0.32.x
  67. 0.32.1

    26 Jan 2017
  68. 0.32.0

    26 Jan 2017
    • deprecated

      Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.

    • Add Map#isSourceLoaded method #4033

    • Automatically reload tiles based on their Expires and Cache-Control HTTP headers #3944

  69. 0.31.x
  70. 0.31.0

    10 Jan 2017
    • Add renderWorldCopies option to the Map constructor to give users control over whether multiple worlds are rendered in a map #3885

    • Fix performance regression triggered when Map pitch or bearing is changed #3938

    • Fix null pointer exception caused by trying to clear an undefined source #3903

  71. 0.30.x
  72. 0.30.0

    5 Jan 2017
    • Fire an error when map canvas is larger than allowed by gl.MAX_RENDERBUFFER_SIZE #2893

    • Improve error messages when referencing a nonexistent layer id #2597

    • Fire an error when layer uses a geojson source and specifies a source-layer #3896

  73. 0.29.x
  74. 0.29.0

    20 Dec 2016
    • Add support for property functions for many style properties on line layers #3033

    • Make Map#setStyle smoothly transition to the new style #3621

    • Add styledata, sourcedata, styledataloading, and sourcedataloading events

  75. 0.28.x
  76. 0.28.0

    17 Nov 2016
    • Performance improvements for Map#addLayer and Map#removeLayer #3584

    • Add method for changing layer order at runtime - Map#moveLayer #3584

    • Update vertical punctuation logic to Unicode 9.0 standard #3608

  77. 0.27.x
  78. 0.27.0

    11 Nov 2016
    • breaking

      Replace fill-extrude-height and fill-extrude-base properties of fill render type with a separate fill-extrusion type (with corresponding fill-extrusion-height and fill-extrusion-base properties), solving problems with render parity and runtime switching between flat and extruded fills. #554

    • breaking

      Change the units for extrusion height properties (fill-extrusion-height, fill-extrusion-base) from "magic numbers" to meters. #3509

    • breaking

      Remove mapboxgl.Control class and change the way custom controls should be implemented. #3497

  79. 0.26.x
  80. 0.26.0

    13 Oct 2016
    • breaking

      Add Control suffix to all controls :warning: warning

    • breaking

      Calculate style layer refs automatically and get rid of user-specified refs :warning: warning

    • Add fill-extrude-height and fill-extrude-base style properties (3d buildings) :cityscape