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