Skip to content

chore(deps): update dependency ol to v10.11.0 - #1087

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ol-10.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ol-10.x

Conversation

@renovate

@renovate renovate Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
ol (source) 10.10.0 → 10.11.0 age confidence

Release Notes

openlayers/openlayers (ol)

v10.11.0

Compare Source

10.11.0

The 10.11 release improves styling, raster data and OGC service support, and makes the library leaner to load. The highlights are

  • Canvas styles now evaluate the color and array operators, and interpolate mixes colors in sRGB on both the Canvas and WebGL renderers; a new interpolate-hcl operator keeps the perceptual gradient
  • ol/source/Raster gains basic data tile support, and the GeoZarr source can visualize generic n-D datacubes and accepts storeOptions for headers and credentials
  • WMTS sources no longer derive their extent from the tile matrices, so layers that cover a wider area at low zoom levels are no longer cut off
  • Tiles that the current view no longer needs are dropped from the queue, and the WebGL text overlay worker is loaded on demand
  • The VectorImageLayer gets crisp rendering on rotated views, with rotated text and point symbols
  • New wrapX option for getPixelFromCoordinate and getCoordinateFromPixel, and projection options for the WKT format
  • Fixes for RTL text along lines, nested WFS 2.0 feature collections, empty GeoJSON coordinate arrays, and MouseWheelZoom target cleanup
Upgrade notes
Fixed GeoJSON parsing of geometries with empty coordinate arrays

Previously, a GeoJSON geometry with an empty coordinates array (e.g. {"type": "Point", "coordinates": []}) produced a geometry with an empty coordinates array. We have now changed this to match the GeoJSON spec's recommendation to treat such geometries (except GeometryCollection) as null geometries. This change should not affect application code, unless it had special handling for geometries with empty coordinates arrays.

Fixed: interpolate mixed colors differently on the Canvas and WebGL renderers

The ['interpolate', ...] operator interpolated colors in the Hue-Chroma-Luminance space on
the Canvas renderer, but component-wise in sRGB on the WebGL renderer. The same style
produced different gradients depending on which renderer drew it, and neither behaviour was
documented. Both now interpolate in sRGB.

Gradients built with interpolate over colors will look slightly different on the Canvas
renderer. To keep the previous appearance, use the new interpolate-hcl operator:

// Before
const style = {
  'fill-color': ['interpolate', ['linear'], ['get', 'value'], 0, 'red', 1, 'green'],
};
// After - to keep the perceptual gradient
const style = {
  'fill-color': ['interpolate-hcl', ['linear'], ['get', 'value'], 0, 'red', 1, 'green'],
};

interpolate-hcl is only supported by the Canvas renderer for now.

With the ['interpolate', ...] operator, channels now keep their fractional part, so operations
applied on top of an interpolated color are more accurate. Code reading back a color from an
evaluated style may now see a fractional channel.

The WMTS tile grid extent is no longer calculated from the tile matrices

optionsFromCapabilities now only uses an advertised BoundingBox as the tile grid's
extent, and tileGrid.getExtent() returns null when none is advertised. Tile requests
are limited by the advertised tile matrix sizes and TileMatrixSetLimits instead, so
layers that cover a wider area at low zoom levels than at high ones are no longer cut off.

wrapX from optionsFromCapabilities is based on the tile matrix

The world is now wrapped when the first tile matrix spans exactly the width of the
projection's extent, instead of when the layer's WGS84BoundingBox covers the whole world.
Sources that cover only part of the world on a world spanning tile matrix set - e.g. a
national basemap on GoogleMapsCompatible - are now configured with the wrapX option set
to true. If that's undesired, wrapX needs to be overridden to false.

// Before
new WMTS(optionsFromCapabilities(capabilities, {layer: 'my-layer'}));
// After - to keep the layer in a single world copy
new WMTS({
  ...optionsFromCapabilities(capabilities, {layer: 'my-layer'}),
  wrapX: false,
});

The Layer's WGS84BoundingBox is no longer used, because the WMTS specification allows
it to be approximate.

List of all changes

See below for a complete list of features and fixes.

Dependency Updates

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Oct 7, 2026
@renovate
renovate Bot force-pushed the renovate/ol-10.x branch from d185498 to f31eb8b Compare October 8, 2026 09:31
@renovate
renovate Bot force-pushed the renovate/ol-10.x branch from f31eb8b to b91fee0 Compare October 8, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants