Skip to content

Releases: openlayers/openlayers

6.12.0

14 Jan 20:33
b04d542
Compare
Choose a tag to compare

The 6.12 release brings a few small fixes and enhancements. See below for a complete list.

List of all changes

Dependency Updates

New Contributors

Full Changelog: v6.11.0...v6.12.0

6.11.0

09 Jan 00:19
bd8a454
Compare
Choose a tag to compare

This release follows up on the 6.10 release with a fix for Mapbox vector layers rendered over other layers. A handful of other fixes and features are included. See below for more detail.

List of all changes

Dependency Updates

New Contributors

Full Changelog: v6.10.0...v6.11.0

6.10.0

28 Dec 23:19
02c1f49
Compare
Choose a tag to compare

Just in time for the new year, the 6.10 release brings another great batch of features and fixes for your OpenLayers applications.

WebGL rendering

You can now update the style for your WebGL tile layers with layer.setStyle(). Keep in mind that it is more efficient to use style variables if you want to adjust styling on every render frame. However, in cases where you want to completely reconfigure the style, you can use the new layer.setStyle() method.

Additional WebGL tile layer rendering enhancements:

  • A new palette operator was added that allows styling raster data based on a colormap.
  • The band operator accepts expressions for the band number (in addition to numeric literals) – allowing for bands to be set by user provided style variables, for example.
  • Tile layers now dispatch prerender, postrender, precompose and postcompose events with access to the WebGL rendering context.
  • Layers that are adjacent to one another now share a single canvas element and rendering context – allowing for more layers in your maps before exhausting the browser's context limit.

Vector tiles

The Mapbox vector layer now works more easily with other vector tile providers. In addition, vector tile layers can now be configured with a background color.

New interpolate option for sources

Sources now have an interpolate option. This option controls whether data from the source is interpolated when resampling.

For ol/source/DataTile sources, the default is interpolate: false. This means that when a data tile source is used with a WebGL tile layer renderer, your style expression will have access to pixel values in the data tiles without interpolation. If this option is set to true, linear interpolation will be used when over- or under-sampling the data.

Deprecation of the imageSmoothing option for sources

The imageSmoothing option for sources has been deprecated and will be removed in the next major release. Use the interpolate option instead.

// if you were using `imageSmoothing`
const before = new TileSource({
  imageSmoothing: false
});

// use the `interpolate` option instead
const after = new TileSource({
  interpolate: false
});

List of all changes

See below for more features and fixes.

Read more

v6.9.0

12 Oct 20:09
f86bad7
Compare
Choose a tag to compare

The 6.9 release brings a few new features and a number of fixes. GeoTIFF sources now have a normalize option. Set normalize: false if you want your style expressions to work with raw floating point values instead of normalized values from 0 to 1. The GeoTIFF source also now uses nodata values from the source imagery – so in most cases you don't need to specify this yourself. For people configuring vector layers with styles that use custom rendering, you can now get hit detection on the rendered result. See details on these features and other included fixes below.

Dependency Updates

v6.8.1

25 Sep 09:15
b068a33
Compare
Choose a tag to compare

This is a patch release which updates ol.css to restore a legible control button size in applications that do not have a css font-size set for button elements.

v6.8.0

24 Sep 20:11
a2d6bd3
Compare
Choose a tag to compare

The 6.8 release builds on the momentum of 6.7 with some great new enhancements. Data tiles now handle 32-bit data in addition to 8-bit. Views properties can now be provided that sources that fetch view-related data. Vector tile rendering got some performance enhancements. Find detail on these features and a number of fixes in the list of changes below.

List of all changes

Dependency Updates

v6.7.0

09 Sep 17:46
b64b8af
Compare
Choose a tag to compare

The 6.7 release includes a great batch of usability improvements, fixes, and new features. See the full list of changes from 100 pull requests below, but here are some highlights:

  • New GeoTIFF source! With parsing support from the awesome geotiff.js library, you can now render layers from hosted GeoTIFF imagery. The GeoTIFF source gives you the ability to pull from multiple GeoTIFF images, read from arbitrary bands, run band math expressions, and style the imagery to your liking.
  • New WebGL tile renderer. The GeoTIFF source is rendered with a new WebGL-based tile renderer. In addition to GeoTIFFs, the renderer supports layers with a generic DataTile source – these can be used to render aribtrary raster data and leverage the same style expressions as described above.
  • More type checking. We continue to make improvements to the TypeScript definitions included in the ol package.
  • New sources supporting the draft OGC API - Tiles specification. The OGCMapTile and OGCVectorTile sources allow you to render data from services that implement the draft OGC tiles spec. Since the specification is not yet final, these sources are not yet part of the stable OpenLayers API and should be considered experimental.
  • Custom cluster creation support, improved KML icon rendering, lots of fixes, and more. See below for all the detail.

List of all changes

Dependency Updates
Read more

v6.6.1

15 Jul 09:23
a8b949a
Compare
Choose a tag to compare

This is a bugfix release which brings improvements to the included TypeScript types, and fixes two minor issues with the Draw interaction and hit detection of regular shape symbols.

List of all changes

Dependency Updates

v6.6.0

11 Jul 20:15
a59c80f
Compare
Choose a tag to compare

With more than 160 pull requests from 14 contributors, this release brings improved support for using OpenLayers in Node.js environments, a new WKB (well known binary) format, TypeScript declarations in the ol package, and more efficient vector tile rendering. In addition, several examples were added or improved, and many bugs were fixed.

Upgrade notes

Included TypeScript declarations

The ol package now includes TypeScript declarations as *.d.ts files.

If desired, e.g. when you don't want to adjust your code after upgrading from a previous version where you used @types/ol, you can opt out of the included types and use third-party types by specifying aliases in the compilerOptions section of tsconfig.json, e.g.

    "baseUrl": "./",
    "paths": {
      "ol": ["node_modules/@types/ol"],
      "ol/*": ["node_modules/@types/ol/*"]
    },

Deprecation of undefinedHTML option for the MousePosition control

The undefinedHTML option for the MousePosition control has been deprecated and will be removed in a future release. Use the new placeholder option instead.

New placeholder option for the MousePosition control

When the mouse position is not available, the control renders a non-breaking space. To render something else instead,
set the placeholder option. If you want to retain the last position when the mouse leaves the viewport, set
placeholder: false. This will be the default behavior in a future release.

The placeholder option has no effect if the deprecated undefinedHTML option is also used. You should use the placeholder option instead of undefinedHTML.

Deprecation of image render mode for vector tile layers

renderMode: 'image' for vector tile layers has been deprecated. Applications continue to work, but a warning will be issued to the console. To get rid of the warning, simply remove the renderMode option.

New features and improvements

  • New create-ol-app package to create a new app with an OpenLayers map.
  • Improved rendering quality of regular shapes and circles.
  • New placeholder option for better control of the MousePosition control's output.
  • TypeScript generated .d.ts files are now included in the ol package.
  • Improved zDirection option on tile sources to control when the tile z changes on fractional zoom levels.
  • Template mode for the TileDebug source for better debugging of tile coordinate issues.
  • More efficient vector tile rendering to save battery on mobile devices and memory.
  • New 'properties' option on layers for easier use of arbitrary properties in typed environments.
  • Hit detection support when using OffscreenCanvas and workers for rendering.
  • The ol package now uses "type": "module" in package.json for easier use of OpenLayers in Node.js.
  • New WKB (Well-Known Binary) format parser and serializer.
  • Console warning when map container's width or height are zero.
  • New snapToPointer option on the Modify interaction to control user experience when clicking a vertex far away from its center.

List of all changes

Read more

v6.5.0

27 Dec 19:20
f72ab97
Compare
Choose a tag to compare

6.5.0

With more than 110 pull requests, this release not only brings WFS 2.0 support and improved touch support for drawing geometries and querying features. In addition to that, several improvements, many bugs fixes, and nicer API docs and examples have found their way into the 6.5.0 release.

Upgrade notes

Units of the hitTolerance option fixed

Previously, the hitTolerance option of the map's getFeaturesAtPixel(), forEachFeatureAtPixel() and hasFeatureAtPixel() methods behaved differently depending on the devicePixelRatio (or the pixelRatio of the map), because the original value was internally multiplied by the device pixel ratio twice instead of just once. Now this is fixed. Note: The hitTolerance's units are css pixels. The documentation was updated to reflect this.

If your application adjusts for that with code like

{ hitTolerance: 10 / devicePixelRatio, }

you'll have to change that code to

{ hitTolerance: 10, }

New features and improvements

  • New scale option in RegularShape and Circle style constructors
  • WFS 2.0.0 support
  • Added preRender and postRender methods to WebGLLayerRenderer
  • Added className constructor option in ol/layer/Heatmap
  • Added load events for ol/source/Vector
  • New iconUrlFunction option for ol/format/KML
  • Added transition option to OSM and CartoDB sources
  • DragAndDrop interaction support for formats that read ArrayBuffer sources
  • New padding option for ol/View
  • New cancel event for the DragBox interaction
  • When using hitTolerance, detect closest features first
  • Ability to draw Circle geometries with a custom renderer

List of all changes

Read more