The road to Leaflet 1.0 continues - we’re proud to get the first release candidate for 1.0 into the wild.
Leaflet 1.0-rc1 closes down on edge cases and API inconsistencies that were present in beta2. The full list of changes is in the 1.0.0-rc1 changelog) as usual, with about 50 bugfixes and a dozen improvements and minor API changes.
Fractional zoom controls: In beta2, developers could set a fractional zoom level only by code, running e.g.
map.setZoom(8.5). Now the map has options (
zoomDelta) to let the user navigate through fractional zoom levels.
Better handling of vector layers when using the
<canvas> renderer, when layers are non-interactive and lines are dashed.
The first ever Microsoft Edge hack (handle inconsistent
dblclick behaviour on Win10 touchscreens)
Unit tests with
prosthetic-hand, letting us be sure that touch interactions behave consistently. This has its own blog post.
The API documentation is now generated from docstrings, thanks to a new tool dubbed 🍂doc (or “leafdoc”).
Previously, the API documentation was edited manually. This involved a lot of copy-pasting and - over time - bits of code started not to match the documentation.
But the documentation for Leaflet requires a few special bits - docstrings cover methods and properties, but they do not cover options nor events, and we wanted to maintain the current look and feel of the documentation. 🍂doc was then born to overcome these limitations.
Leaflet uses class inheritance quite extensively, and the old documentation was sometimes not clear about it. Some users struggled to find the available methods for some of the classes, and inherited options were sometimes mentioned, sometimes not. 🍂doc fixes this by including the documentation of all inherited methods/options/events/properties, collapsed by default:
The build system now builds a HTML file with the API docs alongside the minified
leaflet.js file. Documentation will be updated on every release based on that file, and pull requests to the
gh-pages branch to fix the documentation will be automatically rejected.
As with previous releases, you can use our CDN:
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.css" /> <script src="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.js"></script>
This Release Candidate leapt forward when most of the Leaflet team met in Madrid for a weekend to fix bugs and discuss architectural decisions, and whether some big features should make it to 1.0 or be postponed.
We enjoyed meeting in person and fighting bugs together. It proved to be a very productive thing to do, as about 20 issues were closed that day. Hopefully another in-person meeting will happen soon, with another release!
We hope you enjoy Leaflet 1.0-rc1 as much as we did coding it!
Best, Iván & Vladimir & Yohan & Per & Zsolt.