An in-progress version being developed in the master
branch.
- Updated to mapbox-gl-style-spec v8.0.0 (Changelog). Styles are now expected to be version 8. You can use the gl-style-migrate utility to update existing styles.
- Don't draw halo when halo-width is 0 (#1381)
- Reverted shader changes that degraded performance on IE
- You can now unset layout and paint properties via the
setLayoutProperty
andsetPaintProperty
APIs by passingundefined
as a property value. - The
layer
option offeaturesAt
now supports an array of layers.
-
glyphs
URL now normalizes without the/v4/
prefix formapbox://
urls. Legacy behavior formapbox://fontstacks
is still maintained (#1385) -
Expose
geojson-vt
options for GeoJSON sources (#1271) -
bearing snaps to "North" within a tolerance of 7 degrees (#1059)
-
Now you can directly mutate the minzoom and maxzoom layer properties with
map.setLayerZoomRange(layerId, minzoom, maxzoom)
-
Exposed
mapboxgl.Control
, a base class used by all UI controls -
Refactored handlers to be individually included in Map options, or enable/disable them individually at runtime, e.g.
map.scrollZoom.disable()
. -
New feature: Batch operations can now be done at once, improving performance for calling multiple style functions: (#1352)
style.batch(function(s) { s.addLayer({ id: 'first', type: 'symbol', source: 'streets' }); s.addLayer({ id: 'second', type: 'symbol', source: 'streets' }); s.addLayer({ id: 'third', type: 'symbol', source: 'terrain' }); s.setPaintProperty('first', 'text-color', 'black'); s.setPaintProperty('first', 'text-halo-color', 'white'); });
-
Improved documentation
-
featuresAt
performance improvements by exposingincludeGeometry
option -
Better label placement along lines (#1283)
-
Improvements to round linejoins on semi-transparent lines (mapbox/mapbox-gl-native#1771)
-
Round zoom levels for raster tile loading (2a2aec)
-
Source#reload cannot be called if source is not loaded (#1198)
-
Events bubble to the canvas container for custom overlays (#1301)
-
Move handlers are now bound on mousedown and touchstart events
-
map.featuresAt() now works across the dateline
- No code changes; released only to correct a build issue in 0.8.0.
-
map.setView(latlng, zoom, bearing)
has been removed. Usemap.jumpTo(options)
instead:map.setView([40, -74.50], 9) // 0.7.0 or earlier map.jumpTo({center: [40, -74.50], zoom: 9}); // now
-
map.easeTo
andmap.flyTo
now accept a single options object rather than positional parameters:map.easeTo([40, -74.50], 9, null, {duration: 400}); // 0.7.0 or earlier map.easeTo({center: [40, -74.50], zoom: 9, duration: 400}); // now
-
mapboxgl.Source
is no longer exported. Usemap.addSource()
instead. See the GeoJSON line or GeoJSON markers examples. -
mapboxgl.util.supported()
moved tomapboxgl.supported()
.
- Add perspective rendering (#1049)
- Better and faster labelling (#1079)
- Add touch interactions support on mobile devices (#949)
- Viewport-relative popup arrows (#1065)
- Normalize mousewheel zooming speed (#1060)
- Add proper handling of GeoJSON features that cross the date line (#1275)
- Sort overlapping symbols in the y direction (#470)
- Control buttons are now on a 30 pixel grid (#1143)
- Improve GeoJSON processing performance
- Switch to JSDoc for documentation
- Bundling with browserify is now supported
- Validate incoming map styles (#1054)
- Add
Map
setPitch
getPitch
- Add
Map
dblclick
event. (#1168) - Add
Map
getSource
(660a8c1) - Add
Map
setFilter
andgetFilter
(#985) - Add
Map
failIfMajorPerformanceCaveat
option (#1082) - Add
Map
preserveDrawingBuffer
option (#1232) - Add
VideoSource
getVideo()
(#1162) - Support vector tiles with extents other than 4096 (#1227)
- Use a DOM hierarchy that supports evented overlays (#1217)
- Pass
latLng
to the event object (#1068)
- Fix rendering glitch on iOS 8 (#750)
- Fix line triangulation errors (#1120, #992)
- Support unicode range 65280-65535 (#1108)
- Fix cracks between fill patterns (#972)
- Fix angle of icons aligned with lines (37a498a)
- Fix dashed line bug for overscaled tiles (#1132)
- Fix icon artifacts caused by sprite neighbours (#1195)
- Don't fire spurious
moveend
events on mouseup (#1107) - Fix a race condition in
featuresAt
(#1220) - Fix for brittle fontstack name convention (#1070)
- Fix broken
Popup
setHTML
(#1272) - Fix an issue with cross-origin image requests (#1269)
- Rename
Map
hover
event tomousemove
. - Change
featuresAt
to return GeoJSON objects, including geometry (#1010) - Remove
Map
canvas
andcontainer
properties, addgetCanvas
andgetContainer
methods instead
- Improve line label density
- Add boxzoom interaction (#1038)
- Add keyboard interaction (#1034)
- Faster
GeoJSONSource
setData
without flickering (#973)
- Add Popup component (#325)
- Add layer API (#1022)
- Add filter API (#985)
- More efficient filter API (#1018)
- Accept plain old JS object for
addSource
(#1021) - Reparse overscaled tiles
- Fix
featuresAt
for LineStrings (#1006) - Fix
tileSize
argument toGeoJSON
worker (#987) - Remove extraneous files from the npm package (#1024)
- Hide "improve map" link in print (#988)
- Add wrapped padding to sprite for repeating images (#972)
- Clear color buffers before rendering (#966)
- Make line-opacity work with line-image (#970)
- event.toElement fallback for Firefox (#932)
- skip duplicate vertices at ends of lines (#776)
- allow characters outside \w to be used in token
- Clear old tiles when new GeoJSON is loaded (#905)
- Added
map.setPaintProperty()
,map.getPaintProperty()
,map.setLayoutProperty()
, andmap.getLayoutProperty()
. - Switch to ESLint and more strict code rules (#957)
- Grab 2x raster tiles if retina (#754)
- Support for mapbox:// style URLs (#875)
- Updated to mapbox-gl-style-spec v7.0.0 (Changelog). Styles are now expected to be version 7. You can use the gl-style-migrate utility to update existing styles.
- HTTP_URL and HTTPS_URL config options must no longer include a
/v4
path prefix. addClass
,removeClass
,setClasses
,hasClass
, andgetClasses
are now methods on Map.Style#cascade
is now private, pending a public style mutation API (#755).- The format for
featuresAt
results changed. Instead of result-per-geometry-cross-layer, each result has alayers
array with all layers that contain the feature. This avoids duplication of geometry and properties in the result set.
- Remove tiles for unused sources (#863)
- Fix fill pattern alignment
- Add GeoJSONSource maxzoom option (#760)
- Return ref layers in featuresAt (#847)
- Return any extra layer keys provided in the stylesheet in featuresAt
- Faster protobuf parsing
- Fix race conditions with style loading/rendering
- Fix race conditions with setStyle
- Fix map.remove()
- Fix featuresAt properties
- Fix multiple calls to setStyle
featuresAt
now returns additional information- Complete style/source/tile event suite: style.load, style.error, style.change, source.add, source.remove, source.load, source.error, source.change, tile.add, tile.remove, tile.load, tile.error
- Vastly improved performance and correctness for GeoJSON sources
- Map#setStyle accepts a style URL
- Support {prefix} in tile URL templates
- Provide a source map with minified source
- Results format for
featuresAt
changed
- Ensure only one easing is active at a time (#807)
- Don't require style to perform easings (#817)
- Fix raster tiles sometimes not showing up (#761)
- Internet Explorer 11 support (experimental)
- Interpolate to the closest bearing when doing rotation animations (#818)
- Updated to mapbox-gl-style-spec v6.0.0 (Changelog). Styles are now expected to be version 6. You can use the gl-style-migrate utility to update existing styles.
- Fix worker initialization with deferred or async scripts
- Added map.remove()
- CDN assets are now served with gzip compression
- Fixed iteration over arrays with for/in
- Made browserify deps non-dev (#752)
- Updated to mapbox-gl-style-spec v0.0.5 (Changelog). Styles are now expected to be version 5. You can use the gl-style-migrate utility to update existing styles.
- Removed support for composite layers for performance reasons. #523
raster-hue-rotate
units are now degrees.
- Added LatLng#wrap
- Added support for Mapbox fontstack API.
- Added support for remote, non-Mapbox TileJSON sources and inline TileJSON sources (#535, #698).
- Added support for
symbol-avoid-edges
property to allow labels to be placed across tile edges. - Fixed mkdir issue on Windows (#674).
- Fixed drawing bevelled line joins without overlap.
- Fixed performance when underzooming a layer's minzoom.
- Fixed
raster-opacity
for regular raster layers. - Fixed various corner cases of easing functions.
- Do not modify original stylesheet (#728).
- Inherit video source from source (#699).
- Fixed interactivity for geojson layers.
- Stop dblclick on navigation so the map does not pan (#715).
map.setBearing()
no longer supports a second argument. Usemap.rotateTo
with anoffset
option and duration 0 if you need to rotate around a point other than the map center.
- Improved
GeoJSONSource
to also accept URL asdata
option, eliminating a huge performance bottleneck in case of large GeoJSON files. #669 #671 - Switched to a different fill outlines rendering approach. #668
- Made the minified build 12% smaller gzipped (66 KB now).
- Added
around
option toMap
zoomTo
/rotateTo
. - Made the permalink hash more compact.
- Bevel linejoins no longer overlap and look much better when drawn with transparency.
- Fixed the broken minified build. #679
- Fixed blurry icons rendering. #666
- Fixed
util.supports
WebGL detection producing false positives in some cases. #677 - Fixed invalid font configuration completely blocking tile rendering. #662
- Fixed
Map
project
/unproject
to properly accept array-form values. - Fixed sprite loading race condition. #593
- Fixed
GeoJSONSource
setData
not updating the map until zoomed or panned. #676
- Changed
Navigation
control signature: now it doesn't needmap
in constructor and gets added withmap.addControl(nav)
ornav.addTo(map)
. - Updated CSS classes to have consistent naming prefixed with
mapboxgl-
.
- Added attribution control (present by default, disable by passing
attributionControl: false
in options). - Added rotation by dragging the compass control.
- Added grabbing cursors for the map by default.
- Added
util.inherit
andutil.debounce
functions. - Changed the default debug page style to OSM Bright.
- Token replacements now support dashes.
- Improved navigation control design.
- Fixed compass control to rotate its icon with the map.
- Fixed navigation control cursors.
- Fixed inertia going to the wrong direction in a rotated map.
- Fixed inertia race condition where error was sometimes throwed after erratic panning/zooming.
- First public release.