Releases: openlayers/openlayers
6.12.0
The 6.12 release brings a few small fixes and enhancements. See below for a complete list.
List of all changes
- Transitive dependency update (by @openlayers in #13240)
- Re-enable image smoothing after rendering (by @mike-000 in #13236)
- Describe use of className with declutter (by @mike-000 in #13237)
- added run to npm command (by @lklepner in #13231)
- Document how to link package during development (by @lklepner in #13228)
- Default CORS mode for WebGL rendered sources (by @tschaub in #13227)
- Support the wrapX option for WebGL rendered tile sources (by @tschaub in #13226)
- Update ol-mapbox-style (by @tschaub in #13224)
- Do not fire modifyend event when nothing was modified (by @ahocevar in #13219)
- Draw VectorTiles with interpolate in hybrid mode again (by @M393 in #13221)
- Fix some typos in ModifyInteraction documentation (by @EvertEt in #13216)
- Fix MVT incorrect feature data handling (by @EvertEt in #13217)
- Format the changelog so contributors can be highlighted (by @tschaub in #13205)
Dependency Updates
- Bump karma from 6.3.9 to 6.3.10 (by @openlayers in #13209)
- Bump shx from 0.3.3 to 0.3.4 (by @openlayers in #13211)
- Bump @rollup/plugin-node-resolve from 13.1.2 to 13.1.3 (by @openlayers in #13210)
- Bump rollup from 2.62.0 to 2.63.0 (by @openlayers in #13208)
- Bump marked from 4.0.8 to 4.0.9 (by @openlayers in #13207)
New Contributors
Full Changelog: v6.11.0...v6.12.0
6.11.0
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
- Use getFeaturesInExtent (by @ahocevar in #13195)
- Use interpolate option in Sea Level example (by @mike-000 in #13200)
- Fix typo in example description (by @mike-000 in #13201)
- Use ecoregions data (by @tschaub in #13177)
- Avoid failure if existing target has no background color (by @tschaub in #13198)
- Add getDataAtPixel() method for WebGL (by @mike-000 in #13186)
- typo fix for cog-stretch example (by @bradh in #13196)
- Fix base vector layer template generics (by @ahocevar in #13190)
- Always use ES modules from geotiff.js (by @ahocevar in #13180)
- Use Buffer and data uri when Blob is not available (by @ahocevar in #13179)
- Use background property for vector layers (by @tschaub in #13178)
- Allow nodejs 12 to build the examples again (by @MoonE in #13175)
- Add
attributions
andattributionsCollapsible
options tool/source/DataTile
(by @mike-000 in #13176) - Correct scale bar in EPSG:4326 (by @mike-000 in #13171)
Dependency Updates
- Bump eslint from 8.5.0 to 8.6.0 (by @openlayers in #13182)
- Bump @rollup/plugin-node-resolve from 13.1.1 to 13.1.2 (by @openlayers in #13184)
- Bump @babel/core from 7.16.5 to 7.16.7 (by @openlayers in #13183)
- Bump webpack-dev-server from 4.7.1 to 4.7.2 (by @openlayers in #13185)
- Bump @babel/preset-env from 7.16.5 to 7.16.7 (by @openlayers in #13181)
New Contributors
Full Changelog: v6.10.0...v6.11.0
6.10.0
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
andpostcompose
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.
- #13155 - Allow interpolation to be configured for data tile sources (@tschaub)
- #13165 - Do not exceed maximum call stack when parsing TopoJSON (@ahocevar)
- #13158 - Add example for dynamic clusters (@ahocevar)
- #13156 - Ensure that tile range covers all pixels (@tschaub)
- #13154 - Update Export Map example to handle WebGL (@mike-000)
- #13147 - Support rendering with a palette in WebGL (@tschaub)
- #13142 - Include transpacific flights in Flight Animation example (@mike-000)
- #13150 - Include layer opacity in Heatmap shader (@mike-000)
- #13149 - Add layer also for programmatically selected features (@ahocevar)
- #13151 - Avoid error accessing attributes when context is lost (@mike-000)
- #13144 - Replace deprecated syntax in example (@mike-000)
- #13131 - Unset canvas css in stylesheet (@ahocevar)
- #13130 - Allow WebGL tile layers to be constructed without a source (@tschaub)
- #13126 - Preserve the drawing buffer by default for WebGL layers (@tschaub)
- #13127 - Fix for range slider on IE (@mike-000)
- #13095 - Render is only complete when no tiles are queued (@ahocevar)
- #13120 - Populate view's object properties (@ahocevar)
- #13102 - update line-arrows example (@jipexu)
- #13119 - Dispatch precompose and postcompose events for WebGL layers (@tschaub)
- #13118 - Add a layer opacity example (@tschaub)
- #13115 - Lazily create resources for worker (@tschaub)
- #13103 - Assume limited precision when rounding (@tschaub)
- #13097 - Use correct terrain-rgb tile size and update max zoom (@mike-000)
- #13101 - Fix View set center to undefined (@M393)
- #13085 - Add layer background (@ahocevar)
- #13083 - Support expressions for band arguments (@tschaub)
- #13084 - Normalize relative sprite and glyph urls for style url (@ahocevar)
- #13020 - Allow WebGL tile layer style to be updated (@tschaub)
- #13073 - Fall back to standard load handling when decode fails (@ahocevar)
- #13077 - update draw and modify features example (@jipexu)
- #13069 - Normalize based on GDAL stats metadata (@tschaub)
- #13070 - Use source minzoom if not configured otherwise (@ahocevar)
- #13065 - Fix typo in example (@jipexu)
- #13060 - Avoid fetching data outside the grid extent (@tschaub)
- #13054 - Updates for newer version of the OGC API spec draft (@ahocevar)
- #13045 - Fix tiles and background handling (@ahocevar)
- #13030 - Correctly set popover position in geographic example (@MoonE)
- #13031 - Allow data tile source loader to return a value or a promise (@tschaub)
- #13026 - Fix strokeStyle documentation (@ahocevar)
- #13027 - Restore the security scan workflow (@openlayers)
- #13025 - Add background to MapboxVector layer (@ahocevar)
- #13013 - Use appropriate UNPACK_ALIGNMENT for data textures (@mike-000)
- #13021 - Add the renderer type to generic layer template variables (@tschaub)
- #13022 - Update the security scan task (@tschaub)
- #13015 - Additional types for WebGL renderer, sources, and tiles (@tschaub)
- #13012 - Remove unused dependencies (@tschaub)
- #12976 - Handle ReprojTile in ol/layer/WebGLTile (@mike-000)
- #13011 - Use registry URL when publishing (@tschaub)
- #13009 - Use workflow_run event to deploy pull request previews (@tschaub)
- #12965 - Allow canvas reuse for WebGL layers (@tschaub)
- [#12999](https://github.com/open...
v6.9.0
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.
- #12813 - Do not replace icon color if image not loaded (@mike-000)
- #12870 - Fix publicPath problem in legacy build (@ahocevar)
- #12889 - Simplified ESLint config (@tschaub)
- #12875 - Only trigger change event if animating a tile transition (@tschaub)
- #12885 - Fix typeDefs for several Control modules (@MatthijsBon)
- #12861 - Update geotiff to 1.0.8; allow version range (@ahocevar)
- #12865 - Add a note about installing git before using create-ol-app (@tschaub)
- #12847 - Add more definitions for GeoTIFF types (@tschaub)
- #12850 - Fix issues with animate on View without center or resolution (@MoonE)
- #12846 - Use nodata values in the GeoTIFF headers for fill value (@tschaub)
- #12837 - forEachLayerAtPixel return null for unsupported layer types (@mike-000)
- #12836 - Support a normalize option on the GeoTIFF source (@tschaub)
- #12646 - Support for hit detection in styles with custom rendering (@ashchurova)
- #12831 - Fix rendering VectorImage with no features in view extent (@MoonE)
- #12830 - bugfix: Fix type of
layers
option inOverviewMap
(@ejn) - #12815 - Spelling correction (@tschaub)
- #12812 - Release v6.8.1 (@openlayers)
Dependency Updates
- #12881 - Bump webpack from 5.56.1 to 5.58.1 (@openlayers)
- #12882 - Bump marked from 3.0.4 to 3.0.7 (@openlayers)
- #12878 - Bump webpack-dev-server from 4.3.0 to 4.3.1 (@openlayers)
- #12879 - Bump @babel/preset-env from 7.15.6 to 7.15.8 (@openlayers)
- #12880 - Bump @babel/eslint-parser from 7.15.7 to 7.15.8 (@openlayers)
- #12884 - Bump @babel/core from 7.15.5 to 7.15.8 (@openlayers)
- #12877 - Bump webpack-cli from 4.8.0 to 4.9.0 (@openlayers)
- #12854 - Bump webpack from 5.54.0 to 5.56.1 (@openlayers)
- #12857 - Bump webpack-dev-server from 4.2.1 to 4.3.0 (@openlayers)
- #12856 - Bump @rollup/plugin-commonjs from 20.0.0 to 21.0.0 (@openlayers)
- #12855 - Bump rollup from 2.57.0 to 2.58.0 (@openlayers)
- #12853 - Bump clean-css-cli from 5.3.3 to 5.4.1 (@openlayers)
- #12822 - Bump glob from 7.1.7 to 7.2.0 (@openlayers)
- #12824 - Bump rollup from 2.56.3 to 2.57.0 (@openlayers)
- #12818 - Bump threads from 1.6.5 to 1.7.0 (@openlayers)
- #12821 - Bump @rollup/plugin-node-resolve from 13.0.4 to 13.0.5 (@openlayers)
- #12823 - Bump walk from 2.3.14 to 2.3.15 (@openlayers)
- #12819 - Bump webpack-dev-middleware from 5.1.0 to 5.2.1 (@openlayers)
- #12820 - Bump mocha from 9.1.1 to 9.1.2 (@openlayers)
- #12817 - Bump yargs from 17.1.1 to 17.2.1 (@openlayers)
- #12825 - Bump webpack from 5.53.0 to 5.54.0 (@openlayers)
- #12826 - Bump puppeteer from 10.2.0 to 10.4.0 (@openlayers)
v6.8.1
v6.8.0
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
- #12785 - Promise.allSettled polyfill and other browser compatibilty (@mike-000)
- #12807 - Updated styles (@tschaub)
- #12806 - Update to the WebGL sea level example (@tschaub)
- #12808 - Update expectations for vector tile icon label rendering (@tschaub)
- #12804 - Make vector tiles rendering simpler and a bit faster (@ahocevar)
- #12802 - Enqueue tiles at the next step in the animation (@tschaub)
- #12801 - Update ol-mapbox-style to latest version without ol peer dependency (@ahocevar)
- #12792 - Do not do any canvas work when there are no features to render (@ahocevar)
- #12797 - Update geotiff (@ahocevar)
- #12799 - All layers now call dispose on the renderer (@tschaub)
- #12798 - More cleanup in the WebGL tile layer's dispose method (@tschaub)
- #12795 - New tile source for the WMTS example (@mike-000)
- #12793 - Add a method to set the map layers (@tschaub)
- #12789 - Handle TileJSON urls in Mapbox Style document (@ahocevar)
- #12790 - Allow maps to be configured with a promise for view props (@tschaub)
- #12777 - Fix offscreen-canvas example (@ahocevar)
- #12778 - Do not render vector tiles unless they are being used (@ahocevar)
- #12773 - Enable WebGL extensions when required (@tschaub)
- #12774 - Fix text decluttering when segment length is zero (@MoonE)
- #12770 - Use Uint8Array instead of Uint8ClampedArray for increased browser compatibility (@tschaub)
- #12759 - #12758: Allow undefined to be passed to control setMap(). Also fix type of getMap() (@jumpinjackie)
- #12760 - Fix opacity handling for tile and vector layers (@ahocevar)
- #12764 - Fix ImageInformationResponse typedef (@webwitcher)
- #12769 - Remove extra closing anchor tag (@tschaub)
- #12761 - Add Float Textures for GL Rendering / DataTiles (@theduckylittle)
- #12740 - Various fixes for browser compatibility issues (mike-000)
- #12741 - Minimal documentation for GMLBase (@mike-000)
- #12743 - Remove docs reference to unmanaged layer and Select (@mike-000)
- #12734 - Continue supporting IE11 in examples and legacy build (@ahocevar)
- #12739 - Change canvas style from initial to unset (@mike-000)
- #12731 - Handle resolution and tile loadingstrategy with user projection (@ahocevar)
- #12736 - OnSignatures return more specific type (@simonseyock)
- #12732 - Add to Quick Start (@mike-000)
- #12728 - Release v6.7.0 (@openlayers)
Dependency Updates
- #12784 - Bump webpack-dev-server from 4.2.0 to 4.2.1 (@openlayers)
- #12783 - Bump marked from 3.0.3 to 3.0.4 (@openlayers)
- #12782 - Bump webpack-sources from 3.2.0 to 3.2.1 (@openlayers)
- #12781 - Bump webpack from 5.52.1 to 5.53.0 (@openlayers)
- #12780 - Bump @babel/eslint-parser from 7.15.4 to 7.15.7 (@openlayers)
- #12750 - Bump webpack-dev-server from 4.1.0 to 4.2.0 (@openlayers)
- #12749 - Bump marked from 3.0.2 to 3.0.3 (@openlayers)
- #12748 - Bump ol-mapbox-style from 6.4.1 to 6.4.2 (@openlayers)
- #12747 - Bump terser-webpack-plugin from 5.2.3 to 5.2.4 (@openlayers)
- #12746 - Bump @babel/preset-env from 7.15.4 to 7.15.6 (@openlayers)
- #12745 - Bump webpack from 5.52.0 to 5.52.1 (@openlayers)
- #12744 - Bump webpack-dev-middleware from 5.0.0 to 5.1.0 (@openlayers)
v6.7.0
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
- #12727 - Add missing 'boxstart' event to OnSignature (@simonseyock)
- #12718 - Rename function to avoid minification failure (@tschaub)
- #12712 - Add convertToRGB option to GeoTIFF source (@ahocevar)
- #12716 - Spelling fix (@fredj)
- #12715 - Try harder to get the projection from GeoTIFF headers (@tschaub)
- #12714 - Avoid creating duplicate projections in COG examples (@tschaub)
- #12713 - Check for GeoTIFF CRS starting with last image (@tschaub)
- #12709 - Support rendering of GeoTIFF images in pixel coordinates (@tschaub)
- #12711 - Use band numbers starting with one (@tschaub)
- #12710 - Spelling fix in GeoTIFF docs (@tschaub)
- #12697 - Move description above type tag (@tschaub)
- #12695 - Update Google KML icon anchors and correct icon scaling (@mike-000)
- #12642 - Fix fullscreen in mapbox-style example (@ahocevar)
- #12624 - Improve API docs for optional properties (@ahocevar)
- #10963 - OGC map and vector tile sources (@tschaub)
- #12690 - Fix return stride of forEachSegment (@ahocevar)
- #12684 - Fix view resolutions in example (@mike-000)
- #12683 - Fix sprite offset for pixel ratio !== 1 (@ahocevar)
- #12671 - Configure cache on the layer instead of the source (@tschaub)
- #12669 - Add opaque and transition options to GeoTIFF source (@ahocevar)
- #12667 - Additional docs and type checking for raster source (@tschaub)
- #12666 - Re-add accidently removed events (@ahocevar)
- #12647 - Remove Translate option conflicts and update documentation (@mike-000)
- #12008 - Rendering raster tiles with WebGL (@tschaub)
- #12632 - Only warn of zero size when map should be visible (@mike-000)
- #12626 - Set canvas style to override problem 3rd party css (@mike-000)
- #12608 - Support more OGC CRS identifiers (@tschaub)
- #12607 - Don't add color as possible type if it was not set (@MoonE)
- #12605 - Some typing improvements (@simonseyock)
- #12600 - Make attribution getters public. (@simonseyock)
- #12597 - #12596 fix RasterSource does not end Tile transition (@mwerlitz)
- #12599 - Replace reference image to match that of the CI (@ahocevar)
- #12595 - Generate correct type definitions with null (@ahocevar)
- #12578 - Update rendering test reference image (@ahocevar)
- #12577 - Use shx for the build-site script, clean before run (@MoonE)
- #12575 - Add on(), un() and once() signatures for ol/source/Raster (@ahocevar)
- #12565 - Handle named colors as string in equal operator (@sebakerckhof)
- #12576 - Fix example and legacy build with nodejs 16.6 (@MoonE)
- #12551 - Add WKB to the exports of ol/format (@M393)
- #12550 - Add
grid
tag to examples. (@simonseyock) - #12549 - Add
change:layers
event. (@simonseyock) - #12545 - Restore simple axis order handling with fixed proj4 (@ahocevar)
- #12544 - Make Raster source work as generics type for Image layer (@ahocevar)
- #12527 - Treat custom loaders without success/fail handling as if they were a void loader (@mike-000)
- #12538 - Avoid creating context until needed (@tschaub)
- #12528 - Convert the hit tolerance priority example into a test (@MoonE)
- #12522 - Shorter name for the option to create a custom cluster (@tschaub)
- #12506 - Fix adding controls with map config (@M393)
- #12487 - Custom cluster feature creation function (@Razi91)
- #12520 - Fix typo in changelog (@ahocevar)
- #12519 - Release v6.6.1 (@openlayers)
Dependency Updates
- #12703 - Bump terser-webpack-plugin from 5.1.4 to 5.2.3 (@openlayers)
- #12704 - Bump @babel/eslint-parser from 7.15.0 to 7.15.4 (@openlayers)
- #12705 - Bump webpack from 5.51.1 to 5.52.0 (@openlayers)
- #12706 - Bump webpack-dev-server from 4.0.0 to 4.1.0 (@openlayers)
- [#12707](https://github.com/openlayers/open...
v6.6.1
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
- #12498 - CanvasLayerRenderer: Forward LayerType type parameter to LayerRenderer (@bryantevans00)
- #12518 - VectorEventType: Add 'changefeature' in @typedef (@DaniEll-AT)
- #12517 - Update ela-compil sponsors section of README (@ela-compil)
- #12511 - Add ela-compil to sponsors section of README (@ahocevar)
- #12513 - Draw a sketch point when adding a vertex programmatically (@ahocevar)
- #12507 - Fix regular shape hit detect transparent fill (@MoonE)
- #12509 - Allow any return type from listener functions (@ahocevar)
- #12505 - Fix type of PluggableMap#setTarget() argument (@ahocevar)
- #12495 - Edits to the changelog (@tschaub)
Dependency Updates
- #12503 - Bump webpack from 5.42.0 to 5.44.0 (@openlayers)
- #12502 - Bump @types/geojson from 7946.0.7 to 7946.0.8 (@openlayers)
- #12501 - Bump rollup from 2.52.7 to 2.53.1 (@openlayers)
- #12500 - Bump @types/arcgis-rest-api from 10.4.4 to 10.4.5 (@openlayers)
v6.6.0
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 theMousePosition
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"
inpackage.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 theModify
interaction to control user experience when clicking a vertex far away from its center.
List of all changes
- #12442 - Fix layer render extent when it is not at all in view (@MoonE)
- #12492 - Use create-ol-app to create a new app (@tschaub)
- #12467 - Fixes / improvements for RegularShape (@MoonE)
- #12491 - Add a new placeholder option and deprecate undefinedHTML for the mouse position control (@tschaub)
- #12430 - Event listener typing (@simonseyock)
- #12488 - MousePosition: allow rendering of empty string (@JakobMiksch)
- #12464 - Make zDirection option available for all tile sources (@mike-000)
- #12489 - Update ol-mapbox-style to v6.4.0 (@ahocevar)
- #12484 - Add GeoSolutions as a monthly sponsor (@tschaub)
- #12480 - Fix gap in tiles due to floating point math (@MoonE)
- #12453 - Allow multiple LinearRings per innerBoundaryIs (@MoonE)
- #12466 - Fix getVectorContext on TileLayer with pixelRatio != 1 (@MoonE)
- #12463 - Improve animation examples (@MoonE)
- #12459 - Fix documentation for GML class. (@simonseyock)
- #12455 - Consistent use of quotes in example description (@mike-000)
- #12373 - Rework TileDebug to allow TMS coordinates and to fix reprojection (@mike-000)
- #12441 - Style-based measure example (@mike-000)
- #12438 - typo (@jipexu)
- #12431 - Add tsc-generated type definitions for opt-in (@ahocevar)
- #12417 - Use html2canvas instead of dom-to-image (@ahocevar)
- #12413 - Fix hitdetection image invalidation (@MoonE)
- #12405 - VectorTile getSourceTiles behaviour with loading source tiles (@ahocevar)
- #12212 - Ignore empty gx:coord elements in KML files (@voegelas)
- #12418 - Fix icon tinting with pixelRatio < 1 (@MoonE)
- #12409 - Fix WMTS wrapX detection if WGS84BoundingBox is not set (@M393)
- #12237 - Fix Modify interaction with hitDetection (@M393)
- #12416 - Use generics to limit event types in on(), once() and un() (@ahocevar)
- #12408 - Do not fire modifystart when nothing is being modified (@ahocevar)
- #12414 - Replace getChangeEventType() with add/removeChangeListener methods (@ahocevar)
- #12194 - Respect pixel ratio with immediate render (@MoonE)
- #12298 - Fix JSDoc generated links (@tschaub)
- #12231 - Move tolerance should not increase with higher pixel ratio (@MoonE)
- #12282 - Fix DragZoom with view padding (@M393)
- #12223 - generic source parameters for options (@simonseyock)
- #12219 - Add 'properties' to Layer constructors (@ahocevar)
- #12284 - Layers should inherit group z-index (@MoonE)
- #12304 - New example: Scale and Rotate using Modify Interaction (@mike-000)
- #12378 - Correct .split() calls to only split numeric srid for ArcgisRest (@mike-000)
- #12393 - Scale up static Image and round to nearest pixel to avoid rounding errors (@mike-000)
- #12394 - Ensure VectorSource getUrl() corresponds to last setUrl() (@mike-000)
- #12357 - Use calculateElevation function in Shaded Relief example (@mike-000)
- #12375 - Fix Vector Tile Selection example on old browsers (@mike-000)
- #12364 - Simpler and faster VectorTile loading (@ahocevar)
- [#12359](https://githu...
v6.5.0
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
andCircle
style constructors - WFS 2.0.0 support
- Added
preRender
andpostRender
methods toWebGLLayerRenderer
- Added
className
constructor option inol/layer/Heatmap
- Added load events for
ol/source/Vector
- New
iconUrlFunction
option forol/format/KML
- Added
transition
option toOSM
andCartoDB
sources DragAndDrop
interaction support for formats that read ArrayBuffer sources- New
padding
option forol/View
- New
cancel
event for theDragBox
interaction - When using
hitTolerance
, detect closest features first - Ability to draw
Circle
geometries with a custom renderer
List of all changes
- #11859 - Do not fire duplicate postrender events (@MoonE)
- #11858 - Correct documented event names for VectorSourceEvent (@MoonE)
- #11844 - Fix Style expressions error message (@MoonE)
- #11838 - Custom circle render (@changqingom)
- #11811 - Better getPointResolution default when no transform available (@mike-000)
- #11821 - Call the finishCondition when drawing points / circles (@MoonE)
- #11824 - Add Units back to API docs (@ahocevar)
- #11817 - stopPropagation support for PluggableMap (@greggian)
- #11815 - Remove unnecessary line that breaks drawing with multi-touch (@ahocevar)
- #11800 - Fix removeLastPoint when removing last point (@ahocevar)
- #11769 - Modify interaction developer experience improvements (@ahocevar)
- #11803 - Modify fix vertex insertion (@MoonE)
- #11783 - Cache hit detect indexes and check closest pixels first. (@MoonE)
- #11791 - Now that pepjs was updated, we can point to the official package (@ahocevar)
- #11790 - Fix attributions links for WMS layers from swisstopo (@openlayers)
- #11781 - Pass geometry to forEachFeatureAtPixel callback (@ahocevar)
- #11778 - No need to adjust hitTolerance for pixel ratio twice (@ahocevar)
- #11780 - Add a cancel event to the DragBox interaction (@M393)
- #11779 - Restore Mode.CIRCLE in Draw interaction (@mike-000)
- #11753 - Use Mode.LINE_STRING in Draw interaction for Circle geometries (@mike-000)
- #11767 - Improve documentation of geometry rotation (@mike-000)
- #11755 - Add padding option for View (@ahocevar)
- #11754 - Fix typo that prevents Rotate icon from indicating the view rotation (@ahocevar)
- #11719 - Clamp EPSG:3857 y to lowest/highest possible value instead of validity extent (@ahocevar)
- #11737 - Write the correct SRS code in EsriJSON (@ahocevar)
- #11749 - Document that snapTolerance must be greater than 0 (@ahocevar)
- #11750 - Update TMS tileUrlFunction example in ol/source/XYZ documentation (@mike-000)
- #11739 - Fix: Check for layer extent in CanvasLayerRenderer.getDataAtPixel (@boeckMt)
- #11748 - Add fetch and TextDecoder to polyfill list in README (@mike-000)
- #11740 - Wfs bbox per feature type (@ger-benjamin)
- #11722 - Correct meaning of 'start' and 'end' text align for LTR text (@ahocevar)
- #11741 - Include LICENSE.md in built package (@bz2)
- #11718 - Initialize sketch point on Draw#extend() (@ahocevar)
- #11732 - Replace readURI with readStyleURL for KML StyleURLs (@mike-000)
- #11723 - Drag and Drop Interaction support for formats that read ArrayBuffer sources (@mike-000)
- #11724 - Add transition option to OSM and CartoDB sources, document default (@MoonE)
- #11721 - Handle empty Z coordinates in KML (@mike-000)
- #11587 - Determine orientation by actual text start and end x (@MoonE)
- #11720 - Return to simpler and less efficient winding order algorithm (@ahocevar)
- #11715 - Add all symbols to the legacy build (@ahocevar)
- #11716 - Treat svg as binary resource (@mike-000)
- #11698 - Draw pointer improvements (@ahocevar)
- #11490 - iconUrlFunction option for ol/format/KML (@mike-000)
- #11628 - VectorSource load events (@simonseyock)
- #11691 - Use Parcel v2 in copy/paste example code (@ahocevar)
- #11673 - Do not emulate dblclick and slingleclick on multi-touch (@ahocevar)
- #11676 - Fix countries.geojson Antarctica polygon so it wraps correctly (@mike-000)
- #11646 - Ensure a unique tile key for each tile coordinate (@ahocevar)
- #11655 - Fix documentation of image render mode for vector tile layers (@ahocevar)
- #11668 - Don't try to get image data for zero sized images (@tapioko)
- #11648 - Dwithin filter (@virtualcitySYSTEMS)
- #11658 - Make webpack dev server run with current version (@MoonE)
- [#11590](https://github.c...