github openlayers/openlayers v10.4.0

one day ago

With more than 40 pull requests, the 10.4 release brings performance improvements, bug fixes, better TypeScript generics and new features. New features include a convenience Image layer loader for debugging MapServer map files using the MapServer CGI API, and an experimental WebGLVectorTile layer.

Upgrade notes

Deprecation of ol/layer/WebGLPoints

Use ol/layer/WebGLVector instead. Besides rendering points it will also render lines and polygons.
In most cases this is a drop-in replacement. To use filtering the style and filter have to be in a nested object.

// Before
new WebGLPointsLayer({
  filter: ['between', ['get', 'year'], ['var', 'minYear'], ['var', 'maxYear']],
  style: {
    'circle-radius': 8,
    'circle-fill-color': 'blue',
  },
  source: vectorSource,
})

// After
new WebGLVectorLayer({
  style: [{
    filter: ['between', ['get', 'year'], ['var', 'minYear'], ['var', 'maxYear']],
    style: {
      'circle-radius': 8,
      'circle-fill-color': 'blue',
    },
  }],
  source: vectorSource,
})

ol-mapbox-style compatibility

This version of OpenLayers is only compatible with ol-mapbox-style@12.4.0 or higher.

Returning false from a one-time listener added with once

Returning false from the listener function will now stop propagation, when the listener is added with once.
Previously this only worked with the on method.

The filter option for WebGLPointsLayer has changed

The filter option for the WebGLPointsLayer must now be specified alongside other options instead of being part of the style object. Note that the WebGLPointsLayer is not part of the stable API and is subject to breaking changes between major releases.

// Before
new WebGLPointsLayer({
  style: {
    filter: ['between', ['get', 'year'], ['var', 'minYear'], ['var', 'maxYear']],
    'circle-radius': 8,
    'circle-fill-color': 'blue',
  },
  source: vectorSource,
})

// Now
new WebGLPointsLayer({
  filter: ['between', ['get', 'year'], ['var', 'minYear'], ['var', 'maxYear']],
  style: {
    'circle-radius': 8,
    'circle-fill-color': 'blue',
  },
  source: vectorSource,
})

Get ready for future changes

We're planning to stop providing barrel files, which will impact how you import modules from OpenLayers. See #16461 for details. To get your code ready for that upcoming change, you can already help us test the replace-barrel-imports codemod from the @openlayers/codemod package.

List of all changes

New Contributors

Full Changelog: v10.3.1...v10.4.0

Don't miss a new openlayers release

NewReleases is sending notifications on new releases.