OpenLayers

Overview

OpenLayers

OpenLayers is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the BSD 2-Clause License.

Getting Started

Install the ol package:

npm install ol

Import just what you need for your application:

import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ';

new Map({
  target: 'map',
  layers: [
    new TileLayer({
      source: new XYZ({
        url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
      })
    })
  ],
  view: new View({
    center: [0, 0],
    zoom: 2
  })
});

See the following examples for more detail on bundling OpenLayers with your application:

Sponsors

OpenLayers appreciates contributions of all kinds. We especially want to thank our fiscal sponsors who contribute to ongoing project maintenance.

Pozi logo

Pozi helps connect communities through spatial thinking. We love Openlayers and it forms a core part of our platform. https://pozi.com/ https://app.pozi.com/

See our GitHub sponsors page or Open Collective if you too are interested in becoming a regular sponsor.

IntelliSense support and type checking for VS Code

The ol package contains a src/ folder with JSDoc annotated sources. TypeScript can get type definitions from these sources with a jsconfig.json (when authoring in JavaScript) or tsconfig.json (when authoring in TypeScript) config file in the project root:

jsconfig.json
{
  "compilerOptions": {
    "checkJs": true,
    "baseUrl": "./",
    "paths": {
      "ol": ["node_modules/ol/src"],
      "ol/*": ["node_modules/ol/src/*"]
    }
  },
  "include": [
    "**/*.js",
    "node_modules/ol/**/*.js"
  ],
  "typeAcquisition": {
    "exclude": ["ol"]
  }
}
tsconfig.json
{
  "compilerOptions": {
    "allowJs": true,
    "baseUrl": "./",
    "paths": {
      "ol": ["node_modules/ol/src"],
      "ol/*": ["node_modules/ol/src/*"]
    }
  },
  "include": [
    "**/*.ts",
    "node_modules/ol/**/*"
  ],
  "typeAcquisition": {
    "exclude": ["ol"]
  }
}

TypeScript users may want to use a third-party types package instead.

Supported Browsers

OpenLayers runs on all modern browsers that support HTML5 and ECMAScript 5. This includes Chrome, Firefox, Safari and Edge.

For older browsers and platforms (Internet Explorer, Android 4.x, iOS v12 and older, Safari v12 and older), polyfills may be needed for the following browser features:

Documentation

Check out the hosted examples, the workshop or the API documentation.

Bugs

Please use the GitHub issue tracker for all bugs and feature requests. Before creating a new issue, do a quick search to see if the problem has been reported already.

Contributing

Please see our guide on contributing if you're interested in getting involved.

Community

Test Status

Comments
  • WebGL vector support

    WebGL vector support

    This is an effort to write a proper WebGL vector renderer for OL3. There are a lot of things to do, it will take some time to reach a stable status. The basis of this work is #3476.

    TODO list:

    • [x] LineString triangulation with RTE (Relative To Eye)
    • [x] Handle line joins
    • [x] Handle line caps
    • [x] Properly handle edge cases
    • [x] Polygon triangulation with RTE
    • [x] Implement hit detection
    • [x] Remove ol.ext.earcut
    • [x] Add circle renderer
    • [x] Clean up and make the code compilable
    • [x] Add tests

    There is much more to do in order to make a robust WebGL rendering engine. Supporting line dashes, and adding text support are subjects for another work.

    opened by GaborFarkas 126
  • forEachFeatureAtPixel freezes/super slow performance on ff and ie

    forEachFeatureAtPixel freezes/super slow performance on ff and ie

    I have 2000+ features on the map and I want to display popup on hover to the features. I have used the forEachFeatureAtPixel and on chrome it works as expected but with firefox and internet explorer it's completely useless. Whole map freezes and stops working.

    I have tried with interactions (I think it uses forEachFeatureAtCoordinate and forEachFeatureAtPixel) and with map.on('pointermove'...). Works ok with Chrome but freezes on FF/IE.

    Is there any workarounds, hacks or anything that would/could/should work?

    pull request accepted 
    opened by CasparWaara 75
  • Remove dependency on the Closure Library

    Remove dependency on the Closure Library

    By moving away from the Closure Library, we free ourselves to write OpenLayers in a way that makes it more consumable for others. Ideally, we could write ES6 modules. We'll need to confirm that things will still work with the Compiler (if we need to transpile first, annotations will need to be preserved).

    pull request accepted 
    opened by tschaub 74
  • Selecting on mobile devices is almost impossible

    Selecting on mobile devices is almost impossible

    Selecting points and lines with touch is a metter of luck. It becomes more reliable from 10px up, but 10px wide lines (and points) are generally too big. It's related to #2105. Anybody willing to work on this? We could fund it (at least partially).

    opened by giohappy 69
  • Snap feature

    Snap feature

    This is my implementation of a snap control discussed in #1164

    It uses simmilar snap implementation as ol.interaction.modify so you need to be careful when modifying the original geometry. Otherwise problems my occur as in #3093 where the user is not paying attention to rebuild the snap index of the modify interaction upon dragging the original geometry.

    Here is the demo

    opened by fperucic 65
  • Proposition:  use goog.module

    Proposition: use goog.module

    I have been experimenting with goog.module. The results look promising; before investing more time I would be pleased to get your feedback.

    In relation to #4128.

    Rationnal: gradual and non-breaking step towards ES6

    Details:

    OL3 dependencies are handled using goog.provide / goog.require. The symbols are evaluated in the global scope and made available in a hierarchy attached to the global object.

    On the other hand, ES6 and AMD/common.js evalutate the code in an isolated scope. It is not attached to the global object.

    goog.module goals is to allow both styles, at the same time, making it possible to transition gradually towards ES6 support, without breaking backward compatibility.

    A good explanation about goog.modules is here: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide

    With @fredj, we created a branch in closure-util: https://github.com/gberaudo/closure-util/tree/goog_module It makes goog.module understood by closure-util and do the wrapping to isolate the module.

    Here are experiments in OL3 code: https://github.com/gberaudo/ol3/tree/goog_modules It shows how to migrate namespaces, constructors, typedefs and enums.

    Notes: A file using goog.module can have only one goog.module and no goog.provide. Typedefs must be moved to their own files but keep goog.provide. There are some issues with jsdoc parsing for generating the exports (see commits).

    opened by gberaudo 64
  • Type checking and API docs with TypeScript JSDoc annotations

    Type checking and API docs with TypeScript JSDoc annotations

    We are currently transitioning the code base from type annotations understood by JSDoc to TypeScript JSDoc annotations. This ticket is an overview on progress and remaining tasks:

    • [x] #8345 Rewrite JSDoc annotations to those understood by TypeScript
    • [x] #8449 New tool chain to generate API docs from the source code and JSDoc annotations
    • [ ] Investigate TypeScript integration: will --allowJS be enough for users, or do we need to publish .d.ts files?

    Since TypeScript knowledge is limited among the OpenLayers dev community, we appreciate any help on this. Also, please comment if we are missing something in the list above.

    stale 
    opened by ahocevar 56
  • Node task to generate externs for OpenLayers 3

    Node task to generate externs for OpenLayers 3

    This is useful for environments where devs want to use a compiled build of ol3 with Closure compiler, but without compiling ol3 together with their app.

    opened by ahocevar 54
  • Bower repository

    Bower repository

    Hi!

    I've searched for a Bower repository that provides a pre-build ol3 distribution and found https://github.com/nd0ut/ol3-bower and https://github.com/Yann29/bower-ol3 so far. Unfortunately both are outdated and one provides to much files (API docs, examples, ...). I decided to add the official release zip file to my bower.json. But this will use a lot of space (more than 100 MB) in bower_components.

    {
      "name": "ol3-demo",
      "version": "0.0.0",
      "private": true,
      "dependencies": {
        "ol3": "https://github.com/openlayers/ol3/releases/download/v3.1.1/v3.1.1.zip"
      }
    }
    

    So I'm up to provide ol3 releases for Bower myself. From the best practices I so far saw in the wild I think this repository should be named ol3-dist and contain a bower.json, the LICENSE.md from openlayers/ol3 and a README.md describing how to use it in Bower. It should also contain the directory dist with the JavaScript and CSS files taken from the official release zip. Maybe I'll rename these files to ol.js, ol.min.js, ol.css and ol.min.css to more resemble "best practices". New releases to Bower should be automated, so I will also work a bit on that.

    My question is, if someone is interested in officially providing a Bower distribution under the openlayers GitHub organization.

    opened by hastebrot 50
  • Allow for easier custom builds

    Allow for easier custom builds

    This changes a number of things in support of a configurable build tool:

    • *.exports files are removed in favor of @todo api annotation in the source files (this will become @api when we move on from Plovr)
    • a tasks/generate-symbols.js task produces a build/symbols.json file with metadata about exportable symbols
    • a tasks/generate-exports.js task produces a build/exports.js script with goog.exportProperty and goog.exportSymbol calls
    • the build.py script has been modified to call the above tasks

    Currently, the way the generate-exports.js task is called, it generates an exports.js file that exports all exportable symbols. This task also supports generating exports for a subset of all symbols by passing it a JSON configuration file with a list of symbols or symbol patterns. An example configuration file might look like this:

    {
      "exports": [
        "ol.Map",
        "ol.layer.Vector",
        "ol.layer.Vector#*",
        "ol.BrowserFeature.*"
      ]
    }
    

    Items in the exports array that end with * are patterns. Patterns match symbol names that start with the string before the *. The # indicates a prototype property. So the above configuration would generate exports for the ol.Map constructor, the ol.layer.Vector constructor, all vector layer methods (including inherited ones that are also exportable), and all constants in the ol.BrowserFeature namespace.

    This is the first part of a build configuration. The next part is a set of options for the compiler. A config file with both of these parts will get passed to a tasks/build.js script that 1) generates exports, 2) sorts lib files in dependency order, and 3) drives the compiler.

    opened by tschaub 50
  • linestring getLength not returning expected value

    linestring getLength not returning expected value

    I am using getLength to retrieve the linestring length.

    For the same segment: 1- when using google map measure tool, I get 228m 2- when using IGN geoportail measure tool, I get 228m 3- when I use e.feature.getGeometry().getLength() I get 330m

    Here are the flat coordinates: e.feature.getGeometry().getFlatCoordinates() : [571382.4214041593, 5723486.068714521, 571593.8175605105, 5723741.65502785]

    in 4326: [5.132815622245775, 45.644023326845485, 5.134714626228319, 45.64562844964627]

    When I check the coordinates position on either ol3 or google map, I get the same points. The difference must come from the calcul...

    Did I miss something and I should not use the getLength method? Please give me some direction if you think this is not an issue.

    stale 
    opened by alexandre-melard 48
  • Bump eslint from 8.30.0 to 8.31.0

    Bump eslint from 8.30.0 to 8.31.0

    Bumps eslint from 8.30.0 to 8.31.0.

    Release notes

    Sourced from eslint's releases.

    v8.31.0

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)

    Documentation

    • 4339dc4 docs: Update README (GitHub Actions Bot)
    • 4e4049c docs: optimize code block structure (#16669) (Sam Chen)
    • 54a7ade docs: do not escape code blocks of formatters examples (#16719) (Sam Chen)
    • e5ecfef docs: Add function call example for no-undefined (#16712) (Elliot Huffman)
    • a3262f0 docs: Add mastodon link (#16638) (Amaresh S M)
    • a14ccf9 docs: clarify files property (#16709) (Sam Chen)
    • 3b29eb1 docs: fix npm link (#16710) (Abdullah Osama)
    • a638673 docs: fix search bar focus on Esc (#16700) (Shanmughapriyan S)
    • f62b722 docs: country flag missing in windows (#16698) (Shanmughapriyan S)
    • 4d27ec6 docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)
    • 8bda20e docs: remove manually maintained anchors (#16685) (Percy Ma)
    • b68440f docs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)

    Chores

    • 65d4e24 chore: Upgrade @​eslint/eslintrc@​1.4.1 (#16729) (Brandon Mills)
    • 8d93081 chore: fix CI failure (#16721) (Sam Chen)
    • 8f17247 chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)
    • 4cd87cb ci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])
    • fd20c75 chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)
    • 10a5c78 chore: update ignore patterns in eslint.config.js (#16678) (Milos Djermanovic)
    Changelog

    Sourced from eslint's changelog.

    v8.31.0 - December 31, 2022

    • 65d4e24 chore: Upgrade @​eslint/eslintrc@​1.4.1 (#16729) (Brandon Mills)
    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)
    • 8d93081 chore: fix CI failure (#16721) (Sam Chen)
    • 4339dc4 docs: Update README (GitHub Actions Bot)
    • 8f17247 chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)
    • 4e4049c docs: optimize code block structure (#16669) (Sam Chen)
    • 54a7ade docs: do not escape code blocks of formatters examples (#16719) (Sam Chen)
    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
    • e5ecfef docs: Add function call example for no-undefined (#16712) (Elliot Huffman)
    • a3262f0 docs: Add mastodon link (#16638) (Amaresh S M)
    • 4cd87cb ci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])
    • a14ccf9 docs: clarify files property (#16709) (Sam Chen)
    • 3b29eb1 docs: fix npm link (#16710) (Abdullah Osama)
    • fd20c75 chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)
    • a638673 docs: fix search bar focus on Esc (#16700) (Shanmughapriyan S)
    • f62b722 docs: country flag missing in windows (#16698) (Shanmughapriyan S)
    • 4d27ec6 docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)
    • 8bda20e docs: remove manually maintained anchors (#16685) (Percy Ma)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
    • b68440f docs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)
    • 10a5c78 chore: update ignore patterns in eslint.config.js (#16678) (Milos Djermanovic)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Geolocation-orientation implementation

    Geolocation-orientation implementation

    Hi there,

    I would like to implement into my project this functionality https://openlayers.org/en/latest/examples/geolocation-orientation.html but I don't find the exemple code like other examples.

    Is it somewhere?

    Thanks

    opened by victorfg 2
  • Raster source interpolation

    Raster source interpolation

    Fixes #14415

    Adds a interpolate option to ol/source/Raster for use when scaling output to view resolution. Document that this does not apply if scaling input sources.

    opened by mike-000 8
  • v7.2.2 examples with custom classes not working in CodeSandbox

    v7.2.2 examples with custom classes not working in CodeSandbox

    Describe the bug Examples with custom classes are not working in CodeSandbox due to transpiling.

    To Reproduce Open the Custom Controls example in CodeSandbox Observe Class constructor Control cannot be invoked without 'new'

    Expected behavior v7.1.0 included "@babel/core": "latest" in the package.json. This is now missing but appears to be required.

    bug 
    opened by mike-000 0
  • Is it possible to provide a method for scaling with a fixed center point?

    Is it possible to provide a method for scaling with a fixed center point?

    The current mobile device uses the center point of the two fingers as the center point to zoom in or out the map.

    We now have a scenario where we want to set a center point, which is the center point when you zoom in and out.

    opened by longhaiyan-lhy 0
Releases(v7.2.2)
  • v7.2.2(Dec 22, 2022)

  • v7.2.1(Dec 22, 2022)

    The 7.2.1 release is a patch to provide a working full build. See the changelog for 7.2.0 for new features and fixes since 7.1.

    What's Changed

    • Updates for the 7.2.0 release by @marcjansen in https://github.com/openlayers/openlayers/pull/14396
    • Use custom query function to replace missing taffydb query features by @ahocevar in https://github.com/openlayers/openlayers/pull/14398

    Full Changelog: https://github.com/openlayers/openlayers/compare/v7.2.0...v7.2.1

    Source code(tar.gz)
    Source code(zip)
    v7.2.1-package.zip(2.34 MB)
    v7.2.1-site.zip(14.05 MB)
  • v7.2.0(Dec 21, 2022)

    The 7.2 release includes …

    • …some new features (e.g. for icon styling),
    • …performance optimisations (e.g. for canvas rendering),
    • …better interoperability (e.g. OGC API - Tiles support, saner projection-handling for GeoTIFFs and a new PMTiles example),
    • …the usual smaller bugfixes, and
    • …a lot of dependency updates.

    Please find below four aspects of this release that we want to highlight and make sure to scan over the full list of included changes (even further below).

    OGC vector and map tile sources are now a stable part of the API

    The OGC API – Tiles core v1 spec has been published, and as a consequence we marked the long existing vector and map tile sources as part of the stable API.

    Introduce width and height configuration options to Icon styles

    It is now possible to create an icon symbolizer with an explicit width and/or height, e.g.:

    const myIcon = new Icon({
      src: 'data/icon.png',
      width: 32,
      height: 32
    });
    

    This is an additional configuration option to make working with image icons easier.

    Rendered resolutions of ol/source/Raster

    Previously, ol/source/Raster processed input sources at the current view resolution, which caused interpolation artefacts in cases where input sources were up- or downsampled. Now, ol/source/Raster picks up the resolutions from the first input source that has resolutions configured (either implicitly through a tile grid in the case of tile sources, or directly when configured through the resolutions constructor option). This improves the rendered output in most cases.

    If the previous behavior is desired, configure the source with resolutions: null.

    Fixed wrapX behavior of ol/control/MousePosition

    Previously, ol/control/MousePosition always displayed coordinates as-is. Now it has a wrapX option, which is true by default. This avoids longitudes aoutside the -180 to 180 degrees range.

    If you want the previous behavior, which displays coordinates with longitudes less than -180 or greater than 180, configure the control with wrapX: false.

    List of all changes

    See below for a complete list of features and fixes.

    • Fix types and docs for GeolocationError (by @ahocevar in https://github.com/openlayers/openlayers/pull/14395)
    • Introduce width and height to Icon style (by @KaiVolland in https://github.com/openlayers/openlayers/pull/14364)
    • Fix typo in Helper.js & inconsistency in ShaderBuilder.js comment. (by @Tomcariello in https://github.com/openlayers/openlayers/pull/14368)
    • Rendering tests instead of unit tests for MapboxVector layer background (by @openlayers in https://github.com/openlayers/openlayers/pull/14355)
    • Mark OGC tile sources as stable (by @tschaub in https://github.com/openlayers/openlayers/pull/14354)
    • Calculate snap tolerance extent allowing for rotation (by @mike-000 in https://github.com/openlayers/openlayers/pull/14344)
    • Updated extensions for Stamen tiles (by @tschaub in https://github.com/openlayers/openlayers/pull/14347)
    • Convert closest point on geometry edge to user coordinates for snap (by @mike-000 in https://github.com/openlayers/openlayers/pull/14349)
    • Fix immediate renderer image and text rotation in rotated canvas (by @mike-000 in https://github.com/openlayers/openlayers/pull/14333)
    • Consider rotation when obtaining vector context pixel ratio (by @mike-000 in https://github.com/openlayers/openlayers/pull/14332)
    • Update ArcGIS REST Feature Service example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14296)
    • Assign variable to work around swc minification problem (by @openlayers in https://github.com/openlayers/openlayers/pull/14320)
    • Support better detection of projection in GeoTIFF files (by @ahocevar in https://github.com/openlayers/openlayers/pull/14321)
    • Use ResizeObserver to detect resizes, also when in Shadow DOM (by @ahocevar in https://github.com/openlayers/openlayers/pull/14305)
    • Ensure change:position event is fired if identify transform used (by @mike-000 in https://github.com/openlayers/openlayers/pull/14319)
    • Rename numberSafeCompareFunction to ascending (by @tschaub in https://github.com/openlayers/openlayers/pull/14311)
    • Change ela-compil url (by @fredj in https://github.com/openlayers/openlayers/pull/14301)
    • Update sponsors (by @ahocevar in https://github.com/openlayers/openlayers/pull/14293)
    • Remove unused arguments (by @ahocevar in https://github.com/openlayers/openlayers/pull/14292)
    • Also set version in full build (by @openlayers in https://github.com/openlayers/openlayers/pull/14288)
    • Update example showing COG with external overviews (by @tschaub in https://github.com/openlayers/openlayers/pull/14286)
    • Add resolutions option to Raster source (by @ahocevar in https://github.com/openlayers/openlayers/pull/14282)
    • Handle layers that do not have a source yet (by @openlayers in https://github.com/openlayers/openlayers/pull/14280)
    • Remove Babel (by @tschaub in https://github.com/openlayers/openlayers/pull/14279)
    • Configurable log level (by @tschaub in https://github.com/openlayers/openlayers/pull/14278)
    • Update geotiff to v2.0.7 (by @ahocevar in https://github.com/openlayers/openlayers/pull/14257)
    • Include file extensions in examples and docs (by @tschaub in https://github.com/openlayers/openlayers/pull/14263)
    • Avoid creating tiles with one row each (by @tschaub in https://github.com/openlayers/openlayers/pull/14260)
    • Add support for images in data tiles (by @tschaub in https://github.com/openlayers/openlayers/pull/14258)
    • Add a PMTiles example (by @tschaub in https://github.com/openlayers/openlayers/pull/14256)
    • Update more COG paths (by @mike-000 in https://github.com/openlayers/openlayers/pull/14252)
    • Update ArcGIS MapServer examples service url (by @mike-000 in https://github.com/openlayers/openlayers/pull/14251)
    • Use wkt definitions in EPSG.io Search example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14239)
    • Update COG path (by @mike-000 in https://github.com/openlayers/openlayers/pull/14236)
    • Add wrapX support to the MousePosition control (by @openlayers in https://github.com/openlayers/openlayers/pull/14232)
    • Minor fixes to ReprojDataTile tests (by @mike-000 in https://github.com/openlayers/openlayers/pull/14217)
    • Pass transition option along to reproj data tile (by @tschaub in https://github.com/openlayers/openlayers/pull/14216)
    • Set willReadFrequently option on ol/source/Raster shared context (by @mike-000 in https://github.com/openlayers/openlayers/pull/14215)
    • Do not use .getImageData where .createImageData can be used (by @mike-000 in https://github.com/openlayers/openlayers/pull/14213)
    • Set willReadFrequently option on pixel contexts (by @ahocevar in https://github.com/openlayers/openlayers/pull/14204)
    • Create hit and taint detection canvas with willReadFrequently set to true (by @ahocevar in https://github.com/openlayers/openlayers/pull/14203)
    • Use jsdelivr instead of unpkg (by @openlayers in https://github.com/openlayers/openlayers/pull/14200)
    • Take scale transform into account for viewport pixels (by @ahocevar in https://github.com/openlayers/openlayers/pull/14199)
    • Typo were => where (by @nboisteault in https://github.com/openlayers/openlayers/pull/14197)
    • RenderFeature cannot be modified (by @MoonE in https://github.com/openlayers/openlayers/pull/14194)
    • Typo (by @JakobMiksch in https://github.com/openlayers/openlayers/pull/14195)
    • Translate interaction can't work with RenderFeature (by @MoonE in https://github.com/openlayers/openlayers/pull/14172)
    • Only TileImage as ReprojTile source tile type (by @MoonE in https://github.com/openlayers/openlayers/pull/14173)
    • Correct return type for ol/layer/VectorTile~getFeatures() (by @MoonE in https://github.com/openlayers/openlayers/pull/14165)
    • Use arrow functions instead of binding anonymous functions (by @tschaub in https://github.com/openlayers/openlayers/pull/14170)
    • Fix if condition in clusters-dynamic example (by @ahocevar in https://github.com/openlayers/openlayers/pull/14150)
    • hitdetect GeometryCollection (by @MoonE in https://github.com/openlayers/openlayers/pull/14138)
    • Make track properties in Link interaction configurable (by @ahocevar in https://github.com/openlayers/openlayers/pull/14126)
    • Add a sourceready event to layers (by @tschaub in https://github.com/openlayers/openlayers/pull/14124)
    • Add support for fetching proj4 definitions from epsg.io (by @tschaub in https://github.com/openlayers/openlayers/pull/14122)
    • Avoid the redirect to the OL 2 page (by @tschaub in https://github.com/openlayers/openlayers/pull/14118)
    • No else after return (by @tschaub in https://github.com/openlayers/openlayers/pull/14103)
    • Fix WMTS source key (by @ahocevar in https://github.com/openlayers/openlayers/pull/14100)
    • Reproject DataTiles (by @mike-000 in https://github.com/openlayers/openlayers/pull/13654)
    • Updates for ol-mapbox-style v9.2 (by @ahocevar in https://github.com/openlayers/openlayers/pull/14086)
    • Add version dropdown for API link (by @KaiVolland in https://github.com/openlayers/openlayers/pull/14085)
    • Updates for the 7.1.0 release (by @openlayers in https://github.com/openlayers/openlayers/pull/14082)
    Dependency Updates
    • Bump @metalsmith/markdown from 1.6.0 to 1.8.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14386)
    • Bump globby from 13.1.2 to 13.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14382)
    • Bump eslint from 8.29.0 to 8.30.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14388)
    • Bump puppeteer from 19.4.0 to 19.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14387)
    • Bump jquery from 3.6.1 to 3.6.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14385)
    • Bump sinon from 15.0.0 to 15.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14384)
    • Bump @rollup/plugin-commonjs from 23.0.4 to 24.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14383)
    • Bump marked from 4.2.3 to 4.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14372)
    • Bump webpack-cli from 5.0.0 to 5.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14375)
    • Bump typescript from 4.9.3 to 4.9.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14374)
    • Bump puppeteer from 19.3.0 to 19.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14373)
    • Bump @rollup/plugin-commonjs from 23.0.3 to 23.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14371)
    • Bump mocha from 10.1.0 to 10.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14370)
    • Bump sinon from 14.0.2 to 15.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14360)
    • Bump ol-mapbox-style from 9.2.3 to 9.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14362)
    • Bump eslint from 8.28.0 to 8.29.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14361)
    • Bump fs-extra from 10.1.0 to 11.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14359)
    • Bump webpack-dev-middleware from 6.0.0 to 6.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14358)
    • Bump ol-mapbox-style from 9.2.1 to 9.2.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14342)
    • Bump puppeteer from 19.2.2 to 19.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14341)
    • Bump @rollup/plugin-commonjs from 23.0.2 to 23.0.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14340)
    • Bump rollup-plugin-external-globals from 0.6.1 to 0.7.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14338)
    • Bump typescript from 4.8.4 to 4.9.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14324)
    • Bump engine.io and socket.io (by @openlayers in https://github.com/openlayers/openlayers/pull/14331)
    • Bump webpack-cli from 4.10.0 to 5.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14326)
    • Bump marked from 4.2.2 to 4.2.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14323)
    • Bump webpack-dev-middleware from 5.3.3 to 6.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14328)
    • Bump ol-mapbox-style from 9.2.0 to 9.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14327)
    • Bump eslint from 8.27.0 to 8.28.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14325)
    • Bump loader-utils from 2.0.3 to 2.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14315)
    • Bump webpack from 5.74.0 to 5.75.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14298)
    • Bump sinon from 14.0.1 to 14.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14297)
    • Bump puppeteer from 19.1.0 to 19.2.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14273)
    • Bump jsdoc from 3.6.11 to 4.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14275)
    • Bump @babel/preset-env from 7.19.4 to 7.20.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14274)
    • Bump @babel/core from 7.19.6 to 7.20.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14271)
    • Bump yargs from 17.6.0 to 17.6.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14270)
    • Bump marked from 4.1.1 to 4.2.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14272)
    • Bump eslint from 8.26.0 to 8.27.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14268)
    • Bump @rollup/plugin-commonjs from 23.0.0 to 23.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14230)
    • Bump @babel/core from 7.19.3 to 7.19.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/14229)
    • Bump @rollup/plugin-babel from 6.0.0 to 6.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14228)
    • Bump @rollup/plugin-node-resolve from 15.0.0 to 15.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14227)
    • Bump puppeteer from 19.0.0 to 19.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14226)
    • Bump eslint from 8.25.0 to 8.26.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14225)
    • Bump @octokit/rest from 19.0.4 to 19.0.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/14211)
    • Bump @rollup/plugin-node-resolve from 14.1.0 to 15.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14210)
    • Bump @babel/preset-env from 7.19.3 to 7.19.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14209)
    • Bump puppeteer from 18.2.1 to 19.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14208)
    • Bump mocha from 10.0.0 to 10.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14207)
    • Bump @rollup/plugin-babel from 5.3.1 to 6.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14190)
    • Bump semver from 7.3.7 to 7.3.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/14191)
    • Bump source-map-loader from 4.0.0 to 4.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14189)
    • Bump express from 4.18.1 to 4.18.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14188)
    • Bump puppeteer from 18.0.5 to 18.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14187)
    • Bump @rollup/plugin-commonjs from 22.0.2 to 23.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14186)
    • Bump eslint from 8.24.0 to 8.25.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14185)
    • Bump metalsmith from 2.5.0 to 2.5.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14184)
    • Bump sinon from 14.0.0 to 14.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14183)
    • Bump @babel/core from 7.19.1 to 7.19.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14159)
    • Bump marked from 4.1.0 to 4.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14158)
    • Bump typescript from 4.8.3 to 4.8.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14160)
    • Bump @babel/preset-env from 7.19.1 to 7.19.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14161)
    • Bump yargs from 17.5.1 to 17.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14162)
    • Bump rollup from 2.79.0 to 2.79.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14142)
    • Bump webpack-dev-server from 4.11.0 to 4.11.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14145)
    • Bump karma from 6.4.0 to 6.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14144)
    • Bump eslint from 8.23.1 to 8.24.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14143)
    • Bump puppeteer from 17.1.3 to 18.0.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/14141)
    • Bump @babel/core from 7.19.0 to 7.19.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14130)
    • Bump @babel/preset-env from 7.19.0 to 7.19.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14131)
    • Bump @rollup/plugin-node-resolve from 14.0.1 to 14.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14132)
    • Bump @babel/preset-env from 7.18.10 to 7.19.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14107)
    • Bump webpack-dev-server from 4.10.1 to 4.11.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14108)
    • Bump puppeteer from 17.1.1 to 17.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14109)
    • Bump eslint from 8.23.0 to 8.23.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14110)
    • Bump @babel/core from 7.18.13 to 7.19.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14106)
    • Bump @rollup/plugin-node-resolve from 13.3.0 to 14.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14105)
    • Bump typescript from 4.8.2 to 4.8.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14111)
    • Bump marked from 4.0.19 to 4.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14092)
    • Bump webpack-dev-server from 4.10.0 to 4.10.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14089)
    • Bump rollup from 2.78.1 to 2.79.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14090)
    • Bump puppeteer from 17.0.0 to 17.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14093)
    • Bump @metalsmith/layouts from 2.5.1 to 2.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14091)
    • Bump earcut from 2.2.3 to 2.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13874)

    New Contributors

    • @nboisteault made their first contribution in https://github.com/openlayers/openlayers/pull/14197
    • @Tomcariello made their first contribution in https://github.com/openlayers/openlayers/pull/14368

    Full Changelog: https://github.com/openlayers/openlayers/compare/v7.1.0...v7.2.0

    Source code(tar.gz)
    Source code(zip)
    v7.2.0-package.zip(1.29 MB)
    v7.2.0-site.zip(13.00 MB)
  • v7.1.0(Aug 31, 2022)

    The 7.1 release adds a handful of new features and updates the story for users of the full library build.

    Draw with tracing

    The draw interaction has a new trace option. When this is set, you can click on existing features to trace their outlines while creating new polygons or lines.

    New GeoTIFF options

    The GeoTIFF source now supports imagery with internal masks. In addition, the GeoTIFF source accepts a convertToRGB: 'auto' setting. With this new setting, the values will be converted to RGB in cases where the input data has three bands and the photometric interpretation is one of CMYK, YCbCr, CIELab, or ICCLab.

    Notice to full build users

    If you have been using the full build of the library, we now include this full build in the release package. This should mean stable URLs that you can point to in a <script> tag. See the https://openlayers.org/download/ page for more detail.

    Deprecation of ol/AssertionError and error codes

    Future versions will no longer throw ol/AssertionError with an error code. Instead, they will throw Error with just the error message.

    Updating parameters in ol/source/ImageWMS and ol/source/TileWMS

    The updateParams() method is the only way to update WMS parameters. Changes made directly to the params object passed as a constructor option will have no effect.

    List of all changes

    See below for a complete list of features and fixes.

    • Fix control styles on Full Screen Mobile example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14079)
    • Include the full build in the ol package (by @openlayers in https://github.com/openlayers/openlayers/pull/14067)
    • Add support for auto conversion to RGB (by @tschaub in https://github.com/openlayers/openlayers/pull/14066)
    • Avoid stuck maps when resolving views from a GeoTIFF (by @tschaub in https://github.com/openlayers/openlayers/pull/14064)
    • GeoTIFF mask support (by @tschaub in https://github.com/openlayers/openlayers/pull/14063)
    • Use preferred tile.openstreetmap.org URL (by @Firefishy in https://github.com/openlayers/openlayers/pull/14062)
    • Clarify proj4 version (by @ahocevar in https://github.com/openlayers/openlayers/pull/14061)
    • Fix register import (by @openlayers in https://github.com/openlayers/openlayers/pull/14059)
    • Clone the WMS params option (by @mike-000 in https://github.com/openlayers/openlayers/pull/14048)
    • Clear cache when WebGL tile layer source reset (by @mike-000 in https://github.com/openlayers/openlayers/pull/14015)
    • Consider both tracing directions when within snap tolerance (by @tschaub in https://github.com/openlayers/openlayers/pull/14057)
    • Fix WebGL preload and empty reproj tiles (by @mike-000 in https://github.com/openlayers/openlayers/pull/14051)
    • Avoid rate limits from the GitHub API (by @tschaub in https://github.com/openlayers/openlayers/pull/14056)
    • Support tracing with the draw interaction (by @tschaub in https://github.com/openlayers/openlayers/pull/14046)
    • Improve some examples (by @MoonE in https://github.com/openlayers/openlayers/pull/14039)
    • Show how to use Skypack (by @ahocevar in https://github.com/openlayers/openlayers/pull/14038)
    • Update to bootstrap 5.2 (by @MoonE in https://github.com/openlayers/openlayers/pull/13996)
    • Move assertion messages into code and deprecate AssertionError (by @ahocevar in https://github.com/openlayers/openlayers/pull/14030)
    • New URL to check for latest release (by @tschaub in https://github.com/openlayers/openlayers/pull/14025)
    • Link to latest 6.x release (by @tschaub in https://github.com/openlayers/openlayers/pull/14026)
    • Do not display TileJSON attributions if empty string (by @mike-000 in https://github.com/openlayers/openlayers/pull/14023)
    • Updates for the 7.0.0 release (by @openlayers in https://github.com/openlayers/openlayers/pull/14019)
    Dependency Updates
    • Bump typescript from 4.7.4 to 4.8.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14073)
    • Bump eslint from 8.22.0 to 8.23.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14069)
    • Bump @babel/core from 7.18.10 to 7.18.13 (by @openlayers in https://github.com/openlayers/openlayers/pull/14071)
    • Bump puppeteer from 16.2.0 to 17.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14072)
    • Bump ol-mapbox-style from 9.0.0 to 9.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14070)
    • Bump jquery from 3.6.0 to 3.6.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14074)
    • Bump puppeteer from 16.1.0 to 16.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14035)
    • Bump marked from 4.0.18 to 4.0.19 (by @openlayers in https://github.com/openlayers/openlayers/pull/14033)
    • Bump rollup from 2.78.0 to 2.78.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14036)
    • Bump @octokit/rest from 19.0.3 to 19.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14034)

    New Contributors

    • @Firefishy made their first contribution in https://github.com/openlayers/openlayers/pull/14062

    Full Changelog: https://github.com/openlayers/openlayers/compare/v7.0.0...v7.1.0

    Source code(tar.gz)
    Source code(zip)
    v7.1.0-package.zip(2.36 MB)
    v7.1.0-site.zip(13.99 MB)
  • v7.0.0(Aug 19, 2022)

    The 7.0 release includes an impressive batch of features and fixes from over 90 pull requests. We're excited about a new foundation for WebGL vector rendering. The previous point rendering functionality has been extended to include lines and polygons. The rendering API is still low level and experimental. Future releases will include a higher level styling API.

    In developing the new WebGL rendering functionality, we changed the signature for a number of methods on a helper class that had been marked as part of the API in 6.x releases. While this is technically a breaking change, it is unlikely that applications were using this helper class, so upgrades should be straightforward.

    We took advantage of the breaking change in the WebGL helper class to remove a few other deprecated parts of the API. In addition, since Microsoft ended support for Internet Explorer a few months ago, we decided to do the same.

    Backwards incompatible changes

    Removal of deprecated properties and methods

    • The tilePixelRatio has been removed from the DataTile source.
    • The imageSmoothing option has been removed from sources.
    • The undefinedHTML option has been removed from the MousePosition control.
    • The forEachLayerAtPixel method has been removed from the Map class.
    • Deprecated options have been removed from the Overlay component.
    • The labelCache has been removed from the ol/render/canvas.js module.

    Internet Explorer is no longer supported

    Please see https://docs.microsoft.com/en-us/lifecycle/announcements/internet-explorer-11-end-of-support.

    ol/webgl/Helper.js

    The Helper constructor from the ol/webgl/Helper.js module is no longer part of the public API.

    ol/coordinate.js

    The toStringHDMS function from the ol/coordinate.js module now formats longitude, latitude pairs so that the minutes and seconds are omitted if they are zero. This changes the values displayed on graticules.

    ol/layer/Graticule

    The default intervals now align with integer minutes and seconds better suited to the default label formatter. If formatting in decimal degrees you may wish to specify custom intervals suited to that format.

    ol/Collection

    Inserting with setAt or insertAt beyond the current length used to create a sparse Collection with undefined inserted for any missing indexes. This will now throw an error instead.

    ol/control/MousePosition

    The control will now by default keep displaying the last mouse position when the mouse leaves the viewport. With placeholder: '&#160;' you can keep the old behaviour. The placeholder option no longer accepts false as a valid value, instead simply omit the option. The undefinedHTML option has been removed. You should use placeholder instead.

    ol/PluggableMap

    The PluggableMap class has been removed. If you want to create a custom map class, extend the Map class instead.

    ol/style/Icon and ol/style/RegularShape

    ol/style/Image and subclasses displacement is no longer scaled with the image. If you previously expected this unintended behavior you should now increase the displacement when setting the scale.

    List of all changes

    See below for a complete list of features and fixes.

    • Make the website deploy job succeed even if there are no changes (by @tschaub in https://github.com/openlayers/openlayers/pull/14017)
    • Release actions (by @tschaub in https://github.com/openlayers/openlayers/pull/14014)
    • Properly clear and refresh reprojected sources (by @ahocevar in https://github.com/openlayers/openlayers/pull/14013)
    • Remove ENABLE_RASTER_REPROJECTION flag (by @ahocevar in https://github.com/openlayers/openlayers/pull/14011)
    • Force render after update in Icon Scale example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14012)
    • Update ol-mapbox-style to v9.0.0 (by @ahocevar in https://github.com/openlayers/openlayers/pull/14009)
    • Replace the Icon Scale example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14007)
    • Improve description of displacement in docs (by @mike-000 in https://github.com/openlayers/openlayers/pull/14006)
    • Remove IE workarounds for legacy build, examples, and workers (by @tschaub in https://github.com/openlayers/openlayers/pull/13995)
    • Use the full table for constructor options (by @tschaub in https://github.com/openlayers/openlayers/pull/13998)
    • Do not scale Icon and RegularShape displacement (by @mike-000 in https://github.com/openlayers/openlayers/pull/13975)
    • Support user projections in Drag and Drop (by @mike-000 in https://github.com/openlayers/openlayers/pull/14003)
    • Avoid append only cache in WebGL tile layers (by @tschaub in https://github.com/openlayers/openlayers/pull/13997)
    • Fix immediate renderer text rotation with offset (by @mike-000 in https://github.com/openlayers/openlayers/pull/13981)
    • Build and deploy the website (by @openlayers in https://github.com/openlayers/openlayers/pull/13984)
    • Small example template fixes (by @marcjansen in https://github.com/openlayers/openlayers/pull/13992)
    • Fix wording in API docs (by @marcjansen in https://github.com/openlayers/openlayers/pull/13991)
    • Nicer links in the API docs (by @tschaub in https://github.com/openlayers/openlayers/pull/13970)
    • Minor adjustments to the website style (by @tschaub in https://github.com/openlayers/openlayers/pull/13989)
    • Fix copying of non-linked ol.css, clean example build (by @MoonE in https://github.com/openlayers/openlayers/pull/13988)
    • Fix kml-timezone example calculations (by @MoonE in https://github.com/openlayers/openlayers/pull/13982)
    • Fix some errors in examples (by @MoonE in https://github.com/openlayers/openlayers/pull/13977)
    • Update FontAwesome to v6.1.2 (by @MoonE in https://github.com/openlayers/openlayers/pull/13978)
    • Use correct bands with LUMINANCE_ALPHA (by @mike-000 in https://github.com/openlayers/openlayers/pull/13974)
    • Remove opt_ prefix (by @tschaub in https://github.com/openlayers/openlayers/pull/13972)
    • Fix bandcount per texture for 8, 12, 16, etc. bands (by @mike-000 in https://github.com/openlayers/openlayers/pull/13973)
    • Do not apply #12467 change to Icons (by @mike-000 in https://github.com/openlayers/openlayers/pull/13955)
    • Remove more IE compatibility (by @MoonE in https://github.com/openlayers/openlayers/pull/13971)
    • Remove workaround and docs for IE 11 (by @tschaub in https://github.com/openlayers/openlayers/pull/13965)
    • Remove circular dependency (by @tschaub in https://github.com/openlayers/openlayers/pull/13967)
    • Update link to sponsors (by @tschaub in https://github.com/openlayers/openlayers/pull/13968)
    • Bundle code for the map on the homepage (by @tschaub in https://github.com/openlayers/openlayers/pull/13966)
    • Website build (by @tschaub in https://github.com/openlayers/openlayers/pull/13961)
    • Remove polyfills for IE and Android 4 (by @tschaub in https://github.com/openlayers/openlayers/pull/13963)
    • Replace VERSION in un-transpiled source (by @MoonE in https://github.com/openlayers/openlayers/pull/13957)
    • Use const in docs and other places (by @MoonE in https://github.com/openlayers/openlayers/pull/13958)
    • Add few missing new lines in example source listing (by @MoonE in https://github.com/openlayers/openlayers/pull/13959)
    • Fix js error in api pages on load (by @MoonE in https://github.com/openlayers/openlayers/pull/13956)
    • Minor simplification (by @JakobMiksch in https://github.com/openlayers/openlayers/pull/13953)
    • Fix typo and formatting in upgrade notes (by @mike-000 in https://github.com/openlayers/openlayers/pull/13946)
    • Fixes to export examples (by @mike-000 in https://github.com/openlayers/openlayers/pull/13947)
    • Fix WebGL points layer flaky test (by @jahow in https://github.com/openlayers/openlayers/pull/13944)
    • Scaleline (by @MoonE in https://github.com/openlayers/openlayers/pull/13943)
    • Improve loading of kmz file in example (by @MoonE in https://github.com/openlayers/openlayers/pull/13942)
    • Fix KML default icon anchor with https icon url (by @MoonE in https://github.com/openlayers/openlayers/pull/13941)
    • Use nicer functions, remove old code (by @MoonE in https://github.com/openlayers/openlayers/pull/13937)
    • Render vector tile vectors in correct sequence for the postrender event (by @ahocevar in https://github.com/openlayers/openlayers/pull/13939)
    • Remove workaround for missing TypedArray.from function (by @MoonE in https://github.com/openlayers/openlayers/pull/13936)
    • Remove check for context.setLineDash (by @MoonE in https://github.com/openlayers/openlayers/pull/13933)
    • Remove deprecated DataTile source tilePixelRatio (by @mike-000 in https://github.com/openlayers/openlayers/pull/13930)
    • Remove input type="range" change event listeners where input events are also used (by @mike-000 in https://github.com/openlayers/openlayers/pull/13932)
    • Remove deprecated imageSmoothing source options (by @mike-000 in https://github.com/openlayers/openlayers/pull/13931)
    • Updated map background (by @tschaub in https://github.com/openlayers/openlayers/pull/13926)
    • Include babel for CodeSandbox (by @tschaub in https://github.com/openlayers/openlayers/pull/13923)
    • Remove reference to ES6 as ES2017 already listed (by @mike-000 in https://github.com/openlayers/openlayers/pull/13922)
    • Style updates for examples and API docs (by @tschaub in https://github.com/openlayers/openlayers/pull/13917)
    • Remove Google Analytics and cookie consent (by @tschaub in https://github.com/openlayers/openlayers/pull/13916)
    • Fix map render test (by @MoonE in https://github.com/openlayers/openlayers/pull/13915)
    • Uniformly grayscale controls (by @tschaub in https://github.com/openlayers/openlayers/pull/13908)
    • Remove PluggableMap (by @tschaub in https://github.com/openlayers/openlayers/pull/13914)
    • Remove MousePosition's deprecated undefinedHTML option (by @MoonE in https://github.com/openlayers/openlayers/pull/13911)
    • Remove IconImage color fallback for IE (by @MoonE in https://github.com/openlayers/openlayers/pull/13912)
    • Remove IE fallbacks (by @MoonE in https://github.com/openlayers/openlayers/pull/13907)
    • Fix editing of export-map example on codesandbox (by @MoonE in https://github.com/openlayers/openlayers/pull/13910)
    • Improve Collection type-safety (by @MoonE in https://github.com/openlayers/openlayers/pull/13902)
    • Re-export the link interaction from the interactions module (by @tschaub in https://github.com/openlayers/openlayers/pull/13906)
    • Replace enums with typedefs (by @MoonE in https://github.com/openlayers/openlayers/pull/13905)
    • Accept an object literal for static layer styling (by @tschaub in https://github.com/openlayers/openlayers/pull/13900)
    • Update jsdoc-plugin-typescript to fix markdown in type annotations (by @ahocevar in https://github.com/openlayers/openlayers/pull/13903)
    • Wait until first load to create icon image (by @tschaub in https://github.com/openlayers/openlayers/pull/13899)
    • Make Text options typesafe (by @MoonE in https://github.com/openlayers/openlayers/pull/13901)
    • Align graticule default intervals to minutes and seconds (by @mike-000 in https://github.com/openlayers/openlayers/pull/13897)
    • Publish untranspiled sources (by @tschaub in https://github.com/openlayers/openlayers/pull/13891)
    • Improve reprojection WMS config for better performance (by @ahocevar in https://github.com/openlayers/openlayers/pull/13880)
    • Omit minutes and seconds from HDMS formatting if zero (by @tschaub in https://github.com/openlayers/openlayers/pull/13893)
    • Use Object.assign (by @tschaub in https://github.com/openlayers/openlayers/pull/13888)
    • Remove unused worker (by @tschaub in https://github.com/openlayers/openlayers/pull/13892)
    • Remove find and findIndex from array module (by @tschaub in https://github.com/openlayers/openlayers/pull/13887)
    • Use Math.cosh and Math.log2 (by @tschaub in https://github.com/openlayers/openlayers/pull/13890)
    • Use Object.values (by @tschaub in https://github.com/openlayers/openlayers/pull/13889)
    • Remove workaround for Array.prototype.includes (by @tschaub in https://github.com/openlayers/openlayers/pull/13884)
    • Codesandbox and bundler improvements for examples (by @ahocevar in https://github.com/openlayers/openlayers/pull/13879)
    • Remove deprecated method PluggableMap#forEachLayerAtPixel ... (by @MoonE in https://github.com/openlayers/openlayers/pull/13868)
    • Remove unused assertion numbers (by @MoonE in https://github.com/openlayers/openlayers/pull/13869)
    • Remove deprecated Overlay options (by @MoonE in https://github.com/openlayers/openlayers/pull/13838)
    • WebGL vector renderer for polygons, lines and points (by @jahow in https://github.com/openlayers/openlayers/pull/13461)
    • Fix reloading tiles in case of an error with tile.load() (by @ahocevar in https://github.com/openlayers/openlayers/pull/13863)
    • Handle multipolygons with empty polygons (by @ahocevar in https://github.com/openlayers/openlayers/pull/13860)
    • Replace enums with typedef (by @MoonE in https://github.com/openlayers/openlayers/pull/13858)
    • Remove deprecated label cache (by @MoonE in https://github.com/openlayers/openlayers/pull/13837)
    • Update dev version to 7.0.0 (by @MoonE in https://github.com/openlayers/openlayers/pull/13850)
    • Release v6.15.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13852)
    • Recover from incorrect rebase after removal of string enums (by @ahocevar in https://github.com/openlayers/openlayers/pull/13835)
    • Updates for the 6.15.0 release (by @openlayers in https://github.com/openlayers/openlayers/pull/13851)
    Dependency Updates
    • Bump webpack-dev-server from 4.9.3 to 4.10.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13986)
    • Bump rollup from 2.77.2 to 2.78.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13985)
    • Bump eslint from 8.21.0 to 8.22.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13987)
    • Bump @babel/preset-env from 7.18.9 to 7.18.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13948)
    • Bump @babel/core from 7.18.9 to 7.18.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13949)
    • Bump @rollup/plugin-commonjs from 22.0.1 to 22.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13951)
    • Bump puppeteer from 15.5.0 to 16.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13950)
    • Bump rollup from 2.77.0 to 2.77.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13919)
    • Bump eslint from 8.20.0 to 8.21.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13920)
    • Bump jsdoc-plugin-typescript from 2.0.7 to 2.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13875)
    • Bump puppeteer from 15.4.0 to 15.5.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13871)
    • Bump webpack from 5.73.0 to 5.74.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13870)
    • Bump jsdoc from 3.6.10 to 3.6.11 (by @openlayers in https://github.com/openlayers/openlayers/pull/13873)
    • Bump terser from 5.7.2 to 5.14.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13859)
    Source code(tar.gz)
    Source code(zip)
    v7.0.0-legacy.zip(1.47 MB)
    v7.0.0-site.zip(13.13 MB)
  • v6.15.1(Jul 18, 2022)

  • v6.15.0(Jul 18, 2022)

    Overview

    The 6.15 release brings several fixes and improvements:

    • Faster vector tile rendering for soures with non-standard tile grids
    • Reduced canvas memory footprint for increased stability on iOS devices and better rendering performance
    • Fixed a bug that prevented tiles from expiring from the tile cache in the correct order
    • Better type safety with an increasing number of null checks and union types
    • New setFill and setStroke methods for RegularShape symbols
    • Vector symbol and text decluttering on the style level
    • Fixed pointer event handling on touch devices when layer visibility changes
    • New justify option for text styles
    • New Link interation for adding center, zoom, rotation and active layers to the URL
    • Easier css styling of the scale bar, and in addition to minWidth, the scale line can now also be configured with a maxWidth

    Details

    Deprecated tilePixelRatio option for data tile sources.

    If you were previously trying to scale data tiles using the tilePixelRatio property for data tile sources (this is rare), you should now use the explicit tileSize and tileGrid properties. The source's tileSize represents the source tile dimensions and the tile grid's tileSize represents the desired rendered dimensions.

    const source = new DataTileSource({
      tileSize: [512, 512], // source tile size
      tileGrid: createXYZ({tileSize: [256, 256]}), // rendered tile size
    });
    

    Fixed coordinate dimension handling in ol/proj's addCoordinateTransforms

    The forward and inverse functions passed to addCooordinateTransforms now receive a coordinate with all dimensions of the original coordinate, not just two. If you previosly had coordinates with more than two dimensions and added a transform like

    addCoordinateTransforms(
        'EPSG:4326',
        new Projection({code: 'latlong', units: 'degrees'}),
        function(coordinate) { return coordinate.reverse(); },
        function(coordinate) { return coordinate.reverse(); }
    );
    

    you have to change that to

    addCoordinateTransforms(
        'EPSG:4326',
        new Projection({code: 'latlong', units: 'degrees'}),
        function(coordinate) { return coordinate.slice(0, 2).reverse() },
        function(coordinate) { return coordinate.slice(0, 2).reverse() }
    );
    

    Replacement of string enums with union types

    This change only affects users that were using the non-API string enums

    • ol/OverlayPositioning
    • ol/extent/Corner
    • ol/format/FormatType
    • ol/geom/GeometryType
    • ol/source/State
    • ol/source/WMSServerType
    • ol/source/WMTSRequestEncoding

    Instead of these, use the respective strings, which are now typesafe by means of union types.

    List of all changes

    See below for a complete list of features and fixes.

    • Base vector tile render tile grid on the source grid (by @mike-000 in https://github.com/openlayers/openlayers/pull/13832)
    • ability to change the color of the scalebar (by @jipexu in https://github.com/openlayers/openlayers/pull/13834)
    • Reduce canvas memory footprint for better iOS stability (by @ahocevar in https://github.com/openlayers/openlayers/pull/13823)
    • Use union types instead of enums (by @ahocevar in https://github.com/openlayers/openlayers/pull/12696)
    • remove XYZ-ESRI -4326-512 example (by @jipexu in https://github.com/openlayers/openlayers/pull/13817)
    • Remove HERE Maps example (by @mike-000 in https://github.com/openlayers/openlayers/pull/13819)
    • Checkcontenteditable (by @jipexu in https://github.com/openlayers/openlayers/pull/13787)
    • Add null return type for TileGrid functions (by @EvertEt in https://github.com/openlayers/openlayers/pull/13674)
    • Add setFill and setStroke to Shapes (by @theduckylittle in https://github.com/openlayers/openlayers/pull/13747)
    • Include displacement and declutterMode in Icon style clone (by @mike-000 in https://github.com/openlayers/openlayers/pull/13803)
    • Do not refresh use time for tiles when collecting used source tiles (by @M393 in https://github.com/openlayers/openlayers/pull/13799)
    • Change WKB readFeature(s) return type to Feature (by @mike-000 in https://github.com/openlayers/openlayers/pull/13800)
    • d3 version update (by @jipexu in https://github.com/openlayers/openlayers/pull/13784)
    • Better fix for changing pointer ids on event target change (by @ahocevar in https://github.com/openlayers/openlayers/pull/13771)
    • Fix source band calculation when configured with multiple sources (by @ahocevar in https://github.com/openlayers/openlayers/pull/13762)
    • Clean up tracked pointers when the event target has changed (by @ahocevar in https://github.com/openlayers/openlayers/pull/13770)
    • Fix modifying polygons with overlapping vertices (by @hargasinski in https://github.com/openlayers/openlayers/pull/13745)
    • Support GML polygons with ring curves instead of linear rings (by @ahocevar in https://github.com/openlayers/openlayers/pull/13749)
    • Fix typo in method names (by @MoonE in https://github.com/openlayers/openlayers/pull/13750)
    • Load GeoTiff from Blob #13189 #13703 (by @m-mohr in https://github.com/openlayers/openlayers/pull/13724)
    • improve text width calculation (by @IQGeo in https://github.com/openlayers/openlayers/pull/12106)
    • Fix tile pyramid getData() (by @mike-000 in https://github.com/openlayers/openlayers/pull/13712)
    • Improve icon-sprite-webgl example (by @MoonE in https://github.com/openlayers/openlayers/pull/13709)
    • Fix hitdetection for icon with offset and pixelratio != 1 (by @MoonE in https://github.com/openlayers/openlayers/pull/13627)
    • Wait for icons to be loaded before firing rendercomplete event (by @MoonE in https://github.com/openlayers/openlayers/pull/13626)
    • Change typedef to boolean (by @mike-000 in https://github.com/openlayers/openlayers/pull/13702)
    • #13690 VectorSource#getFeaturesInExtent add projection parameter (by @burleight in https://github.com/openlayers/openlayers/pull/13691)
    • Update ESLint config and plugins (by @tschaub in https://github.com/openlayers/openlayers/pull/13701)
    • Flip extent coordinates for projections with ne* axis order (by @ahocevar in https://github.com/openlayers/openlayers/pull/13688)
    • Link interaction (by @tschaub in https://github.com/openlayers/openlayers/pull/13689)
    • Test improvements (by @MoonE in https://github.com/openlayers/openlayers/pull/13676)
    • Add null return type (by @ahocevar in https://github.com/openlayers/openlayers/pull/13673)
    • fix currentClip == null (by @CNS-Solutions in https://github.com/openlayers/openlayers/pull/13672)
    • Handle NaN nodata (by @tschaub in https://github.com/openlayers/openlayers/pull/13669)
    • Fix for parcel error while building examples (by @arekgotfryd in https://github.com/openlayers/openlayers/pull/13656)
    • Explicit data tile size (by @tschaub in https://github.com/openlayers/openlayers/pull/13648)
    • Decluttering mode by style (by @CNS-Solutions in https://github.com/openlayers/openlayers/pull/13566)
    • Output GeoTIFF tile load errors to console (by @mike-000 in https://github.com/openlayers/openlayers/pull/13645)
    • Fix typos in upgrade notes (by @openlayers in https://github.com/openlayers/openlayers/pull/13641)
    • Let transform function transform all dimensions it is capable of (by @ahocevar in https://github.com/openlayers/openlayers/pull/13637)
    • Fix dependabot config (by @tschaub in https://github.com/openlayers/openlayers/pull/13614)
    • Include GitHub actions in the dependabot config (by @turrisxyz in https://github.com/openlayers/openlayers/pull/13611)
    • Do not reload data tiles if already loaded or loading (by @mike-000 in https://github.com/openlayers/openlayers/pull/13594)
    • Limit permissions for GitHub actions (by @turrisxyz in https://github.com/openlayers/openlayers/pull/13607)
    • Handle rotation with non-square tiles (by @tschaub in https://github.com/openlayers/openlayers/pull/13603)
    • Properly document loadstart and loadend events (by @ahocevar in https://github.com/openlayers/openlayers/pull/13595)
    • Update OSM Vector Tiles attribution (by @mike-000 in https://github.com/openlayers/openlayers/pull/13568)
    • WebGLPointsLayer wrapX support - partially addressing #11131 (by @burleight in https://github.com/openlayers/openlayers/pull/13528)
    • Add justify option for text style (by @rycgar in https://github.com/openlayers/openlayers/pull/13571)
    • Do not assert null projection (by @mike-000 in https://github.com/openlayers/openlayers/pull/13565)
    • Improve Projection and Scale example calculations (by @mike-000 in https://github.com/openlayers/openlayers/pull/13496)
    • Add geometryLayout property to Draw interaction (by @drnextgis in https://github.com/openlayers/openlayers/pull/13546)
    • Updates for ol-mapbox-style v8 (by @ahocevar in https://github.com/openlayers/openlayers/pull/13552)
    • NM symbol unit (by @jipexu in https://github.com/openlayers/openlayers/pull/13554)
    • Update backgrounds when function returns a different color (by @ahocevar in https://github.com/openlayers/openlayers/pull/13550)
    • Handle gutter in WebGL tile renderer (by @mike-000 in https://github.com/openlayers/openlayers/pull/13547)
    • Do not add second interaction in Pinch Zoom example (by @mike-000 in https://github.com/openlayers/openlayers/pull/13551)
    • Bugfix for GML parsing with multiple property elements with XML attributes (by @ejn in https://github.com/openlayers/openlayers/pull/12936)
    • Fix small typo in docs (by @bartvde in https://github.com/openlayers/openlayers/pull/13536)
    • Update type annotations for GMLBase (by @ahocevar in https://github.com/openlayers/openlayers/pull/13533)
    • Add optional maxWidth for ScaleLine control (by @bartvde in https://github.com/openlayers/openlayers/pull/13531)
    • Include tile gutter in offsets for getData() methods (by @mike-000 in https://github.com/openlayers/openlayers/pull/13521)
    • Updates for the 6.14.1 release (by @openlayers in https://github.com/openlayers/openlayers/pull/13511)
    Dependency Updates
    • Bump rollup from 2.76.0 to 2.77.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13841)
    • Bump @types/geojson from 7946.0.8 to 7946.0.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13842)
    • Bump @babel/preset-env from 7.18.6 to 7.18.9 (by @openlayers in https://github.com/openlayers/openlayers/pull/13843)
    • Bump clean-css-cli from 5.6.0 to 5.6.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13844)
    • Bump marked from 4.0.17 to 4.0.18 (by @openlayers in https://github.com/openlayers/openlayers/pull/13845)
    • Bump @babel/core from 7.18.6 to 7.18.9 (by @openlayers in https://github.com/openlayers/openlayers/pull/13846)
    • Bump puppeteer from 15.3.2 to 15.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13847)
    • Bump eslint from 8.19.0 to 8.20.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13848)
    • Bump puppeteer from 15.3.0 to 15.3.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13824)
    • Bump rollup from 2.75.7 to 2.76.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13825)
    • Bump @babel/core from 7.18.5 to 7.18.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/13806)
    • Bump webpack-dev-server from 4.9.2 to 4.9.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13810)
    • Bump @babel/preset-env from 7.18.2 to 7.18.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/13808)
    • Bump puppeteer from 15.1.1 to 15.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13807)
    • Bump es-main from 1.0.2 to 1.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13809)
    • Bump eslint from 8.18.0 to 8.19.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13811)
    • Bump @rollup/plugin-commonjs from 22.0.0 to 22.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13793)
    • Bump puppeteer from 14.4.1 to 15.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13794)
    • Bump eslint from 8.17.0 to 8.18.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13776)
    • Bump typescript from 4.7.3 to 4.7.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13777)
    • Bump karma from 6.3.20 to 6.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13775)
    • Bump puppeteer from 14.3.0 to 14.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13778)
    • Bump rollup from 2.75.6 to 2.75.7 (by @openlayers in https://github.com/openlayers/openlayers/pull/13779)
    • Bump source-map-loader from 3.0.1 to 4.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13754)
    • Bump @babel/core from 7.18.2 to 7.18.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/13755)
    • Bump marked from 4.0.16 to 4.0.17 (by @openlayers in https://github.com/openlayers/openlayers/pull/13756)
    • Bump puppeteer from 14.2.1 to 14.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13757)
    • Bump rollup from 2.75.5 to 2.75.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/13758)
    • Bump webpack-cli from 4.9.2 to 4.10.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13759)
    • Bump webpack-dev-server from 4.9.1 to 4.9.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13760)
    • Bump globby from 13.1.1 to 13.1.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13761)
    • Bump eslint from 8.16.0 to 8.17.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13732)
    • Bump typescript from 4.7.2 to 4.7.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13730)
    • Bump webpack from 5.72.1 to 5.73.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13731)
    • Bump rollup from 2.75.3 to 2.75.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/13733)
    • Bump puppeteer from 14.1.1 to 14.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13734)
    • Bump webpack-dev-server from 4.9.0 to 4.9.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13735)
    • Bump @babel/core from 7.18.0 to 7.18.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13717)
    • Bump rollup from 2.74.1 to 2.75.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13718)
    • Bump @types/offscreencanvas from 2019.6.4 to 2019.7.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13716)
    • Bump typescript from 4.6.4 to 4.7.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13719)
    • Bump @babel/preset-env from 7.18.0 to 7.18.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13720)
    • Bump ol-mapbox-style from 8.0.8 to 8.1.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13715)
    • Bump eslint from 8.9.0 to 8.16.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13693)
    • Bump @babel/core from 7.17.10 to 7.18.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13694)
    • Bump rollup from 2.73.0 to 2.74.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13699)
    • Bump copy-webpack-plugin from 10.2.4 to 11.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13695)
    • Bump webpack-dev-middleware from 5.3.1 to 5.3.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13696)
    • Bump marked from 4.0.15 to 4.0.16 (by @openlayers in https://github.com/openlayers/openlayers/pull/13697)
    • Bump @babel/preset-env from 7.17.10 to 7.18.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13698)
    • Bump puppeteer from 14.1.0 to 14.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13700)
    • Bump rollup from 2.72.1 to 2.73.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13680)
    • Bump webpack from 5.72.0 to 5.72.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13681)
    • Bump karma from 6.3.19 to 6.3.20 (by @openlayers in https://github.com/openlayers/openlayers/pull/13679)
    • Bump puppeteer from 13.7.0 to 14.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13678)
    • Bump ol-mapbox-style from 8.0.7 to 8.0.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/13682)
    • Bump yargs from 17.4.1 to 17.5.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13683)
    • Bump rollup from 2.71.1 to 2.72.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13661)
    • Bump sinon from 13.0.2 to 14.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13659)
    • Bump webpack-dev-server from 4.8.1 to 4.9.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13662)
    • Bump @rollup/plugin-node-resolve from 13.2.1 to 13.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13663)
    • Bump ol-mapbox-style from 8.0.5 to 8.0.7 (by @openlayers in https://github.com/openlayers/openlayers/pull/13602)
    • Bump marked from 4.0.14 to 4.0.15 (by @openlayers in https://github.com/openlayers/openlayers/pull/13628)
    • Bump express from 4.18.0 to 4.18.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13629)
    • Bump rollup from 2.70.2 to 2.71.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13630)
    • Bump typescript from 4.6.3 to 4.6.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13631)
    • Bump mocha from 9.2.2 to 10.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13632)
    • Bump @babel/core from 7.17.9 to 7.17.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13633)
    • Bump @babel/preset-env from 7.16.11 to 7.17.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13634)
    • Bump github/codeql-action from 1 to 2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13616)
    • Bump actions/setup-node from 2 to 3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13617)
    • Bump actions/upload-artifact from 2 to 3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13615)
    • Bump actions/checkout from 2 to 3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13618)
    • Bump actions/github-script from 5 to 6 (by @openlayers in https://github.com/openlayers/openlayers/pull/13619)
    • Bump puppeteer from 13.6.0 to 13.7.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13620)
    • Bump express from 4.17.3 to 4.18.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13621)
    • Bump @rollup/plugin-commonjs from 21.1.0 to 22.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13596)
    • Bump puppeteer from 13.5.2 to 13.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13600)
    • Bump pixelmatch from 5.2.1 to 5.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13598)
    • Bump babel-loader from 8.2.4 to 8.2.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/13601)
    • Bump karma from 6.3.18 to 6.3.19 (by @openlayers in https://github.com/openlayers/openlayers/pull/13599)
    • Bump sinon from 13.0.1 to 13.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13582)
    • Bump async from 2.6.3 to 2.6.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13583)
    • Bump @rollup/plugin-commonjs from 21.0.3 to 21.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13578)
    • Bump fs-extra from 10.0.1 to 10.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13579)
    • Bump karma from 6.3.17 to 6.3.18 (by @openlayers in https://github.com/openlayers/openlayers/pull/13580)
    • Bump rollup from 2.70.1 to 2.70.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13581)
    • Bump @rollup/plugin-node-resolve from 13.1.3 to 13.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13577)
    • Bump webpack from 5.71.0 to 5.72.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13557)
    • Bump @babel/core from 7.17.8 to 7.17.9 (by @openlayers in https://github.com/openlayers/openlayers/pull/13560)
    • Bump webpack-dev-server from 4.7.4 to 4.8.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13559)
    • Bump marked from 4.0.12 to 4.0.14 (by @openlayers in https://github.com/openlayers/openlayers/pull/13558)
    • Bump yargs from 17.4.0 to 17.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13556)
    • Bump webpack from 5.70.0 to 5.71.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13538)
    • Bump jsdoc-plugin-typescript from 2.0.6 to 2.0.7 (by @openlayers in https://github.com/openlayers/openlayers/pull/13537)
    • Bump puppeteer from 13.5.1 to 13.5.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13539)
    • Bump clean-css-cli from 5.5.2 to 5.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13540)
    • Bump typescript from 4.6.2 to 4.6.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13514)
    • Bump babel-loader from 8.2.3 to 8.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13513)
    • Bump @rollup/plugin-commonjs from 21.0.2 to 21.0.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13515)
    • Bump serve-static from 1.14.2 to 1.15.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13512)
    • Bump geotiff from 2.0.4 to 2.0.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/13517)

    New Contributors

    • @burleight made their first contribution in https://github.com/openlayers/openlayers/pull/13528
    • @naveensrinivasan made their first contribution in https://github.com/openlayers/openlayers/pull/13607
    • @cns-solutions-admin made their first contribution in https://github.com/openlayers/openlayers/pull/13566
    • @arekgotfryd made their first contribution in https://github.com/openlayers/openlayers/pull/13656
    • @luiscamachopt made their first contribution in https://github.com/openlayers/openlayers/pull/12106
    • @m-mohr made their first contribution in https://github.com/openlayers/openlayers/pull/13724
    • @hargasinski made their first contribution in https://github.com/openlayers/openlayers/pull/13745

    Full Changelog: https://github.com/openlayers/openlayers/compare/v6.14.1...v6.15.0

    Source code(tar.gz)
    Source code(zip)
    v6.15.0-dist.zip(1.00 MB)
    v6.15.0.zip(12.95 MB)
  • v6.14.1(Mar 26, 2022)

  • v6.14.0(Mar 26, 2022)

    The 6.14 release includes a few new features and fixes. The new loadstart and loadend events make it easy to add loading indicators to your maps. Enhancements to the snap interaction add support for snapping to points coincident with lines and improve performance. A change to WebGL rendering works around an issue in Safari 15.4. Find detail on these improvements and more in the full list of changes below.

    List of all changes

    See below for a complete list of features and fixes.

    • Store rendered source on the layer instead of the layer state (by @tschaub in https://github.com/openlayers/openlayers/pull/13509)
    • Change imageSmoothing to interpolate in tests (by @mike-000 in https://github.com/openlayers/openlayers/pull/13506)
    • Fallback if OES_texture_float_linear is not supported (by @mike-000 in https://github.com/openlayers/openlayers/pull/13505)
    • Workaround for Safari WebGL issue (by @tschaub in https://github.com/openlayers/openlayers/pull/13492)
    • Separate geometry and extent parsing (by @ahocevar in https://github.com/openlayers/openlayers/pull/13490)
    • Add loadstart and loadend map events (by @ahocevar in https://github.com/openlayers/openlayers/pull/13491)
    • Add documentation for precompose and postcopose to ol/layer/WebGLTile (by @ahocevar in https://github.com/openlayers/openlayers/pull/13482)
    • Fix legacy build (by @ahocevar in https://github.com/openlayers/openlayers/pull/13469)
    • Fix Text#setText jsDoc (by @rycgar in https://github.com/openlayers/openlayers/pull/13466)
    • Do not warn about coordinates when view projection is configured (by @ahocevar in https://github.com/openlayers/openlayers/pull/13464)
    • Reset image when empty (by @ahocevar in https://github.com/openlayers/openlayers/pull/13463)
    • Revert image transition regression (by @ahocevar in https://github.com/openlayers/openlayers/pull/13460)
    • Improve Snap interaction performance (by @MoonE in https://github.com/openlayers/openlayers/pull/13455)
    • Snap Interaction can snap to Point on line segment (by @T-MAPY in https://github.com/openlayers/openlayers/pull/13446)
    • Initialize variable before use in FullScreen control (by @MoonE in https://github.com/openlayers/openlayers/pull/13447)
    • Ensure FullScreen button has classname set on render. (by @themoffster in https://github.com/openlayers/openlayers/pull/13444)
    • Guard PluggableMap against null renderer (by @EvertEt in https://github.com/openlayers/openlayers/pull/13437)
    • Fix rendercomplete with invisible WebGLPoints layer (by @M393 in https://github.com/openlayers/openlayers/pull/13434)
    • Handle layers without renderer properly (by @ahocevar in https://github.com/openlayers/openlayers/pull/13424)
    Dependency Updates
    • Bump minimist from 1.2.5 to 1.2.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/13501)
    • Bump node-forge from 1.2.1 to 1.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13498)
    • Bump yargs from 17.3.1 to 17.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13493)
    • Bump @babel/core from 7.17.5 to 7.17.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/13494)
    • Bump puppeteer from 13.4.1 to 13.5.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13472)
    • Bump karma-chrome-launcher from 3.1.0 to 3.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13474)
    • Bump mocha from 9.2.1 to 9.2.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13475)
    • Bump proj4 from 2.7.5 to 2.8.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13476)
    • Bump rollup from 2.70.0 to 2.70.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13477)
    • Bump ol-mapbox-style from 7.0.0 to 7.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13473)
    • Bump rollup from 2.69.0 to 2.70.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13449)
    • Bump webpack from 5.69.1 to 5.70.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13450)
    • Bump puppeteer from 13.4.0 to 13.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13451)
    • Bump karma from 6.3.16 to 6.3.17 (by @openlayers in https://github.com/openlayers/openlayers/pull/13452)
    • Bump typescript from 4.6.0-beta to 4.6.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13453)
    • Bump puppeteer from 13.3.2 to 13.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13427)
    • Bump fs-extra from 10.0.0 to 10.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13429)
    • Bump @rollup/plugin-commonjs from 21.0.1 to 21.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13430)
    • Bump rollup from 2.67.3 to 2.69.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13442)
    • Bump @rollup/plugin-babel from 5.3.0 to 5.3.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13426)

    New Contributors

    • @themoffster made their first contribution in https://github.com/openlayers/openlayers/pull/13444
    • @langpavel made their first contribution in https://github.com/openlayers/openlayers/pull/13446
    • @rycgar made their first contribution in https://github.com/openlayers/openlayers/pull/13466

    Full Changelog: https://github.com/openlayers/openlayers/compare/v6.13.0...v6.14.0

    Source code(tar.gz)
    Source code(zip)
    v6.14.0-dist.zip(850.07 KB)
    v6.14.0.zip(12.44 MB)
  • v6.13.0(Feb 27, 2022)

    Overview

    The 6.13 release brings several exciting new features and improvements:

    • A new layer.getData() method to get pixel data for a single layer (see details below).
    • Support for rich text labels in ol/style/Text, to use different font styles and fonts in a single label.
    • The useGeograpic() and setUserProjection() functions in the ol/proj module are now part of the official API. These functions make it easier to work with geographic coordinates or local projections.
    • Improvements for WebGL Tile and Points layers.
    • Performance improvements on ol/Feature, to avoid event creation when there are no listeners.
    • Update of geotiff.js to v2, to fix some build issues that users reported.
    • Improvements to the auto-generated TypeScript types.

    Details

    New layer.getData() method

    Raster layers (static images, image tiles, data tiles) have a new layer.getData(pixel) method that returns the pixel data at the provided location. The return value depends on the underlying source data type. For example, a GeoTIFF may return a Float32Array with one value per band, while a PNG rendered from a tile layer will return a Uint8ClampedArray of RGBA values.

    If you were previously using the map.forEachLayerAtPixel() method, you should use the new layer.getData() method instead. The old method returns composite pixel values from multiple layers and is limited to RGBA values. The new method doesn't suffer from these shortcomings and is more performant.

    Deprecated map.forEachLayerAtPixel() method

    The map.forEachLayerAtPixel() method has been deprecated. It will be removed (or its behavior may change) in the next major release. Please use the layer.getData() method instead.

    List of all changes

    See below for a complete list of features and fixes.

    • Update ol-mapbox-style for rich text labels support (by @ahocevar in https://github.com/openlayers/openlayers/pull/13418)
    • Increase GeoTIFF resolutions tolerance (by @ahocevar in https://github.com/openlayers/openlayers/pull/13417)
    • Check for graticule resolution change and fix unrotated size (by @mike-000 in https://github.com/openlayers/openlayers/pull/13415)
    • Rich text labels (by @ahocevar in https://github.com/openlayers/openlayers/pull/13410)
    • Clear image when source's image is not ready (by @yonda-yonda in https://github.com/openlayers/openlayers/pull/13398)
    • Fix setting View resolution or center to undefined (by @MoonE in https://github.com/openlayers/openlayers/pull/13393)
    • Fix clone of icon loses imgSize when cache is full (by @MoonE in https://github.com/openlayers/openlayers/pull/13390)
    • Use same clipping method for vector and image tiles (by @ahocevar in https://github.com/openlayers/openlayers/pull/13392)
    • Less clipping of target resolution tiles (by @ahocevar in https://github.com/openlayers/openlayers/pull/13391)
    • Change remaining links to point to class page instead of module (by @MoonE in https://github.com/openlayers/openlayers/pull/13385)
    • User projection API (by @ahocevar in https://github.com/openlayers/openlayers/pull/13383)
    • Fix wrong types when using "skipLibCheck": false (by @seravifer in https://github.com/openlayers/openlayers/pull/13382)
    • Fix JsDoc references (by @MoonE in https://github.com/openlayers/openlayers/pull/13374)
    • Fix VectorSource isEmpty without spatial index (by @MoonE in https://github.com/openlayers/openlayers/pull/13373)
    • Document difference between Vector and VectorImage layers (by @ahocevar in https://github.com/openlayers/openlayers/pull/13371)
    • Fix ol/source/Cluster#setSource type annotation (by @MoonE in https://github.com/openlayers/openlayers/pull/12998)
    • Preload tiles for WebGL tile layers (by @tschaub in https://github.com/openlayers/openlayers/pull/13357)
    • Avoid event creation when there are no listeners (by @MoonE in https://github.com/openlayers/openlayers/pull/13358)
    • Add floor, round and ceil to style expressions (by @mike-000 in https://github.com/openlayers/openlayers/pull/13363)
    • Support WebGL layers in ol/source/Raster (by @mike-000 in https://github.com/openlayers/openlayers/pull/13361)
    • Improve some null types to prepare for strictNullChecks (by @EvertEt in https://github.com/openlayers/openlayers/pull/13301)
    • Reset globalAlpha back to its initial after mutating it for drawing layers (by @Amirh0sseinHZ in https://github.com/openlayers/openlayers/pull/13351)
    • Removing an unnecessary word from DEVELOPING.md (by @Amirh0sseinHZ in https://github.com/openlayers/openlayers/pull/13352)
    • Get pixel data (by @tschaub in https://github.com/openlayers/openlayers/pull/13338)
    • Remove warning for @type annotation by jsdoc (by @MoonE in https://github.com/openlayers/openlayers/pull/13350)
    • Improve some null types for strictNullChecks (by @EvertEt in https://github.com/openlayers/openlayers/pull/13334)
    • Dispose of webgl contexts (by @MoonE in https://github.com/openlayers/openlayers/pull/13336)
    • Fix error when accessing ready property of renderer (by @MoonE in https://github.com/openlayers/openlayers/pull/13337)
    • Pass tilePixelRatio and gutter to TileTexture (by @mike-000 in https://github.com/openlayers/openlayers/pull/13269)
    • Improve some nullable map types (by @EvertEt in https://github.com/openlayers/openlayers/pull/13328)
    • Avoid rendering outside WebGL layer and source extent (by @tschaub in https://github.com/openlayers/openlayers/pull/13333)
    • Avoid duplicate imports (by @tschaub in https://github.com/openlayers/openlayers/pull/13332)
    • Add updateStyleVariables method to WebGLPoints layer (by @ahocevar in https://github.com/openlayers/openlayers/pull/13294)
    • Fix rendercomplete for WebGLPoints layer and subclasses (by @ahocevar in https://github.com/openlayers/openlayers/pull/13323)
    • fix: fix casing for z-index (by @OSHistory in https://github.com/openlayers/openlayers/pull/13319)
    • Fix typo CSS class name for the expanded attributions button (by @fredj in https://github.com/openlayers/openlayers/pull/13315)
    • Improve types for tile layers (by @ahocevar in https://github.com/openlayers/openlayers/pull/13299)
    • Document geometry type (by @ahocevar in https://github.com/openlayers/openlayers/pull/13298)
    • Add function to convert RenderFeature to Feature (by @MoonE in https://github.com/openlayers/openlayers/pull/13297)
    • Update to geotiff@2 (by @ahocevar in https://github.com/openlayers/openlayers/pull/13292)
    • Re-assign style variables on setStyle() (by @ahocevar in https://github.com/openlayers/openlayers/pull/13293)
    • add @api comment on getAllLayers method (by @XiaofengZeng in https://github.com/openlayers/openlayers/pull/13261)
    • Allowing to pass additional options to the geotiff.js source (by @constantinius in https://github.com/openlayers/openlayers/pull/13290)
    • Defaults for generic types (by @ahocevar in https://github.com/openlayers/openlayers/pull/13291)
    • Load api navigation dynamically to reduce needed disk space (by @MoonE in https://github.com/openlayers/openlayers/pull/13229)
    • Remove unneeded src="" (by @mike-000 in https://github.com/openlayers/openlayers/pull/13271)
    • Support multiple sources for WebGL tile layers (by @ahocevar in https://github.com/openlayers/openlayers/pull/13212)
    • Add crossOrigin option to LiteralSymbolStyle (by @mike-000 in https://github.com/openlayers/openlayers/pull/13259)
    • Avoid the redirect from unpkg.com (by @tschaub in https://github.com/openlayers/openlayers/pull/13242)
    • Updates for the 6.12.0 release (by @openlayers in https://github.com/openlayers/openlayers/pull/13241)
    Dependency Updates
    • Bump express from 4.17.2 to 4.17.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13402)
    • Bump puppeteer from 13.3.1 to 13.3.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13401)
    • Bump mocha from 9.2.0 to 9.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13403)
    • Bump webpack from 5.68.0 to 5.69.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13404)
    • Bump ol-mapbox-style from 6.8.3 to 6.9.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13406)
    • Bump rollup from 2.67.1 to 2.67.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13405)
    • Bump @babel/core from 7.17.2 to 7.17.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/13407)
    • Bump @babel/core from 7.17.0 to 7.17.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13381)
    • Bump karma from 6.3.15 to 6.3.16 (by @openlayers in https://github.com/openlayers/openlayers/pull/13379)
    • Bump eslint from 8.8.0 to 8.9.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13377)
    • Bump puppeteer from 13.1.3 to 13.3.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13376)
    • Bump follow-redirects from 1.14.7 to 1.14.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/13372)
    • Bump geotiff from 2.0.3 to 2.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13339)
    • Bump globby from 13.1.0 to 13.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13340)
    • Bump rollup from 2.66.1 to 2.67.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13342)
    • Bump @babel/core from 7.16.12 to 7.17.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13343)
    • Bump karma from 6.3.12 to 6.3.15 (by @openlayers in https://github.com/openlayers/openlayers/pull/13344)
    • Bump webpack from 5.67.0 to 5.68.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13345)
    • Bump webpack-dev-server from 4.7.3 to 4.7.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13346)
    • Bump sinon from 13.0.0 to 13.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13348)
    • Bump rollup from 2.66.0 to 2.66.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13318)
    • Bump karma from 6.3.11 to 6.3.12 (by @openlayers in https://github.com/openlayers/openlayers/pull/13314)
    • Bump geotiff from 2.0.2 to 2.0.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13313)
    • Bump puppeteer from 13.1.1 to 13.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13317)
    • Bump sinon from 12.0.1 to 13.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13316)
    • Bump jsdoc from 3.6.9 to 3.6.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13312)
    • Bump copy-webpack-plugin from 10.2.1 to 10.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13311)
    • Bump clean-css-cli from 5.5.0 to 5.5.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13310)
    • Bump eslint from 8.7.0 to 8.8.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13309)
    • Bump webpack-cli from 4.9.1 to 4.9.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13305)
    • Bump globby from 13.0.0 to 13.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13308)
    • Bump marked from 4.0.10 to 4.0.12 (by @openlayers in https://github.com/openlayers/openlayers/pull/13307)
    • Use exactly [email protected] (by @openlayers in https://github.com/openlayers/openlayers/pull/13306)
    • Bump globby from 12.2.0 to 13.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13281)
    • Bump @babel/core from 7.16.7 to 7.16.12 (by @openlayers in https://github.com/openlayers/openlayers/pull/13278)
    • Bump webpack from 5.66.0 to 5.67.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13277)
    • Bump puppeteer from 13.0.1 to 13.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13280)
    • Bump rollup from 2.64.0 to 2.66.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13279)
    • Bump @babel/preset-env from 7.16.8 to 7.16.11 (by @openlayers in https://github.com/openlayers/openlayers/pull/13276)
    • Bump copy-webpack-plugin from 10.2.0 to 10.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/13275)
    • Bump jsdoc from 3.6.7 to 3.6.9 (by @openlayers in https://github.com/openlayers/openlayers/pull/13274)
    • Bump ol-mapbox-style from 6.8.2 to 6.8.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13273)
    • Bump mocha from 9.1.4 to 9.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13272)
    • Bump eslint from 8.6.0 to 8.7.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13246)
    • Bump mocha from 9.1.3 to 9.1.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13247)
    • Bump webpack-sources from 3.2.2 to 3.2.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13248)
    • Bump webpack from 5.65.0 to 5.66.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13249)
    • Bump globby from 12.0.2 to 12.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13250)
    • Bump @babel/preset-env from 7.16.7 to 7.16.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/13251)
    • Bump rollup from 2.63.0 to 2.64.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13252)
    • Bump karma from 6.3.10 to 6.3.11 (by @openlayers in https://github.com/openlayers/openlayers/pull/13253)
    • Bump marked from 4.0.9 to 4.0.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13243)

    New Contributors

    • @constantinius made their first contribution in https://github.com/openlayers/openlayers/pull/13290
    • @XiaofengZeng made their first contribution in https://github.com/openlayers/openlayers/pull/13261
    • @Amirh0sseinHZ made their first contribution in https://github.com/openlayers/openlayers/pull/13352
    • @seravifer made their first contribution in https://github.com/openlayers/openlayers/pull/13382
    • @yonda-yonda made their first contribution in https://github.com/openlayers/openlayers/pull/13398

    Full Changelog: https://github.com/openlayers/openlayers/compare/v6.12.0...v6.13.0

    Source code(tar.gz)
    Source code(zip)
    v6.13.0-dist.zip(848.13 KB)
    v6.13.0.zip(12.42 MB)
  • v6.12.0(Jan 14, 2022)

    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 https://github.com/openlayers/openlayers/pull/13240)
    • Re-enable image smoothing after rendering (by @mike-000 in https://github.com/openlayers/openlayers/pull/13236)
    • Describe use of className with declutter (by @mike-000 in https://github.com/openlayers/openlayers/pull/13237)
    • added run to npm command (by @lklepner in https://github.com/openlayers/openlayers/pull/13231)
    • Document how to link package during development (by @lklepner in https://github.com/openlayers/openlayers/pull/13228)
    • Default CORS mode for WebGL rendered sources (by @tschaub in https://github.com/openlayers/openlayers/pull/13227)
    • Support the wrapX option for WebGL rendered tile sources (by @tschaub in https://github.com/openlayers/openlayers/pull/13226)
    • Update ol-mapbox-style (by @tschaub in https://github.com/openlayers/openlayers/pull/13224)
    • Do not fire modifyend event when nothing was modified (by @ahocevar in https://github.com/openlayers/openlayers/pull/13219)
    • Draw VectorTiles with interpolate in hybrid mode again (by @M393 in https://github.com/openlayers/openlayers/pull/13221)
    • Fix some typos in ModifyInteraction documentation (by @EvertEt in https://github.com/openlayers/openlayers/pull/13216)
    • Fix MVT incorrect feature data handling (by @EvertEt in https://github.com/openlayers/openlayers/pull/13217)
    • Format the changelog so contributors can be highlighted (by @tschaub in https://github.com/openlayers/openlayers/pull/13205)
    Dependency Updates
    • Bump karma from 6.3.9 to 6.3.10 (by @openlayers in https://github.com/openlayers/openlayers/pull/13209)
    • Bump shx from 0.3.3 to 0.3.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13211)
    • Bump @rollup/plugin-node-resolve from 13.1.2 to 13.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/13210)
    • Bump rollup from 2.62.0 to 2.63.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13208)
    • Bump marked from 4.0.8 to 4.0.9 (by @openlayers in https://github.com/openlayers/openlayers/pull/13207)

    New Contributors

    • @lklepner made their first contribution in https://github.com/openlayers/openlayers/pull/13228

    Full Changelog: https://github.com/openlayers/openlayers/compare/v6.11.0...v6.12.0

    Source code(tar.gz)
    Source code(zip)
    v6.12.0-dist.zip(1.32 MB)
    v6.12.0.zip(27.17 MB)
  • v6.11.0(Jan 9, 2022)

    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 https://github.com/openlayers/openlayers/pull/13195)
    • Use interpolate option in Sea Level example (by @mike-000 in https://github.com/openlayers/openlayers/pull/13200)
    • Fix typo in example description (by @mike-000 in https://github.com/openlayers/openlayers/pull/13201)
    • Use ecoregions data (by @tschaub in https://github.com/openlayers/openlayers/pull/13177)
    • Avoid failure if existing target has no background color (by @tschaub in https://github.com/openlayers/openlayers/pull/13198)
    • Add getDataAtPixel() method for WebGL (by @mike-000 in https://github.com/openlayers/openlayers/pull/13186)
    • typo fix for cog-stretch example (by @bradh in https://github.com/openlayers/openlayers/pull/13196)
    • Fix base vector layer template generics (by @ahocevar in https://github.com/openlayers/openlayers/pull/13190)
    • Always use ES modules from geotiff.js (by @ahocevar in https://github.com/openlayers/openlayers/pull/13180)
    • Use Buffer and data uri when Blob is not available (by @ahocevar in https://github.com/openlayers/openlayers/pull/13179)
    • Use background property for vector layers (by @tschaub in https://github.com/openlayers/openlayers/pull/13178)
    • Allow nodejs 12 to build the examples again (by @MoonE in https://github.com/openlayers/openlayers/pull/13175)
    • Add attributions and attributionsCollapsible options to ol/source/DataTile (by @mike-000 in https://github.com/openlayers/openlayers/pull/13176)
    • Correct scale bar in EPSG:4326 (by @mike-000 in https://github.com/openlayers/openlayers/pull/13171)
    Dependency Updates
    • Bump eslint from 8.5.0 to 8.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/13182)
    • Bump @rollup/plugin-node-resolve from 13.1.1 to 13.1.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13184)
    • Bump @babel/core from 7.16.5 to 7.16.7 (by @openlayers in https://github.com/openlayers/openlayers/pull/13183)
    • Bump webpack-dev-server from 4.7.1 to 4.7.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/13185)
    • Bump @babel/preset-env from 7.16.5 to 7.16.7 (by @openlayers in https://github.com/openlayers/openlayers/pull/13181)

    New Contributors

    • @bradh made their first contribution in https://github.com/openlayers/openlayers/pull/13196

    Full Changelog: https://github.com/openlayers/openlayers/compare/v6.10.0...v6.11.0

    Source code(tar.gz)
    Source code(zip)
    v6.11.0-dist.zip(1.31 MB)
    v6.11.0.zip(27.17 MB)
  • v6.10.0(Dec 28, 2021)

    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.

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.10.0-dist.zip(1.31 MB)
    v6.10.0.zip(27.34 MB)
  • v6.9.0(Oct 12, 2021)

    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
    Source code(tar.gz)
    Source code(zip)
    v6.9.0-dist.zip(1.30 MB)
    v6.9.0.zip(27.00 MB)
  • v6.8.1(Sep 25, 2021)

  • v6.8.0(Sep 24, 2021)

    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
    Source code(tar.gz)
    Source code(zip)
    v6.8.0-dist.zip(1.30 MB)
    v6.8.0.zip(26.97 MB)
  • v6.7.0(Sep 9, 2021)

    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
    Source code(tar.gz)
    Source code(zip)
    v6.7.0-dist.zip(1.65 MB)
    v6.7.0.zip(27.10 MB)
  • v6.6.1(Jul 15, 2021)

    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
    Source code(tar.gz)
    Source code(zip)
    v6.6.1-dist.zip(1.21 MB)
    v6.6.1.zip(25.05 MB)
  • v6.6.0(Jul 11, 2021)

    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

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.6.0-dist.zip(1.21 MB)
    v6.6.0.zip(25.05 MB)
  • v6.5.0(Dec 27, 2020)

    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

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.5.0-dist.zip(1.21 MB)
    v6.5.0.zip(25.02 MB)
  • v6.4.3(Aug 3, 2020)

    This is a bugfix release which fixes a performance regression, a rendering issue, and adds improvements to a few examples.

    See the v6.4.0 release notes for a complete list of changes and upgrade notes when upgrading from v6.3.x.

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.4.3-dist.zip(1.16 MB)
    v6.4.3.zip(24.28 MB)
  • v6.4.2(Jul 30, 2020)

    This is a bugfix release which removes a few regressions that were introduced by v6.4.0, and fixes a few issues in examples.

    See the v6.4.0 release notes for a complete list of changes and upgrade notes when upgrading from v6.3.x.

    List of all changes

    Source code(tar.gz)
    Source code(zip)
    v6.4.2-dist.zip(1.16 MB)
    v6.4.2.zip(24.28 MB)
  • v6.4.1(Jul 29, 2020)

    6.4.1

    This is a bugfix release which removes a few regressions that were introduced by v6.4.0, and fixes a few issues in examples caused by the website facelift.

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.4.1-dist.zip(1.16 MB)
    v6.4.1.zip(24.29 MB)
  • v6.4.0(Jul 26, 2020)

    With more than 120 pull requests, this release brings a facelift of the website, as well as many bug fixes and several exciting new features.

    Upgrade notes

    Pointer events polyfill removed

    Now that all major browsers support Pointer events natively, we removed the elm-pep dependency. If you are targeting older browsers that do not support Pointer events, you now need to include a pointer events polyfill (elm-pep or pepjs) in your application.

    New features and improvements

    • Several event handling fixes and improvements for seamless integration into scrollable web pages and improved support for maps in web components.
    • Map interactions work again when ol.css is not included in the build.
    • More stable map views with decluttered labels during panning.
    • Image smoothing can be disabled, so raster cells can have sharp edges in image layers now.
    • Better cache management for tile layers.
    • Retina/HiDPI support for regular shape and svg icon styles.

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.4.0-dist.zip(1.40 MB)
    v6.4.0.zip(24.56 MB)
  • v6.3.1(Apr 6, 2020)

  • v6.3.0(Apr 2, 2020)

    With more than 70 pull requests, this release not only brings significant improvements to the API documentation. It also fixes some old bugs and brings frequently requested improvements. And good news for TypeScript users: OpenLayers now ships with type definitions in .d.ts files.

    New features and improvements

    • Several improvements to the Graticule layer, like consistent labeling, no more missing graticule lines, and it now works for views that cross the date line.
    • Better support for KML icon colors, as well as fills and outlines in PolyStyle
    • Better ol/Overlay performance and support for panning off-screen overlays into view
    • Most of the rendering code can now be run in web workers, e.g. to render to an OffscreenCanvas
    • OpenLayers now works fine in web components with shadow root
    • WebGL point layers now support rotation based on feature attributes

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.3.0-dist.zip(909.36 KB)
    v6.3.0.zip(23.24 MB)
  • v6.2.1(Feb 13, 2020)

    This is a bugfix release which resolves bundler issues due to a circular dependency, and brings a few documentation and example fixes.

    List of all changes

    Source code(tar.gz)
    Source code(zip)
    v6.2.1-dist.zip(897.60 KB)
    v6.2.1.zip(25.74 MB)
  • v6.2.0(Feb 11, 2020)

    With almost 90 pull requests, this release brings several new features, performance improvements and bug fixes. In addition to that, we once again improved the API documentation and the example pages.

    New features and improvements

    • Mousewheel zooming now brings the same user experience as trackpad zooming. One click on the wheel no longer means a jump of a whole zoom level. Instead, depending on the speed of moving the wheel, the user has fine-grained control over zoom increments/decrements.
    • Users now have better control over the initial map viewport when the aspect ratio of the map is different from a specified initial extent.
    • Text rendering has been optimized for decluttering and improved for rotated views. This means lower memory footprint and no more blurry text when the map is rotated. Note: Whit this change, the label cache has been deprecated.
    • A new displacement option for icon, circle and regular shape styles makes positioning of point symbolizers more flexible.
    • Several improvements have been made to the KML parser for reading styles, bringing the rendered result much closer to Google Earth.
    • OpenLayers is now less aggressive on stopping events and preventing event default behavior. This means that users have more control over events, making it easier to use interactive SVGs as layers and to embed maps on scrollable pages.
    • Vector tile layers now have a vector render mode, which brings improved zooming experience for sources with not too much data.
    • We replaced the previous pointer events polyfill to elm-pep, which should work better in web components.

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.2.0-dist.zip(897.88 KB)
    v6.2.0.zip(27.13 MB)
  • v6.1.1(Nov 4, 2019)

    6.1.1

    Hot on the heels of OpenLayers 6.x, this patch release includes a few fixes for existing functionality. There should be nothing special needed to upgrade an application from 6.x to 6.1.1. See the 6.0.0 release notes for details on upgrading from an older version.

    Changes

    Source code(tar.gz)
    Source code(zip)
    v6.1.1-dist.zip(913.46 KB)
    v6.1.1.zip(26.79 MB)
  • v6.1.0(Oct 28, 2019)

    With 47 pull requests, this release keeps up the momentum of the v6.x effort and brings several bug fixes, performance improvements and new features. In addition to that, we added some missing documentation to our API docs and gave them some usability improvements.

    New features

    • A new, performance optimized hit detection API on the layer level, Layer#getFeatures(pixel) has been introduced. At this point it is implemented for vector, vector tile and image vector layers, and is recommended when performance is critical, e.g. for hit detection on mouseover.
    • For the WebGLPoints layer, we made several additions to the style expressions system. This includes a case operator, support for array and string types, and type checking.

    List of all changes

    Dependency Updates
    Source code(tar.gz)
    Source code(zip)
    v6.1.0-dist.zip(913.53 KB)
    v6.1.0.zip(26.79 MB)
Lightweight GIS toolbar developed for OpenLayers

OpenLayers Toolbar - OLTB Lightweight GIS toolbar developed for OpenLayers 6.13.0. The toolbar can be filled with any number of tools and can be used

Daniel 15 Dec 12, 2022