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 ( by )
- Move
βοΈ 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)
β¨ 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)
π 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 )
π 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 )
π 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, , , , , , , , by , , , , , )
π§ 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)
π§ͺ 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)