diff --git a/.github/codeql/config.yml b/.github/codeql/config.yml new file mode 100644 index 0000000000..1402d55d8b --- /dev/null +++ b/.github/codeql/config.yml @@ -0,0 +1,4 @@ +name: "OpenLayers CodeQL Config" + +paths: + - src diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000000..8686dd62a3 --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,40 @@ +name: "Security Scan" + +on: + push: + branches: + - main + pull_request: + branches: + - main + schedule: + - cron: '0 0 * * 0' # At 00:00 on Sunday + +jobs: + codeql: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + # Must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head of the pull request. + # Only include this option if you are running this workflow on pull requests. + fetch-depth: 2 + + # If this run was triggered by a pull request event then checkout + # the head of the pull request instead of the merge commit. + # Only include this step if you are running this workflow on pull requests. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: javascript + config-file: ./.github/codeql/config.yml + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a29b692030..e91b51831b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Thanks for your interest in contributing to OpenLayers. Please see the project' ## Asking Questions -Please ask questions about using the library on [Stack Overflow using the tag 'openlayers'](http://stackoverflow.com/questions/tagged/openlayers). +Please ask questions about using the library on [Stack Overflow using the tag 'openlayers'](https://stackoverflow.com/questions/tagged/openlayers). When you want to get involved and discuss new features or changes, please use [the mailing list](https://groups.google.com/forum/#!forum/openlayers-dev). @@ -68,12 +68,12 @@ easily-understandable chunks. Any individual commit should not add more than one new class or one new function. Do not submit commits that change thousands of lines or that contain more than one distinct logical change. Trivial commits, e.g. to fix lint errors, should be merged into the commit that -introduced the error. See the [Atomic Commit Convention on Wikipedia](http://en.wikipedia.org/wiki/Atomic_commit#Atomic_Commit_Convention) for more detail. +introduced the error. See the [Atomic Commit Convention on Wikipedia](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_Commit_Convention) for more detail. `git apply --patch` and `git rebase` can help you create a clean commit history. -[Reviewboard.org](http://www.reviewboard.org/docs/codebase/dev/git/clean-commits/) -and [Pro GIT](http://git-scm.com/book/en/Git-Tools-Rewriting-History) have +[Reviewboard.org](https://www.reviewboard.org/docs/codebase/dev/git/clean-commits/) +and [Pro GIT](https://git-scm.com/book/en/Git-Tools-Rewriting-History) have explain how to use them. @@ -81,7 +81,7 @@ explain how to use them. Commit messages should be short, begin with a verb in the imperative, and contain no trailing punctuation. We follow -http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html +https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html for the formatting of commit messages. Git commit message should look like: diff --git a/DEVELOPING.md b/DEVELOPING.md index 82bc72557c..3718bc71d1 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -10,7 +10,7 @@ You will obviously start by The minimum requirements are: * Git -* [Node.js](http://nodejs.org/) (version 8 and above) +* [Node.js](https://nodejs.org/) (version 8 and above) The executables `git` and `node` should be in your `PATH`. diff --git a/README.md b/README.md index c2d5861182..48f96b6dba 100644 --- a/README.md +++ b/README.md @@ -108,14 +108,17 @@ TypeScript users may want to use a [third-party types package](https://github.co ## Supported Browsers -OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. +OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](https://262.ecma-international.org/5.1/). 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: -* [`requestAnimationFrame`](https://caniuse.com/#feat=requestanimationframe): Available from [polyfill.io](https://polyfill.io/). -* [`element.prototype.classList` (`add`/`remove`)](https://caniuse.com/#feat=classlist): Available from [polyfill.io](https://polyfill.io/). -* [`URL` API](https://caniuse.com/#feat=url): Available from [polyfill.io](https://polyfill.io/). -* [Pointer events](https://caniuse.com/#feat=pointer): Use [elm-pep](https://npmjs.com/package/elm-pep) (lightweight) or [@openlayers/pepjs](https://npmjs.com/package/pepjs) (for really, really old browsers). +* [`fetch`](https://caniuse.com/fetch): Available from [polyfill.io](https://polyfill.io/). +* [`requestAnimationFrame`](https://caniuse.com/requestanimationframe): Available from [polyfill.io](https://polyfill.io/). +* [`element.prototype.classList` (`add`/`remove`)](https://caniuse.com/classlist): Available from [polyfill.io](https://polyfill.io/). +* [`URL` API](https://caniuse.com/url): Available from [polyfill.io](https://polyfill.io/). +* [`TextDecoder`](https://caniuse.com/textencoder): Available from [polyfill.io](https://polyfill.io/). +* [`Number.isInteger`](https://caniuse.com/isInteger): Available from [polyfill.io](https://polyfill.io/). +* [Pointer events](https://caniuse.com/pointer): Use [elm-pep](https://npmjs.com/package/elm-pep) (lightweight) or [pepjs](https://npmjs.com/package/pepjs) (for really, really old browsers). ## Documentation @@ -131,7 +134,7 @@ Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in ## Community -- Need help? Find it on [Stack Overflow using the tag 'openlayers'](http://stackoverflow.com/questions/tagged/openlayers) +- Need help? Find it on [Stack Overflow using the tag 'openlayers'](https://stackoverflow.com/questions/tagged/openlayers) - Follow [@openlayers](https://twitter.com/openlayers) on Twitter ![Test Status](https://github.com/openlayers/openlayers/workflows/Test/badge.svg) diff --git a/changelog/upgrade-notes.md b/changelog/upgrade-notes.md index 1766664c5f..d6b37c7815 100644 --- a/changelog/upgrade-notes.md +++ b/changelog/upgrade-notes.md @@ -1,5 +1,26 @@ ## Upgrade notes +### Next version + +#### 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. + +### v6.5.0 + +#### 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 +```js +{ hitTolerance: 10 / devicePixelRatio, } +``` +you'll have to change that code to +```js +{ hitTolerance: 10, } +``` + ### v6.4.0 #### Pointer events polyfill removed diff --git a/changelog/v6.4.1 b/changelog/v6.4.1.md similarity index 100% rename from changelog/v6.4.1 rename to changelog/v6.4.1.md diff --git a/changelog/v6.5.0.md b/changelog/v6.5.0.md new file mode 100644 index 0000000000..f24a4ac0c2 --- /dev/null +++ b/changelog/v6.5.0.md @@ -0,0 +1,279 @@ +# 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 +```js +{ hitTolerance: 10 / devicePixelRatio, } +``` +you'll have to change that code to +```js +{ 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 + + * [#11859](https://github.com/openlayers/openlayers/pull/11859) - Do not fire duplicate postrender events ([@MoonE](https://github.com/MoonE)) + * [#11858](https://github.com/openlayers/openlayers/pull/11858) - Correct documented event names for VectorSourceEvent ([@MoonE](https://github.com/MoonE)) + * [#11844](https://github.com/openlayers/openlayers/pull/11844) - Fix Style expressions error message ([@MoonE](https://github.com/MoonE)) + * [#11838](https://github.com/openlayers/openlayers/pull/11838) - Custom circle render ([@changqingom](https://github.com/changqingom)) + * [#11811](https://github.com/openlayers/openlayers/pull/11811) - Better getPointResolution default when no transform available ([@mike-000](https://github.com/mike-000)) + * [#11821](https://github.com/openlayers/openlayers/pull/11821) - Call the finishCondition when drawing points / circles ([@MoonE](https://github.com/MoonE)) + * [#11824](https://github.com/openlayers/openlayers/pull/11824) - Add Units back to API docs ([@ahocevar](https://github.com/ahocevar)) + * [#11817](https://github.com/openlayers/openlayers/pull/11817) - stopPropagation support for PluggableMap ([@greggian](https://github.com/greggian)) + * [#11815](https://github.com/openlayers/openlayers/pull/11815) - Remove unnecessary line that breaks drawing with multi-touch ([@ahocevar](https://github.com/ahocevar)) + * [#11800](https://github.com/openlayers/openlayers/pull/11800) - Fix removeLastPoint when removing last point ([@ahocevar](https://github.com/ahocevar)) + * [#11769](https://github.com/openlayers/openlayers/pull/11769) - Modify interaction developer experience improvements ([@ahocevar](https://github.com/ahocevar)) + * [#11803](https://github.com/openlayers/openlayers/pull/11803) - Modify fix vertex insertion ([@MoonE](https://github.com/MoonE)) + * [#11783](https://github.com/openlayers/openlayers/pull/11783) - Cache hit detect indexes and check closest pixels first. ([@MoonE](https://github.com/MoonE)) + * [#11791](https://github.com/openlayers/openlayers/pull/11791) - Now that pepjs was updated, we can point to the official package ([@ahocevar](https://github.com/ahocevar)) + * [#11790](https://github.com/openlayers/openlayers/pull/11790) - Fix attributions links for WMS layers from swisstopo ([@openlayers](https://github.com/openlayers)) + * [#11781](https://github.com/openlayers/openlayers/pull/11781) - Pass geometry to forEachFeatureAtPixel callback ([@ahocevar](https://github.com/ahocevar)) + * [#11778](https://github.com/openlayers/openlayers/pull/11778) - No need to adjust hitTolerance for pixel ratio twice ([@ahocevar](https://github.com/ahocevar)) + * [#11780](https://github.com/openlayers/openlayers/pull/11780) - Add a cancel event to the DragBox interaction ([@M393](https://github.com/M393)) + * [#11779](https://github.com/openlayers/openlayers/pull/11779) - Restore Mode.CIRCLE in Draw interaction ([@mike-000](https://github.com/mike-000)) + * [#11753](https://github.com/openlayers/openlayers/pull/11753) - Use Mode.LINE_STRING in Draw interaction for Circle geometries ([@mike-000](https://github.com/mike-000)) + * [#11767](https://github.com/openlayers/openlayers/pull/11767) - Improve documentation of geometry rotation ([@mike-000](https://github.com/mike-000)) + * [#11755](https://github.com/openlayers/openlayers/pull/11755) - Add padding option for View ([@ahocevar](https://github.com/ahocevar)) + * [#11754](https://github.com/openlayers/openlayers/pull/11754) - Fix typo that prevents Rotate icon from indicating the view rotation ([@ahocevar](https://github.com/ahocevar)) + * [#11719](https://github.com/openlayers/openlayers/pull/11719) - Clamp EPSG:3857 y to lowest/highest possible value instead of validity extent ([@ahocevar](https://github.com/ahocevar)) + * [#11737](https://github.com/openlayers/openlayers/pull/11737) - Write the correct SRS code in EsriJSON ([@ahocevar](https://github.com/ahocevar)) + * [#11749](https://github.com/openlayers/openlayers/pull/11749) - Document that snapTolerance must be greater than 0 ([@ahocevar](https://github.com/ahocevar)) + * [#11750](https://github.com/openlayers/openlayers/pull/11750) - Update TMS tileUrlFunction example in ol/source/XYZ documentation ([@mike-000](https://github.com/mike-000)) + * [#11739](https://github.com/openlayers/openlayers/pull/11739) - Fix: Check for layer extent in CanvasLayerRenderer.getDataAtPixel ([@boeckMt](https://github.com/boeckMt)) + * [#11748](https://github.com/openlayers/openlayers/pull/11748) - Add fetch and TextDecoder to polyfill list in README ([@mike-000](https://github.com/mike-000)) + * [#11740](https://github.com/openlayers/openlayers/pull/11740) - Wfs bbox per feature type ([@ger-benjamin](https://github.com/ger-benjamin)) + * [#11722](https://github.com/openlayers/openlayers/pull/11722) - Correct meaning of 'start' and 'end' text align for LTR text ([@ahocevar](https://github.com/ahocevar)) + * [#11741](https://github.com/openlayers/openlayers/pull/11741) - Include LICENSE.md in built package ([@bz2](https://github.com/bz2)) + * [#11718](https://github.com/openlayers/openlayers/pull/11718) - Initialize sketch point on Draw#extend() ([@ahocevar](https://github.com/ahocevar)) + * [#11732](https://github.com/openlayers/openlayers/pull/11732) - Replace readURI with readStyleURL for KML StyleURLs ([@mike-000](https://github.com/mike-000)) + * [#11723](https://github.com/openlayers/openlayers/pull/11723) - Drag and Drop Interaction support for formats that read ArrayBuffer sources ([@mike-000](https://github.com/mike-000)) + * [#11724](https://github.com/openlayers/openlayers/pull/11724) - Add transition option to OSM and CartoDB sources, document default ([@MoonE](https://github.com/MoonE)) + * [#11721](https://github.com/openlayers/openlayers/pull/11721) - Handle empty Z coordinates in KML ([@mike-000](https://github.com/mike-000)) + * [#11587](https://github.com/openlayers/openlayers/pull/11587) - Determine orientation by actual text start and end x ([@MoonE](https://github.com/MoonE)) + * [#11720](https://github.com/openlayers/openlayers/pull/11720) - Return to simpler and less efficient winding order algorithm ([@ahocevar](https://github.com/ahocevar)) + * [#11715](https://github.com/openlayers/openlayers/pull/11715) - Add all symbols to the legacy build ([@ahocevar](https://github.com/ahocevar)) + * [#11716](https://github.com/openlayers/openlayers/pull/11716) - Treat svg as binary resource ([@mike-000](https://github.com/mike-000)) + * [#11698](https://github.com/openlayers/openlayers/pull/11698) - Draw pointer improvements ([@ahocevar](https://github.com/ahocevar)) + * [#11490](https://github.com/openlayers/openlayers/pull/11490) - iconUrlFunction option for ol/format/KML ([@mike-000](https://github.com/mike-000)) + * [#11628](https://github.com/openlayers/openlayers/pull/11628) - VectorSource load events ([@simonseyock](https://github.com/simonseyock)) + * [#11691](https://github.com/openlayers/openlayers/pull/11691) - Use Parcel v2 in copy/paste example code ([@ahocevar](https://github.com/ahocevar)) + * [#11673](https://github.com/openlayers/openlayers/pull/11673) - Do not emulate dblclick and slingleclick on multi-touch ([@ahocevar](https://github.com/ahocevar)) + * [#11676](https://github.com/openlayers/openlayers/pull/11676) - Fix countries.geojson Antarctica polygon so it wraps correctly ([@mike-000](https://github.com/mike-000)) + * [#11646](https://github.com/openlayers/openlayers/pull/11646) - Ensure a unique tile key for each tile coordinate ([@ahocevar](https://github.com/ahocevar)) + * [#11655](https://github.com/openlayers/openlayers/pull/11655) - Fix documentation of image render mode for vector tile layers ([@ahocevar](https://github.com/ahocevar)) + * [#11668](https://github.com/openlayers/openlayers/pull/11668) - Don't try to get image data for zero sized images ([@tapioko](https://github.com/tapioko)) + * [#11648](https://github.com/openlayers/openlayers/pull/11648) - Dwithin filter ([@virtualcitySYSTEMS](https://github.com/virtualcitySYSTEMS)) + * [#11658](https://github.com/openlayers/openlayers/pull/11658) - Make webpack dev server run with current version ([@MoonE](https://github.com/MoonE)) + * [#11590](https://github.com/openlayers/openlayers/pull/11590) - Export all the Event sub class ([@sbrunner](https://github.com/sbrunner)) + * [#11594](https://github.com/openlayers/openlayers/pull/11594) - Display current OS copyright date in the Raster Reprojection example ([@mike-000](https://github.com/mike-000)) + * [#11657](https://github.com/openlayers/openlayers/pull/11657) - Use https to avoid security warnings ([@mike-000](https://github.com/mike-000)) + * [#11649](https://github.com/openlayers/openlayers/pull/11649) - Deal with undefined units from proj4 longlat projections ([@ahocevar](https://github.com/ahocevar)) + * [#11403](https://github.com/openlayers/openlayers/pull/11403) - #11402 add CSS class name support for control buttons ([@cazacugmihai](https://github.com/cazacugmihai)) + * [#11592](https://github.com/openlayers/openlayers/pull/11592) - New decluttering implementation ([@ahocevar](https://github.com/ahocevar)) + * [#11618](https://github.com/openlayers/openlayers/pull/11618) - Update the Marker Animation example ([@mike-000](https://github.com/mike-000)) + * [#11620](https://github.com/openlayers/openlayers/pull/11620) - Add charset to the examples html below the map ([@MoonE](https://github.com/MoonE)) + * [#11613](https://github.com/openlayers/openlayers/pull/11613) - Allow mouse input if map is rendered in an other window ([@elnabo](https://github.com/elnabo)) + * [#11597](https://github.com/openlayers/openlayers/pull/11597) - Improved performance when removing feature with only one Select ([@MoonE](https://github.com/MoonE)) + * [#11607](https://github.com/openlayers/openlayers/pull/11607) - Reset attributions control to collapsible when no uncollapsible sources are visible ([@mike-000](https://github.com/mike-000)) + * [#11609](https://github.com/openlayers/openlayers/pull/11609) - Modify interaction insert only one vertex ([@M393](https://github.com/M393)) + * [#11605](https://github.com/openlayers/openlayers/pull/11605) - Remove context references when releasing tiles ([@ahocevar](https://github.com/ahocevar)) + * [#11591](https://github.com/openlayers/openlayers/pull/11591) - Make permalink example less complex ([@kannes](https://github.com/kannes)) + * [#11569](https://github.com/openlayers/openlayers/pull/11569) - Fix binary data exports to codesandbox in examples ([@mike-000](https://github.com/mike-000)) + * [#11579](https://github.com/openlayers/openlayers/pull/11579) - Replace Animated GIF example globe gif ([@mike-000](https://github.com/mike-000)) + * [#11565](https://github.com/openlayers/openlayers/pull/11565) - Animated GIF example ([@mike-000](https://github.com/mike-000)) + * [#11571](https://github.com/openlayers/openlayers/pull/11571) - Replace countryflags.io with flagcdn.com in the Style Renderer example ([@mike-000](https://github.com/mike-000)) + * [#11568](https://github.com/openlayers/openlayers/pull/11568) - Fix raster source crash bug when using multiple threads ([@rgroothuijsen](https://github.com/rgroothuijsen)) + * [#11563](https://github.com/openlayers/openlayers/pull/11563) - Fix end world calculation if projection is not symmetric ([@MoonE](https://github.com/MoonE)) + * [#11561](https://github.com/openlayers/openlayers/pull/11561) - Constrain resolution when fit called without duration ([@M393](https://github.com/M393)) + * [#11559](https://github.com/openlayers/openlayers/pull/11559) - Only draw visible worlds ([@MoonE](https://github.com/MoonE)) + * [#11519](https://github.com/openlayers/openlayers/pull/11519) - Do not draw multipoints outside render extent ([@MoonE](https://github.com/MoonE)) + * [#11532](https://github.com/openlayers/openlayers/pull/11532) - Make TileGrid behave as documented with extent and sizes options ([@ahocevar](https://github.com/ahocevar)) + * [#11545](https://github.com/openlayers/openlayers/pull/11545) - Use the className param in ol.layer.Heatmap ([@fredj](https://github.com/fredj)) + * [#11548](https://github.com/openlayers/openlayers/pull/11548) - Bind tileUrlFunction before returning it from getTileUrlFunction ([@ahocevar](https://github.com/ahocevar)) + * [#11549](https://github.com/openlayers/openlayers/pull/11549) - Only use elementFromPoint with ShadowRoot ([@ahocevar](https://github.com/ahocevar)) + * [#11502](https://github.com/openlayers/openlayers/pull/11502) - Fix issue with WMS Capabilities containing a single layer ([@jbelien](https://github.com/jbelien)) + * [#11540](https://github.com/openlayers/openlayers/pull/11540) - Avoid unnecessary transform in the MVT format ([@gberaudo](https://github.com/gberaudo)) + * [#11537](https://github.com/openlayers/openlayers/pull/11537) - Add rotation and rotateWithView to ol/style/Circle clone method and options ([@mike-000](https://github.com/mike-000)) + * [#11543](https://github.com/openlayers/openlayers/pull/11543) - wmts matrixset null pointer fix and improved handling of Identifier ([@sweco-dkjesh](https://github.com/sweco-dkjesh)) + * [#11509](https://github.com/openlayers/openlayers/pull/11509) - Add urn:x-ogc:def:crs:EPSG:6.6:4326 as WGS84 proj identifier ([@fgravin](https://github.com/fgravin)) + * [#11521](https://github.com/openlayers/openlayers/pull/11521) - Do not use fractional pixel ratio for rendering vector tiles ([@ahocevar](https://github.com/ahocevar)) + * [#11517](https://github.com/openlayers/openlayers/pull/11517) - Make clockwise check work when coordinates are duplicated ([@ahocevar](https://github.com/ahocevar)) + * [#11501](https://github.com/openlayers/openlayers/pull/11501) - Empty this.canvas_ for all pixel ratios when render() is called ([@mike-000](https://github.com/mike-000)) + * [#11471](https://github.com/openlayers/openlayers/pull/11471) - Feature: added preRender and postRender methods to WebGLLayerRenderer… ([@MichaelLangbein](https://github.com/MichaelLangbein)) + * [#11491](https://github.com/openlayers/openlayers/pull/11491) - Cosmetic fix to doc (missing closing quote) ([@mike-000](https://github.com/mike-000)) + * [#11488](https://github.com/openlayers/openlayers/pull/11488) - "Layer Z-Index" example bugfix ([@michalzielanski](https://github.com/michalzielanski)) + * [#11486](https://github.com/openlayers/openlayers/pull/11486) - guard for null ([@davidiamaf](https://github.com/davidiamaf)) + * [#11481](https://github.com/openlayers/openlayers/pull/11481) - Adding original properties to cloned geometry ([@michalzielanski](https://github.com/michalzielanski)) + * [#11404](https://github.com/openlayers/openlayers/pull/11404) - Add security scan ([@tschaub](https://github.com/tschaub)) + * [#11470](https://github.com/openlayers/openlayers/pull/11470) - Fix pointer events polyfill link ([@ahocevar](https://github.com/ahocevar)) + * [#11467](https://github.com/openlayers/openlayers/pull/11467) - Style renderer example ([@ahocevar](https://github.com/ahocevar)) + * [#11455](https://github.com/openlayers/openlayers/pull/11455) - Apidoc improvements ([@MoonE](https://github.com/MoonE)) + * [#11474](https://github.com/openlayers/openlayers/pull/11474) - fix: modify rbush package import ([@haasz](https://github.com/haasz)) + * [#11472](https://github.com/openlayers/openlayers/pull/11472) - Typescript 4.0.2 ([@ahocevar](https://github.com/ahocevar)) + * [#11454](https://github.com/openlayers/openlayers/pull/11454) - VectorTile source projection has to match the view projection ([@ahocevar](https://github.com/ahocevar)) + * [#11438](https://github.com/openlayers/openlayers/pull/11438) - Better scroll behaviour for apidocs ([@MoonE](https://github.com/MoonE)) + * [#11446](https://github.com/openlayers/openlayers/pull/11446) - Checks before calling handleEvent on interactions ([@ahocevar](https://github.com/ahocevar)) + * [#11305](https://github.com/openlayers/openlayers/pull/11305) - PluggableMap: avoid crash when multiple interactions are removed ([@megawac](https://github.com/megawac)) + * [#11433](https://github.com/openlayers/openlayers/pull/11433) - Fix typo in module name ([@fredj](https://github.com/fredj)) + * [#11419](https://github.com/openlayers/openlayers/pull/11419) - WFS 2.0.0 support ([@bjornharrtell](https://github.com/bjornharrtell)) + * [#11418](https://github.com/openlayers/openlayers/pull/11418) - Icon color default to composite operation ([@MoonE](https://github.com/MoonE)) + * [#11416](https://github.com/openlayers/openlayers/pull/11416) - Examples add labels to inputs ([@MoonE](https://github.com/MoonE)) + * [#11417](https://github.com/openlayers/openlayers/pull/11417) - Fix sort order of examples search results ([@ahocevar](https://github.com/ahocevar)) + * [#11413](https://github.com/openlayers/openlayers/pull/11413) - Include scale option in RegularShape and Circle style constructors ([@mike-000](https://github.com/mike-000)) + * [#11401](https://github.com/openlayers/openlayers/pull/11401) - Ensure image extent is valid when scale is negative ([@mike-000](https://github.com/mike-000)) + * [#11395](https://github.com/openlayers/openlayers/pull/11395) - Correct inchesPerMeter and add tests for ScaleBar text ([@mike-000](https://github.com/mike-000)) + * [#11407](https://github.com/openlayers/openlayers/pull/11407) - Support deprecated coordinates element for GML3+ formats ([@bjornharrtell](https://github.com/bjornharrtell)) + * [#11398](https://github.com/openlayers/openlayers/pull/11398) - Fix link to workshop / download ([@MoonE](https://github.com/MoonE)) + * [#11391](https://github.com/openlayers/openlayers/pull/11391) - Simplify scale calculation used for WMS getLegendUrl() ([@mike-000](https://github.com/mike-000)) + + +
+ Dependency Updates + + * [#11851](https://github.com/openlayers/openlayers/pull/11851) - Bump @babel/preset-env from 7.12.10 to 7.12.11 ([@openlayers](https://github.com/openlayers)) + * [#11850](https://github.com/openlayers/openlayers/pull/11850) - Bump marked from 1.2.6 to 1.2.7 ([@openlayers](https://github.com/openlayers)) + * [#11852](https://github.com/openlayers/openlayers/pull/11852) - Bump rollup from 2.35.0 to 2.35.1 ([@openlayers](https://github.com/openlayers)) + * [#11853](https://github.com/openlayers/openlayers/pull/11853) - Bump copy-webpack-plugin from 6.4.0 to 6.4.1 ([@openlayers](https://github.com/openlayers)) + * [#11849](https://github.com/openlayers/openlayers/pull/11849) - Bump eslint from 7.15.0 to 7.16.0 ([@openlayers](https://github.com/openlayers)) + * [#11848](https://github.com/openlayers/openlayers/pull/11848) - Bump ol-mapbox-style from 6.2.1 to 6.3.0 ([@openlayers](https://github.com/openlayers)) + * [#11828](https://github.com/openlayers/openlayers/pull/11828) - Bump ol-mapbox-style from 6.1.4 to 6.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11830](https://github.com/openlayers/openlayers/pull/11830) - Bump jsdoc-plugin-typescript from 2.0.5 to 2.0.6 ([@openlayers](https://github.com/openlayers)) + * [#11829](https://github.com/openlayers/openlayers/pull/11829) - Bump typescript from 4.1.2 to 4.1.3 ([@openlayers](https://github.com/openlayers)) + * [#11833](https://github.com/openlayers/openlayers/pull/11833) - Bump rollup from 2.34.2 to 2.35.0 ([@openlayers](https://github.com/openlayers)) + * [#11834](https://github.com/openlayers/openlayers/pull/11834) - Bump copy-webpack-plugin from 6.3.2 to 6.4.0 ([@openlayers](https://github.com/openlayers)) + * [#11832](https://github.com/openlayers/openlayers/pull/11832) - Bump @babel/preset-env from 7.12.7 to 7.12.10 ([@openlayers](https://github.com/openlayers)) + * [#11835](https://github.com/openlayers/openlayers/pull/11835) - Bump sinon from 9.2.1 to 9.2.2 ([@openlayers](https://github.com/openlayers)) + * [#11831](https://github.com/openlayers/openlayers/pull/11831) - Bump marked from 1.2.5 to 1.2.6 ([@openlayers](https://github.com/openlayers)) + * [#11827](https://github.com/openlayers/openlayers/pull/11827) - Bump @babel/core from 7.12.9 to 7.12.10 ([@openlayers](https://github.com/openlayers)) + * [#11820](https://github.com/openlayers/openlayers/pull/11820) - [Security] Bump ini from 1.3.5 to 1.3.7 ([@openlayers](https://github.com/openlayers)) + * [#11809](https://github.com/openlayers/openlayers/pull/11809) - Bump yargs from 16.1.1 to 16.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11808](https://github.com/openlayers/openlayers/pull/11808) - Bump worker-loader from 3.0.5 to 3.0.6 ([@openlayers](https://github.com/openlayers)) + * [#11807](https://github.com/openlayers/openlayers/pull/11807) - Bump eslint from 7.14.0 to 7.15.0 ([@openlayers](https://github.com/openlayers)) + * [#11806](https://github.com/openlayers/openlayers/pull/11806) - Bump rollup from 2.34.0 to 2.34.2 ([@openlayers](https://github.com/openlayers)) + * [#11786](https://github.com/openlayers/openlayers/pull/11786) - Bump rollup from 2.33.3 to 2.34.0 ([@openlayers](https://github.com/openlayers)) + * [#11787](https://github.com/openlayers/openlayers/pull/11787) - Bump babel-loader from 8.2.1 to 8.2.2 ([@openlayers](https://github.com/openlayers)) + * [#11785](https://github.com/openlayers/openlayers/pull/11785) - Bump @babel/core from 7.12.7 to 7.12.9 ([@openlayers](https://github.com/openlayers)) + * [#11762](https://github.com/openlayers/openlayers/pull/11762) - Bump typescript from 4.0.5 to 4.1.2 ([@openlayers](https://github.com/openlayers)) + * [#11764](https://github.com/openlayers/openlayers/pull/11764) - Bump copy-webpack-plugin from 6.3.1 to 6.3.2 ([@openlayers](https://github.com/openlayers)) + * [#11758](https://github.com/openlayers/openlayers/pull/11758) - Bump rollup from 2.33.2 to 2.33.3 ([@openlayers](https://github.com/openlayers)) + * [#11761](https://github.com/openlayers/openlayers/pull/11761) - Bump @babel/core from 7.12.3 to 7.12.7 ([@openlayers](https://github.com/openlayers)) + * [#11760](https://github.com/openlayers/openlayers/pull/11760) - Bump proj4 from 2.6.2 to 2.6.3 ([@openlayers](https://github.com/openlayers)) + * [#11763](https://github.com/openlayers/openlayers/pull/11763) - Bump eslint from 7.13.0 to 7.14.0 ([@openlayers](https://github.com/openlayers)) + * [#11759](https://github.com/openlayers/openlayers/pull/11759) - Bump @babel/preset-env from 7.12.1 to 7.12.7 ([@openlayers](https://github.com/openlayers)) + * [#11757](https://github.com/openlayers/openlayers/pull/11757) - Bump marked from 1.2.4 to 1.2.5 ([@openlayers](https://github.com/openlayers)) + * [#11756](https://github.com/openlayers/openlayers/pull/11756) - Bump puppeteer from 5.4.1 to 5.5.0 ([@openlayers](https://github.com/openlayers)) + * [#11747](https://github.com/openlayers/openlayers/pull/11747) - Bump rollup from 2.33.1 to 2.33.2 ([@openlayers](https://github.com/openlayers)) + * [#11746](https://github.com/openlayers/openlayers/pull/11746) - Bump babel-loader from 8.1.0 to 8.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11745](https://github.com/openlayers/openlayers/pull/11745) - Bump yargs from 16.1.0 to 16.1.1 ([@openlayers](https://github.com/openlayers)) + * [#11744](https://github.com/openlayers/openlayers/pull/11744) - Bump webpack-dev-middleware from 4.0.0 to 4.0.2 ([@openlayers](https://github.com/openlayers)) + * [#11743](https://github.com/openlayers/openlayers/pull/11743) - Bump copy-webpack-plugin from 6.3.0 to 6.3.1 ([@openlayers](https://github.com/openlayers)) + * [#11742](https://github.com/openlayers/openlayers/pull/11742) - Bump marked from 1.2.3 to 1.2.4 ([@openlayers](https://github.com/openlayers)) + * [#11731](https://github.com/openlayers/openlayers/pull/11731) - Bump mocha from 8.2.0 to 8.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11730](https://github.com/openlayers/openlayers/pull/11730) - Bump marked from 1.2.2 to 1.2.3 ([@openlayers](https://github.com/openlayers)) + * [#11729](https://github.com/openlayers/openlayers/pull/11729) - Bump eslint from 7.12.1 to 7.13.0 ([@openlayers](https://github.com/openlayers)) + * [#11728](https://github.com/openlayers/openlayers/pull/11728) - Bump webpack-cli from 4.1.0 to 4.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11727](https://github.com/openlayers/openlayers/pull/11727) - Bump karma-firefox-launcher from 2.0.0 to 2.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11726](https://github.com/openlayers/openlayers/pull/11726) - Bump copy-webpack-plugin from 6.2.1 to 6.3.0 ([@openlayers](https://github.com/openlayers)) + * [#11708](https://github.com/openlayers/openlayers/pull/11708) - Bump rollup from 2.32.1 to 2.33.1 ([@openlayers](https://github.com/openlayers)) + * [#11705](https://github.com/openlayers/openlayers/pull/11705) - Bump webpack-dev-middleware from 3.7.2 to 4.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11706](https://github.com/openlayers/openlayers/pull/11706) - Bump url-polyfill from 1.1.11 to 1.1.12 ([@openlayers](https://github.com/openlayers)) + * [#11707](https://github.com/openlayers/openlayers/pull/11707) - Bump typescript from 4.0.3 to 4.0.5 ([@openlayers](https://github.com/openlayers)) + * [#11709](https://github.com/openlayers/openlayers/pull/11709) - Bump sinon from 9.2.0 to 9.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11710](https://github.com/openlayers/openlayers/pull/11710) - Bump puppeteer from 5.4.0 to 5.4.1 ([@openlayers](https://github.com/openlayers)) + * [#11711](https://github.com/openlayers/openlayers/pull/11711) - Bump eslint from 7.12.0 to 7.12.1 ([@openlayers](https://github.com/openlayers)) + * [#11689](https://github.com/openlayers/openlayers/pull/11689) - Bump pngjs from 5.0.0 to 6.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11686](https://github.com/openlayers/openlayers/pull/11686) - Bump shx from 0.3.2 to 0.3.3 ([@openlayers](https://github.com/openlayers)) + * [#11683](https://github.com/openlayers/openlayers/pull/11683) - Bump puppeteer from 5.3.1 to 5.4.0 ([@openlayers](https://github.com/openlayers)) + * [#11682](https://github.com/openlayers/openlayers/pull/11682) - Bump karma-firefox-launcher from 1.3.0 to 2.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11684](https://github.com/openlayers/openlayers/pull/11684) - Bump marked from 1.2.0 to 1.2.2 ([@openlayers](https://github.com/openlayers)) + * [#11685](https://github.com/openlayers/openlayers/pull/11685) - Bump rollup from 2.32.0 to 2.32.1 ([@openlayers](https://github.com/openlayers)) + * [#11688](https://github.com/openlayers/openlayers/pull/11688) - Bump webpack-cli from 4.0.0 to 4.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11687](https://github.com/openlayers/openlayers/pull/11687) - Bump eslint from 7.11.0 to 7.12.0 ([@openlayers](https://github.com/openlayers)) + * [#11666](https://github.com/openlayers/openlayers/pull/11666) - Bump worker-loader from 3.0.4 to 3.0.5 ([@openlayers](https://github.com/openlayers)) + * [#11665](https://github.com/openlayers/openlayers/pull/11665) - Bump url-polyfill from 1.1.10 to 1.1.11 ([@openlayers](https://github.com/openlayers)) + * [#11664](https://github.com/openlayers/openlayers/pull/11664) - Bump @babel/core from 7.11.6 to 7.12.3 ([@openlayers](https://github.com/openlayers)) + * [#11663](https://github.com/openlayers/openlayers/pull/11663) - Bump yargs from 16.0.3 to 16.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11662](https://github.com/openlayers/openlayers/pull/11662) - Bump mocha from 8.1.3 to 8.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11661](https://github.com/openlayers/openlayers/pull/11661) - Bump rollup from 2.29.0 to 2.32.0 ([@openlayers](https://github.com/openlayers)) + * [#11660](https://github.com/openlayers/openlayers/pull/11660) - Bump @babel/preset-env from 7.11.5 to 7.12.1 ([@openlayers](https://github.com/openlayers)) + * [#11643](https://github.com/openlayers/openlayers/pull/11643) - Bump terser-webpack-plugin from 4.2.2 to 4.2.3 ([@openlayers](https://github.com/openlayers)) + * [#11645](https://github.com/openlayers/openlayers/pull/11645) - Bump webpack-cli from 3.3.12 to 4.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11644](https://github.com/openlayers/openlayers/pull/11644) - Bump copy-webpack-plugin from 6.2.0 to 6.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11642](https://github.com/openlayers/openlayers/pull/11642) - Bump sinon from 9.1.0 to 9.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11641](https://github.com/openlayers/openlayers/pull/11641) - Bump rollup from 2.28.2 to 2.29.0 ([@openlayers](https://github.com/openlayers)) + * [#11640](https://github.com/openlayers/openlayers/pull/11640) - Bump worker-loader from 3.0.3 to 3.0.4 ([@openlayers](https://github.com/openlayers)) + * [#11639](https://github.com/openlayers/openlayers/pull/11639) - Bump eslint from 7.10.0 to 7.11.0 ([@openlayers](https://github.com/openlayers)) + * [#11622](https://github.com/openlayers/openlayers/pull/11622) - Bump sinon from 9.0.3 to 9.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11623](https://github.com/openlayers/openlayers/pull/11623) - Bump copy-webpack-plugin from 6.1.1 to 6.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11603](https://github.com/openlayers/openlayers/pull/11603) - Bump rollup from 2.28.1 to 2.28.2 ([@openlayers](https://github.com/openlayers)) + * [#11602](https://github.com/openlayers/openlayers/pull/11602) - Bump marked from 1.1.1 to 1.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11601](https://github.com/openlayers/openlayers/pull/11601) - Bump puppeteer from 5.3.0 to 5.3.1 ([@openlayers](https://github.com/openlayers)) + * [#11600](https://github.com/openlayers/openlayers/pull/11600) - Bump eslint from 7.9.0 to 7.10.0 ([@openlayers](https://github.com/openlayers)) + * [#11599](https://github.com/openlayers/openlayers/pull/11599) - Bump worker-loader from 3.0.2 to 3.0.3 ([@openlayers](https://github.com/openlayers)) + * [#11598](https://github.com/openlayers/openlayers/pull/11598) - Bump karma from 5.2.2 to 5.2.3 ([@openlayers](https://github.com/openlayers)) + * [#11578](https://github.com/openlayers/openlayers/pull/11578) - Bump rollup from 2.26.11 to 2.28.1 ([@openlayers](https://github.com/openlayers)) + * [#11576](https://github.com/openlayers/openlayers/pull/11576) - Bump terser-webpack-plugin from 4.2.0 to 4.2.2 ([@openlayers](https://github.com/openlayers)) + * [#11575](https://github.com/openlayers/openlayers/pull/11575) - Bump typescript from 4.0.2 to 4.0.3 ([@openlayers](https://github.com/openlayers)) + * [#11577](https://github.com/openlayers/openlayers/pull/11577) - Bump copy-webpack-plugin from 6.1.0 to 6.1.1 ([@openlayers](https://github.com/openlayers)) + * [#11574](https://github.com/openlayers/openlayers/pull/11574) - Bump jsdoc from 3.6.5 to 3.6.6 ([@openlayers](https://github.com/openlayers)) + * [#11573](https://github.com/openlayers/openlayers/pull/11573) - Bump webpack from 4.44.1 to 4.44.2 ([@openlayers](https://github.com/openlayers)) + * [#11558](https://github.com/openlayers/openlayers/pull/11558) - Bump yargs from 15.4.1 to 16.0.3 ([@openlayers](https://github.com/openlayers)) + * [#11557](https://github.com/openlayers/openlayers/pull/11557) - Bump eslint from 7.8.1 to 7.9.0 ([@openlayers](https://github.com/openlayers)) + * [#11556](https://github.com/openlayers/openlayers/pull/11556) - Bump puppeteer from 5.2.1 to 5.3.0 ([@openlayers](https://github.com/openlayers)) + * [#11555](https://github.com/openlayers/openlayers/pull/11555) - Bump karma from 5.2.1 to 5.2.2 ([@openlayers](https://github.com/openlayers)) + * [#11554](https://github.com/openlayers/openlayers/pull/11554) - Bump terser-webpack-plugin from 4.1.0 to 4.2.0 ([@openlayers](https://github.com/openlayers)) + * [#11553](https://github.com/openlayers/openlayers/pull/11553) - Bump rollup from 2.26.10 to 2.26.11 ([@openlayers](https://github.com/openlayers)) + * [#11531](https://github.com/openlayers/openlayers/pull/11531) - Bump rollup from 2.26.8 to 2.26.10 ([@openlayers](https://github.com/openlayers)) + * [#11530](https://github.com/openlayers/openlayers/pull/11530) - Bump @babel/preset-env from 7.11.0 to 7.11.5 ([@openlayers](https://github.com/openlayers)) + * [#11529](https://github.com/openlayers/openlayers/pull/11529) - Bump rollup-plugin-terser from 7.0.1 to 7.0.2 ([@openlayers](https://github.com/openlayers)) + * [#11528](https://github.com/openlayers/openlayers/pull/11528) - Bump @babel/core from 7.11.4 to 7.11.6 ([@openlayers](https://github.com/openlayers)) + * [#11526](https://github.com/openlayers/openlayers/pull/11526) - Bump eslint from 7.7.0 to 7.8.1 ([@openlayers](https://github.com/openlayers)) + * [#11527](https://github.com/openlayers/openlayers/pull/11527) - Bump karma from 5.1.1 to 5.2.1 ([@openlayers](https://github.com/openlayers)) + * [#11525](https://github.com/openlayers/openlayers/pull/11525) - Bump copy-webpack-plugin from 6.0.4 to 6.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11515](https://github.com/openlayers/openlayers/pull/11515) - [Security] Bump http-proxy from 1.17.0 to 1.18.1 ([@openlayers](https://github.com/openlayers)) + * [#11504](https://github.com/openlayers/openlayers/pull/11504) - [Security] Bump bl from 4.0.2 to 4.0.3 ([@openlayers](https://github.com/openlayers)) + * [#11496](https://github.com/openlayers/openlayers/pull/11496) - Bump mocha from 8.1.1 to 8.1.3 ([@openlayers](https://github.com/openlayers)) + * [#11495](https://github.com/openlayers/openlayers/pull/11495) - Bump rollup-plugin-terser from 7.0.0 to 7.0.1 ([@openlayers](https://github.com/openlayers)) + * [#11494](https://github.com/openlayers/openlayers/pull/11494) - Bump copy-webpack-plugin from 6.0.3 to 6.0.4 ([@openlayers](https://github.com/openlayers)) + * [#11493](https://github.com/openlayers/openlayers/pull/11493) - Bump rollup from 2.26.5 to 2.26.8 ([@openlayers](https://github.com/openlayers)) + * [#11462](https://github.com/openlayers/openlayers/pull/11462) - Bump rollup from 2.26.3 to 2.26.5 ([@openlayers](https://github.com/openlayers)) + * [#11460](https://github.com/openlayers/openlayers/pull/11460) - Bump karma-sourcemap-loader from 0.3.7 to 0.3.8 ([@openlayers](https://github.com/openlayers)) + * [#11459](https://github.com/openlayers/openlayers/pull/11459) - Bump ol-mapbox-style from 6.1.3 to 6.1.4 ([@openlayers](https://github.com/openlayers)) + * [#11458](https://github.com/openlayers/openlayers/pull/11458) - Bump worker-loader from 3.0.1 to 3.0.2 ([@openlayers](https://github.com/openlayers)) + * [#11457](https://github.com/openlayers/openlayers/pull/11457) - Bump @babel/core from 7.11.1 to 7.11.4 ([@openlayers](https://github.com/openlayers)) + * [#11443](https://github.com/openlayers/openlayers/pull/11443) - Bump eslint from 7.6.0 to 7.7.0 ([@openlayers](https://github.com/openlayers)) + * [#11441](https://github.com/openlayers/openlayers/pull/11441) - Bump terser-webpack-plugin from 4.0.0 to 4.1.0 ([@openlayers](https://github.com/openlayers)) + * [#11440](https://github.com/openlayers/openlayers/pull/11440) - Bump rollup from 2.23.1 to 2.26.3 ([@openlayers](https://github.com/openlayers)) + * [#11439](https://github.com/openlayers/openlayers/pull/11439) - Bump sinon from 9.0.2 to 9.0.3 ([@openlayers](https://github.com/openlayers)) + * [#11442](https://github.com/openlayers/openlayers/pull/11442) - Bump ol-mapbox-style from 6.1.2 to 6.1.3 ([@openlayers](https://github.com/openlayers)) + * [#11426](https://github.com/openlayers/openlayers/pull/11426) - Bump @babel/core from 7.11.0 to 7.11.1 ([@openlayers](https://github.com/openlayers)) + * [#11425](https://github.com/openlayers/openlayers/pull/11425) - Bump rollup from 2.23.0 to 2.23.1 ([@openlayers](https://github.com/openlayers)) + * [#11424](https://github.com/openlayers/openlayers/pull/11424) - Bump rollup-plugin-terser from 6.1.0 to 7.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11423](https://github.com/openlayers/openlayers/pull/11423) - Bump worker-loader from 3.0.0 to 3.0.1 ([@openlayers](https://github.com/openlayers)) + * [#11422](https://github.com/openlayers/openlayers/pull/11422) - Bump terser-webpack-plugin from 3.0.8 to 4.0.0 ([@openlayers](https://github.com/openlayers)) + * [#11421](https://github.com/openlayers/openlayers/pull/11421) - Bump mocha from 8.1.0 to 8.1.1 ([@openlayers](https://github.com/openlayers)) + + +
diff --git a/config/jsdoc/api/plugins/inline-options.js b/config/jsdoc/api/plugins/inline-options.js index b3ea474cae..72511a7d18 100644 --- a/config/jsdoc/api/plugins/inline-options.js +++ b/config/jsdoc/api/plugins/inline-options.js @@ -1,5 +1,5 @@ /** - * @filedesc + * @fileoverview * Inlines option params from typedefs */ diff --git a/config/jsdoc/api/plugins/markdown.js b/config/jsdoc/api/plugins/markdown.js index d5e5c486f8..3d7da8869a 100644 --- a/config/jsdoc/api/plugins/markdown.js +++ b/config/jsdoc/api/plugins/markdown.js @@ -1,7 +1,7 @@ /** * Modified from JSDoc's plugins/markdown and lib/jsdoc/util/markdown modules * (see https://github.com/jsdoc3/jsdoc/), which are licensed under the Apache 2 - * license (see http://www.apache.org/licenses/LICENSE-2.0). + * license (see https://www.apache.org/licenses/LICENSE-2.0). * * This version does not protect http(s) urls from being turned into links, and * works around an issue with `~` characters in module paths by escaping them. diff --git a/config/jsdoc/api/readme.md b/config/jsdoc/api/readme.md index 5179e075e5..849442a7fb 100644 --- a/config/jsdoc/api/readme.md +++ b/config/jsdoc/api/readme.md @@ -1,6 +1,6 @@ # API Documentation -This directory contains configuration (`conf.json`), static content (`index.md`), template (`template/`) and plugins (`plugins/`) for the [JSDoc3](http://usejsdoc.org/) API generator. +This directory contains configuration (`conf.json`), static content (`index.md`), template (`template/`) and plugins (`plugins/`) for the [JSDoc3](https://jsdoc.app/) API generator. ## Documenting the source code diff --git a/config/jsdoc/api/template/README.md b/config/jsdoc/api/template/README.md index dd759dfade..e419f46b15 100644 --- a/config/jsdoc/api/template/README.md +++ b/config/jsdoc/api/template/README.md @@ -1,3 +1,3 @@ This template is based on the [Jaguar](https://github.com/davidshimjs/jaguarjs/tree/master/docs/templates/jaguar) template. [JaguarJS](https://github.com/davidshimjs/jaguarjs) is licensed under the [LGPL license](https://github.com/davidshimjs/jaguarjs/tree/master/LICENSE). -The default template for JSDoc 3 uses: [the Taffy Database library](http://taffydb.com/) and the [Underscore Template library](http://documentcloud.github.com/underscore/#template). +The default template for JSDoc 3 uses: [the Taffy Database library](https://taffydb.com/) and the [Underscore Template library](https://underscorejs.org/#template). diff --git a/config/jsdoc/api/template/publish.js b/config/jsdoc/api/template/publish.js index ec79c81a88..f750010173 100644 --- a/config/jsdoc/api/template/publish.js +++ b/config/jsdoc/api/template/publish.js @@ -190,9 +190,9 @@ function generateSourceFiles(sourceFiles) { * for display purposes. This function mutates the original arrays. * * @private - * @param {Array} doclets - The array of classes and functions to + * @param {Array} doclets The array of classes and functions to * check. - * @param {Array} modules - The array of module doclets to search. + * @param {Array} modules The array of module doclets to search. */ function attachModuleSymbols(doclets, modules) { const symbols = {}; @@ -322,7 +322,7 @@ function buildNav(members) { } /** - * @param {Object} taffyData See . + * @param {Object} taffyData See {@link https://taffydb.com/}. * @param {Object} opts Options. * @param {Object} tutorials Tutorials. */ diff --git a/config/jsdoc/api/template/static/scripts/main.js b/config/jsdoc/api/template/static/scripts/main.js index f93b44a33f..827c9c11b0 100644 --- a/config/jsdoc/api/template/static/scripts/main.js +++ b/config/jsdoc/api/template/static/scripts/main.js @@ -36,7 +36,7 @@ $(function () { } // If everything else is equal, prefer shorter names, and prefer classes over modules let weight = 10000 + matchedItem.dataset.longname.length - name.length * 100; - if (name.match(re.begin)) { + if (re.begin.test(name)) { weight += 10000; if (re.baseName.test(name)) { weight += 10000; @@ -79,6 +79,7 @@ $(function () { $currentItem: currentItem ? $(currentItem) : undefined, lastSearchTerm: undefined, lastState: {}, + lastClasses: undefined, getClassList: function () { return $classItems || ($classItems = $navList.find('li.item')); }, @@ -143,9 +144,9 @@ $(function () { if (state === 'search-empty' && search.$currentItem) { search.manualToggle(search.$currentItem, true); } + search.lastClasses = undefined; } else { search.changeStateClass('searching'); - searchTerm = searchTerm.toLowerCase(); const beginOnly = searchTerm.length < minInputForFullText; const getSearchWeight = getWeightFunction(searchTerm, allowRegex); const re = constructRegex(searchTerm, function (searchTerm) { @@ -197,13 +198,14 @@ $(function () { li.classList.add('match'); } }); + classes.sort(function (a, b) { + return b.weight - a.weight; + }); clearOldMatches(search.lastState, searchState); search.lastState = searchState; + search.lastClasses = classes; - classes.sort(function (a, b) { - return a.weight - b.weight; - }); - for (let i = classes.length - 1; i >= 0; --i) { + for (let i = 0, ii = classes.length; i < ii; ++i) { navList.appendChild(classes[i].item); } } @@ -217,15 +219,24 @@ $(function () { key = setTimeout(function () { key = undefined; - const searchTerm = searchInput.value; - doSearch(searchTerm); + doSearch(searchInput.value); }, 0); } } // Search Items searchInput.addEventListener('input', queueSearch); + searchInput.addEventListener('keydown', function(e) { + if (e.key === 'Enter') { + doSearch(searchInput.value); + const first = search.lastClasses ? search.lastClasses[0].item : null; + if (first) { + window.location.href = first.querySelector('.title a').href; + } + } + }); doSearch(searchInput.value); + searchInput.focus(); // Toggle when click an item element search.$navList.on('click', '.toggle', function (e) { @@ -237,33 +248,8 @@ $(function () { search.manualToggle(clsItem, show); }); -// Auto resizing on navigation - var _onResize = function () { - var height_w = $(window).height(); - var height_s = $('section').height(); - var $el = $('.navigation'); - var dif_h = height_w - height_s; - if (window.matchMedia("(min-width: 768px)").matches) { - if (dif_h >=0){ - $('.navigation').height(height_s+dif_h+74); - $('.navigation-list').height(height_s+dif_h) - } - else { - $('.navigation').height(height_s+74); - $('.navigation-list').height(height_s-60); - } - } - else{ - $('.navigation').height(220); - $('.navigation-list').height(140); - } - } - $(window).on('resize', _onResize); - _onResize(); - - var currentVersion = document.getElementById('package-version').innerHTML; - // warn about outdated version + var currentVersion = document.getElementById('package-version').innerHTML; var packageUrl = 'https://raw.githubusercontent.com/openlayers/openlayers.github.io/build/package.json'; fetch(packageUrl).then(function(response) { return response.json(); @@ -288,15 +274,4 @@ $(function () { } } }); - - // create source code links to github - var srcLinks = $('div.tag-source'); - srcLinks.each(function(i, el) { - var textParts = el.innerHTML.trim().split(', '); - var link = 'https://github.com/openlayers/openlayers/blob/v' + currentVersion + '/src/ol/' + - textParts[0]; - el.innerHTML = '' + textParts[0] + ', ' + - '' + - textParts[1] + ''; - }); }); diff --git a/config/jsdoc/api/template/static/styles/jaguar.css b/config/jsdoc/api/template/static/styles/jaguar.css index b25bbce331..247bdeba04 100644 --- a/config/jsdoc/api/template/static/styles/jaguar.css +++ b/config/jsdoc/api/template/static/styles/jaguar.css @@ -18,7 +18,7 @@ } body { - padding-top: 55px; + padding-top: 54px; } .nameContainer .anchor { padding-top: 70px; @@ -61,24 +61,43 @@ ol { li { list-style-type: none; } -::-webkit-scrollbar { - width: 8px; - background-color: transparent; -} -::-webkit-scrollbar-thumb { - background-color: transparent; - border-radius: 4px; +#wrap { + display: flex; + flex-flow: row; } .navigation { background-color: #2a2a2a; } -@media (max-width:768px) { +.navigation-list { + padding: 0 15px 0 15px; +} +@supports (position: sticky) { .navigation { - max-height:220px; - } - .navigation-list{ - height:140px; - } + position: sticky; + top: 54px; + height: calc(100vh - 54px); + } + .navigation-list { + overflow: auto; + /* 54px navbar height */ + /* 4.25rem + 2px searchbox height */ + /* 25px navigation padding */ + height: calc(100vh - 54px - 4.25rem - 2px - 25px); + } +} +@media (max-width: 768px) { + #wrap { + flex-flow: column; + } + .navigation { + height: inherit; + position: inherit; + } + .navigation-list { + overflow: auto; + max-height: 33vh; + height: inherit; + } } .navigation .applicationName { @@ -107,10 +126,8 @@ li { color: #fff; border-color: #555; } -.navigation .navigation-list { - padding: 10px 15px 0 15px; - position: relative; - overflow: auto; +.navigation .navigation-list-wrapper { + padding: 10px 0 15px 0; width: 100%; } .navigation li.item { @@ -318,8 +335,8 @@ span.type-signature.static { } .main .nameContainer { position: relative; - margin-top: 20px; - padding-top: 5px; + margin-top: 1.2rem; + padding-top: 1.2rem; border-top: 2px solid #1F6B75; } .main .nameContainer .inherited { @@ -337,7 +354,7 @@ span.type-signature.static { @media (min-width: 768px) { .main .nameContainer .tag-source { position: absolute; - top: 0.2rem; + top: 1.2rem; right: 0; font-size: 0.8rem; } diff --git a/config/jsdoc/api/template/tmpl/container.tmpl b/config/jsdoc/api/template/tmpl/container.tmpl index f9d86d6757..c69663bed9 100644 --- a/config/jsdoc/api/template/tmpl/container.tmpl +++ b/config/jsdoc/api/template/tmpl/container.tmpl @@ -54,11 +54,15 @@
- +
+ +
- +
+ +
diff --git a/config/jsdoc/api/template/tmpl/layout.tmpl b/config/jsdoc/api/template/tmpl/layout.tmpl index 2cd151aede..ee2de77e8f 100644 --- a/config/jsdoc/api/template/tmpl/layout.tmpl +++ b/config/jsdoc/api/template/tmpl/layout.tmpl @@ -4,6 +4,7 @@ var version = obj.packageInfo.version; + - OpenLayers v<?js= version ?> API - <?js= title ?> diff --git a/config/jsdoc/api/template/tmpl/method.tmpl b/config/jsdoc/api/template/tmpl/method.tmpl index 9ff68aa638..509d6e0057 100644 --- a/config/jsdoc/api/template/tmpl/method.tmpl +++ b/config/jsdoc/api/template/tmpl/method.tmpl @@ -1,10 +1,16 @@
+
-

@@ -16,11 +22,12 @@ var self = this;

- , + , + line
-
+

diff --git a/config/jsdoc/api/template/tmpl/navigation.tmpl b/config/jsdoc/api/template/tmpl/navigation.tmpl index 50709af9cc..03b03cca63 100644 --- a/config/jsdoc/api/template/tmpl/navigation.tmpl +++ b/config/jsdoc/api/template/tmpl/navigation.tmpl @@ -51,20 +51,24 @@ function listContent(item, title, listItemPrinter) { } ?>