OpenLayers3 v6.2.0 Release Notes

Release Date: 2020-02-11 // 9 days ago
  • 📚 With almost 90 pull requests, this release brings several new features, performance improvements and bug fixes. In addition to that, we once again improved the API documentation and the example pages.

    🆕 New features and improvements

    • Mousewheel zooming now brings the same user experience as trackpad zooming. One click on the wheel no longer means a jump of a whole zoom level. Instead, depending on the speed of moving the wheel, the user has fine-grained control over zoom increments/decrements.
    • 👉 Users now have better control over the initial map viewport when the aspect ratio of the map is different from a specified initial extent.
    • Text rendering has been optimized for decluttering and improved for rotated views. This means lower memory footprint and no more blurry text when the map is rotated. Note: Whit this change, the label cache has been deprecated.
    • 💅 A new displacement option for icon, circle and regular shape styles makes positioning of point symbolizers more flexible.
    • 💅 Several improvements have been made to the KML parser for reading styles, bringing the rendered result much closer to Google Earth.
    • 0️⃣ OpenLayers is now less aggressive on stopping events and preventing event default behavior. This means that users have more control over events, making it easier to use interactive SVGs as layers and to embed maps on scrollable pages.
    • Vector tile layers now have a vector render mode, which brings improved zooming experience for sources with not too much data.
    • 🌐 We replaced the previous pointer events polyfill to elm-pep, which should work better in web components.

    List of all changes

    • #10613 - Show KML name labels for Points in MultiGeometry (@mike-000)
    • #10632 - Draw interaction: Append coordinates to polygons and lines (reworked) (@jahow)
    • #9565 - Make mousewheel zoom behave like trackpad zoom. (@dbrnz)
    • 💅 #10580 - Fix KML Polystyle outline 0 conflict with Linestyle for linestrings (@mike-000)
    • #10612 - Make examples work in Internet Explorer (@ahocevar)
    • #10587 - Adds option to View for using larger resolution value when clamping #10586 (@jeremy-smith-maco)
    • ⚡️ #10607 - Update elm-pep to fix builds for IE < 11 (@ahocevar)
    • 🚚 #10598 - Remove inheritDoc to work around JSDoc issue (@ahocevar)
    • #10574 - Text rendering improvements (@ahocevar)
    • 🚚 #10591 - Remove obsolete license notice (@ahocevar)
    • #10588 - Sort doc navigation properly and add missing modules (@ahocevar)
    • 🔒 #10581 - Use package-lock.json for the checksum calculation (@DanielRuf)
    • 🛠 #10584 - fixed issue with version throwing an error if it is null (@MrSoUndso)
    • #10575 - Fix ol/layer/Graticule rendercomplete problem (@mike-000)
    • #10562 - Zoomify: Separate the service pixel ratio and the device pixel ratio (@crubier)
    • #10573 - Replace Bing layer with MapTiler in example (@mike-000)
    • #10570 - Use correct extent for the vector image (@ahocevar)
    • #10572 - Assert each layer is only added to the map once (@ahocevar)
    • #10563 - More compatible way of exporting a map as pdf (@ahocevar)
    • 💅 #10545 - Make KML point feature styles compatible with declutter (@mike-000)
    • #10542 - Replace Bing layer with MapTiler in KML example (@mike-000)
    • #10543 - @api tag must not have a value. (@MoonE)
    • #10547 - Only generate module apidoc pages when it contains api tags (@MoonE)
    • 🚚 #10502 - Stop events that originate with a removed target (@walkermatt)
    • 🚚 #10527 - Remove label cache, render text directly to target canvas (@ahocevar)
    • #10534 - [GeoJSON] Read projection from CRS type EPSG (@wussup)
    • #10430 - Offset regular shape (@Razi91)
    • ⬆️ #10513 - fixed flag-name in upgrade notes (@fgubler)
    • #10504 - Fix for reset north when rotation is 360 degrees (@mike-000)
    • 🏗 #10510 - Remove build/apidoc before running jsdoc again (@MoonE)
    • #10498 - Fixing issue #10497 on behalf of LarryHuang (@gazza0)
    • #10496 - Do not stop events when dragging (@ahocevar)
    • #10478 - Do not abort and dispose of tiles (@ahocevar)
    • #10495 - typo in view.fit (@danielklim)
    • #10473 - Fix for undefined source in Vector layer (@mike-000)
    • #10484 - Use a function to get the value of the gradient (@fredj)
    • #10262 - Rework to make Document and XMLSerializer lazy and injectable (@bjornharrtell)
    • #10461 - Fix link in apidocs to ObjectEvent. (@MoonE)
    • #10413 - Limit the ZoomSlider's range to the view's constrained resolution. (@MoonE)
    • #10438 - Avoid accessing the DOM to read the viewport size too often (@jahow)
    • 👍 #10439 - WebGL points layer / add support for symbol rotation (@jahow)
    • #10434 - Disable image smoothing for the DEM source in the Sea Level example (@mike-000)
    • #10417 - Replace Bing layer with MapTiler (@mike-000)
    • #10415 - Control button span element pointer events (@mike-000)
    • #10409 - Improve viewport computation in WebGL Postprocessing (@jahow)
    • #10119 - Add crossOrigin option to ol/format/KML for icons (@mike-000)
    • 📄 #10181 - add tags to example docs (@roemhildtg)
    • #10407 - Use render feature compatible extent check (@ahocevar)
    • #10340 - Draw circles and custom geometry in user coordinates (@mike-000)
    • #10393 - getFeaturesInExtent function for ol/source/VectorTile (@ahocevar)
    • 0️⃣ #10402 - Do not preventDefault on pointerdown (@ahocevar)
    • #10269 - Replace the BNG layer source in the Raster Reprojection example (@mike-000)
    • 🚚 #10394 - Remove map renderer element when disposing (@ahocevar)
    • #10391 - Use box-shadow css instead of filter (@ahocevar)
    • #10392 - Fix interim tile handing for vector tiles (@ahocevar)
    • #10380 - Adjust examples for layer canvas pixel ratio and rotation (@mike-000)
    • #10384 - Include Transform typedef in API (@mike-000)
    • #10385 - Import transpiled rbush (@walkermatt)
    • #10363 - Interactive SVG layer example (@ahocevar)
    • #10120 - Resolve constraints using anchor if following a cancelled animation (@mike-000)
    • #10370 - Replace Bing layer with MapTiler (@mike-000)
    • 🚚 #10362 - Remove line that was accidently added with #10332 (@ahocevar)
    • #10309 - Bring back vector render mode for vector tile layers (@ahocevar)
    • 0️⃣ #10332 - Conditional default prevention instead of touch-action: none (@ahocevar)
    • #10301 - Create hit detection data per layer and without requestAnimationFrame (@ahocevar)
    • #10347 - Set utfgrid tile as loaded after load instead of empty (@adube)
    • #10344 - Fix lazy UTFGrid loading (@ahocevar)
    • 👍 #10321 - Support touch events for DragBox interaction (@greggian)
    • #10315 - Replace Bing sources in some examples (@mike-000)
    • #10330 - Fix modifying circle geometries (@greggian)
    • #10318 - Use a minimalist pointer events polyfill (@ahocevar)
    • ⚡️ #10322 - Update tile grid option descriptions (@mike-000)
    • #10308 - Fix feature lookup after removal of alpha (@ahocevar)
    • #10310 - Ensure that OverviewMap respects the initial rotation of attached Maps (@brianhelba)
    • 💻 #10302 - Do not use Math.sign() to support very old browsers (@ahocevar)
    • 💅 #10295 - Do not fail when hit detecting features without style (@ahocevar)
    • #10293 - Do not hit detect while tile is loading (@ahocevar)
    • #10292 - Fix typo in jsdoc in ol/source/WMTS (@jomue)
    • #10291 - tabindex without focus condition (@ahocevar)
    • #10286 - Use passive option to avoid Chrome warning (@ahocevar)
    • #10285 - Fix WMS GetLegendGraphic example codesandbox error (@mike-000)
    • #10283 - Use the originalEvent in the targetNotEditable condition (@fredj)
    • 📚 #10282 - Fix documentation of Stroke.lineDash default value (@jansule)
    • 🚚 #10259 - Remove all the sketch features in abortDrawing (@fredj)
    • ⚡️ #10265 - Update operators doc in WebGL points layer example (@fredj)
    • #10256 - Do not bypass measureTextWidth (@ahocevar)
    • 🚚 #10264 - Remove unused variable from vertex shader (@fredj)
    • #10257 - Allow View.adjust* methods to take a null opt_anchor (@brianhelba)
    • #10261 - WebGL / do not throw error when shader compilation gives a warning (@jahow)
    • 💻 #10255 - Don't use instanceof HTMLElement in handleMapBrowserEvent (@fredj) Dependency Updates 💅 #10629 - Bump ol-mapbox-style from 6.0.0 to 6.0.1 (@openlayers) #10628 - Bump puppeteer from 2.1.0 to 2.1.1 (@openlayers) #10627 - Bump handlebars from 4.7.2 to 4.7.3 (@openlayers) #10626 - Bump webpack-dev-server from 3.10.2 to 3.10.3 (@openlayers) #10600 - Bump puppeteer from 2.0.0 to 2.1.0 (@openlayers) #10606 - Bump @babel/core from 7.8.3 to 7.8.4 (@openlayers) #10605 - Bump webpack-dev-server from 3.10.1 to 3.10.2 (@openlayers) #10604 - Bump rollup from 1.29.1 to 1.31.0 (@openlayers) #10603 - Bump @babel/preset-env from 7.8.3 to 7.8.4 (@openlayers) #10602 - Bump url-polyfill from 1.1.7 to 1.1.8 (@openlayers) 🔌 #10601 - Bump terser-webpack-plugin from 2.3.2 to 2.3.4 (@openlayers) #10578 - Bump sinon from 8.1.0 to 8.1.1 (@openlayers) #10577 - Bump mocha from 7.0.0 to 7.0.1 (@openlayers) #10576 - Bump rollup from 1.29.0 to 1.29.1 (@openlayers) #10551 - Bump handlebars from 4.7.1 to 4.7.2 (@openlayers) #10550 - Bump @babel/preset-env from 7.8.2 to 7.8.3 (@openlayers) #10549 - Bump sinon from 8.0.4 to 8.1.0 (@openlayers) #10548 - Bump @babel/core from 7.8.0 to 7.8.3 (@openlayers) #10518 - Bump front-matter from 3.0.2 to 3.1.0 (@openlayers) #10516 - Bump handlebars from 4.5.3 to 4.7.1 (@openlayers) 🔌 #10514 - Bump terser-webpack-plugin from 2.3.1 to 2.3.2 (@openlayers) #10523 - Bump sinon from 8.0.2 to 8.0.4 (@openlayers) #10515 - Bump @babel/preset-env from 7.7.7 to 7.8.2 (@openlayers) #10517 - Bump karma-firefox-launcher from 1.2.0 to 1.3.0 (@openlayers) #10519 - Bump @babel/core from 7.7.7 to 7.8.0 (@openlayers) #10520 - Bump globby from 10.0.1 to 11.0.0 (@openlayers) 🔌 #10521 - Bump rollup-plugin-terser from 5.1.3 to 5.2.0 (@openlayers) #10522 - Bump rollup from 1.28.0 to 1.29.0 (@openlayers) #10480 - Bump mocha from 6.2.2 to 7.0.0 (@openlayers) #10482 - Bump sinon from 8.0.1 to 8.0.2 (@openlayers) #10481 - Bump yargs from 15.0.2 to 15.1.0 (@openlayers) #10479 - Bump rollup from 1.27.14 to 1.28.0 (@openlayers) #10466 - Bump webpack from 4.41.4 to 4.41.5 (@openlayers) #10467 - Bump sinon from 8.0.0 to 8.0.1 (@openlayers) #10450 - Bump @babel/core from 7.7.5 to 7.7.7 (@openlayers) 👕 #10449 - Bump eslint from 6.7.2 to 6.8.0 (@openlayers) #10448 - Bump rollup from 1.27.13 to 1.27.14 (@openlayers) #10447 - Bump @babel/preset-env from 7.7.6 to 7.7.7 (@openlayers) #10446 - Bump sinon from 7.5.0 to 8.0.0 (@openlayers) #10445 - Bump webpack from 4.41.2 to 4.41.4 (@openlayers) 🔌 #10444 - Bump terser-webpack-plugin from 2.3.0 to 2.3.1 (@openlayers) #10443 - Bump webpack-dev-server from 3.9.0 to 3.10.1 (@openlayers) #10425 - Bump elm-pep from 1.0.2 to 1.0.3 (@openlayers) #10427 - Bump webpack-cli from 3.3.2 to 3.3.10 (@openlayers) 🔌 #10426 - Bump copy-webpack-plugin from 5.0.5 to 5.1.1 (@openlayers) 👕 #10424 - Bump eslint from 6.7.1 to 6.7.2 (@openlayers) #10423 - Bump marked from 0.7.0 to 0.8.0 (@openlayers) #10422 - Bump url-polyfill from 1.1.5 to 1.1.7 (@openlayers) 🔌 #10421 - Bump rollup-plugin-terser from 5.1.2 to 5.1.3 (@openlayers) 🔌 #10420 - Bump terser-webpack-plugin from 2.2.2 to 2.3.0 (@openlayers) #10419 - Bump rollup from 1.27.9 to 1.27.13 (@openlayers) #10418 - Bump babel-loader from 8.0.5 to 8.0.6 (@openlayers) #10399 - Bump rollup from 1.25.1 to 1.27.9 (@openlayers) 🔌 #10398 - Bump terser-webpack-plugin from 2.2.1 to 2.2.2 (@openlayers) #10397 - Bump @babel/core from 7.7.4 to 7.7.5 (@openlayers) #10396 - Bump @babel/preset-env from 7.7.4 to 7.7.6 (@openlayers) #10365 - Bump @babel/preset-env from 7.6.3 to 7.7.4 (@openlayers) #10366 - Bump karma-coverage-istanbul-reporter from 2.1.0 to 2.1.1 (@openlayers) #10367 - Bump coveralls from 3.0.7 to 3.0.9 (@openlayers) #10368 - Bump sinon from 7.3.2 to 7.5.0 (@openlayers) #10369 - Bump @babel/core from 7.7.2 to 7.7.4 (@openlayers) #10337 - Bump fs-extra from 8.0.1 to 8.1.0 (@openlayers) 👕 #10336 - Bump eslint from 6.6.0 to 6.7.1 (@openlayers) #10335 - Bump yargs from 14.2.0 to 15.0.2 (@openlayers) #10334 - Bump webpack-dev-middleware from 3.6.2 to 3.7.2 (@openlayers) 🔌 #10333 - Bump copy-webpack-plugin from 5.0.4 to 5.0.5 (@openlayers) #10306 - Bump puppeteer from 1.20.0 to 2.0.0 (@openlayers) #10307 - Bump @babel/core from 7.6.4 to 7.7.2 (@openlayers) #10305 - Bump proj4 from 2.5.0 to 2.6.0 (@openlayers) #10304 - Bump handlebars from 4.4.5 to 4.5.3 (@openlayers) #10303 - Bump glob from 7.1.5 to 7.1.6 (@openlayers) 🔌 #10280 - Bump rollup-plugin-commonjs from 10.0.0 to 10.1.0 (@openlayers) 🔌 #10279 - Bump rollup-plugin-terser from 5.0.0 to 5.1.2 (@openlayers) 👕 #10278 - Bump eslint from 6.0.0 to 6.6.0 (@openlayers) #10277 - Bump karma-webpack from 4.0.0-rc.6 to 4.0.2 (@openlayers) #10276 - Bump webpack-dev-server from 3.3.1 to 3.9.0 (@openlayers) #10251 - Bump @babel/preset-env from 7.4.4 to 7.6.3 (@openlayers) #10250 - Bump buble from 0.19.7 to 0.19.8 (@openlayers) #10249 - Bump karma-firefox-launcher from 1.1.0 to 1.2.0 (@openlayers) #10248 - Bump html-to-image from 0.1.0 to 0.1.1 (@openlayers) 🔌 #10247 - Bump terser-webpack-plugin from 2.0.1 to 2.2.1 (@openlayers)