Recent Releases of leaflet
leaflet - v2.0.0-alpha.1
Changes
❇️ New Features
- Map: New export
LeafletMapas an alias forMapby @willfarrell in https://github.com/Leaflet/Leaflet/pull/9804 - Control.Layer: New option
collapseDelayby @fyyyyy in https://github.com/Leaflet/Leaflet/pull/9612
✨ Refactorings (⚠️ Breaking Changes)
- Fully converted all classes to ESM by @simon04 in https://github.com/Leaflet/Leaflet/pull/9677
- Use optional chaining with function calls by @simon04 in https://github.com/Leaflet/Leaflet/pull/9737
❌ Removed Features (⚠️ Breaking Changes)
- Drop aliased functions
addEventListener,removeEventListener,addOneTimeEventListener,fireEvent,hasEventListenerson Evented by @lukewarlow in https://github.com/Leaflet/Leaflet/pull/9781 - Drop aliased functions
addListener,removeListeneron DomEvent by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9834
🐞 Bugfixes
- Cleanup map.locate() by @jorri11 in https://github.com/Leaflet/Leaflet/pull/9746
- Popup width by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/9765
- Fix overlay shifting with new BlanketOverlay by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9822
For more information checkout the blog post: https://leafletjs.com/2025/05/18/leaflet-2.0.0-alpha.html
- JavaScript
Published by Falke-Design 10 months ago
leaflet - v2.0.0-alpha
⚡ Modernization of Leaflet
After two and a half years of hard work, we’re thrilled to announce the first alpha release of Leaflet 2.0!
This release marks a major modernization of the Leaflet codebase. We've dropped support for Internet Explorer, removed legacy methods and polyfills, adopted modern standards like Pointer Events, and now publish Leaflet as an ESM module. The global L is no longer part of the core package (though it’s still available in the bundled version leaflet-global.js for backward compatibility).
For more information checkout the blog post: https://leafletjs.com/2025/05/18/leaflet-2.0.0-alpha.html
What's New in Leaflet 2.0
- Targeting only evergreen browsers
- Switched from
MouseandTouchevents toPointerEvents - ESM support and tree shaking
- Rewritten using standardized ES6 classes
Migration
- Replace all factory methods with constructor calls:
L.marker(latlng)➜new Marker(latlng) - Change the
<script>tag tomodule:<script type='module'> - Replace usage of
Lwith explicit imports from the Leaflet package:import { Marker } from 'leaflet'- if you are not using a package manager like npm, you can use a
importmap: https://leafletjs.com/examples/quick-start/
- if you are not using a package manager like npm, you can use a
- To have global access to variables of a
module-script, assign them to thewindowobject (Not recommended):window.map = map - Consider Leaflet V1 Polyfill if you are using outdated plugins
Old implementation
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<script>
const map = L.map('map').setView([51.505, -0.09], 13);
const tiles = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
</script>
New implementation
Module
<script type="importmap">
{
"imports": {
"leaflet": "https://unpkg.com/leaflet@2.0.0-alpha1/dist/leaflet.js"
}
}
</script>
<script type="module">
import L, {Map, TileLayer, Marker, Circle, Polygon, Popup} from 'leaflet';
const map = new Map('map').setView([51.505, -0.09], 13);
const tiles = new TileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
</script>
Global Script
<script src="https://unpkg.com/leaflet@2.0.0-alpha1/dist/leaflet-global.js"></script>
<script>
const map = new L.Map('map').setView([51.505, -0.09], 13);
const tiles = new L.TileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
</script>
Need Legacy Support?
Check out this polyfill package to help ease the transition for legacy apps: Leaflet V1 Polyfill
Changes
❇️ New Features
- Automatically attributes OSM if OSM tiles are used and no attribution is provided by @Jouwee in https://github.com/Leaflet/Leaflet/pull/9489
- Added
decodingoption to ImageOverlay by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8650 - Added option for setting value of
aria-labelfor popup close button by @ShivangMishra in https://github.com/Leaflet/Leaflet/pull/8590 - Implement
BlanketOverlayas Renderer superclass by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8611 - Support SSR by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9385
- Implemented
trackResizefor L.Popup by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/9605 - VideoOverlay: add
controlsoption by @simon04 in https://github.com/Leaflet/Leaflet/pull/9666 - Add
aria-keyshortcutsto map container by @chcederquist in https://github.com/Leaflet/Leaflet/pull/9688 - Expand layers control on Enter keydown by @larsgw in https://github.com/Leaflet/Leaflet/pull/8556
✨ Refactorings (⚠️ Breaking Changes)
- Change
<section>to<fieldset>in the layers control by @tmiaa in https://github.com/Leaflet/Leaflet/pull/7912 - Use ResizeObserver for map resizes by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8612
- Remove usage of global L and safeguard against it by @mourner in https://github.com/Leaflet/Leaflet/pull/8536
- Replace
Util.bind()withFunction.bind()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8484 - Replace
Util.isArray()withArray.isArray()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8683 - Replace
Util.create()withObject.create()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8681 - Replace
Util.trim()withString.prototype.trim()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8682 - Prefer
Object.hasOwn()overObject.prototype.hasOwnProperty()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8684 - Use the
classListAPI for class manipulation methods inDomUtilby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8685 - Replace
DomUtil.hasClass()withclassList.contains()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8727 - Replace
DomUtil.getClass()withclassList.valueby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8728 - Remove
DomUtil.setClass()method by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8729 - Replace
DomUtil.addClass()withclassList.add()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8731 - Replace
DomUtil.removeClass()withclassList.remove()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8732 - Replace
DomUtil.remove()withElement.remove()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8735 - Replace
DomUtil.empty()withElement.replaceChildren()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8736 - Hold element positions in WeakMap by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8749
- Destructure
staticsandincludesfrom class properties by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8823 - Enforce
.jsfile extension for module imports by @jessetane in https://github.com/Leaflet/Leaflet/pull/8837 - Move
callInitHooks()to prototype ofClassby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8825 - Use
Object.setPrototypeOf()to extendClassby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8824 - Use Pointer Events for
Map.Keyboardby @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8758 - Convert
Classto a JavaScriptclassby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8871 - Drop
__super__property from Class by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8800 - Move initialization logic for sub-classes to
Classconstructor by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8872 - Use Pointer Events for
Map.BoxZoomby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8757 - Use Pointer Events for
Control.Layersby @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8759 - Drop UMD and make ESM the default entrypoint by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8826
- Replace animation frame polyfill with native API by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8810
- Rename
TouchZoomhandler toPinchZoom(keep TouchZoom as alias for backward compatibility) by @Mahendra-006 in https://github.com/Leaflet/Leaflet/pull/9642 - Use nullish coalescing and optional chaining by @simon04 in https://github.com/Leaflet/Leaflet/pull/9661
- Use arrow callback and shorthand methods by @simon04 in https://github.com/Leaflet/Leaflet/pull/9659
- Replace
Util.getParamStringwithURL.searchParamsby @simon04 in https://github.com/Leaflet/Leaflet/pull/9654 - Convert
Bounds,LatLng,LatLngBounds,Point,Transformationto ES6 classes by @simon04 in https://github.com/Leaflet/Leaflet/pull/9655 - Use for...of by @simon04 in https://github.com/Leaflet/Leaflet/pull/9653
- Replace
Util.extendwith ES6 Object.assign or object spread by @simon04 in https://github.com/Leaflet/Leaflet/pull/9652 - Refactor to
PointerEventsby @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9620 - Convert
CRSto ES6 classes by @simon04 in https://github.com/Leaflet/Leaflet/pull/9669 - Use SVG icon for layer control by @simon04 in https://github.com/Leaflet/Leaflet/pull/9665
- Optimize PNG files by @dilyanpalauzov in https://github.com/Leaflet/Leaflet/pull/8661
- Add shadow-icon as svg icon and add white circle to marker-icon by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8768
❌ Removed Features (⚠️ Breaking Changes)
- Drop legacy VML code & official support for IE7–8 by @mourner in https://github.com/Leaflet/Leaflet/pull/8196
- Remove the long-deprecated
L.Mixin.Eventsand_flatby @mourner in https://github.com/Leaflet/Leaflet/pull/8537 - Remove Internet Explorer from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8559
- Remove legacy CSS hacks and unused prefixes by @mourner in https://github.com/Leaflet/Leaflet/pull/8600
- Remove Microsoft-specific Pointer Events from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8603
- Remove Android from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8607
- Remove Edge from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8606
- Remove Opera from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8621
- Remove PhantomJS from browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8622
- Remove
indexOf()function from Util by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8623 - Stop inheriting
filterCSS property on tiles by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8651 - Remove
DomUtil.setOpacityby @mourner in https://github.com/Leaflet/Leaflet/pull/8730 - Remove
DomUtil.TRANSFORMconstant by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8733 - Remove
TRANSITIONandTRANSITION_ENDconstants fromDomUtilby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8734 - Remove vendor prefixes when setting
userSelectstyle by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8738 - Remove
DomUtil.testProp()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8739 - Remove
DomUtil.getStyle()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8747 - Remove
Browser.any3dby @jonkoops in https://github.com/Leaflet/Leaflet/pull/8748 - Remove SVG feature detection code by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8755
- Remove
noConflict()by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8753 - Remove browser specific detection code for CSS transforms by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8751
- Remove
L_NO_TOUCHglobal switch by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8752 - Remove
Browser.canvasfeature detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8754 - Remove Windows platform detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8769
- Remove Gecko-based browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8770
- Remove references to PhantomJS by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8771
- Remove passive event detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8772
- Remove WebKit-based browser detection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8773
- Remove deprecated
whichand changebuttonto main-button by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8796 - Remove jitter debug page by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8829
- Remove legacy timer fallbacks for
requestAnimFrameby @mourner in https://github.com/Leaflet/Leaflet/pull/9236 - Get rif of prefixed
requestAnimationFrameleftovers by @mourner in https://github.com/Leaflet/Leaflet/pull/9241 - Removes mozEvent warning by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9650
- Remove deprecated methods / options by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9622
- Removes factory functions by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9626
- Bring back global
Las new bundleleaflet-global.jsby @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9686
🐞 Bugfixes
- Fix Events.listens for nested propagations by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8457
- Fix marker popup location by @raychanks in https://github.com/Leaflet/Leaflet/pull/8523
- Fix intermittent wobble when setMaxBounds(map.getBounds()) by @rjackson in https://github.com/Leaflet/Leaflet/pull/8534
- Alternate fix for PopUp keepInView recursion and speed up associated test by @rjackson in https://github.com/Leaflet/Leaflet/pull/8520
- Support sticky maps by @tmiaa in https://github.com/Leaflet/Leaflet/pull/8550
- Align the scale control's alpha transparency with the attribution control by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8547
- Allow the scale control's text to overflow the container by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8548
- Fixes event target of popupopen event and adds test by @Belair34 in https://github.com/Leaflet/Leaflet/pull/8571
- Fix worldCopyJump with Keyboard by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8562
- Fix CSS syntax error in leaflet.css by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8628
- Fix closed coord's reference in latLngsToCoords by @marlo22 in https://github.com/Leaflet/Leaflet/pull/7344
- Rename 'closed' parameter of 'latLngsToCoords' to 'close' to avoid confusion by @ronaldhoek in https://github.com/Leaflet/Leaflet/pull/8678
toGeoJSON()should still work if no values in coords array by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8737- Fix implementation for disabling & enabling text selection by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8741
- fix vector drifts when
zoomAnimationisfalseand zooming viaflyToor pinch by @plainheart in https://github.com/Leaflet/Leaflet/pull/8794 - Update PolyUtil.js by @davidmgvaz in https://github.com/Leaflet/Leaflet/pull/8840
- Revamp synthetic dblclick event instantiation by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8632
- Alleviate tile gaps in chromium by using mix-blend-mode CSS by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8891
- Apply mix-blend-mode only on tile images by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8907
- Set
outlineStyleinstead ofoutlinewhen preventing outline by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8917 - Prevent adding layer while expanding Layer-Control on mobile by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8910
- Fix tooltip focus listener if getElement is no function by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8890
- Fix issue whereby tooltips loaded dynamically while moving the map were never shown. by @theGOTOguy in https://github.com/Leaflet/Leaflet/pull/8672
- Fix noMoveStart option for fitBounds method by @AbdullahSohail-SE in https://github.com/Leaflet/Leaflet/pull/8911
- Mapbox tiles not loading 8960 by @Dele-Oyelese in https://github.com/Leaflet/Leaflet/pull/8968
- Update the height of the container after resizing the window by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9019
- Use _limitZoom in flyTo, like we do in resetView by @yohanboniface in https://github.com/Leaflet/Leaflet/pull/9025
- Do not propagate click when element has been removed from dom by @yohanboniface in https://github.com/Leaflet/Leaflet/pull/9052
- Fixes showing tooltip while panning the map by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9154
- Fix hover underline in flag + Leaflet attribution prefix by @rkaravia in https://github.com/Leaflet/Leaflet/pull/9280
- Prevent showing outline-box on Chromium when clicking on a vector with a tooltip by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9393
- Clear timeouts on remove (#9575) by @Mark-Falconbridge-i2 in https://github.com/Leaflet/Leaflet/pull/9577
- Fix Leaflet attribution link by @florian-h05 in https://github.com/Leaflet/Leaflet/pull/9471
- Solution to issue 9067 - Inverting x axis of L.CRS.Simple causes L.Circle to have no radius by @bakp22 in https://github.com/Leaflet/Leaflet/pull/9414
- Unbind tooltip remove focus listeners by @hollowM1ke in https://github.com/Leaflet/Leaflet/pull/9232
- Refocus map after using layers control (#9004) by @quarl in https://github.com/Leaflet/Leaflet/pull/9005
- GridLayer construct url with integer {z} for fractional zoom by @raychanks in https://github.com/Leaflet/Leaflet/pull/8613
- Fix adding Icon.Default shadow icon to the map if option is falsy by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9607
- Clean up DOM event listeners when destroying Map's animation proxy by @samclaus in https://github.com/Leaflet/Leaflet/pull/9048
- Fix Canvas rendering with setting _redrawRequest to null for requestAnimFrame by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9608
- Add dashOffset to Canvas by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9649
- Add cancelable check before preventDefault while dragging by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9639
- Fix video control / seek bar usage in safari by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9641
- GeoJSON: fix object spread regression by @simon04 in https://github.com/Leaflet/Leaflet/pull/9678
- Use arrow callback by @simon04 in https://github.com/Leaflet/Leaflet/pull/9684
- TileLayer.WMS: fix wmsParams parameter regression by @simon04 in https://github.com/Leaflet/Leaflet/pull/9683
📝 Docs
- Update website & docs for v1.9.0 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8453
- Fix the resource integrity hashes by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8456
- README: update JS size for 1.9.1 by @simon04 in https://github.com/Leaflet/Leaflet/pull/8468
- Deprecate old versions' docs by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8294
- Use the topmost browsing context for links in tutorial frames by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8466
- Update the Leaflet Editor's
descriptionand mapidby @Malvoz in https://github.com/Leaflet/Leaflet/pull/8476 - Quick-start: fix link in code block. by @Sjlver in https://github.com/Leaflet/Leaflet/pull/8415
- fixing typo lon->lng in refence.html file by @shashwat010 in https://github.com/Leaflet/Leaflet/pull/8497
- chore: replaced
substrwithsubstringby @k-rajat19 in https://github.com/Leaflet/Leaflet/pull/8517 - Update documentation for v1.9.2 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8527
- Update changelog with latest revisions by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8528
- Adding documentation for the support of lon in the latLng function, resolves 8509 by @brianferry in https://github.com/Leaflet/Leaflet/pull/8524
- Fixed some grammers in readme by @Saran-pariyar in https://github.com/Leaflet/Leaflet/pull/8539
- Fix 2 links without URLs in docs by @Malvoz in https://github.com/Leaflet/Leaflet/pull/8542
- Fix markdown link of
ImageOverlay.decodingby @plainheart in https://github.com/Leaflet/Leaflet/pull/8660 - Update Changelog 1.9.3 - main by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8662
- Minor typo in code example by @Lalaluka in https://github.com/Leaflet/Leaflet/pull/8710
- Added missing curly bracket in docs by @i-sukhanov in https://github.com/Leaflet/Leaflet/pull/8767
- Update docs language for HTML and CSS. by @alope107 in https://github.com/Leaflet/Leaflet/pull/8934
- CHANGELOG.md - Add 1.9.4 by @mtmail in https://github.com/Leaflet/Leaflet/pull/8967
- Update stackoverflow image #9023 by @Beast-Hunter in https://github.com/Leaflet/Leaflet/pull/9030
- Updated Twitter Logo and Name by @aialok in https://github.com/Leaflet/Leaflet/pull/9102
- Updated Multiple Logos by @UmerrAli in https://github.com/Leaflet/Leaflet/pull/9136
- Update License to 2024 by @arnabsen in https://github.com/Leaflet/Leaflet/pull/9219
- Changed Wording by @hollowM1ke in https://github.com/Leaflet/Leaflet/pull/9229
- remove dead links in https://github.com/Leaflet/Leaflet/pull/9305
- Add citation.cff to repo by @nakajimayoshi in https://github.com/Leaflet/Leaflet/pull/9341
- Docstrings for L.Marker getElement() by @yuri-karelics in https://github.com/Leaflet/Leaflet/pull/9180
- Add Stadia Maps to FAQ by @ianthetechie in https://github.com/Leaflet/Leaflet/pull/9340
- Removed unused variable from the choropleth example doc by @Cinderella-Man in https://github.com/Leaflet/Leaflet/pull/9182
- Add scroll up button to website by @simondriesen in https://github.com/Leaflet/Leaflet/pull/9186
- Add scrollbar to container if the text can't wrapped on mobile devices by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9384
- Update CONTRIBUTING.md by @cherylhughey in https://github.com/Leaflet/Leaflet/pull/9435
- Update FAQ.md by @cherylhughey in https://github.com/Leaflet/Leaflet/pull/9436
- Update License to 2025 by @PixlePixle in https://github.com/Leaflet/Leaflet/pull/9597
- Evergreen language updates and removal by @Kxiru in https://github.com/Leaflet/Leaflet/pull/9528
- Changed slogan with evergreen wording #8477 by @JoT8ng in https://github.com/Leaflet/Leaflet/pull/9491
- Updated Evergreen language in the documentation #8477 {please label me for Hacktoberfest-24} by @Dhairya-A-Mehra in https://github.com/Leaflet/Leaflet/pull/9488
- Update browser support list by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8455
- Create SECURITY.md by @Ahlam-Banu in https://github.com/Leaflet/Leaflet/pull/9619
- Refactor docs for ESM by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9624
- Improve documentation about renderer and pane by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9651
- Replace unpkg with jsDelivr in documentation (fixes #9628) by @eshanair in https://github.com/Leaflet/Leaflet/pull/9663
- Remove dead link(Placekitten.com) for Cataas(fixes #9691) by @MelvinManni in https://github.com/Leaflet/Leaflet/pull/9695
- Updated titles to be descriptive, aligned tutorial titles with overvi… by @chcederquist in https://github.com/Leaflet/Leaflet/pull/9692
- Add
positiondoc string to controls by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8570
📜 Formatting
- Enforce
quotesESLint rule for thespecdirectory by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8686 - Provide file extensions when running ESLint by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8831
- Lint files in
debugdirectory by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8925 - Upgrade to ESLint 9+ and flat config by @mourner in https://github.com/Leaflet/Leaflet/pull/9410
- Enable
prefer-exponentiation-operatorlinting rule and fix issues by @simon04 in https://github.com/Leaflet/Leaflet/pull/9660 - Guard for-in loops and enable guard-for-in lint rule. by @alope107 in https://github.com/Leaflet/Leaflet/pull/8879
- Split ESLint config and clean it up by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8563
- Upgrade ESLint config to latest version by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8583
- Enable
arrow-spacinglinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8584 - Enable
func-name-matchinglinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8585 - Enable
no-duplicate-importslinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8586 - Enable
prefer-templatelinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8587 - Enable
prefer-rest-paramslinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8593 - Enable
object-shorthandlinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8592 - Enable
prefer-arrow-callbacklinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8594 - Enable
no-varlinting rule and fix issues by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8602 - Remove unused test globals from ESLint config by @jonkoops in https://github.com/Leaflet/Leaflet/pull/9285
🔧 Workflow
- Improve integrity generation for releases by @mourner in https://github.com/Leaflet/Leaflet/pull/8459
- Remove the release check to manually modify the version number in
reference.htmlby @Malvoz in https://github.com/Leaflet/Leaflet/pull/8475 - Use different cache keys by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8487
- Add build-docs job to main github actions file by @exequiel09 in https://github.com/Leaflet/Leaflet/pull/8504
- Add step for release assets by @IvanSanchez in https://github.com/Leaflet/Leaflet/pull/8494
- Add Dependabot config for Bundler dependencies by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8516
- tests workflow for mac and win by @adrianaris in https://github.com/Leaflet/Leaflet/pull/8540
- Upgrade Rollup to version 3 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8582
- Convert build scripts into ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8610
- Use Node.js version 18 for CI by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8640
- Add a note to release docs to ensure green CI by @mourner in https://github.com/Leaflet/Leaflet/pull/8668
- Run CI on Ubuntu 20.04 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8670
- Simplify workflows on CI by @mourner in https://github.com/Leaflet/Leaflet/pull/8671
- Upgrade Bundlemon to v2 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8676
- Lock
actions/cacheto version 3.2.0 by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8742 - Run CI on latest version of Ubuntu by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8744
- Run CI on latest version of Windows by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8743
- Use OS name as part of cache key for jobs by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8750
- Always build ESM version in watch mode by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8844
- Add dev dependency http-server for debugging ESM by @jessetane in https://github.com/Leaflet/Leaflet/pull/8848
- Regenerate lockfile in version 3 format by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8919
- Remove Rollup pre-proccesor from Karma runner by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8935
- Add possibility to create coverage reports by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9029
- Include
prosthetic-handfrom GitHub by @jonkoops in https://github.com/Leaflet/Leaflet/pull/9033 - Upgrade and cleanup dev dependencies by @mourner in https://github.com/Leaflet/Leaflet/pull/9157
- Set
versioning-strategyfor NPM toincreaseby @jonkoops in https://github.com/Leaflet/Leaflet/pull/9165 - Speed up Karma runner by narrowing down files Karma serves by @mourner in https://github.com/Leaflet/Leaflet/pull/9231
- Upgrade Husky to latest version by @jonkoops in https://github.com/Leaflet/Leaflet/pull/9264
- Run test with the source files by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9609
- Add missing "./dist/leaflet.css" specifier in "leaflet" package by @simon04 in https://github.com/Leaflet/Leaflet/pull/9658
- Address npm audit issues by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9714
- Replace
versionwhennpm versionis called by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9717 - Remove Karma launcher for Microsoft Edge by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8604
- Remove Internet Explorer from test framework by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8264
🧪 Tests
- Disable zoom animation for Line/PolyUtil tests by @mourner in https://github.com/Leaflet/Leaflet/pull/8478
- Fix test on mac
changes the option 'wheelPxPerZoomLevel'by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8481 - Make test runner output cleaner by @mourner in https://github.com/Leaflet/Leaflet/pull/8480
- Add slow test stats and make some tests faster by @mourner in https://github.com/Leaflet/Leaflet/pull/8486
- Added tests for panInsideBounds by @mikelowe5919 in https://github.com/Leaflet/Leaflet/pull/8429
- Added testing for mouseEventLatLng by @spatterss135 in https://github.com/Leaflet/Leaflet/pull/8403
- Update tests
index.htmland add missing RectangleSpec by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8499 - Add test for map stopLocate (#8371) by @raychanks in https://github.com/Leaflet/Leaflet/pull/8505
- Added test cases for Map:addHandler method by @precious-void in https://github.com/Leaflet/Leaflet/pull/8503
- Added test cases for Map:mouseEventToContainerPoint method. by @kreloaded in https://github.com/Leaflet/Leaflet/pull/8406
- Cover Map Locate with Unit Tests by @stephenspol in https://github.com/Leaflet/Leaflet/pull/8424
- Add
getWheelPxFactorand fix testchanges the option 'wheelPxPerZoomLevel'for mac by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8512 - Speed up PathSpec's "Add layer inside move handler" test: 611ms to 5ms (122x faster) by @rjackson in https://github.com/Leaflet/Leaflet/pull/8518
- Speed up tests Map.ScrollWheelZoomSpec and Map.DoubleClickZoomSpec by @rjackson in https://github.com/Leaflet/Leaflet/pull/8519
- Add
panBytest by @adrianaris in https://github.com/Leaflet/Leaflet/pull/8420 - Speed up tests relating to focusing on Marker by @rjackson in https://github.com/Leaflet/Leaflet/pull/8545
- Speed up TileLayer.setUrl test (251ms to 13ms) by @rjackson in https://github.com/Leaflet/Leaflet/pull/8546
- Speed up tests relating to containerPoint / layerPoint methods by @rjackson in https://github.com/Leaflet/Leaflet/pull/8544
- Adding tests for 'layerPointToLatLng' method #8375 by @ANaphade in https://github.com/Leaflet/Leaflet/pull/8435
- Refactor Event handling and happen.js by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8760
- Added two more test cases for the unproject map method by @snehalvibhute in https://github.com/Leaflet/Leaflet/pull/8637
- Replace expect.js with Chai by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8952
- Import Leaflet in tests using JavaScript modules by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8975
- Update
ui-event-simulatorand import as JavaScript module by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8977 - Add tests for BoxZoom by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9032
- Fix CI tests to not depend on big Chrome window size by @mourner in https://github.com/Leaflet/Leaflet/pull/9235
- Use explicit imports
chaiandsinonin the test suite by @jonkoops in https://github.com/Leaflet/Leaflet/pull/9284 - Set Chrome window size to fix failing test in ubuntu by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/9604
- add test for project method by @AshwinNema in https://github.com/Leaflet/Leaflet/pull/9303
- Add demo for all GeoJSON types by @simon04 in https://github.com/Leaflet/Leaflet/pull/9679
- Vector Drift Test Pinch Zoom Fix by @stephenspol in https://github.com/Leaflet/Leaflet/pull/8644
- Convert control layers debug page to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8832
- Convert canvas debug page to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8830
- Convert geolocation debug page to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8835
- Convert controls debug page to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8834
- Convert map debug pages to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8838
- Convert test debug pages to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8921
- Convert vector debug pages to ESM by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8924
- Use import maps to load Leaflet in the
debugdirectory by @jonkoops in https://github.com/Leaflet/Leaflet/pull/8926 - flyToBounds tests added by @shreya024 in https://github.com/Leaflet/Leaflet/pull/9112
- Add test for map
stop(#8369) by @victorpatru in https://github.com/Leaflet/Leaflet/pull/8581
Full Changelog: https://github.com/Leaflet/Leaflet/compare/v1.9.4...v2.0.0-alpha
- JavaScript
Published by Falke-Design about 1 year ago
leaflet - v1.9.4
🐞 Bug fixes
- Fix tile gaps in Chromium-based browsers (#8891 by @IvanSanchez)
- Fix vector drifts when
zoomAnimationisfalseand zooming viaflyToor pinch (#8794 by @plainheart) - Ensure
toGeoJSON()still works with an empty array (#8737 by @Falke-Design) - Ensure
LineUtilandPolyUtilonly iterate over array values and not properties (#8840 by @Falke-Design) - Fix rounding errors in center calculation of
LineUtilandPolyUtilfor small layers (#8784 by @Falke-Design) - Prevent unwanted layer toggle while expanding the Layers control on mobile (#8910 by @Falke-Design)
- Fix an error when a focusing on a
Tooltip-boundFeatureGroupthat contains a layer without agetElementmethod (#8890 by @Falke-Design) - Fix
Tooltipis not showing when loaded dynamically while moving the map (#8672 by @theGOTOguy) - Fix
noMoveStartoption not applying tofitBounds(#8911 by @AbdullahSohail-SE) - Fix outlines showing up when interacting with the map on Safari 16.4+ (#8917 by @jonkoops)
- JavaScript
Published by Falke-Design about 3 years ago
leaflet - v1.9.3
🙌 Accessibility
- Expand the layers control on Enter keydown (#8556 by @larsgw)
- Align the scale control's alpha transparency with the attribution control (#8547 by @Malvoz)
- Allow the scale control's text to overflow the container (#8548 by @Malvoz)
🐞 Bug fixes
- Remove internal usage of
Lglobal (#8536 by @mourner) - Fix intermittent wobble when using
setMaxBounds(map.getBounds())(#8534 by @rjackson) - Ensure that
latLngsToCoords()does not return references passed to it (#7344 by @marlo22) - Ensure
worldCopyJump()behavior is consistent when using a keyboard (#8562 by @Falke-Design) - Ensure correct target is used for the
popupopenevent (#8571 by @Belair34) - Prevent recursion when panning a
Popup(#8520 by @rjackson) - Support CSS
position: stickyfor map container (#8550 by @tmiaa)
- JavaScript
Published by Falke-Design over 3 years ago
leaflet -
🐞 Bug fixes
- ⚠️ Drop ESM entrypoint from package because of numerous compatibility issues with plugins (import
leaflet/dist/leaflet-src.esm.jsexplicitly instead to take advantage; ESM by default will come in v2) (#8493 by @jonkoops) - Fix a bug where tooltips could throw an error with canvas renderer (#8498 by @Falke-Design)
- Fix a bug with incorrect marker popup location when there are multiple markers registered to the same popup (#8523 by @raychanks).
🧪 Tests
- Fix unit tests suite stopping abruptly on Mac (#8478)
📝 Docs
- Fix
Boundsequalsparameters in docs (#8500 by @Falke-Design)
- JavaScript
Published by jonkoops over 3 years ago
leaflet - v1.9.1
- Fix
Eventslistensnot propagating to parent objects, in particular fixing compatibility with Leaflet.markercluster plugin (#8211 by @Falke-Design)
- JavaScript
Published by mourner over 3 years ago
leaflet - v1.9.0
⚡ Note on future versions
The v1.9 release is setting the stage for the first major version bump of Leaflet since 2016! A lot has changed since then, and it's time for Leaflet to grow together with the web platform.
After this release, we are branching off the 1.x code and putting it in maintenance mode — reserving potential 1.x releases only for critical bugfixes. Although version 2.0 is still far away and will take some time to take shape, we plan to make the following changes:
- Dropping support for Internet Explorer. This has been a long time coming, but now that Internet Explorer is officially end-of-life, it's time to say goodbye. Going forward, Leaflet will move to an evergreen strategy that targets browsers like Firefox, Chrome, Edge and Safari.
- Embracing modern JavaScript. To maintain backwards compatibility, Leaflet is written entirely in ES5, a version of JavaScript supported by legacy browsers. So we have not been able to make use of many great JavaScript features (e.g. standardized classes, instead having to rely on our own implementation). By adopting a more modern version of the ECMAScript standard, we can start working towards aligning Leaflet with what is expected from a modern JavaScript library.
- Standardized modules. When we released Leaflet v1, the landscape in the JavaScript world was very different and full of competing module standards such as CommonJS, AMD and UMD. Today, ECMAScript modules have become the clear way forward to unite the JavaScript ecosystem under one banner. Moving forward, Leaflet will only be distributed in a single standardized module system, greatly reducing complexity of our distributed code.
- Removing the Leaflet global.
As a developer using Leaflet, the capital letter
Lis probably intimately familiar to you. This is the Leaflet global where all of Leaflet's functionality lives. To allow compiler tooling to better eliminate dead-code through a process called tree-shaking, we are removing this global variable. To preserve backwards compatibility with older plugins, we will provide a shim that can be imported manually that will restore this functionality.
v1.9.0 changelog
⚠️ Breaking Changes
- (This change has been reverted in v1.9.2) Expose ESM entrypoint with Leaflet global (#8329 by @jonkoops).
- Update
color-adjusttoprint-color-adjust(#8211 by @Malvoz)
❇️ API changes
- Add
contentandlatLngoptions toPopup/Tooltipconstructors (#7783 by @Falke-Design) - Extend
Boundsto have the same functions asLatLngBounds(#7882 by @Falke-Design)
✨ Improvements
- Update
getCenter()calculation and move it toPolyUtil/LineUtil(#7603 by @Falke-Design) - Remove border styles in overflowing popups (#8260 by @Malvoz)
- Fix "listener not found" warning when setting
maxBounds(#8168 by @mourner) - Remove "listener not found" warning (#8234 by @Falke-Design)
- Extend
Events.listensto search for specific function (#8161 by @Falke-Design) - Add
noMoveStartoption topanTo(#6685 by @Chivano) - Add
FeatureCollectionhandling togeometryToLayer(#8163 by @Falke-Design)
🙌 Accessibility
- Improve
Tooltipaccessibility (focus and voice over) (#8247 by @alekzvik) - Fix links in accessibility guide (#8198 by @Malvoz)
- Remove
role="presentation"from image tiles (#8172 by @Malvoz)
🐞 Bug fixes
- Fix invalid GeoJSON on unbalanced arrays (#7637 by @steff1986)
- Fix 2 step zooming while using mouse wheel scrolling (#8298 by @Falke-Design)
- Fix wrong assigned parameter while calling
map._moveoverrequestAnimFrame(#8328 by @AMDvsTMD) - Fix
_isClickDisabledto not throw no error if parent is removed from DOM (#8288 by @Falke-Design) - Fix
DomEvent.DoubleTapto ignore clicks on<label>s with aforattribute (#8227 by @IvanSanchez) - Fix calling
once()twice if same event is fired insideonce(#8190 by @Falke-Design) - Fix
map.getCenter()returning a mutable object (#8167 by @mourner) - Fix regression about popup close button modifying the URL (#8160 by @IvanSanchez)
- Fix
min/maxZoomwhen used in combination withdetectRetina(#7328 by @bozdoz)
📝 Docs
- Use preferred tile.openstreetmap.org URL (#8418 by @Firefishy)
- Use LocalStorage for dialog sessions (#8382 by @ChristopherWirtOfficial)
- Update anchor links for headers and in collapsed accordions (#7780 by @Falke-Design)
- Fix typo in reference-1.6.0.html (#8330 by @eltociear)
- Add pre-commit linting to CONTRIBUTING.md (#8299 by @Falke-Design)
- Ensure no borders on dialog iframe (#8296 by @Malvoz)
- Replace Mapbox with OpenStreetMap in tutorials and examples (#7818 by @Falke-Design)
- Remove DOCS-TODO.md (#8259 by @Malvoz)
- Better PosAnimation example (#7386 by @stell)
- Correct heading level in GeoJSON example (#8230 by @Malvoz)
- Update Overlay Tutorial (ImageOverlay, VideoOverlay, SVGOverlay) (#8090 by @KonstantinBiryukov)
- Change attribute
anchortodata-anchor(#8174 by @KnightJam1) - Fix bad markdown causing link to not work (#8156 by @freyfogle)
- A couple of site SEO fixes (#8229 by @Malvoz)
- Fix attribution flag 1px misalignment on some websites (#8170 by @mourner)
- Attribution flag now resizes with font-size changes (#8183 by @sumitsaurabh927)
- Add Dialog to website (#8177 by @Falke-Design and #8193, #8194 by @Malvoz)
🔧 Workflow
- Improve GitHub Workflows security (#8419 by @sashashura)
- Update development dependencies
- Replace deprecated
eslint-plugin-script-tags(#8331 by @jonkoops) - Use major version ranges for Github Actions (#8286 by @jonkoops)
- Configure YAML issue forms (#8246 by @Malvoz)
- Add FUNDING.yml (@mourner)
- Add pre-commit hook to fix linting issues (#8212 by @jonkoops)
- Remove Dependabot specific labels (#8199 by @jonkoops)
- Use shorter bundlemon names (#8195 by @mourner)
- Make sure integrity hashes are generated for the built version (@mourner)
🧪 Tests
- Added test cases for
map.latLngToLayerPointmethod (#8407 by @kreloaded) - Add test for
map.panTo(#8390 by @anurag-dhamala) - Add test for
map.containerPointToLatLngandmap.latLngToContainerPoint(#8384 by @abhi3315) - Add test for
Layer._addZoomLimit(#8037 by @zishiwu123) - Add tests for
Map(#8206 by @stephenspol) - Add test for
CircleMarker._containsPoint(#8340 by @gernhard1337) - Add missing handler tests (#8182 by @Falke-Design)
- Cover Rectangle with unit Tests (#8144 by @stephenspol)
v1.9.x updates:
We've since released: - v1.9.1 to address compatibility with Leaflet.markercluster plugin. - v1.9.2 to fix ESM compatibility issues with other plugins, and fix and issue tooltips & canvas renderer.
- JavaScript
Published by jonkoops over 3 years ago
leaflet - v1.8.0
v1.8.0 is a culmination of 1.5 years of development, a huge release focused on bug fixes, major reliability and accessibility improvements, cleaning up legacy code, and numerous improvements to documentation, development workflow and release process. A culmination of hundreds of contributions, and a preparation for bigger changes to come. 🍃
I'm making this release just as an air raid alert is sounding outside, in Kyiv, warning about an imminent Russian air strike. This release is dedicated to Ukrainian fight for freedom and democracy against the Russian invasion 🇺🇦 (see how you can support Ukraine here).
From now on, releases will become much more frequent. Thanks to our amazing community for all your help and patience. ❤️🙏 Special thanks to @johnd0e who revived Leaflet development after long stagnation and made the biggest contributions, @Falke-Design for doing the bulk of the work organizing development and preparing the release, @Malvoz for his numerous accessibility contributions, and @jonkoops for help with workflow automations. ❤️
⚠️ Breaking Changes
- Improve reliability of
contextmenuevent simulation on mobile Safari by introducing a newTapHoldhandler, replacing legacyTap(#7026 by @johnd0e) - Reorganize
DivOverlay/Popup/TooltipAPIs (#7540 by @johnd0e)- Move
Popuprelated options fromDivOverlaytoPopup(#7778 by @Falke-Design) - Change
Tooltipclass fromleaflet-clickabletoleaflet-interactive(#7719 by @Falke-Design) Map.closeTooltipnow requires a layer as argument (#7533 by @johnd0e)
- Move
- Improve error / argument handling for event listeners (#7518 by @johnd0e)
- Improve reliability of touch events simulation on non-touch devices (
DomEvent.Pointer) (#7059, #7084, #7415 by @johnd0e) - Improve reliability of
dblclickevent simulation on touch devices (DomEvent.DoubleTap) (#7027 by @johnd0e) - Improve reliability of
disableClickPropagation(#7439 by @johnd0e) - Improve
MaphasLayer()andLayerGrouphasLayer()to require a layer as argument (#6999 by @johnd0e) - Fix
Class.includeto not overwriteoptions(#7756 by @johnd0e) - Fix
Class.extendto not modify source props object (#6766 by @johnd0e) - Improve
Browser.touchtouch devices detection (#7029 by @johnd0e) - Get rid of legacy Android hacks (#7022 by @johnd0e)
- Allow fonts to respect users' browser settings by making the
font-sizerelative to the map container. (You can change the font size onleaflet-containerto adjust it if needed.) (#7800 by @Chandu-4444)
❇️ API changes
- Make
DivOverlay/Tooltipinteractive(#7531, #7532 by @johnd0e) - Add
openOn,close,togglefunctions toDivOverlay(#6639 by @johnd0e) - Introduce
DomEvent.off(el)to remove all listeners (#7125 by @johnd0e) - Allow preventing round-off errors by passing
falsetoUtil.formatNum/toGeoJSON(#7100 by @johnd0e) - Add
autoPanOnFocustoMarker(#8042 by @IvanSanchez) - Add
referrerPolicytoTileLayer(#7945 by @natevw) - Add
playsInlinetoVideoOverlay(#7928 by @Falke-Design) - Add
getCentertoImageOverlay(#7848 by @Falke-Design) - Fire a
tileabortevent when aTileLayerload is cancelled (#6786 by @dstndstn) - Add
crossOrigintoIcon(#7298 by @syedmuhammadabid)
✨ Improvements
- Improve memory footprint by removing
will-changeCSS property on tile images (#7872 by @janjaap) - Improve reliability of icons path detection heuristics (#7092 by @johnd0e)
- Improve performance of adding tiled sources by avoiding excessive updates in
GridLayer.onAdd(#7570 by @johnd0e) - Improve handling of edge cases in
panInside(#7469 by @daverayment) - Minify marker icon SVG (#7600 by @rala72)
- Allow template keys with spaces in
TileLayerURL (#7216 by @lubojr) - Improve behavior of
Tooltipbound toImageOverlay(#7306 by @IvanSanchez) - Remove the gap between Popup tip and content dialog (#7920 by @Malvoz)
- Fire
mousemovethrough Canvas to map if it has no layers (#7809 by @johnd0e) - Add print styles to prevent printers from removing background-images in controls (#7851 by @Malvoz)
- Move attribution code from
LayertoControl.Attribution(#7764 by @johnd0e) - Refactor
vmlCreate()so that it does not expose closure toTypeError(#7279 by @darcyparker) - Improve reliability of
Control.Layersby not relying on Browserandroidandtouchproperties (#7057 by @johnd0e) - Improve reliability of
Tooltipby not relying on Browsertouchchecks (#7535 by @johnd0e) - Make
Browsermutable for easier automated testing (#7335 by @bozdoz) - Replace
divwithspaninControl.Layerscontainer to fix an HTML validation error (#7914 by @tmiaa) - Add a Ukrainian flag to default attribution 🇺🇦 (by @mourner in https://github.com/Leaflet/Leaflet/pull/8109)
🙌 Accessibility
- Increase default font sizes and decrease attribution transparency for improved legibility (#8057, by @mourner)
- Improve accessibility of popup close button (#7908, by @Malvoz)
- Auto pan to markers on focus by default for improved keyboard operability (#8042 by @IvanSanchez)
- Add accessibility section to plugins guide (#7277 by @Malvoz)
- Update
Markerto default torole="button"&alt="marker"for an improved screen reader experience (#7895 by @tmiaa) - Set
role="button"for appropriate semantics on the<a>layers control (#7850 by @Malvoz) - Generally enable outlines for keyboard users by not stripping
outlineon focus for keyboard events (#7259 by @jafin) - Enable outlines on
leaflet-containerfor keyboard users (#7996 by @Malvoz) - Multiple enhancements to popup's close button (#7794 by @Falke-Design)
- Use relative
font-sizeunits for resizable text (#7800 by @Chandu-4444) - Apply
:hoverstyles to:focusas well (#7274 by @Malvoz) - Hide the decorative attribution separator from screen readers (#7969 by @Malvoz)
- Make the disabled state of zoom controls available to screen readers (#7280 by @akshataj96)
- Hide the +/- characters in zoom controls from screen readers to prevent erroneous announcements (#7795 by @Falke-Design)
🐞 Bug fixes
- Fix vector drift when dragging and immediately zooming (by @manubb @johnd0e @mourner in https://github.com/Leaflet/Leaflet/pull/8103)
- Reduce the occurrence of glitches on rapid zoom (by @mourner in https://github.com/Leaflet/Leaflet/pull/8102)
- Fix
Markerjumping position while zooming in certain cases (#7967 by @Falke-Design) - Fix opening / closing
Tooltipwhile dragging the map (#7862 by @Falke-Design) - Break the reference to the options of the
Classprototype (#7459 by @Falke-Design) - Improve
Tooltipoptionspermanent&stickyto work together (#7563 by @Falke-Design) - Check if map container is still connected with Leaflet in
locateevent listener (#7813 by @Falke-Design) - Fix
TooltipbindTooltipto unbind existent tooltip (#7633 by @Falke-Design) - Correct
ifcondition, to add zoom limits for Layer (#7609 by @vcoppe) GridLayerredraw tiles after changingmaxNativeZoom(#6443 by @cherniavskii)- Fix
PopupkeepInViewif the map needs to panned over a long distance (#7792 by @Falke-Design) - Tolerate wrong event names in
add/removePointerListener(#7808 by @johnd0e) - Reset width & padding to prevent cascading CSS from breaking tile rendering (#6843 by @Spudley)
- Fix
mousedownevent calling after draggingCanvasmap (#7781 by @johnd0e) - Decrease
console.warnpollution (#7748 by @johnd0e) - Fix
contextmenuevent default-preventing when there are >1 target candidates (#7544 by @johnd0e) - Prevent click on
Popup-tip from firing on map. (#7541 by @johnd0e) - Fix error by calling
Path.setStylebefore adding the layer to the map (#6941 by @NielsHolt) - Reset
BoxZoomafter cancel with ESC (#7597 by @Falke-Design) - Fix
noConflict(#7855 by @Falke-Design) - Fix popup appearance when content is empty (#8136, by @ansh-ag)
- Fix
latLngToCoordsandlatLngsToCoordsnot accepting array form of lat/lngs (#7436, by @Relkfaw)
📝 Docs
- Add a new Leaflet accessibility tutorial (#8081, by @Malvoz)
- Upgrade Code of Conduct to Contributor Covenant v2 and improve its visibility (#7984 by @mourner)
- Lint examples (#7827 by @mourner)
- Update usability in Docs (#7982, #7703, #7950, #7906, #7907, #7696, #7816, #7345, #7815, #7948, #7901 by @Falke-Design, @avioli, @Malvoz, @fulldecent, @saerdnaer, @MxDui)
- Typos / Fixes in Docs, Samples, ... (#7263, #7284, #7339, #7349, #7381, #7371, #7485, #7380, #7578, #7758, #7602, #7857, #7860, #7336, #7819 by @timgates42, @IvanSanchez, @ipovos, @elfalem, @BakuCity, @simon04, @user073, @Dev-Steven, @vanillajonathan, @aquelle-cp, @matkoniecz, @Falke-Design)
- Clarify
zoomendevent (#7460 by @xeruf) - Add
falsetoprefixofControl.Attribution(#7814 by @Falke-Design) LayerGroupinherit fromInteractive Layer(#7763 by @johnd0e)- Improve
Map.panInsidedocumentation (#7397 by @daverayment) - Update
Rendererdocumentation to clarifytoleranceoption is forCanvasonly (#7515 by @Hippl-Eric) - Add documentation for Event-Listener
propagateargument (#7103 by @riffaud) - Fix an issue with top padding on non-API pages (#8083, by @wyankush)
🔧 Workflow
- Split
plugins.mdinto many files for easier maintenance (#7805 by @Falke-Design) - Add Bundlemon to watch bundle size (#7934, #7983, #7905 by @jonkoops)
- Add
npm run serveto serve docs on localhost (#7973 by @Falke-Design) - Rename
masterbranch tomain(#7921 by @jonkoops) - Upload files to AWS even if the file-size is the same (#7853 by @jonkoops)
- Remove
leaflet-include.jsfromdebugsamples (#7776 by @Falke-Design) - Lint adjustments (#7676, #7743, #7757 by @jonkoops, @mourner)
- Simplify release process (#7711, #7854, #7727, #8039 by @mourner)
- Simplify docs update process on release (#7730 by @mourner)
- Update dependencies and add Dependabot config (#7455, #7653, #7677, #7725 by @jonkoops)
- Split main workflow into multiple parallel jobs (#7710 by @jonkoops)
- Run CI on Github actions (#7691, #7654, #7702 by @jonkoops)
- Continue running tests even if one fails (#7723 by @jonkoops)
- Add https://github.com/Leaflet/Leaflet/labels/blocker check to release process (#8019 by @Malvoz)
- Remove all references of Bower (#7831 by @jonkoops)
- Add GitHub Actions dependency tracking with Dependabot (by @nathannaveen in https://github.com/Leaflet/Leaflet/pull/8104)
🧪 Tests
- Improve unit tests organization (#7852, by @Falke-Design)
- Run tests on
Internet Explorer 11(#7741 by @jonkoops) - Run tests on
FirefoxNoTouch(#7736, #7742 by @johnd0e) - Drop
PhantomJSfrom test suite (#7660, #7724 by @jonkoops) - Simplify
.nearand.nearLatLngusage (#7820 by @johnd0e) - Enforce forbid-only rule in the continuous integration (#7448 by @johnd0e)
- Increase
captureTimeoutandbrowserSocketTimeout(#7856 by @Falke-Design) - Added / update tests (#7790, #7147, #7721, #7461, #7126, #7451, #7450, #7447, #7438 by @Falke-Design, @johnd0e, @phloose)
- Added missing Test-Spec-Files to index.html (#7845 by @Falke-Design)
- Cover
DomEventwith unit tests (by @stephenspol in https://github.com/Leaflet/Leaflet/pull/8088) - Cover
DomUtilwith unit tests (#7547, by @LGNorris)
🔩 Plugins
- Add / update demo URLs for all plugins, fix broken links (#8003, huge work by @valerio-bozzolan).
- Add / update plugins (#7986, #7956, #7942, #7888, #7896, #7885, #7875, #7874, #7833, #7834, #7832, #7812, #7786, #7802, #6534, #6547, #7367, #7392, #7412, #7631, #7437, #7408, #6500, #7957, #7484, #7236, #7053, #7050, #7312, #7623, #7534, #7626, #7553, #7423, #7619, #7065, #7663, #7690, #7180, #7714, #7665, #7179, #6641, #7647, #7635, #7473, #7471, #7363, #7323, #7295, #7292, #7291, #7257, #7276, #7470, #7700, #7617), #8097, #8096, #8049
- JavaScript
Published by mourner about 4 years ago
leaflet - v1.8.0-beta.3
🐞 Bug fixes
- Fix vector drift when dragging and immediately zooming (by @manubb @johnd0e @mourner in https://github.com/Leaflet/Leaflet/pull/8103)
- Reduce the occurrence of glitches on rapid zoom (by @mourner in https://github.com/Leaflet/Leaflet/pull/8102)
- Fix
autoPanOnFocuson icons with noiconSize(by @Falke-Design in https://github.com/Leaflet/Leaflet/pull/8091)
✨ Improvements
- Add a Ukrainian flag to default attribution 🇺🇦 (by @mourner in https://github.com/Leaflet/Leaflet/pull/8109)
🧪 Tests and workflow
- Add GitHub Actions dependency tracking with Dependabot (by @nathannaveen in https://github.com/Leaflet/Leaflet/pull/8104)
- Cover
DomEventwith unit tests (by @stephenspol in https://github.com/Leaflet/Leaflet/pull/8088)
(Skipped v1.8.0-beta.2 because of a publishing blunder)
- JavaScript
Published by mourner about 4 years ago
leaflet -
Changes since v1.8.0-beta.0:
🐞 Bug fixes
- Fix
Uncaught TypeError: t is undefinederror with markers in some editing/drawing plugins (#8084, by @Falke-Design) - Fix broken bundle when using Leaflet with Rollup/Webpack (#8050, by @Falke-Design)
- Fix SVG performance regression (#8058, by @mourner)
✨ Improvements
- Increase default font sizes and decrease attribution transparency for improved legibility (#8057, by @mourner)
- Improve unit tests organization (#7852, by @Falke-Design)
📝 Docs
- Add a new Leaflet accessibility tutorial (#8081, by @Malvoz)
- Fix an issue with top padding on non-API pages (#8083, by @wyankush)
- JavaScript
Published by mourner about 4 years ago
leaflet - v1.8.0-beta.0
(changelog moved to v1.8.0 final)
- JavaScript
Published by mourner about 4 years ago
leaflet - v1.7.1
Bug fixes
- Fix build toolchain to reflect uglifyjs upgrade from v2 to v3 (by @ivansanchez)
1.7.0 (2020-09-03)
API changes
VideoOverlaynow can take amutedoption (#7071 by @ronikar)- The
featureGroupfactory method now takesoptions, as theFeatureGroupconstructor (#7160 by @frogcat)
Improvements
- Use passive event listeners for
touchstart/touchendevents (#7008 by @yneet) - Better detection of
PointerEvents-capable browsers inL.Browser, and related changes toTap,Drag, andTouchZoomhandlers (#7010, (#7033, (#7036, (#7068, (#7195 by @johnd0e) - Add more browser profiles for the automated tests (#7115 by @johnd0e)
Bug fixes
- Fix canvas renderer not clearing the canvas on some zoom transformations, was affecting opacity of items (#6915 by @chipta)
- Fix detection of passive events in
L.Browser(#6930 by @Ivan-Perez) - Prefix MS-specific CSS style to prevent warnings (by @ivansanchez, kudos to @zachricha for #6960)
- Clean up
moveendlistener frommap.setMaxBounds(#6958 by @simon04) - Fix wrong scope of
bindcall in ESM environments (#6970 by @shintonik) - Check that
closePopupexists before calling it automatically (#6962 by @pke) - Fix exception when calling
layerGroup.hasLayer()with wronglayerId(#6998 by @johnd0e) - Remove
clickfilter targeting Android 4.x browsers (#7013 by @johnd0e) - Fix touch zoom handler context (#7036 by @johnd0e)
- Tests for
Bounds.overlaps()andBounds.intersects()(#7075 by @mondeja) - Fix event propagation in a popup's container (#7091 by @johnd0e)
- Fix tile flickering when
maxNativeZoom === maxZoom(#7094 by @johnd0e) - Fix
GridLayer's zoom-level loading algorithm (#7123 by @johnd0e) - Fix
tooltipAnchorbehavior for different tooltip directions (#7155 by @Istador)
Docs & Web Site
- Updated examples to use non-legacy Mapbox tiles, and related changes (#6905 by @riastrad) (#6922 by @danswick) (#6995 by @riastrad)
- Fix documentation for
Polyline.addLatLng()(#6924 by @life777) - CRS tutorial: change link for UQM tool to an archived version (by @ivansanchez)
- Fixed minor spelling errors in documentation (#6850 by @flopp) (#6944 by @jieter)
- Fixed typo in panes documentation (by #6939 by @R4M80MrX)
- Fixed broken URL in quick-start example (#6982 by @ekbarber)
- Fix documentation for
map.setMaxBounds()(#7001 by @johnd0e) - Fix tilt code in handler tutorial (#7014 by @vncntcltt)
- Fix instructions for using
jekyllwhen building docs (#7014 by @vncntcltt) - Update WMS servers in WMS tutorial (#7014 by @vncntcltt)
- Website constrast changes and minor cleanup (by @mourner)
- Fixed typo in WMS example (#7098 by @andreasnuesslein)
- Fix documentation for
divOverlay.getElement()(#7111 by @mondeja) - Fix documentation for
Marker.shadowPane(#7135 by @mi-v) - Update URL about NPM in developer docs (#7161 by @iamtekson)
- Fix documentation for
Layer.removeFrom()regardingLayerGroups (by @ivansanchez) - Fix documentation for
LatLngBounds.overlaps()#7194 by @DerZade)
- JavaScript
Published by IvanSanchez over 5 years ago
leaflet - v1.6.0
API changes
GeoJSON.resetStyle- allow invocation without an argument (#6663 by joukewitteveen)- Add new
markersInheritOptionsoption toL.GeoJSON(#6866 by ghybs)
Improvements
- Use passive event listeners (#6694 by danielkorte)
- Add
oldLatLngcoordinates toL.CircleMarkermoveevent (#6719 by errnesto) - Add tests (#6839, #6841 by ghybs)
- Add test case to ensure scientific notation is formatted correctly (#6877 by desean1625)
Bug fixes
- Fix performance issue with
L.Util.formatNum(#6668 by cherniavskii) - Respect
classNameoption inSVGOverlayandVideoOverlay(#6679 by IvanSanchez) - Cancel the canvas
mousehoverthrottle onmouseout(#6749 by IvanSanchez) - Check for style being passed in
L.Path.setStyle(#6728 by TheRealTorreySmith) - Fix
dblclickevent when both Pointer Events and Touch Events are available (#6855 by filcab) - Properly unbind animation proxy events when removing map (#6867 by ghybs)
- Fix race condition in
Markerwhen icon is not present (#6794 by BenTalagan)
Docs & Web Site
- Update SvgOverlay code example (#6658 by cherniavskii)
- Fix mobile locate accuracy snippet (#6693 by ghybs)
- Fix broken accordions (#6770 by mbachner)
- Fix misleading
L.Markerdocs sections (#6871 by chloe-mc)
- JavaScript
Published by cherniavskii over 6 years ago
leaflet - v1.5.1
- Fix module export regression (#6647 by cherniavskii)
- JavaScript
Published by cherniavskii about 7 years ago
leaflet - v1.5.0
API changes
- Add
keepAspectRatiooption toVideoOverlay(#6038 by ronikar) - Add support for
keydownandkeyupevents to map (#6421 by OrBin) - Add
shadowPaneoption toMarker(#6460 by alexfig) - Add
L.SVGOverlayclass (#6517 by Zsavajji) - Add
getIconmethod toMarker(#6457 by OsamaShabrez)
Improvements
- Update attribution link to HTTPS (#6593 by WillSelway)
- Make
DivIconhtmloption accept Element (#6571 by oscar-sensornet) - Microoptimize
GeoJSON._setLayerStyle(#6616 by johnd0e) - Reuse
openPopupandopenTooltipcode (#6613 by johnd0e)
Bug fixes
- Fix
Control.Layersradio buttons when using multiple maps (#6483 by jjimenezshaw) - Explicitly remove controls from the map on map unload (#6488 by IvanSanchez)
- Fixed a bug where mouseover on Canvas-rendered polylines acted inconsistently (#6516 by IvanSanchez)
- Prevent tiles highlighting in IE11 (#6570 by VictorVelarde)
- Fix
L.Util.formatNumrounding precision (#6587 by inkstak) - Fix crash, when setting opacity on
Markerwithout icon (#6610 by charlie67) - Make synthetic
dblclickevent relate to left mouse button (#6628 by IvanSanchez)
Docs & Web Site
- Minor spelling corrections in Docs/Tutorials (#6464 by ilyankou)
- Document
toGeoJSON'sprecisionargument (#6375 by rkatka) - Add background color CSS declaration (#6614 by milesflo)
- Clarify
Events.offmethod docs (#6619 by lancebendo) - Fix
Layerexample (#6636 by billygarrison)
Development workflow
- JavaScript
Published by cherniavskii about 7 years ago
leaflet - v1.4.0
API changes
- Add new
Map.panInsidemethod (#6054 by daverayment)
Improvements
- Remove unused
_drawnLayersobject (#6324 by ud09) - Avoid unnecessary redrawing in
TileLayer.setUrl()when URL does not change (#6313 by JackNeus) - Use
sectioninstead offormin layers control (#6380 by hundekoerper) - Add IE11 linked SVG elements support to
DomUtil.getClassfunction (#6366 by Schleuse)
Bug fixes
- Set internal flags at beginning of map initialization (#6362 by ghybs)
- Guard against layers no longer attached to a map in
bringToFront/Back()(#6389 by perliedman) - Fix
autoPanoption when popup content gets updated while a panning animation is running (#6365 by Schleuse) - Ignore dash arrays with non-numeric entries in canvas (#6387 by perliedman)
Docs & Web Site
- Remove additional
<tr>(#6334 by mgred) - Fix command to run test with karma options (#6363 by ghybs)
- Add OSM logo to "Trusted by the best" section (#6360 by astv99)
- Fix typos (#6398 by HarryMaher)
- Make it clear zoomanim is not always fired on every frame (#6388 by perliedman)
- Add copyright references to code examples (#6439 by jbelien)
- Fix insecure content error (#6442 by tambry)
- Remove incorrect Earth GIF (#6326 by Vincentdecursay)
- Fix duplicated sentence in SVG section (#6448 by patrickdemers6)
- JavaScript
Published by cherniavskii over 7 years ago
leaflet - v.1.3.4
Improvements
- Reset max-width and max-height styles for tiles in custom panes (#6255 by jerekshoe)
- Add unprefixed
cursor: grabstyle (#6281 by Malvoz) - Remove legacy prefixed styles, add unprefixed styles (#6282 by Malvoz)
Bug fixes
- Move set/getAttribute('src') calls from
GridLayerintoTileLayer(#6264 by IvanSanchez) - Support comma- or space-separated strings in
CanvasdashArrayoption (#6277 by IvanSanchez) - Remove trailing commas to avoid crashes in some IE browsers (#6279 by helbling)
- Fixed capitalization of
webkitTransformproperty, which broke transformations on certain Webkit browsers (#6290 by tuckergordon)
Docs & Web Site
- Document
zoomControlmap option (#6254 by IvanSanchez) - Explicitly note attribution obligation (#6261 by pietervdvn)
- Minor fixes of
ImageOverlaydocs (#6266 by jgravois) - Add Edge to the list of supported browsers (#6270 by matkoniecz)
- Remove references to Leaflet UserVoice page (#6291 by zstadler)
- Reword docstrings for draggable markers (#6296 by IvanSanchez)
- JavaScript
Published by cherniavskii almost 8 years ago
leaflet - v.1.3.2
Improvements
- Add
use-credentialsCORS option toImageOverlayandTileLayer(#6016 by caleblogan) + unit tests (#6022 and #6027 by ghybs) - Clean up references to global
Lin source code (#6047 and #6048 by ghybs) - Allow reset of
CanvasdashArrayoption + support array type (#6200 by McBen)
Bug fixes
- Respect the
preferCanvasoption in all panes (#6019 by mjumbewu) - Do not fire
tileloadevent if tile has emptysrc(#6025 by cherniavskii) - Fix race condition when removing canvas before it has rendered (#6033 by louMoxy)
- Fix memory leak in canvas renderer (#6117 by aj8k)
- Fix dragging for CSS scaled map (#6055 by ghybs)
- Handle
Polygons with empty array ofLatLngs (#6119 by BakuCity) - Fix view bounds calculation in geolocation event handler (#6140 by wladich)
- Fix error removing map and resizing window at the same time (#6160 by danzel)
- Stop pan key event when pan animation is in progress (#6231 by cherniavskii)
Docs & Web Site
- Use more explicit tiles in
Map panesexample (#6018 by ghybs) - Document parameter of
closestLayerPointmethod (#6060 by mattdsteele) - Update year ranges (#6076 by BakuCity)
- Use https everywhere for OSM links (#6082 by rzoller)
- Fix typo in
VideoOverlay.jsexample docs (#6090 by zhuang-hao-ming) - Fix typo in
LatLngdocstring (#6138 by jieter) - Use https everywhere and get rid of mixed content warnings (#6151 by theel0ja)
- More accurate
Browser.retinaexplanation (#6203 by JLuc) - Use link to official RFC 7946 GeoJSON spec (#6211 by ghybs)
ES6 / Rollup
- Add ES module build (#6021 by Rich-Harris)
Development workflow
- Move external dependencies to
node_modules(#6028 by cherniavskii) - Remove
jakedependency and use NPM scripts instead (#5828 by cherniavskii) - Update
ssridependency to5.2.2(#6086 by cherniavskii) - Set div width for
getBoundsZoomparameterinside(#6192 by ghybs) - Fix unit tests for graphical browsers (#6199 and #6202 by ghybs)
- Run tests in Firefox graphical browser as part of CI (#5831 by cherniavskii)
- JavaScript
Published by cherniavskii almost 8 years ago
leaflet -
API changes
- Add
toleranceoption toL.Rendererinstead of hardcoded tolerance for touch devices (#5922 by Muscot).
Improvements
- Use more stable form of Haversine formula (#5935 by jussimattas)
- Add
autoPanoption toL.Marker(#5651 by alenaksu) - Cancel http requests for outdated tiles (#5615 by jbccollins)
- Add
closeOnEscapeKeyoption toL.Popup(#5730 by Mickyfen17) - Add
tileerrortests toL.GridLayerspec (#5805 by msiadak) - Use
eachLayermethod for iterations over layers inL.LayerGroup(#5809 by cherniavskii) - Change
Util.formatNumdefault to 6 decimals (#5492 by fminuti) - Fire
zoomlevelschangeevent when callingsetMinZoom&setMaxZoom(#5230 by mynameisstephen) - Use zoom parameter if passed to
L.TileLayer'sgetTileUrlmethod (#5822 by broncha) - Round circle radius in renderer instead of layer (#5859 by perliedman)
- Make
L.LayerGroupaccept options (#5792 by iH8) - Round pan offset towards zero (#5858 by perliedman)
- Improve heuristic for what event targets are considered markers (#5885 by perliedman)
- Add
typeofcheck tocheckDeprecatedMixinEvents(#5901 by murb) - Optimize images (#5936 by grischard)
- Add
addTostatic function toL.Handlerclass (#5930 by cherniavskii) L.ImageOverlayacceptsImageElement(#5948 by ronikar)
Bug fixes
- Fix adding CSS classes in
L.VideoOverlay, which caused map crash in IE8 (#5731 by Dzwiedzminator and #5785 by cherniavskii) - No inertia if drag is stopped before ending the drag (#5690 by perliedman)
- Remove tiles from the
_tilescache when they're aborted (#5634 by oliverheilig) - Use same condition for adding as well as removing double tap listener (#5598 by perliedman)
- Correctly wrap tile coordinate bounds (#5715 by perliedman)
- Fix
L.TileLayerinfinite error loop (#5783 by cherniavskii) - Fix map not rendering when images have max-height (#5778 by idanen)
- Add defensive check for
this._mapinL.Marker'supdatemethod (#5736 by dnepromell) - Fix zoom when map container is scaled (#5794 by cherniavskii)
- Update DomPointer.js to revert typo (#5817 by daverayment)
- Fix
L.ImageOverlayclassNameoption (#5830 by cherniavskii) - Fix
L.TileLayer.WMSwhen using Polar stereographic (#5618 by scaddenp) - Stop animation before removing map (#5876 by dnepromell and #5918 by aaronplanell)
- Stop locate before removing map (#5893 by ghybs)
- Reset
GridLayer's_tileZoomtoundefinedinstead ofnull(#5888 by iH8) - Fix
L.Map'smap.flyTomethod to respectnoMoveStartoption (#5923 by iPrytz) - Fix map pan when
touchZoomis disabled (#5952 by cherniavskii) - Fix
L.SVGto reset size on remove from map (#5966 by ghybs) - Fix
L.Markerto setaltattribute for img-based Icons only (#5979 by msiadak)
Docs & Web Site
- Add documentation for
PolyLine.closestLayerPoint(#5701 by perliedman) - Replace urls for samples in wms documentation (#5712 by jjimenezshaw)
- Add
DomEvent.stopevent type to docs (#5733 by theashyster) - Update links to GeoJSON spec in GeoJSON examples (#5725 by astridx)
- Improve docs for
L.LatLngBoundspadmethod (#5748 by CalvinWilliams1012) - Improve Zoom-levels documentation to reflect function properly (#5769 by CalvinWilliams1012)
- Fix map's height and width in examples to make attributions visible on mobile (#5772 by CalvinWilliams1012 and #5819 by cherniavskii)
- Fix
L.FeatureGroupbringToBackmethod docs (#5788 by fpopa) - Fix
L.LatLngdistanceTomethod description (#5791 by loisgh) - Fix docs redirects to latest version reference (#5824 by cherniavskii)
- Add CDN alternatives (#5837 by ghybs)
- Update docs for
L.DomEvent.off()(#5855 by 77ganesh and #5976 by kring) - Move
L.SVGfactory docs to appropriate place (#5864 by cherniavskii) - New Leaflet playgrounds on Plunker, Codepen and JSFiddle (#5868 by iH8)
- Clarify that any option keys can be used (#5877 by perliedman)
- Add notes about some classes not inheriting Class (#5878 by perliedman)
- Clean up and document event propagation properties (#5880 by perliedman)
- Update building instructions (#5911 by shadeland)
- Document
mouseupevent for interactiveL.Layer(#5941 by germansokolov13) - Document
L.Icon'stooltipAnchoroption, updatetooltipAnchorandpopupAnchordefault values docs (#5989 by cherniavskii)
ES6 / Rollup
- Tweak
legacyoption in rollup config - now Leaflet works in IE again (#5929 by IvanSanchez) - Remove warning alert in watch bundle (#5714 by perliedman)
- New rollup config signature (#5812 by iH8)
- JavaScript
Published by cherniavskii over 8 years ago
leaflet -
Fixes non-extendable objects regression of 1.1.0 (#5658 by mourner)
For a detailed changes, see the full changelog
- JavaScript
Published by perliedman over 8 years ago
leaflet -
1.1.0 is a feature release. Changes since 1.0.3 are:
API changes
- Add deprecation notice for
L.Mixin.Events, fixes #5358 (#5365) (by perliedman) - Turn
nonBubblingEventsinto a documented boolean option (#4883 by IvanSanchez) - Add
L.transformationfactory, allow creation from array (#5282 by anetz89) toGeoJSONmethods now default to a precision of six decimals (as recommended in the GeoJSON spec), precision is settable through a method parameter (#5544 by mattgrande)
Docs & Web Site
reference.htmlnow always points to latest stable docs (#5490 by IvanSanchez, #5493 by alyhegazy)- Subresource integrity information and scripts (#5468 by IvanSanchez)
- New tutorial on zooming (by IvanSanchez, #5007)
- Minor documentation improvements by perliedman, veltman, FDMS, ghybs, RichardLitt, gatsbimantico, daturkel, jgravois, geografa, BjoernSchilberg, IvanSanchez, bozdoz, zemadz, danzel, jieter, massic80, jjimenezshaw, hnrchrdl and RayBB
ES6 / Rollup
- ES6 modules & Rollup (#4989) (by mourner and IvanSanchez)
- Additional fixes, testing and cleanup of ES6 code by thachhoang, danzel, jkuebart, simon04, perliedman, luiscamachopt and Trufi (#5373, #5417, #5351, #5330, #5329, #5489, #5504, #5456, #5463)
Improvements
- Add new class
L.VideoOverlay(#4988 by IvanSanchez) - Added z-index support to ImageOverlay (#5418 by Saulzi)
- Added error event to
ImageOverlaylayer and added tests for the new (#5416 by Saulzi) - Add
classNameoption forImageOverlay(#5555 by perliedman)
Bug fixes
- Handle edge case of empty bounds on
_getBoundsCenterZoom(#5157 by IvanSanchez) - Add new methods to
L.Boundsfor 2 missing corners, fixes #5475 (#5488 by ghybs) - Handle
Polylines with empty array ofLatLngs, #5497 (#5498, by perliedman) - Take
devicePixelRatiointo account for scrollwheel zoom in win10+chrome (#5480) (by IvanSanchez) - Add hook points to allow for a proper NoGap plugin (#5476) (by IvanSanchez)
- Sanity check to prevent loading tiles when bounds are
Infinity(#5478, #5479 by IvanSanchez) - Fix box zoom race condition (#5452 by ppaskaris)
- On update set current tiles active to avoid pruning (#5381) (#5431 by oliverheilig)
- Make
L.Mixin.Eventsa simple object instead of a prototype so it doesn't have a 'constructor' property, fixes #5451 (#5453 by luiscamachopt) - Canvas: call
ctx.setLineDashin_fillStroke#5182 (#5454 by TeXitoi) - Only rearrange DOM in
toFront/toBackif needed, fixes #4050 (#5465 by perliedman) - Push back keyboard navigation order of
L.Popup's close button (#5461 by Mirodil) - Remove spurious check in
DomUtil.preventOutline(#5435 by qjas) - Error handler in
ImageOverlayfor 404 links (#5307) by APwhitehat) - Ensure renderer's container is initialized when a path is added to map (#5404 by IvanSanchez)
- Layers Control only add layer events to layers when we are on the map. Fixes #5421 (#5422 by danzel)
- Layers Control can now become scrollable even if
collapsed: false, fixes #5328 (#5348 by ghybs) - Stop map on drag start instead of pointer down, fixes #5350 (#5378 by perliedman)
- fix invalid GeoJSON produced by nested
LayerGroups(#5359 by Resonance1584) - Update toolbar inner border radius (#5361 by newmanw)
- Export
lastIdinUtil(#5349 by DenisCarriere) - Do not stop keypress on escape if no popup is open, plus unit tests (#5331 (by IvanSanchez)
- Docs: remove
iframeborders on examples (#5327) (by tariqksoliman) - Pull
min/maxNativeZoomfromTileLayerintoGridLayer, as per #5316. (#5319 by jkuebart) - Disable click propagation on zoom control buttons, fixes #5308 (#5318 by perliedman)
- Add CSS for
-webkit-tap-highlight-color, fixes #5302 (#5303 by IvanSanchez) - Removed type attribute in HTML5 files (#5309 by uzerus)
- Add margin to
LatLngBounds.equalsmethod (#5071 by miguelcobain) - Add
L.Draggableoptions and fix docstring (#5301 by IvanSanchez) - Fix max/min calculation for
getBoundsZoom, fixes #5136 (#5137 by IvanSanchez) - Scrubbing of detached DOM elements, prevents memory leaks; fixes #5263 (#5265 by IvanSanchez)
- Remove
marker.draggingwhen not on the map, fixes #5293 (#5295 by danzel) - Stop scroll propagation in
L.Layers.Controlin chrome>55 (#5280 by IvanSanchez) - Allow HTML inputs in layer control's labels, fixes #5116 (#51165544 by iZucken)
- Fix possible null reference when auto detecting icon default path, fixes #5534 (#5535 by williamscs)
- Don't turn enter keypress into map clicks, fixes #5499 (#5507 by perliedman)
- Use minus character instead of hyphen in the zoom control (#5501 by damianmoore)
- JavaScript
Published by perliedman almost 9 years ago
leaflet - v1.0.3
Leaflet 1.0.3 is a bugfix release. Changes since 1.0.2:
Bug fixes
- Avoid extra
L.Canvasredraws on several scenarios (by @perliedman, #5250, also thanks to @manubb for investigation and PR). - Fix behaviour of
dblclickevents in Chrome 55 due toPointerEvents (by @IvanSanchez, #5185, #5248, #5268). - Fix a dangling comma making IE8 fail to parse the code (by @batje, #5270).
- Backport event handling fixes from #5054 into
L.SVG.VMLfor IE8 (by @IvanSanchez, #5215). - Fix a race condition when closing popups during their
popupopenevent (by @hagai26, #5202). - Fix
getBoundsZoomreturn value on CRSs with a flipped axis (by @computerlove, #5204). - Avoid infinite loops when the
errorTileUrlof aL.TileLayerreturns 404 (by @IvanSanchez, #5177). - Remove erroneous initialization of unused event listeners (by @Brikky, #5160).
- Fix rounding of
L.Canvasredraw areas to avoid artifacts during partial updates (by @Ernie23, #5148). - Fix
isPopupOpen()behaviour ofL.Layerwhen no popup is bound to a layer (by @gvangool, #5106). - Add a sanity check in
LatLngBounds.contains()to allow for non-instantiatedLatLngobjects (by @IvanSanchez, #5135). - Fix collapsing of
L.Control.Layerswhen thecollapseoption isfalse(by @perliedman, #5131).
API changes
- Added a new
WrapLatLngBoundsmethod toL.CRS, to fix an issue withmaxBoundsofGridLayers (by @IvanSanchez, #5185, also thanks to @DiogoMCampos for investigation). L.Map.getSize()will now return0instead ofNaNin non-graphical environments (by @ughitsaaron, #5209).
Improvements
- Several minor documentation improvements by @IvanSanchez, @jieter, @alonsogarciapablo, @jasonoverland, @danzel, @ghybs, @Ralf8686, @geoloep
- Add an
altattribute to the<img>s of marker shadows (by @topicus, #5259).
- JavaScript
Published by IvanSanchez over 9 years ago
leaflet - v1.0.2
Leaflet 1.0.2 is a small release with a dozen bugfixes and a couple small improvements. Changes since v1.0.1:
Bug fixes
- Fix CSS for marker shadows when
max-widthis already set (by @brunob, #5046). - Fix canvas redraw when style updates fill and/or weight (by @perliedman, #5034).
- Prevent canvas from firing multiple
mouseoverevents for same layer (by @perliedman, #5033). - Fixed a race condition when removing and adding
L.Canvasvectors during a zoom animation (by @ghybs) #5011. - Fix zoom animation of ImageOverlay when CRS's Y axis is flipped (by @perliedman), #4993.
- Fix encoding/decoding of GeoJSON
FeatureCollections (by @IvanSanchez), #5045. - Fix
minZoom/maxZoomlate inizialization (by @IvanSanchez), #4916. - Fix styling of custom SVG markers by making stricter CSS selectors (by @jwoyame) #4597.
- Fix order of
mouseover/mouseoutevents on overlappingL.Canvaslayers (by @perliedman), #5090. - Fix drag behaviour when a draggable marker is removed in mid-drag (by @IvanSanchez, #5063.
- Fix
L.Control.Layers.collapse()on initially uncollapsed layer controls (by @perliedman), #5090. - Fix blurriness of
L.Tooltipby rounding up pixel coordinates (by @ashmigelski), #5089. - Fix click events on overlapping geometries when using
L.Canvas(by @perliedman), #5100.
API changes
- Add a
sortLayersoption toL.Control.Layers(by @IvanSanchez, #4711. - Implement
bringToFrontandbringToBackwhen usingL.Canvas, plus preventing other canvas glitches (by @perliedman), #5115. - Add
minNativeZoomoption toL.TileLayers. (by @bb-juliogarcia), #5088.
Improvements
- Improve performance when adding lots of
L.Paths by refactoring away event logic (by @IvanSanchez) #5054)]. - Several minor documentation improvements by @Jmuccigr, @serdarkacka, @erickzhao, @IvanSanchez, @perliedman, @joukewitteveen.
- Code reorganization: Extensions for
L.MarkerandL.Mapno longer have a separate file (by @mourner). - Removed a duplicated unit test (@yohanboniface).
- Accesibility improvements (ARIA/screenreader related) on map tiles (by @patrickarlt) #5092.
- JavaScript
Published by IvanSanchez over 9 years ago
leaflet - v1.0.1
Leaflet 1.0.1 is a small bugfix release, containing two bug fixes since the previous version: - Fixed vector rendering regression in IE8 (by @perliedman). #4656 - Fixed Webpack error when bundling Leaflet's CSS (by @jefbarn). #4679
- JavaScript
Published by IvanSanchez over 9 years ago
leaflet -
Leaflet 1.0 final, a culmination of several years of work by dozens of contributors from all over the world. This is the fastest, most stable and polished Leaflet release ever. Read the announcement blog post.
Changes since 1.0-rc3:
API changes
- Remove deprecated
zoomanimatedoption forL.Popups (by @fnicollet) #4699
Improvements
- Several minor fixes to the documentation (by @IvanSanchez, @alejo90, @ghybs, @JonasDralle)
- Add license to
bower.json(by @anotherredward) #4865 - Allow creating tooltips without a source layer (by @yohanboniface) #4836
- Detect
L.Icondefault path using CSS (by @IvanSanchez) #4605
Bug fixes
- Fix handling of
getScaleZoomin some custom CRSs (by @theashyster) #4919 - Guard
L.Pathevent handlers against race conditions (by @perliedman and @IvanSanchez) #4855 #4929 #4838 - In
L.GridLayers, wraptileBoundswhennoWrapis false (by @fyeah) #4908 - Fix
L.Path'sbringToFront()behaviour in the Edge browser (by @nikolai-b) #4848 - Remove spurious counting of event handlers (by @perliedman) #4842
- Throw error on
getCenter()when aL.Polygonhas no map and thus no CRS (by @snkashis) #4820 - Add a
_leaflet_idto map containers to prevent error when removing a map twice (by @IvanSanchez) #4810 - Do not fail when closing a tooltip which is not in a map (by @yohanboniface) #4937
- JavaScript
Published by mourner over 9 years ago
leaflet - v1.0.0-rc.3
API changes
L.Tooltipoffsetoption now defaults to[0, 0](by @yohanboniface) #4773- Event listeners are now always called in the order they have been registered, while until rc2 listeners with a context were all called before listeners without context (even if registered later), and the listeners with context were called in an unpredictable order (by @yohanboniface) #4769
Improvements
Bug fixes
- Fixed regression where event listeners where not always fired in the order of registration (by @yohanboniface) #4769
- Fixed
L.Tooltipzoom animation (by @yohanboniface) #4744 - Fixed
layer.bindTooltipcrashing when called before adding the layer to the map (by @yohanboniface) #4779 - Fixed regression in
L.Popupautopaning (by @yohanboniface) #4768 - Fixed non permanent
L.Tooltipnot being closed on touch when touching the map (by @yohanboniface) #4767 - Fixed
popupopenandpopupclosenot being fired when clicking on path with an open popup (by @yohanboniface) #4788
- JavaScript
Published by mourner almost 10 years ago
leaflet - v1.0.0-rc.2
API changes
- Make
L.Handler.enable/disablereturnthis(by @yohanboniface) #4708 - Icon
sizeoption can now be initialised with a number (by @rheh) #4608 - Add
classnameoption toL.GridLayer(by @jayvarner) #4553 - Consistent returns for
Map.addLayer(by @nathancahill) #4504 - Create points from objects with
xandyproperties (by @nathancahill) #4465 - Add
updateWhenZoomingoption toL.GridLayer(by @IvanSanchez) #4462
Improvements
- Refactoring of events (by @fab1an and @perliedman) #4697
- Do not alter
popup.options.offsetwhen computing popup offset (fix #4645) (by @yohanboniface) #4662 - Use different
L.Boundsfor "marking as prunable" and loading tiles (by @IvanSanchez) #4650 - Added
L.Tooltipclass to display small tooltips on the map (by @yohanboniface) #3952
Bug fixes
- Fixed
GridLayer's outer edge snapping to vertical center of map (fix #4702) (by @yohanboniface) #4704 - Fixed scrollwheel zoom too fast in MS Edge (by @IvanSanchez) #4694
- Use
pointer-events: visiblePaintedas fallback for IE <11 (by @perliedman) #4690 - Avoid double borders on
abbrin website (by @brunob) #4663 - Prevent firing map click when layer has popup (by @jwoyame) #4603
- Disable pointer events on popup tip (by @jwoyame) #4599
- Prevent
L.DomUtil.create()from automatically setting a CSS class name (by @MuellerMatthew) #4563 - Fix off-by-one bug in
Control.Layers._getLayer(by @ValentinH) #4561 - Fix scrollwheel events zomming two levelz in Chrome by scaling down
getWheelDelta()(by @IvanSanchez) #4538 - Prevent event listeners from being called when all listeners are removed (by @perliedman) #4555
- Don't prevent browser's touch scroll and/or zoom unless handlers are enabled (by @perliedman) #4552
- Fixed
getBoundsZoomwith small size and padding (by @dianjin) #4532 - Fixed
L.Control.Layersin IE8 (by @jieter) #4509 - Fixed
TileLayer's retina logic whenzoomReverseis enabled. (by @perliedman) #4503 - Fixed
setMaxBoundsnot resettingmaxBoundswhen passingnullargument (by @yohanboniface) #4494 - Fixed canvas not filtering click event after drag (by @yohanboniface) #4493
- Fixed
L.Control.removeLayer()raising an error when trying to remove a layer not yet added (by @jieter) #4487 - Fixed disabling drag on click in IE11 (by @perliedman) #4479
- Fixed
L.Evented.listens()on removed event handlers, #4474 (by @IvanSanchez) #4476 - Better handling of
markerZoomAnimationevent hooks (by @IvanSanchez) #4460
- JavaScript
Published by yohanboniface almost 10 years ago
leaflet - v1.0.0-rc.1
API changes
- Make
L.Control.Layers.collapse/expandpublic methods (by @yohanboniface) #4370 - Make
L.latLngBoundsfactory return an empty bounds with no argument (by @yohanboniface) #4368 Map.fitBoundsnow raises an error if bounds are not valid (by @theotow) #4353- Temporarily support legacy options on
L.Circle(by @JrFolk) #4290 - Throw error on
NaNcircle radius (by @IvanSanchez) #4237 L.Class.include()&mergeOptions()now returnthis(by @IvanSanchez) #4246- Consistent GeoJSON casing (by @yohanboniface) #4108
- Move
L.LatLng.equalstoL.CRS.equals. (by @perliedman) #4074 - Make non-interactive markers not firing pointer events (by @IvanSanchez) #3937
Improvements
- Give popups an id (by @tylercubell) #4355
- Support
{-y}in tile layer urls (by @jieter) #4337 - Support
dashArraypath option in canvas (by @gommo) #4173 - Clean up
navigator.pointerEnabled(by @IvanSanchez) #4287 - Use array in
L.Control.Layersinternally (by @jieter) #4227 - Implement
L.Browser.edge(by @IvanSanchez) #4143 - Optimized icons (by @vtduncan) #4124
- Cast
L.DivIcon.bgPosoption toL.Point(by @perliedman) #4090 - Switch to wheel event where available (by @mourner) #3653
- Fractional zoom controls (by @IvanSanchez and @hyperknot) #3523
- Added click tolerance also for non-touch devices (by DavidUv) #4396
Bug fixes
- Fixed an edge case on
Map.fitBounds(by @perliedman) #4377 - Fixed an edge case bug in
flyTo(by @hyperknot) #4376 - Use mean earth radius for distance calculation in
L.CRS.Earth. (by @perliedman) #4369 - Fixed zoom event fired twice (by @perliedman) #4367
- Initialize canvas dash on init. Check that canvas supports
setLineDash. (by @perliedman) #4364 - Do not calculate inverted y coords for CRSes with infinite: true (by @jieter) #4344
- Fixed zoom handling on
Map.TouchZoom(by @IvanSanchez) #4340 - Fixed
this._times.lengthundefined inMap.Drag.js(by @LucasMouraDeOliveira) #4324 - Fixed simulated click handling in
L.Path(by @elkami12) #4314 - Fixed attribution text not removed when Layer is removed from map (by @dr-itz) #4293
- Fixed bug when adding/removing a layer from
L.Control.Layerthat is not on the map (by @errebenito) #4280 - Fixed
Map.attributionControlonly set onaddInitHook(by @snkashis) #4263 - Check for
e.originalEventinDomUtil._filterclick(by @IvanSanchez) #4256 - Stop drag propagation on
L.Draggable(by @turban) #4250 - Fixed error when quickly removing a layer just added (by @hyperknot) #4244
- Fixed not resetting properly on
Map.stop(by @IvanSanchez) #4229 - Fixed conflict between
Map.fadeAnimationandGridLayer.opacity(by @IvanSanchez) #4228 - Fix fractional zoom calculation (by @hyperknot) #4224
- Better cleanup of L.Control.Layers, fixes #4213 (plus unit tests) (by @IvanSanchez) #4214
- Fixed transform issue when not
L.Browser.any3d(by @IvanSanchez) #4212 - Fixed fractional zoom controls broken when initial zoom isn't specified (by @IvanSanchez) #4209
- Fix extra tiles usage (by @IvanSanchez) #4193
- Sanity check: test
pxBoundsvalidity before using it (by @yohanboniface) #4191 - Disable event defaults when disabling scroll propagation (by @IvanSanchez) #4160
- Fixed precision issues in
L.Circleradius (by @IvanSanchez) #4133 - Workarounded some touch-capable browsers firing
dblclickinstead of touch events (by @IvanSanchez) #4131 - Use all projected coords when calculating
L.Polyline's pixel bounds. (by @perliedman) #4114 - Fixed removing all events when passing an
undefinedproperty (by @robertleeplummerjr) #4113 - Fixed retina URL computation (by @hyperknot) #4110
- Fire
tileunloadfor all unloading of tiles (by @tcoats) #4099 - Fixed duplicated code in
L.GridLayer.retainParent()(by @jblarsen) #4094 - Make sure to always reset
_enforcingBounds. (by @perliedman) #4089 - Fix bug with max bounds and custom projections (by @OleLaursen) #4078
- When limiting center to bounds, ignore offsets less than a pixel. (by @perliedman) #4077
- Fixed bug for hover event between circle overlapping polygon on canvas (by @fimietta) #4072
- Fixed but where
L.Control.Layerswhere callingmap._sizeinstead ofgetSize()(by @Brobin) #4063 - Round new map position before animating pan (by @RLRR) #4046
- Fixed overlayed circles not responding to mouse events in canvas (by @Deftwun) #4033
- Fixed GeoJSON
resetStyle(by @yohanboniface) #4028 - Fixed popup toggle on marker click (by @yohanboniface) #4016
- Fixed event target fallbacking to map after marker drag (fix #3971) (by @yohanboniface) #4010
- Fixed
maxZoomnot honoring 0 (by @simsibimsiwimsi) #4000 - Skip
L.GridLayer._updateLevels()when out of min/max zoom (prevents IE8 exceptions) (by @IvanSanchez) #3999 L.DomUtil.getPosition()should return a fallback value (for VML in IE8) (by @IvanSanchez) #3998L.Marker: init interaction regardless of new icon or not (by @celadevra) #3978- Fix
interactive=falsenot taken into account for canvas (by @yohanboniface) #3956 - Fix canvas path disappearing on animation (by @klaftertief) #3950
- Only check for moving draggable in canvas renderer when map is draggable (by @klaftertief) #3942
- Fix SVG Dragging issues in IE and Edge (by @perliedman) #4382
- Fix click not working on inputs in controls in IE 11 (by @perliedman) #4371
- Make drag and touch zoom handlers insensitive to order of event handlers (by @perliedman) #4387
Other
- Added a Code of Conduct (by @mourner) #4142
- Dual 1.0 & 0.7 docs to gh-pages (by @IvanSanchez) #4085
- 🍂doc (by @IvanSanchez) #3916
- A lot of documentation improvements (by @nathancahill) #4418, #4419, #4423, #4425 and a lot more
- Replace links to google groups with ones to GIS StackExchange (by @IvanSanchez) #3886
- JavaScript
Published by yohanboniface about 10 years ago
leaflet - v0.7.7
- Fixed a regression that could sometimes cause tiles to disappear when pinch-zooming on iOS devices.
- Fixed a regression related to msPointer detection in IE10 (affecting Leaflet.draw and some other plugins) (by @danzel) #3842 #3839 #3804
- Fixed a bug where a mouseout could fire after a vector element was removed (by @sambernet). #3849 #3829
- Fixed touch interactions in Edge browser (by @mitchless & @Neorth). #3853 #3379
- Fixed a bug where removing a layer group from a feature group would throw an error (by @Lambdac0re). #3869
Note that we skipped 0.7.6 version for which we accidentally published a broken build to NPM.
- JavaScript
Published by mourner over 10 years ago
leaflet -
Beta 2 fixes over 50 bugs that were reported by users trying out beta 1. The vast majority of changes are small fixes to problems that are triggered in very specific situations or conditions, a few API consolidation changes, and a few browser workarounds.
API changes
L.circlenow acceptsradiusas an option (likeL.circleMarker) rather than a second argument (by @IvanSanchez)
Improvements
- Implemented canvas optimizations on mousehover interactions (by @philippelatulippe) #3076
- Improved drag behaviour by preventing a
preclickevent during drag (by @yohanboniface) #3632 - Implemented
L.ImageOverlay.setBounds()and fixed image overlay initialization (by @fminuti) #3680 - Implemented draggable items to fire
mousedownevents (by @yohanboniface) #3682 - Changed detection of browsers capable of
msPointerevents (by @IvanSanchez) #3684 - Implemented latitude truncation for spherical mercator projection (by @perliedman) #3700
- Armored against browsers not implementing
Geolocation.clearWatch()#3707 - Implemented generation of sourcemaps when building and minifying source files (by @IvanSanchez) #3723
- Added
bringToFrontandbringToBackto popups (by @danzel). #3908 #3307 - Multiply offset by 3 on keyboard pan when shift key is pressed (by @yohanboniface) #3921
Bug fixes
- Fixed event propagation on double finger tap (by @IvanSanchez) #3532
- Fixed style changes on re-added layers (by @wpf500) #3547
- Fixed
preventOutlineexceptions #3625 - Fixed a box zoom regression bug #3633
- Fixed
contextmenubehaviour when there are no event listeners (by @yohanboniface) #3638 - Fixed map controls not showing on top of map layers (by @patrickarlt) #3644
- Fixed display of marker images with
max-width(by @davidjb) #3647 - Fixed
mouseoutandmouseoverevent bubbling (by @yohanboniface) #3648 #3797 #3708 - Fixed a layer control bug when removing layers (by @davidlukerice) #3651
- Fixed pan and zoom animations interacting with each other #3355 #3655
- Fixed a regression bug in canvas renderer when removing layers #3661
- Remove a workaround for legacy Android 2 browsers #2282
- Fixed VML vector rendering in IE8 when removing and re-adding layers (by @fminuti) #2809
- Fixed
flyToanimations when the map center doesn't change (by @fminuti) #3663 - Fixed fade animations for semitransparent tile layers (by @w8r) #3671
- Fixed behaviour of the
baselayerchangeevent (by @yohanboniface) #3677 - Fixed marker icon handling during a marker drag (by @IvanSanchez) #3687
- Fixed a IE 11 map container visibility bug (by @fminuti) #2788
- Prevented dragging interactions while a map zoom animation is running (by @IvanSanchez) #3692
- Implement disabling layers in the layer control when they are unavailable at the current zoom level (by @IvanSanchez) #252
- Refactored
L.Util.requestAnimFramedefinition (by @fminuti) #3703 - Fixed an edge case of
L.Circle.getBounds()(by @knabar) #3776 - Fixed
Rectangle.setBounds()return value (by @IvanSanchez) https://github.com/Leaflet/Leaflet/commit/e698f641afadd4a0b412a6c9e065a6dbfbe16f44 - Fixed event firing order when opening a popup (by @yohanboniface) #3745
- Fixed tile layer loading when dragging then immediately pinch-zooming the map (by @IvanSanchez) #3814
- Work around browser limitations when panning the map too far away (by @yohanboniface and @IvanSanchez) #3608
- Fixed popup text selection and touch events for IE 10 (by @danzel) #3804
- Fixed tile layer ordering when
maxZoomis set (by @patrickarlt) #3721 - Fixed scale behaviour on non-standard CRSs (by @javimolla, special thanks to Your First PR) #2990
- Fixed rendering of off-screen vector layers (by @yohanboniface) #3836
- Fixed rendering of intersecting vector layers (by @yohanboniface) #3583
- Enforced stricter code linting
- Fixed disabled drag handlers not being able to be re-enabled (by @yohanboniface) #3825
- Fixed panning outside the map bounds (by @yohanboniface) #3878
- Worked around IE 11 not focusing the map using keyboard (by @IvanSanchez) #3772
- Fixed vector layer positioning during a zoom animation in low zoom (by @IvanSanchez) #3769
- Implemented
noWrapoption inL.GridLayer(by @IvanSanchez) #3691 - Fixed popups panning the map while running another pan animation (by @yohanboniface) #3744
- Fixed uncorrect length of scale control due to CSS styles (by @yohanboniface) #3668
- Fixed detection of default image path for icons (by @ilfa) #3770
- Various Canvas events fixes (by @yohanboniface) #3917
- Fix touch scroll in layers control (by @yohanboniface) #2882
- Fix duration not passed through from setView to panBy (by @yohanboniface) #3300
- JavaScript
Published by mourner over 10 years ago