The 7.2 release includes …
- …some new features (e.g. for icon styling),
- …performance optimisations (e.g. for canvas rendering),
- …better interoperability (e.g. OGC API - Tiles support, saner projection-handling for GeoTIFFs and a new PMTiles example),
- …the usual smaller bugfixes, and
- …a lot of dependency updates.
Please find below four aspects of this release that we want to highlight and make
sure to scan over the full list of included changes (even further below).
OGC vector and map tile sources are now a stable part of the API
The OGC API – Tiles core v1 spec has been published, and as a consequence we marked the long existing vector and map tile sources as part of the stable API.
Introduce width
and height
configuration options to Icon
styles
It is now possible to create an icon symbolizer with an explicit width
and/or height
, e.g.:
const myIcon = new Icon({
src: 'data/icon.png',
width: 32,
height: 32
});
This is an additional configuration option to make working with image icons easier.
Rendered resolutions of ol/source/Raster
Previously, ol/source/Raster
processed input sources at the current view resolution, which caused interpolation artefacts in cases where input sources were up- or downsampled. Now, ol/source/Raster
picks up the resolutions from the first input source that has resolutions configured (either implicitly through a tile grid in the case of tile sources, or directly when configured through the resolutions
constructor option). This improves the rendered output in most cases.
If the previous behavior is desired, configure the source with resolutions: null
.
Fixed wrapX
behavior of ol/control/MousePosition
Previously, ol/control/MousePosition
always displayed coordinates as-is. Now it has a wrapX
option,
which is true
by default. This avoids longitudes aoutside the -180 to 180 degrees range.
If you want the previous behavior, which displays coordinates with longitudes less than -180 or greater than 180, configure the control with wrapX: false
.
List of all changes
See below for a complete list of features and fixes.
- Fix types and docs for GeolocationError (by @ahocevar in #14395)
- Introduce
width
andheight
to Icon style (by @KaiVolland in #14364) - Fix typo in Helper.js & inconsistency in ShaderBuilder.js comment. (by @Tomcariello in #14368)
- Rendering tests instead of unit tests for MapboxVector layer background (by @openlayers in #14355)
- Mark OGC tile sources as stable (by @tschaub in #14354)
- Calculate snap tolerance extent allowing for rotation (by @mike-000 in #14344)
- Updated extensions for Stamen tiles (by @tschaub in #14347)
- Convert closest point on geometry edge to user coordinates for snap (by @mike-000 in #14349)
- Fix immediate renderer image and text rotation in rotated canvas (by @mike-000 in #14333)
- Consider rotation when obtaining vector context pixel ratio (by @mike-000 in #14332)
- Update ArcGIS REST Feature Service example (by @mike-000 in #14296)
- Assign variable to work around swc minification problem (by @openlayers in #14320)
- Support better detection of projection in GeoTIFF files (by @ahocevar in #14321)
- Use ResizeObserver to detect resizes, also when in Shadow DOM (by @ahocevar in #14305)
- Ensure
change:position
event is fired if identify transform used (by @mike-000 in #14319) - Rename numberSafeCompareFunction to ascending (by @tschaub in #14311)
- Change ela-compil url (by @fredj in #14301)
- Update sponsors (by @ahocevar in #14293)
- Remove unused arguments (by @ahocevar in #14292)
- Also set version in full build (by @openlayers in #14288)
- Update example showing COG with external overviews (by @tschaub in #14286)
- Add resolutions option to Raster source (by @ahocevar in #14282)
- Handle layers that do not have a source yet (by @openlayers in #14280)
- Remove Babel (by @tschaub in #14279)
- Configurable log level (by @tschaub in #14278)
- Update geotiff to v2.0.7 (by @ahocevar in #14257)
- Include file extensions in examples and docs (by @tschaub in #14263)
- Avoid creating tiles with one row each (by @tschaub in #14260)
- Add support for images in data tiles (by @tschaub in #14258)
- Add a PMTiles example (by @tschaub in #14256)
- Update more COG paths (by @mike-000 in #14252)
- Update ArcGIS MapServer examples service url (by @mike-000 in #14251)
- Use wkt definitions in EPSG.io Search example (by @mike-000 in #14239)
- Update COG path (by @mike-000 in #14236)
- Add wrapX support to the MousePosition control (by @openlayers in #14232)
- Minor fixes to ReprojDataTile tests (by @mike-000 in #14217)
- Pass transition option along to reproj data tile (by @tschaub in #14216)
- Set willReadFrequently option on
ol/source/Raster
shared context (by @mike-000 in #14215) - Do not use .getImageData where .createImageData can be used (by @mike-000 in #14213)
- Set willReadFrequently option on pixel contexts (by @ahocevar in #14204)
- Create hit and taint detection canvas with willReadFrequently set to true (by @ahocevar in #14203)
- Use jsdelivr instead of unpkg (by @openlayers in #14200)
- Take scale transform into account for viewport pixels (by @ahocevar in #14199)
- Typo were => where (by @nboisteault in #14197)
- RenderFeature cannot be modified (by @MoonE in #14194)
- Typo (by @JakobMiksch in #14195)
- Translate interaction can't work with RenderFeature (by @MoonE in #14172)
- Only TileImage as ReprojTile source tile type (by @MoonE in #14173)
- Correct return type for ol/layer/VectorTile~getFeatures() (by @MoonE in #14165)
- Use arrow functions instead of binding anonymous functions (by @tschaub in #14170)
- Fix if condition in clusters-dynamic example (by @ahocevar in #14150)
- hitdetect GeometryCollection (by @MoonE in #14138)
- Make track properties in Link interaction configurable (by @ahocevar in #14126)
- Add a sourceready event to layers (by @tschaub in #14124)
- Add support for fetching proj4 definitions from epsg.io (by @tschaub in #14122)
- Avoid the redirect to the OL 2 page (by @tschaub in #14118)
- No else after return (by @tschaub in #14103)
- Fix WMTS source key (by @ahocevar in #14100)
- Reproject DataTiles (by @mike-000 in #13654)
- Updates for ol-mapbox-style v9.2 (by @ahocevar in #14086)
- Add version dropdown for API link (by @KaiVolland in #14085)
- Updates for the 7.1.0 release (by @openlayers in #14082)
Dependency Updates
- Bump @metalsmith/markdown from 1.6.0 to 1.8.0 (by @openlayers in #14386)
- Bump globby from 13.1.2 to 13.1.3 (by @openlayers in #14382)
- Bump eslint from 8.29.0 to 8.30.0 (by @openlayers in #14388)
- Bump puppeteer from 19.4.0 to 19.4.1 (by @openlayers in #14387)
- Bump jquery from 3.6.1 to 3.6.2 (by @openlayers in #14385)
- Bump sinon from 15.0.0 to 15.0.1 (by @openlayers in #14384)
- Bump @rollup/plugin-commonjs from 23.0.4 to 24.0.0 (by @openlayers in #14383)
- Bump marked from 4.2.3 to 4.2.4 (by @openlayers in #14372)
- Bump webpack-cli from 5.0.0 to 5.0.1 (by @openlayers in #14375)
- Bump typescript from 4.9.3 to 4.9.4 (by @openlayers in #14374)
- Bump puppeteer from 19.3.0 to 19.4.0 (by @openlayers in #14373)
- Bump @rollup/plugin-commonjs from 23.0.3 to 23.0.4 (by @openlayers in #14371)
- Bump mocha from 10.1.0 to 10.2.0 (by @openlayers in #14370)
- Bump sinon from 14.0.2 to 15.0.0 (by @openlayers in #14360)
- Bump ol-mapbox-style from 9.2.3 to 9.2.4 (by @openlayers in #14362)
- Bump eslint from 8.28.0 to 8.29.0 (by @openlayers in #14361)
- Bump fs-extra from 10.1.0 to 11.1.0 (by @openlayers in #14359)
- Bump webpack-dev-middleware from 6.0.0 to 6.0.1 (by @openlayers in #14358)
- Bump ol-mapbox-style from 9.2.1 to 9.2.3 (by @openlayers in #14342)
- Bump puppeteer from 19.2.2 to 19.3.0 (by @openlayers in #14341)
- Bump @rollup/plugin-commonjs from 23.0.2 to 23.0.3 (by @openlayers in #14340)
- Bump rollup-plugin-external-globals from 0.6.1 to 0.7.1 (by @openlayers in #14338)
- Bump typescript from 4.8.4 to 4.9.3 (by @openlayers in #14324)
- Bump engine.io and socket.io (by @openlayers in #14331)
- Bump webpack-cli from 4.10.0 to 5.0.0 (by @openlayers in #14326)
- Bump marked from 4.2.2 to 4.2.3 (by @openlayers in #14323)
- Bump webpack-dev-middleware from 5.3.3 to 6.0.0 (by @openlayers in #14328)
- Bump ol-mapbox-style from 9.2.0 to 9.2.1 (by @openlayers in #14327)
- Bump eslint from 8.27.0 to 8.28.0 (by @openlayers in #14325)
- Bump loader-utils from 2.0.3 to 2.0.4 (by @openlayers in #14315)
- Bump webpack from 5.74.0 to 5.75.0 (by @openlayers in #14298)
- Bump sinon from 14.0.1 to 14.0.2 (by @openlayers in #14297)
- Bump puppeteer from 19.1.0 to 19.2.2 (by @openlayers in #14273)
- Bump jsdoc from 3.6.11 to 4.0.0 (by @openlayers in #14275)
- Bump @babel/preset-env from 7.19.4 to 7.20.2 (by @openlayers in #14274)
- Bump @babel/core from 7.19.6 to 7.20.2 (by @openlayers in #14271)
- Bump yargs from 17.6.0 to 17.6.2 (by @openlayers in #14270)
- Bump marked from 4.1.1 to 4.2.2 (by @openlayers in #14272)
- Bump eslint from 8.26.0 to 8.27.0 (by @openlayers in #14268)
- Bump @rollup/plugin-commonjs from 23.0.0 to 23.0.2 (by @openlayers in #14230)
- Bump @babel/core from 7.19.3 to 7.19.6 (by @openlayers in #14229)
- Bump @rollup/plugin-babel from 6.0.0 to 6.0.2 (by @openlayers in #14228)
- Bump @rollup/plugin-node-resolve from 15.0.0 to 15.0.1 (by @openlayers in #14227)
- Bump puppeteer from 19.0.0 to 19.1.0 (by @openlayers in #14226)
- Bump eslint from 8.25.0 to 8.26.0 (by @openlayers in #14225)
- Bump @octokit/rest from 19.0.4 to 19.0.5 (by @openlayers in #14211)
- Bump @rollup/plugin-node-resolve from 14.1.0 to 15.0.0 (by @openlayers in #14210)
- Bump @babel/preset-env from 7.19.3 to 7.19.4 (by @openlayers in #14209)
- Bump puppeteer from 18.2.1 to 19.0.0 (by @openlayers in #14208)
- Bump mocha from 10.0.0 to 10.1.0 (by @openlayers in #14207)
- Bump @rollup/plugin-babel from 5.3.1 to 6.0.0 (by @openlayers in #14190)
- Bump semver from 7.3.7 to 7.3.8 (by @openlayers in #14191)
- Bump source-map-loader from 4.0.0 to 4.0.1 (by @openlayers in #14189)
- Bump express from 4.18.1 to 4.18.2 (by @openlayers in #14188)
- Bump puppeteer from 18.0.5 to 18.2.1 (by @openlayers in #14187)
- Bump @rollup/plugin-commonjs from 22.0.2 to 23.0.0 (by @openlayers in #14186)
- Bump eslint from 8.24.0 to 8.25.0 (by @openlayers in #14185)
- Bump metalsmith from 2.5.0 to 2.5.1 (by @openlayers in #14184)
- Bump sinon from 14.0.0 to 14.0.1 (by @openlayers in #14183)
- Bump @babel/core from 7.19.1 to 7.19.3 (by @openlayers in #14159)
- Bump marked from 4.1.0 to 4.1.1 (by @openlayers in #14158)
- Bump typescript from 4.8.3 to 4.8.4 (by @openlayers in #14160)
- Bump @babel/preset-env from 7.19.1 to 7.19.3 (by @openlayers in #14161)
- Bump yargs from 17.5.1 to 17.6.0 (by @openlayers in #14162)
- Bump rollup from 2.79.0 to 2.79.1 (by @openlayers in #14142)
- Bump webpack-dev-server from 4.11.0 to 4.11.1 (by @openlayers in #14145)
- Bump karma from 6.4.0 to 6.4.1 (by @openlayers in #14144)
- Bump eslint from 8.23.1 to 8.24.0 (by @openlayers in #14143)
- Bump puppeteer from 17.1.3 to 18.0.5 (by @openlayers in #14141)
- Bump @babel/core from 7.19.0 to 7.19.1 (by @openlayers in #14130)
- Bump @babel/preset-env from 7.19.0 to 7.19.1 (by @openlayers in #14131)
- Bump @rollup/plugin-node-resolve from 14.0.1 to 14.1.0 (by @openlayers in #14132)
- Bump @babel/preset-env from 7.18.10 to 7.19.0 (by @openlayers in #14107)
- Bump webpack-dev-server from 4.10.1 to 4.11.0 (by @openlayers in #14108)
- Bump puppeteer from 17.1.1 to 17.1.3 (by @openlayers in #14109)
- Bump eslint from 8.23.0 to 8.23.1 (by @openlayers in #14110)
- Bump @babel/core from 7.18.13 to 7.19.0 (by @openlayers in #14106)
- Bump @rollup/plugin-node-resolve from 13.3.0 to 14.0.1 (by @openlayers in #14105)
- Bump typescript from 4.8.2 to 4.8.3 (by @openlayers in #14111)
- Bump marked from 4.0.19 to 4.1.0 (by @openlayers in #14092)
- Bump webpack-dev-server from 4.10.0 to 4.10.1 (by @openlayers in #14089)
- Bump rollup from 2.78.1 to 2.79.0 (by @openlayers in #14090)
- Bump puppeteer from 17.0.0 to 17.1.1 (by @openlayers in #14093)
- Bump @metalsmith/layouts from 2.5.1 to 2.6.0 (by @openlayers in #14091)
- Bump earcut from 2.2.3 to 2.2.4 (by @openlayers in #13874)
New Contributors
- @nboisteault made their first contribution in #14197
- @Tomcariello made their first contribution in #14368
Full Changelog: v7.1.0...v7.2.0