v10.7.0
With 40 pull requests over a period of almost 5 months, this long awaited release brings important bug fixes as well as exiting new features. The highlights are
- Several WebGL renderer bug fixes, along with improved memory management
- Updates for the Polyline feature format
- API improvements and bug fixes on the Select, Extent and Snap interactions
- Reprojection support for VectorTile layers
- Full web worker support for
Map, with an (Offscreen)Canvas as map target - Fixed cache and rendering for reprojected raster/image tile layers
- Several updated and new examples, including a globe-like map with Equal Earth projection
Upgrade notes
Deprecation of ol/array's stableSort
Sorting is guaranteed to be stable since ECMAScript 2019.
// Before
stableSort(arr, compareFnc);// After
arr.sort(compareFnc);Deprecation of functions in ol/format/Polyline
The following functions have been deprecated without replacement:
- decodeDeltas
- encodeDeltas
- decodeFloats
- encodeFloats
What's Changed
- Updates for the 10.6.1 release by @ahocevar in #16920
- Properly handle boolean attributes in WebGL expressions by @jahow in #16937
- Improve memory usage by using a single buffer for WebGL layers by @jahow in #16942
- Use bounding box from layer in WMTS capabilities by @remiHau in #16936
- Support url template with {z}/{x}/{y} by @francbartoli in #16956
- ol.format.Polyline fixes by @M393 in #16955
- Adding
setSrcmethod to Icon style by @pakb in #16957 - Select methods for adding/removing features by @laundmo in #16923
- Update ol-stac example by @m-mohr in #16962
- Use WebGL instanced rendering to improve performance and memory usage by @jahow in #16959
- Deprecate polyline encodeDeltas and decodeDeltas by @M393 in #16968
- Fix
ol/style/Textclone()to properly handle non-Fillinstances… by @ramzahn in #16969 - Fix offscreen canvas example by @M393 in #16971
- Do not toggle tracing on pointerup after dragging by @ahocevar in #16975
- chore(deps-dev): bump codemirror from 6.0.1 to 6.0.2 by @dependabot[bot] in #16927
- chore(deps-dev): bump webpack-sources from 3.3.2 to 3.3.3 by @dependabot[bot] in #16933
- chore(deps-dev): bump @rollup/plugin-commonjs from 28.0.5 to 28.0.6 by @dependabot[bot] in #16934
- chore(deps-dev): bump mocha from 11.6.0 to 11.7.1 by @dependabot[bot] in #16943
- chore(deps-dev): bump marked from 15.0.12 to 16.0.0 by @dependabot[bot] in #16944
- chore(deps-dev): bump @typescript-eslint/parser from 8.34.0 to 8.36.0 by @dependabot[bot] in #16983
- chore(deps-dev): bump proj4 from 2.17.0 to 2.19.6 by @dependabot[bot] in #16982
- chore(deps-dev): bump rollup from 4.43.0 to 4.45.0 by @dependabot[bot] in #16979
- chore(deps-dev): bump puppeteer from 24.10.1 to 24.12.1 by @dependabot[bot] in #16980
- chore(deps-dev): bump eslint from 9.29.0 to 9.31.0 by @dependabot[bot] in #16981
- Add createCondition and drag options to Extent interaction by @ahocevar in #16978
- chore(deps-dev): bump ol-stac from 1.0.0 to 1.0.2 by @dependabot[bot] in #16989
- chore(deps-dev): bump @typescript-eslint/parser from 8.36.0 to 8.37.0 by @dependabot[bot] in #16990
- chore(deps): bump on-headers and compression by @dependabot[bot] in #16986
- chore(deps-dev): bump marked from 16.0.0 to 16.1.1 by @dependabot[bot] in #16991
- chore(deps-dev): bump rollup from 4.45.0 to 4.45.1 by @dependabot[bot] in #16993
- chore(deps-dev): bump webpack from 5.99.9 to 5.100.2 by @dependabot[bot] in #16992
- chore(deps-dev): bump proj4 and @types/proj4 by @dependabot[bot] in #16988
- chore(deps-dev): bump rollup from 4.45.1 to 4.46.1 by @dependabot[bot] in #17005
- chore(deps-dev): bump eslint from 9.31.0 to 9.32.0 by @dependabot[bot] in #17004
- chore(deps-dev): bump @typescript-eslint/parser from 8.37.0 to 8.38.0 by @dependabot[bot] in #17003
- chore(deps): bump earcut from 3.0.1 to 3.0.2 by @dependabot[bot] in #17001
- chore(deps-dev): bump puppeteer from 24.12.1 to 24.15.0 by @dependabot[bot] in #17000
- chore(deps-dev): bump proj4 from 2.19.7 to 2.19.10 by @dependabot[bot] in #17002
- Add FitOptions to ol/control/ZoomToExtent by @rcaplier in #17009
- Prevent duplicate rendering on vector tiles with
renderMode: 'vector'by @Swiod in #17008 - Remove duplicate unique check by @M393 in #17012
- Missing ol/layer/Group events in apidoc and signature by @M393 in #17011
- Tracing with the Modify intraction by @ahocevar in #16997
- Fix collection unique check with setAt by @M393 in #17013
- chore(deps-dev): bump rollup from 4.46.1 to 4.46.2 by @dependabot[bot] in #17019
- chore(deps-dev): bump marked from 16.1.1 to 16.1.2 by @dependabot[bot] in #17017
- chore(deps-dev): bump webpack from 5.100.2 to 5.101.0 by @dependabot[bot] in #17016
- WebGL / introduce a
stroke-pattern-start-offsetstyle property by @jahow in #16976 - chore(deps-dev): bump puppeteer from 24.15.0 to 24.16.1 by @dependabot[bot] in #17026
- chore(deps-dev): bump es-main from 1.3.0 to 1.4.0 by @dependabot[bot] in #17027
- chore(deps-dev): bump @typescript-eslint/parser from 8.38.0 to 8.39.0 by @dependabot[bot] in #17028
- chore(deps-dev): bump fs-extra from 11.3.0 to 11.3.1 by @dependabot[bot] in #17029
- WebGL / Use only two attributes instead of four for storing the hit detection color by @jahow in #17031
- Add freehand setter and getter to
interaction/Drawby @daboudii in #17022 - Render vector tile image with correct resolution by @ahocevar in #17046
- Ensure duplicate snap events are not registered on the same feature by @megawac in #17054
- Fix glitched rendering in ReprojDataTile by @jahow in #17079
- Enforce origin-when-cross-origin for tile.openstreetmap.org by @ahocevar in #17089
- Snap fixes by @MoonE in #17093
- add osrm plugin to website by @strues-maps in #17097
- Deprecate stable sort by @M393 in #17103
- Enable trusted publishing by @outslept in #17086
- chore(deps-dev): bump puppeteer from 24.16.1 to 24.22.0 by @dependabot[bot] in #17102
- chore(deps-dev): bump jspdf from 3.0.1 to 3.0.2 by @dependabot[bot] in #17105
- chore(deps-dev): bump ol-stac from 1.0.2 to 1.0.5 by @dependabot[bot] in #17101
- chore(deps-dev): bump @typescript-eslint/parser from 8.39.0 to 8.44.0 by @dependabot[bot] in #17100
- chore(deps-dev): bump eslint from 9.32.0 to 9.36.0 by @dependabot[bot] in #17098
- chore(deps-dev): bump marked from 16.1.2 to 16.3.0 by @dependabot[bot] in #17082
- Use the dependabot cooldown config to limit bad package updates by @tschaub in #17108
- chore(deps-dev): bump rollup from 4.46.2 to 4.52.0 by @dependabot[bot] in #17099
- chore(deps-dev): bump fs-extra from 11.3.1 to 11.3.2 by @dependabot[bot] in #17113
- chore(deps-dev): bump webpack-dev-middleware from 7.4.2 to 7.4.3 by @dependabot[bot] in #17112
- chore(deps-dev): bump jspdf from 3.0.2 to 3.0.3 by @dependabot[bot] in #17111
- chore(deps-dev): bump @types/d3-array from 3.2.1 to 3.2.2 by @dependabot[bot] in #17110
- chore(deps-dev): bump mocha from 11.7.1 to 11.7.2 by @dependabot[bot] in #17109
- chore(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #17072
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #17070
- chore(deps-dev): bump tmp from 0.2.1 to 0.2.4 by @dependabot[bot] in #17021
- chore(deps-dev): bump webpack from 5.101.0 to 5.101.3 by @dependabot[bot] in #17049
- chore(deps-dev): bump copy-webpack-plugin from 13.0.0 to 13.0.1 by @dependabot[bot] in #17042
- chore(deps-dev): bump ol-mapbox-style from 13.0.1 to 13.1.0 by @dependabot[bot] in #17038
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #17036
- chore(deps-dev): bump webpack-dev-middleware from 7.4.3 to 7.4.4 by @dependabot[bot] in #17117
- chore(deps-dev): bump @typescript-eslint/parser from 8.44.0 to 8.44.1 by @dependabot[bot] in #17116
- chore(deps-dev): bump puppeteer from 24.22.0 to 24.22.2 by @dependabot[bot] in #17115
- Add extra url options for Bing Maps and Google sources by @gmerciel in #17141
- chore(deps-dev): bump webpack-dev-middleware from 7.4.4 to 7.4.5 by @dependabot[bot] in #17125
- chore(deps-dev): bump globby from 14.1.0 to 15.0.0 by @dependabot[bot] in #17129
- chore(deps-dev): bump jsdoc from 4.0.4 to 4.0.5 by @dependabot[bot] in #17136
- chore(deps-dev): bump rollup from 4.52.2 to 4.52.4 by @dependabot[bot] in #17137
- chore(deps-dev): bump webpack from 5.101.3 to 5.102.1 by @dependabot[bot] in #17134
- chore(deps-dev): bump mocha from 11.7.2 to 11.7.4 by @dependabot[bot] in #17138
- chore(deps-dev): bump semver from 7.7.2 to 7.7.3 by @dependabot[bot] in #17140
- chore(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in #17146
- chore(deps-dev): bump puppeteer from 24.22.2 to 24.25.0 by @dependabot[bot] in #17147
- chore(deps-dev): bump @typescript-eslint/parser from 8.44.1 to 8.46.1 by @dependabot[bot] in #17148
- Dependabot/npm and yarn/typescript 5.9.3 by @ahocevar in #17152
- Add reprojection support for VectorTile layers by @ahocevar in #17144
- chore(deps-dev): bump @typescript-eslint/parser from 8.46.1 to 8.46.2 by @dependabot[bot] in #17161
- chore(deps-dev): bump eslint from 9.36.0 to 9.38.0 by @dependabot[bot] in #17160
- chore(deps-dev): bump puppeteer from 24.25.0 to 24.26.0 by @dependabot[bot] in #17159
- chore(deps-dev): bump @rollup/plugin-commonjs from 28.0.6 to 28.0.8 by @dependabot[bot] in #17158
- chore(deps-dev): bump @rollup/plugin-node-resolve from 16.0.1 to 16.0.3 by @dependabot[bot] in #17154
- chore(deps-dev): bump @types/node from 24.9.0 to 24.9.1 by @dependabot[bot] in #17155
- chore(deps-dev): bump marked from 16.3.0 to 16.4.1 by @dependabot[bot] in #17157
- chore(deps-dev): bump rollup from 4.52.4 to 4.52.5 by @dependabot[bot] in #17156
- Make
olusable inside aworkerby @RobertOrthofer in #17149 - mock
remove()method ofHTMLDivElementby @RobertOrthofer in #17163 - properly handle container background in a worker environment by @RobertOrthofer in #17164
- Add example of Equal Earth projection with dynamic center meridian by @pka in #17165
- Add new Stamen Toner variants by @ianthetechie in #17169
- chore(deps-dev): bump @types/node from 24.9.1 to 24.9.2 by @dependabot[bot] in #17171
- chore(deps-dev): bump @rollup/plugin-commonjs from 28.0.8 to 28.0.9 by @dependabot[bot] in #17172
- chore(deps-dev): bump puppeteer from 24.26.0 to 24.27.0 by @dependabot[bot] in #17173
- chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #17174
- chore(deps-dev): bump @rollup/plugin-alias from 5.1.1 to 6.0.0 by @dependabot[bot] in #17170
- add docs codeblock modify deleteCondition by @mradamcox in #17176
- Bring back tile cache for raster reprojection source tiles by @ahocevar in #17162
New Contributors
- @remiHau made their first contribution in #16936
- @francbartoli made their first contribution in #16956
- @laundmo made their first contribution in #16923
- @ramzahn made their first contribution in #16969
- @rcaplier made their first contribution in #17009
- @Swiod made their first contribution in #17008
- @daboudii made their first contribution in #17022
- @strues-maps made their first contribution in #17097
- @outslept made their first contribution in #17086
- @gmerciel made their first contribution in #17141
- @pka made their first contribution in #17165
- @mradamcox made their first contribution in #17176
Full Changelog: v10.6.1...v10.7.0