Skip to content

Releases: mapbox/mapbox-gl-js

v0.34.0

17 Mar 21:13

Choose a tag to compare

New features 🚀

  • 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

Bug fixes 🐛

  • Fix issue where coincident start/end points of LineStrings were incorrectly rendered as joined #4413
  • Fix bug causing queryRenderedFeatures to fail in cases where both multiple sources and data-driven paint properties were present #4417
  • Fix bug where tile request errors caused map.loaded() to incorrectly return false #4425

Testing improvements ✅

v0.33.1

11 Mar 01:32

Choose a tag to compare

Bug fixes 🐛

  • 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
  • Fix issue where map would continue to rotate if Ctrl key is released before the click during a DragRotate event #4389
  • Remove double options.easing description from the Map#fitBounds documentation #4402

v0.33.0

08 Mar 20:52

Choose a tag to compare

⚠️ Breaking changes

  • Automatically add Mapbox wordmark when required by Mapbox TOS #3933
  • Increase default maxZoom from 20 to 22 #4333
  • Deprecate tiledata and tiledataloading events in favor of sourcedata and sourcedataloading. #4347
  • mapboxgl.util is no longer exported. #4241

✅ New features

  • Add property functions support for most symbol paint properties #4074, #4186, #4226
  • Add ability to specify default property value for undefined or invalid property values used in property functions. #4175
  • Improve Map#fitBounds to accept different values for top, bottom, left, and right padding #3890
  • Add a FullscreenControl for displaying a fullscreen map #3977

🐞 Bug fixes

  • Fix validation error on categorical zoom-and-property functions #4220
  • Fix bug causing expired resources to be re-requested causing an infinite loop #4255
  • Fix problem where MapDataEvent#isSourceLoaded always returned false #4254
  • Fix an issue where tiles in the source cache were prematurely deleted, resulting in tiles flickering when zooming in and out #4311
  • Make sure MapEventData is passed through on calls Map#flyTo #4342
  • Fix incorrect returned values for Map#isMoving #4350
  • Fix categorical functions not allowing boolean stop domain values #4195
  • Fix piecewise-constant functions to allow non-integer zoom levels. #4196
  • Fix issues with $id in filters #4236 #4237
  • Fix a race condition with polygon centroid algorithm causing tiles not to load in some cases. #4273
  • Throw a meaningful error when giving non-array layers parameter to queryRenderedFeatures #4331
  • Throw a meaningful error when supplying invalid minZoom and maxZoom values #4324
  • Fix a memory leak when using the RTL Text plugin #4248

🔧 Dev workflow changes

v0.32.1

26 Jan 21:01

Choose a tag to compare

Bug Fixes

v0.32.0

26 Jan 19:35

Choose a tag to compare

Deprecation Notices

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

New Features

  • Add Map#isSourceLoaded method #4033
  • Automatically reload tiles based on their Expires and Cache-Control HTTP headers #3944
  • Add around=center option to scrollZoom and touchZoomRotate interaction handlers #3876
  • Add support for mapbox-gl-rtl-text plugin to support right-to-left scripts #3758
  • Add canvas source type #3765
  • Add Map#isMoving method #2792

Bug Fixes

  • Fix bug causing garbled text on zoom #3962
  • Fix bug causing crash in Firefox and Mobile Safari when rendering a large map #4037
  • Fix bug causing raster tiles to flicker during zoom #2467
  • Fix bug causing exception when unsetting and resetting fill-outline-color #3657
  • Fix memory leak when removing raster sources #3951
  • Fix bug causing exception when when zooming in / out on empty GeoJSON tile #3985
  • Fix line join artifacts at very sharp angles #4008

v0.31.0

10 Jan 21:10

Choose a tag to compare

0.31.0 (Jan 10 2017)

New Features

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

Bug Fixes

  • 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

Miscellaneous

v0.30.0

05 Jan 23:56

Choose a tag to compare

New Features

  • 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
  • Add inline source declaration syntax #3857
  • Improve line breaking behavior #3887

Performance Improvements

  • Improve Map#setStyle performance in some cases #3853

Bug Fixes

  • Fix unexpected popup positioning when some offsets are unspecified #3367
  • Fix incorrect interpolation in functions #3838
  • Fix incorrect opacity when multiple backgrounds are rendered #3819
  • Fix exception thrown when instantiating geolocation control in Safari #3844
  • Fix exception thrown when setting showTileBoundaries with no sources #3849
  • Fix incorrect rendering of transparent parts of raster layers in some cases #3723
  • Fix non-terminating render loop when zooming in in some cases #3399

v0.29.0

20 Dec 13:23

Choose a tag to compare

New Features

  • 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
  • Add isSourceLoaded and source properties to MapDataEvent #3590
  • Remove "max zoom" cap of 20 #3683
  • Add circle-stroke-* style properties #3672
  • Add a more helpful error message when the specified container element doesn't exist #3719
  • Add watchPosition option to GeolocateControl #3739
  • Add positionOptions option to GeolocateControl #3739
  • Add aria-label to map canvas #3782
  • Adjust multipoint symbol rendering behavior #3763
  • Add support for property functions for icon-offset #3791
  • Improved antialiasing on pitched lines #3790
  • Allow attribution control to collapse to an ⓘ button on smaller screens #3783
  • Improve line breaking algorithm #3743

Performance Improvements

  • Fix memory leak when calling Map#removeSource #3602
  • Reduce bundle size by adding custom build of gl-matrix #3734
  • Improve performance of projection code #3721
  • Improve performance of style function evaluation #3816

Bug fixes

  • Fix exception thrown when using line-color property functions #3639
  • Fix exception thrown when removing a layer and then adding another layer with the same id but different type #3655
  • Fix exception thrown when passing a single point to Map#fitBounds #3655
  • Fix exception thrown occasionally during rapid map mutations #3681
  • Fix rendering defects on pitch=0 on some systems #3740
  • Fix unnecessary CPU usage when displaying a raster layer #3764
  • Fix bug causing sprite after Map#setStyle #3829
  • Fix bug preventing Map from emitting a contextmenu event on Windows browsers #3822

v0.28.0

17 Nov 19:53

Choose a tag to compare

0.28.0 (November 17 2016)

New features and improvements

  • 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

Bug fixes

  • Fix data-driven fill-opacity rendering when using a fill-pattern #3598
  • Fix line rendering artifacts #3627
  • Fix incorrect rendering of opaque fills on top of transparent fills #2628
  • Prevent AssertionErrors from pitching raster layers by only calling Worker#redoPlacement on vector and GeoJSON sources #3624
  • Restore IE11 compatability #3635
  • Fix symbol placement for cached tiles #3637

v0.27.0

11 Nov 23:45

Choose a tag to compare

⚠️ Breaking changes ⚠️

  • 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. mapbox/mapbox-gl-style-spec#554
  • Change the units for extrusion height properties (fill-extrusion-height, fill-extrusion-base) from "magic numbers" to meters. #3509
  • Remove mapboxgl.Control class and change the way custom controls should be implemented. #3497
  • Remove mapboxgl.util functions: inherit, extendAll, debounce, coalesce, startsWith, supportsGeolocation. #3441 #3571
  • mapboxgl.util is deprecated and will be removed in the next release. #1408

New features and improvements

  • Tons of performance improvements that combined make rendering up to 3 times faster, especially for complex styles. #3485 #3489 #3490 #3491 #3498 #3499 #3501 #3510 #3514 #3515 #3486 #3527 #3574 ⚡️⚡️⚡️
  • 🈯 Added vertical text writing mode for languages that support it. #3438
  • 🈯 Improved line breaking of Chinese and Japanese text in point-placed labels. #3420
  • Reduce the default number of worker threads (mapboxgl.workerCount) for better performance. #3565
  • Automatically use categorical style function type when input values are strings. #3384
  • Improve control buttons accessibility. #3492
  • Remove geolocation button if geolocation is disabled (e.g. the page is not served through https). #3571
  • Added Map#getMaxZoom and Map#getMinZoom methods #3592

Bugfixes

  • Fix several line dash rendering bugs. #3451
  • Fix intermittent map flicker when using image sources. #3522
  • Fix incorrect rendering of semitransparent background layers. #3521
  • Fix broken raster-fade-duration property. #3532
  • Fix handling of extrusion heights with negative values (by clamping to 0). #3463
  • Fix GeoJSON sources not placing labels/icons correctly after map rotation. #3366
  • Fix icon/label placement not respecting order for layers with numeric names. #3404
  • Fix queryRenderedFeatures working incorrectly on colliding labels. #3459
  • Fix a bug where changing extrusion properties at runtime sometimes threw an error. #3487 #3468
  • Fix a bug where map.loaded() always returned true when using raster tile sources. #3302
  • Fix a bug where moving the map out of bounds sometimes threw failed to invert matrix error. #3518
  • Fixed queryRenderedFeatures throwing an error if no parameters provided. #3542
  • Fixed a bug where using multiple \n in a text field resulted in an error. #3570

Misc

  • 🐞 Fix npm install mapbox-gl pulling in all devDependencies, leading to an extremely slow install. #3377
  • Switch the codebase to ES6. #3388 #3408 #3415 #3421
  • A lot of internal refactoring to make the codebase simpler and more maintainable.
  • Various documentation fixes. #3440