Update dependency mapbox-gl to v0.54.1
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| mapbox-gl | 0.44.1 -> 0.54.1 |
Release Notes
mapbox/mapbox-gl-js
v0.54.1
Bug fixes
- Fix unbounded memory growth caused by failure to cancel requests in IE (#8481)
v0.54.0
Breaking changes
- Turned
localIdeographFontFamilymap 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). AddlocalIdeographFontFamily: falseto turn this off. #8008 - Added
PopupmaxWidthoption, set to"240px"by default. #7906
Major features
- Added support for updating and animating style images. #7999
- Added support for generating style images dynamically (e.g. for drawing icons based on feature properties). #7987
- Added antialiasing support for custom layers. #7821
- Added a new
mapbox-gl-csp.jsbundle for strict CSP environments whereworker-src: blobis disallowed. #8044
Minor features and improvements
- Improved performance of fill extrusions. #7821
- Improved performance of symbol layers. #7967
- Slightly improved rendering performance in general. #7969
- Slightly improved performance of HTML markers. #8018
- Improved diffing of styles with
"visibility": "visible". #8005 - Improved zoom buttons to grey out when reaching min/max zoom. #8023
- Added a title to fullscreen control button. #8012
- Added
rel="noopener"attributes to links that lead to external websites (such as Mapbox logo and OpenStreetMap edit link) for improved security. #7914 - Added tile size info when
map.showTileBoundariesis turned on. #7963 - Significantly improved load times of the benchmark suite. #8066
- Improved behavior of
canvasSource.pauseto be more reliable and able to render a single frame. #8130
Bug fixes
- Fixed a bug in Mac Safari 12+ where controls would disappear until you interact with the map. 8193
- Fixed a memory leak when calling
source.setData(url)many times. #8035 - Fixed a bug where marker lost focus when dragging. #7799
- Fixed a bug where
map.getCenter()returned a reference to an internalLngLatobject instead of cloning it, leading to potential mutability bugs. #7922 - Fixed a bug where default HTML marker positioning was slightly off. #8074
- Fixed a bug where adding a fill extrusion layer for non-polygon layers would lead to visual artifacts. #7685
- Fixed intermittent Flow failures on CI. #8061
- Fixed a bug where calling
Map#removeFeatureStatedoes not remove the state from some tile zooms #8087 - Fixed a bug where
removeFeatureStatedidn't work on features withidequal to0. #8150 (h/t jutaz)
v0.53.1
Bug fixes
- Turn off telemetry for Mapbox Atlas (#7945)
- Fix order of 3D features in query results (fix #7883) (#7953)
- Fix RemovePaintState benchmarks (#7930)
v0.53.0
Features and improvements
- Enable
fill-extrusionquerying with ray picking (#7499) - Add
clusterPropertiesoption for aggregated cluster properties (#2412, fixed by #7584) - Allow initial map bounds to be adjusted with
fitBoundsoptions. (#7681) (h/t elyobo) - Remove popups on
Map#remove(#7749) (h/t andycalder) - Add
Map#removeFeatureState(#7761) - Add
number-formatexpression (#7626) - Add
symbol-sort-keystyle property (#7678)
Bug fixes
- Upgrades Earcut to fix a rare bug in rendering polygons that contain a coincident chain of holes (#7806, fixed by #7878)
- Allow
file://protocol in XHR requests for Cordova/Ionic/etc (#7818) - Correctly handle WebP images in Edge 18 (#7687)
- Fix bug which mistakenly requested WebP images in browsers that do not support WebP (#7817) (#7819)
- Fix images not being aborted when dequeued (#7655)
- Fix DEM layer memory leak (#7690, fixed by #7691)
- Set correct color state before rendering custom layer (#7711)
- Set
LngLat.toBounds()default radius to 0 (#7722, fixed by #7723) (h/t cherniavskii) - Fix race condition in
feature-statedependent layers (#7523, fixed by #7790) - Prevent
map.repaintfrom mistakenly enabling continuous repaints (#7667) - Prevent map shaking while zooming in on raster tiles (#7426)
- Fix query point translation for multi-point geometry (#6833, fixed by #7581)
v0.52.0
Breaking changes
- Canonicalize tile urls to
mapbox://urls so they can be transformed withconfig.API_URL(#7594)
Features and improvements
- Add getter and setter for
config.API_URL(#7594) - Allow user to define element other than map container for full screen control (#7548)
- Add validation option to style setters (#7604)
- Add 'idle' event: fires when no further rendering is expected without further interaction. (#7625)
Bug fixes
- Fire error when map.getLayoutProperty references missing layer (#7537, fixed by #7539)
- Fix shaky sprites when zooming with scrolling (#7558)
- Fix layout problems in attribution control (#7608) (h/t lucaswoj)
- Fixes resetting map's pitch to 0 if initial bounds is set (#7617) (h/t stepankuzmin)
- Fix occasional failure to load images after multiple image request abortions #7641
- Update repo url to correct one (#7486) (h/t nicholas-l)
- Fix bug where symbols where sometimes not rendered immediately (#7610)
- Fix bug where cameraForBounds returns incorrect CameraOptions with asymmetrical padding/offset (#7517, fixed by #7518) (h/t mike-marcacci)
- Use diff+patch approach to map.setStyle when the parameter is a URL (#4025, fixed by #7562)
- Begin touch zoom immediately when rotation disabled (#7582) (h/t msbarry)
- Fix symbol rendering under opaque fill layers (#7612)
- Fix shaking by aligning raster sources to pixel grid only when map is idle (7426)
- Fix raster layers in Edge 18 by disabling it's incomplete WebP support (7687)
- Fix memory leak in hillshade layer (7691)
- Fix disappearing custom layers (7711)
v0.51.0
November 7, 2018
✨ Features and improvements
- Add initial bounds as map constructor option (#5518) (h/t stepankuzmin)
- Improve performance on machines with > 8 cores (#7407, fixed by #7430)
- Add
MercatorCoordinatetype (#7488) - Allow browser-native
contextmenuto be enabled (#2301, fixed by #7369) - Add an unminified production build to the NPM package (#7403)
- Add support for
LngLatconversion from{lat, lon}(#7507) (h/t bfrengley) - Add tooltips for navigation controls (#7373)
- Show attribution only for used sources (#7384)
- Add telemetry event to log map loads (#7431)
- Tighten style validation
🐛 Bug fixes
- Fix for GeoJSON geometries not working when coincident with tile boundaries(#7436, fixed by #7448)
- Fix depth buffer-related rendering issues on some Android devices. (#7471)
- Fix positioning of compact attribution strings (#7444, #7445, and #7391)
- Fix an issue with removing markers in mouse event callbacks (#7442) (h/t vbud)
- Remove controls before destroying a map (#7479)
- Fix display of Scale control values < 1 (#7469) (h/t MichaelHedman)
- Fix an error when using location
hashwithin iframes in IE11 (#7411) - Fix depth mode usage in custom layers (#7432) (h/t markusjohnsson)
- Fix an issue with shaky sprite images during scroll zooms (#7558)
v0.50.0
October 10, 2018
✨ Features and improvements
- 🎉 Add Custom Layers that can be rendered into with user-provided WebGL code (#7039)
- Add WebGL face culling for increased performance (#7178)
- Improve speed of expression evaluation (#7334)
- Automatically coerce to string for
concatexpression andtext-fieldproperty (#6190, fixed by #7280) - Add
fill-extrusion-vertical-gradientproperty for controlling shading of fill extrusions (#5768, fixed by #6841) - Add update functionality for images provided via
ImageSource(#4050, fixed by #7342) (h/t dcervelli)
🐛 Bug fixes
- Expressions
- Fix expressions that use
log2andlog10in IE11 (#7318, fixed by #7320) - Fix
letexpression stripping expected type during parsing (#7300, fixed by #7301) - Fix superfluous wrapping of literals in
literalexpression (#7336, fixed by #7337) - Allow calling
to-coloron values that are already of typeColor(#7260) - Fix
to-arrayfor empty arrays ((#7261)) - Fix identity functions for
text-fieldwhen using formatted text (#7351) - Fix coercion of
nullto0into-numberexpression (#7083, fixed by #7274)
- Fix expressions that use
- Canvas source
- Rendering
- Fix rendering of fill extrusions with really high heights (#7292)
- Fix an error where the map state wouldn't return to
loadedafter certain runtime styling changes when there were errored tiles in the viewport (#7355) - Fix errors when rendering symbol layers without symbols (#7241, fixed by #7253)
- Don't fade in symbols with
*-allow-overlap: truewhen panning into the viewport (#7172, fixed by#7244)
- Library
- Fix disambiguation for
mouseoverevent (#7295, fixed by #7299) - Fix silent failure of
getImageif an SVG is requested (#7312, fixed by #7313) - Fix empty control group box shadow (#7303, fixed by #7304) (h/t Duder-onomy)
- Fixed an issue where a wrong timestamp was sent for Mapbox turnstile events (#7381)
- Fixed a bug that lead to attribution not showing up correctly in Internet Explorer (#3945, fixed by #7391)
- Fix disambiguation for
v0.49.0
September 6, 2018
⚠️ Breaking changes
- Use
client{Height/Width}instead ofoffset{Height/Width}for map canvas sizing (#6848, fixed by #7128)
🐛 Bug fixes
- 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: falsewould show icons when they shouldn't (#7041) - Fix bug where the map would not stop at the exact zoom level requested by Map#FlyTo (#7222) (#7223) (h/t benoitbzl)
- Keep map centered on the center point of a multi-touch gesture when zooming (#6722) (#7191) (h/t pakastin)
- Update the style-spec's old
gl-style-migratescript to include conversion of legacy functions and filters to their expression equivalents (#6927, fixed by #7095) - Fix
icon-sizefor small data-driven values (#7125) - Fix bug in the way AJAX requests load local files on iOS web view (#6610) (h/t oscarfonts)
- Fix bug in which canvas sources would not render in world wrapped tiles at the edge of the viewport ([#7271]https://github.com/mapbox/mapbox-gl-js/issues/7271), fixed by #7273)
✨ Features and improvements
- Performance updates:
- Improve time to first render by updating how feature ID maps are transferred to the main thread (#7110, fixed by #7132)
- Reduce size of JSON transmitted from worker thread to main thread (#7124)
- Improve image/glyph atlas packing algorithm (#7171)
- Use murmur hash on symbol instance keys to reduce worker transfer costs (#7127)
- Add GL state management for uniforms (#6018)
- Add
symbol-z-ordersymbol layout property to style spec (#7219) - Implement data-driven styling support for
*-pattern properties(#6289) - Add
Map#fitScreenCoordinateswhich fits viewport to two points, similar toMap#fitBoundsbut uses screen coordinates and supports non-zero map bearings (#6894) - Re-implement LAB/HSL color space interpolation for expressions (#5326, fixed by #7123)
- Enable benchmark testing for Mapbox styles (#7047)
- Allow
Map#setFeatureStateandMap#getFeatureStateto accept numeric IDs (#7106) (h/t bfrengley)
v0.48.0
August 16, 2018
⚠️ Breaking changes
- Treat tiles that error with status 404 as empty renderable tiles to prevent rendering duplicate features in some sparse tilesets (#6803)
🐛 Bug fixes
- Fix issue where
text-max-angleproperty was being calculated incorrectly internally, causing potential rendering errors when"symbol-placement": line - Require
feature.idwhen usingMap#setFeatureState(#6974) - Fix issue with removing the
GeolocateControlwhen user location is being used (#6977) (h/t sergei-zelinsky) - Fix memory leak caused by a failure to remove all controls added to the map (#7042)
- Fix bug where the build would fail when using mapbox-gl webpack 2 and UglifyJSPlugin (#4359, fixed by #6956)
- Fix bug where fitBounds called with coordinates outside the bounds of Web Mercator resulted in uncaught error (#6906, fixed by #6918)
- Fix bug wherein
Map#querySourceFeatureswas returning bad results on zooms > maxZoom (#7061) - Relax typing for equality and order expressions (#6459, fixed by #6961)
- Fix bug where
queryPaddingfor all layers in a source was set by the first layer, causing incorrect querying on other layers and, in some cases, incorrect firing of events associated with individual layers (#6909)
✨ Features and improvements
- Performance Improvements:
- Add a user turnstile event for users accessing Mapbox APIs (#6980)
- Add support for autogenerating feature ids for GeoJSON sources so they can be used more easily with the
Map#setFeatureStateAPI (#7043)) (#7091) - Add ability to style symbol layers labels with multiple fonts and text sizes via
"format"expression (#6994) - Add customAttribution option to AttributionControl (#7033) (h/t mklopets)
- Publish Flow type definitions alongside compiled bundle (#7079)
- Introduce symbol cross fading when crossing integer zoom levels to prevent labels from disappearing before newly loaded tiles' labels can be rendered (#6951)
- Improvements in label collision detection (#6925))
v0.47.0
✨ Features and improvements
- Add configurable drag pan threshold (#6809) (h/t msbarry)
- Add
raster-resamplingraster paint property (#6411) (h/t andrewharvey) - Add
symbol-placement: line-center(#6821) - Add methods for inspecting GeoJSON clusters (#3318, fixed by #6829)
- Add warning to geolocate control when unsupported (#6923) (h/t aendrew)
- Upgrade geojson-vt to 3.1.4 (#6942)
- Include link to license in compiled bundle (#6975)
🐛 Bug fixes
- Use updateData instead of re-creating buffers for repopulated paint arrays (#6853)
- Fix ScrollZoom handler setting tr.zoom = NaN (#6924)
- Fix heatmap tile clipping when layers are ordered above it (#6806, fixed by #6807)
- Fix video source in safari (macOS and iOS) (#6443, fixed by #6811)
- Do not reload errored tiles (#6813)
- Fix send / remove timing bug in Dispatcher (#6756, fixed by #6826)
- Fix flyTo not zooming to exact given zoom (#6828)
- Don't stop animation on map resize (#6636)
- Fix map.getBounds() with rotated map (#6875) (h/t zoltan-mihalyi)
- Support collators in feature filter expressions. (#6929)
- Fix Webpack production mode compatibility (#6981)
v0.46.0
⚠️ Breaking changes
- Align implicit type casting behavior of
matchexpressions with withcase/==(#6684)
✨ Features and improvements
- :tada: Add
Map#setFeatureStateandfeature-stateexpression to support interactive styling (#6263) - Create draggable
MarkerwithsetDraggable(#6687) - Add
Map#listImagesfor listing all currently active sprites/images (#6381) - Add "crossSourceCollisions" option to disable cross-source collision detection (#6566)
- Handle
text/icon-rotatefor symbols withsymbol-placement: point(#6075) - Automatically compact Mapbox wordmark on narrow maps. (#4282) (h/t andrewharvey)
- Only show compacted AttributionControl on interactive displays (#6506) (h/t andrewharvey)
- Use postcss to inline svg files into css, reduce size of mapbox-gl.css (#6513) (h/t andrewharvey)
- Add support for GeoJSON attribution (#6364) (h/t andrewharvey)
- Add instructions for running individual unit and render tests (#6686)
- Make Map constructor fail if WebGL init fails. (#6744) (h/t uforic)
- Add browser fallback code for
collectResourceTiming: truein web workers (#6721) - Remove ignored usage of gl.lineWidth (#5541)
- Split new bounds calculation out of fitBounds into new method (#6683)
- Allow integration tests to be organized in an arbitrarily deep directory structure (#3920)
- Make "Missing Mapbox GL JS CSS" a console warning (#5786)
- Add rel="noopener" to Mapbox attribution link. (#6729) (h/t gorbypark)
- Update to deep equality check in example code (#6599) (h/t jonsadka)
- Upgrades!
🐛 Bug fixes
collectResourceTiming: truegenerates error on iOS9 Safari, IE 11 (#6690)- Fix PopupOptions flow type declarations (#6670) (h/t TimPetricola)
- Add className option to Popup constructor (#6502) (h/t Ashot-KR)
- GeoJSON MultiLineStrings with
lineMetrics=trueonly rendered first line (#6649) - Provide target property for mouseenter/over/leave/out events (#6623)
- Don't break on sources whose name contains "." (#6660)
- Rotate and pitch with navigationControl broke in v0.45 (#6650)
- Zero-width lines remained visible (#6769)
- Heatmaps inappropriately clipped at tile boundaries (#6806)
- Use named exports for style-spec entrypoint module (#6601
- Don't fire click event if default is prevented on mousedown for a drag event (#6697, fixes #6642)
- Double clicking to zoom in breaks map dragging/panning in Edge (#6740) (h/t GUI)
- *-transition properties cannot be set with setPaintProperty() (#6706)
- Marker with
aelement does not open the url when clicked (#6730) setRTLTextPluginfails with relative URLs (#6719)- Collision detection incorrect for symbol layers that share the same layout properties (#6548)
- Fix a possible crash when calling queryRenderedFeatures after querySourceFeatures (#6559)
- Fix a collision detection issue that could cause labels to temporarily be placed too densely during rapid panning (#5654)
v0.45.0
⚠️ Breaking changes
Evented#fireandEvented#listensare now marked as private. ThoughEventedis still exported, andfireandlistensare 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 usingEventEmitteror similar libraries instead.- The
"to-string"expression operator now convertsnullto an empty string rather than to"null". #6534
✨ Features and improvements
- :rainbow: Add
line-gradientproperty #6303 - Add
abs,round,floor, andceilexpression operators #6496 - Add
collatorexpression for controlling case and diacritic sensitivity in string comparisons #6270 - Add CSS linting to test suite (h/t @jasonbarry) #6071
- Add support for configurable maxzoom in
raster-demtilesets #6103 - Add
Map#isZoomingandMap#isRotatingmethods #6128, #6183 - Add support for Mapzen Terrarium tiles in
raster-demsources #6110 - Add
preventDefaultmethod onmousedown,touchstart, anddblclickevents #6218 - Add
originalEventproperty onzoomendandmoveendfor user-initiated scroll events (h/t @stepankuzmin) #6175 - Accept arguments of type
valuein"length"expressions #6244 - Introduce
MapWheelEvent#6237 - Add setter for
ScaleControlunits (h/t @ryanhamley) #6138, #6274 - Add
openevent forPopup#6311 - Explicit
"object"type assertions are no longer required when using expressions #6235 - Add
anchoroption toMarker#6350 HTMLElementis now passed toMarkeras part of theoptionsobject, but the old function signature is still supported for backwards compatibility #6356- Add support for custom colors when using the default
MarkerSVG element (h/t @andrewharvey) #6416 - Allow
CanvasSourceinitialization fromHTMLElement#6424 - Add
is-supported-scriptexpression 6260
🐛 Bug fixes
- Align
raster-demtiles to pixel grid to eliminate blurry rendering on some devices #6059 - Fix label collision circle debug drawing on overzoomed tiles #6073
- Improve error reporting for some failed requests #6126, #6032
- Fix several
Map#queryRenderedFeaturesbugs:- account for
{text, icon}-offsetwhen querying#6135 - correctly query features that extend across tile boundaries #5756
- fix querying of
circlelayer features with-pitch-scaling: 'viewport'or-pitch-alignment: 'map'#6036 - eliminate flicker effects when using query results to set a hover effect by switching from tile-based to viewport-based symbol querying #6497
- account for
- Preserve browser history state when updating the
Maphash #6140 - Fix undefined behavior when
Map#addLayeris invoked with anidof a preexisting layer #6147 - Fix bug where
icon-imagewould not be rendered iftext-fieldis an empty string #6164 - Ensure all camera methods fire
rotatestartandrotateendevents #6187 - Always hide duplicate labels #6166
- Fix
DragHandlerbugs where a left-button mouse click would end a right-button drag rotate and a drag gesture would not end if the control key is down onmouseup#6193 - Add support for calling
{DragPanHandler, DragRotateHandler}#disablewhile a gesture is in progress #6232 - Fix
GeolocateControluser location dot sizing whenMap's<div>inheritsbox-sizing: border-box;(h/t @andrewharvey) #6227 - Fix bug causing an off-by-one error in
arrayexpression error messages (h/t @drewbo) #6269 - Improve error message when an invalid access token triggers a 401 error #6283
- Fix bug where lines with
line-widthlarger than the sprite height of theline-patternproperty would render other sprite images #6246 - Fix broken touch events for
DragPanHandleron mobile using Edge (note that zoom/rotate/pitch handlers still do not support Edge touch events #1928) #6325 - Fix race condition in
VectorTileWorkerSource#reloadTilecausing a rendering timeout #6308 - Fix bug causing redundant
gl.stencilFunccalls due to incorrect state checking (h/t @yangdonglai) #6330 - Fix bug where
mousedownortouchstartwould cancel camera animations in non-interactive maps #6338 - Fix bug causing a full-screen flicker when the map is pitched and a symbol layer uses non-zero
text-translate#6365 - Fix bug in
to-rgbaexpression causing division by zero 6388 - Fix bug in cross-fading for
*-patternproperties with non-integer zoom stops #6430 - Fix bug where calling
Map#removeon a map with constructor optionhash: truethrows an error (h/t @allthesignals) #6490 - Fix bug causing flickering when panning across the anti-meridian #6438
- Fix error when using tiles of non-power-of-two size #6444
- Fix bug causing
Map#moveLayer(layerId, beforeId)to remove the layer whenlayerId === beforeId#6542
- Fix Rollup build for style-spec module 6575
- Fix bug causing
Map#querySourceFeaturesto throw anUncaught TypeError(https://github.com/mapbox/mapbox-gl-js/pull/6555) - Fix issue where label collision detection was inaccurate for some symbol layers that shared layout properties with another layer #6558
- Restore
targetproperty formouse{enter,over,leave,out}events #6623
v0.44.2
🐛 Bug fixes
- Workaround a breaking change in Safari causing page to scroll/zoom in response to user actions intended to pan/zoom the map #6095. (N.B., not to be confused with the workaround from April 2017 dealing with the same breaking change in Chrome #4259. See also https://github.com/WICG/interventions/issues/18, https://bugs.webkit.org/show_bug.cgi?id=182521, https://bugs.chromium.org/p/chromium/issues/detail?id=639227 .)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
Codecov Report
Merging #309 into master will not change coverage. The diff coverage is
n/a.
@@ Coverage Diff @@
## master #309 +/- ##
=======================================
Coverage 71.13% 71.13%
=======================================
Files 240 240
Lines 4320 4320
Branches 902 902
=======================================
Hits 3073 3073
Misses 1124 1124
Partials 123 123
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update edc7cc6...8471b61. Read the comment docs.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.