The 9.0 release add several new features, including a Google Maps source (finally!), improved WebGL line rendering, and a new symbol and text decluttering implementation. We also improved and broadened flat styles support for both WebGL and Canvas 2D renderers. For better developer experience, we made more types generic and fixed some issues with types.
Backwards incompatible changes
Improved render order of decluttered items
Decluttered items in Vector and VectorTile layers now maintain the render order of the layers and within a layer. They do not get lifted to a higher place in the stack any more.
For most use cases, this is the desired behavior. If, however, you've been relying on the previous behavior, you now have to create separate layers above the layer stack, with just the styles for the declutter items.
Removal of Map#flushDeclutterItems()
It is no longer necessary to call this function to put layers above decluttered symbols and text, because decluttering no longer lifts elements above the layer stack.
To upgrade, simply remove the code where you use the flushDeclutterItems() method.
Changes in ol/style
Removed the ol/style/RegularShape's radius1 property. Use radius for regular polygons or radius and radius2 for stars.
Removed the shape-radius1 property from ol/style/flat~FlatShape. Use shape-radius instead.
GeometryCollection constructor
ol/geom/GeometryCollection can no longer be created without providing a Geometry array. Empty arrays are still valid.
ol/interaction/Draw
The finishDrawing() method now returns the drawn feature or null if no drawing could be finished. Previously it returned undefined.
page:
https://github.com/openlayers/openlayers/releases/tag/v9.0.0