Skip to content

Releases: hslayers/hslayers-ng

16.0.0

01 Sep 12:45

Choose a tag to compare

16.0.0 (2025-09-01)

BREAKING CHANGES

  • updated Angular to version 20
  • !refactor(i18n): Upgrade ngx-translate to v17 (4223b25)
  • TranslateCustomPipe removed in favour of external TranslatePipe, thus all occurrences of translateHs must be changed to translate with proper import.
  • TranslateCustomService removed
  • WebpackTranslateLoader renamed to HsTranslateLoader and must be provided in providers array as:
provideTranslateService({
          loader: {
            provide: TranslateLoader,
            useClass: HsTranslateLoader,
            deps: [HsConfig, HsLogService, HttpClient],
          },
          missingTranslationHandler: provideMissingTranslationHandler(
            HsMissingTranslationHandler,
          ),
        }),
  • Minimum Node versions increased to 20.19 and 22.12

Bug Fixes

  • add-data: Allow selection of all parts of grouped layer (226f5d4)
  • add-data: Catalogue filter menu label (aa7cf79)
  • add-data: Display proper error message (0019534)
  • add-data: Do not cancel new layer addition because of missing layman ep (f5517ea)
  • add-data: Do not query data catalogues on mapExtentChanges outside catalogue (f72b8db)
  • add-data: Extent calculation for WMS layer group (fbfb12b)
  • add-data: Finalize layer retrieval for Layman layers (729fd6c)
  • add-data: Get endpoint when necessary (7b7d147)
  • add-data: Layman URL WFS adjustments (538a7ae)
  • add-data: Provide workspace parameter for layers loaded from file (9814233)
  • add-data: Track services by name not id which might not be available (3df0aac)
  • auth: Handle current-user error gracefully (57adee4)
  • compositions: Always use credentials to query layman maps (1116c84)
  • compositions: Do not filter out micka endpoint when 'only mine' is activated (1055995)
  • compositions: Filter menu button labels (c16c759)
  • compositions: Set workspace for Layman WMS layers from composition (dd6da00)
  • copy: Not indicating success state - value copied (bcac46a)
  • Incorrectly generated auto paths (0c8c866)
  • layer-manager: Fill metadata only if not disabled (2944180)
  • layermanager: Reactively evaluation time existence change on WMS layers (86b8d1f)
  • layermanager: Set layer desc to capabilities cache for Layman WMS (4d4f31f)
  • layman: atLeastVersion util (b5f0995)
  • More specific event type for draw condition (cc57f62)
  • normalizeSldComparisonOperators imports (dedbf8c)
  • permissions: On error - no loader, return to idle after 3.5s (f429d09)
  • print: Reflect rxjs change in next() method (792d7b8)
  • save-map: Layman WFS layers should only store url reference of style to composition (51f7e7d)
  • save-map: Use SLD param with file when updating/posting layers with style to Layman (972a937)
  • styler: Layman layer SLD syncing indicator (2935b84)
  • styler: Remove filter from layman's default SLD (482e118)
  • types: Export auth state types (2d326ca)
  • types: Layman descriptor time property should be available on WMS layers (066acc7)
  • wfs: Only proxify URLs when necessary (684bd35)
  • access-rights: Refresh view on allUsers fetch (51038c9)
  • compositions: Leaner compositions parser and safer way to parse composition layer name (5241a96)
  • permissions: Start in idle state not error (cd43aaf)
  • save-map: Composition can not include internal layer referenced by workspace and name (daa6516)
  • styler: Use component variable directly not via template let (0cdca2b)
  • utils: Check whether extent is valid (facc5f0)
  • access-rights: Use EVERYONE if all users has access (7dd7e64)
  • add-data: Do not lowercase arcgis service url (e3769d2)
  • add-data: Services in ARCGisREST domain name should not be modified (846f308)
  • compositions: Do not fail whole composition loading if some layers are corrupted (5f51e92)
  • config: Fix variable name corrupted by replace function (d0ebd45)
  • Imports of new services (626fef4)
  • save-map: Process compo save with correct response obj (960e45a)
  • layout: Add type for mainpanel$ & fix wrong panel as object expectation in save map (5d9f29d)
  • test: avoid relying on ng-reflect-* attribute (2cb197a)
  • test: Provide TranslateService in spec files (a675b94)
  • build: Specify correct deps versions (e7d4d73)

Features

  • add-data: Separate handler for Layman's WMS layers - without capabilities (18486c1)
  • core: Use auth interceptor which will log out the user on unauthorized req (f11169f)
  • layman: Layman layer state service (8790a90)
  • utils: Separate service for proxify related methods (ae799ce)
  • add-data: Allow XYZ layer to be added via URL (3768a43)
  • add-data: Feature ser...
Read more

16.0.0-next.4

21 Aug 23:37

Choose a tag to compare

16.0.0-next.4 Pre-release
Pre-release

16.0.0-next.4 (2025-08-11)

Bug Fixes

  • build: Specify correct deps versions (e7d4d73)

Full Changelog: 16.0.0-next.3...16.0.0-next.4

16.0.0-next.3

21 Aug 23:35

Choose a tag to compare

16.0.0-next.3 Pre-release
Pre-release

16.0.0-next.3 (2025-08-06)

Bug Fixes

  • layout: Add type for mainpanel$ & fix wrong panel as object expectation in save map (5d9f29d)

  • test: avoid relying on ng-reflect-* attribute (2cb197a)

  • test: Provide TranslateService in spec files (a675b94)

  • !refactor(i18n): Upgrade ngx-translate to v17 (4223b25)

  • !build(server): Update dotenv, yargs and more (370360e)

Features

  • i18n: Provide HsMissingTranslationHandler (d3af681)
  • server: Expose version via GET request (8a69838)

BREAKING CHANGES

  • TranslateCustomPipe removed in favour of external TranslatePipe, thus all occurrences of translateHs must be changed to translate with proper import.
  • TranslateCustomService removed
  • WebpackTranslateLoader renamed to HsTranslateLoader and must be provided in providers array as:
provideTranslateService({
          loader: {
            provide: TranslateLoader,
            useClass: HsTranslateLoader,
            deps: [HsConfig, HsLogService, HttpClient],
          },
          missingTranslationHandler: provideMissingTranslationHandler(
            HsMissingTranslationHandler,
          ),
        }),
  • Minimum Node versions increased to 20.19 and 22.12

Full Changelog: 16.0.0-next.2...16.0.0-next.3

16.0.0-next.2

07 Jul 08:19

Choose a tag to compare

16.0.0-next.2 Pre-release
Pre-release

16.0.0-next.2 (2025-07-07)

Bug Fixes

  • access-rights: Use EVERYONE if all users has access (7dd7e64)
  • add-data: Do not lowercase arcgis service url (e3769d2)
  • add-data: Services in ARCGisREST domain name should not be modified (846f308)
  • compositions: Do not fail whole composition loading if some layers are corrupted (5f51e92)
  • config: Fix variable name corrupted by replace function (d0ebd45)
  • Imports of new services (626fef4)
  • save-map: Process compo save with correct response obj (960e45a)

Features

  • add-data: Allow XYZ layer to be added via URL (3768a43)
  • add-data: Feature server ArcGis service support (e8046ee)
  • compositions: Allow saving of ArcGis Feature layers to compositions (4191483)
  • compositions: Use max/minResolution to store max/minZoom in composition for XYZ layer (cdb2632)
  • config: Config verification (80677af)

Full Changelog: 16.0.0-next.1...16.0.0-next.2

16.0.0-next.1

05 Jun 06:50

Choose a tag to compare

16.0.0-next.1 Pre-release
Pre-release

16.0.0-next.1 (2025-06-04)

Bug Fixes

  • access-rights: Refresh view on allUsers fetch (51038c9)
  • compositions: Leaner compositions parser and safer way to parse composition layer name (5241a96)
  • permissions: Start in idle state not error (cd43aaf)
  • save-map: Composition can not include internal layer referenced by workspace and name (daa6516)
  • styler: Use component variable directly not via template let (0cdca2b)
  • utils: Check whether extent is valid (facc5f0)

Full Changelog: 16.0.0-next.0...16.0.0-next.1

16.0.0-next.0

22 May 13:13

Choose a tag to compare

16.0.0-next.0 Pre-release
Pre-release

16.0.0-next.0 (2025-05-22)

Bug Fixes

  • add-data: Allow selection of all parts of grouped layer (226f5d4)
  • add-data: Catalogue filter menu label (aa7cf79)
  • add-data: Display proper error message (0019534)
  • add-data: Do not cancel new layer addition because of missing layman ep (f5517ea)
  • add-data: Do not query data catalogues on mapExtentChanges outside catalogue (f72b8db)
  • add-data: Extent calculation for WMS layer group (fbfb12b)
  • add-data: Finalize layer retrieval for Layman layers (729fd6c)
  • add-data: Get endpoint when necessary (7b7d147)
  • add-data: Layman URL WFS adjustments (538a7ae)
  • add-data: Provide workspace parameter for layers loaded from file (9814233)
  • add-data: Track services by name not id which might not be available (3df0aac)
  • auth: Handle current-user error gracefully (57adee4)
  • compositions: Always use credentials to query layman maps (1116c84)
  • compositions: Do not filter out micka endpoint when 'only mine' is activated (1055995)
  • compositions: Filter menu button labels (c16c759)
  • compositions: Set workspace for Layman WMS layers from composition (dd6da00)
  • copy: Not indicating success state - value copied (bcac46a)
  • Incorrectly generated auto paths (0c8c866)
  • layer-manager: Fill metadata only if not disabled (2944180)
  • layermanager: Reactively evaluation time existence change on WMS layers (86b8d1f)
  • layermanager: Set layer desc to capabilities cache for Layman WMS (4d4f31f)
  • layman: atLeastVersion util (b5f0995)
  • More specific event type for draw condition (cc57f62)
  • normalizeSldComparisonOperators imports (dedbf8c)
  • permissions: On error - no loader, return to idle after 3.5s (f429d09)
  • print: Reflect rxjs change in next() method (792d7b8)
  • save-map: Layman WFS layers should only store url reference of style to composition (51f7e7d)
  • save-map: Use SLD param with file when updating/posting layers with style to Layman (972a937)
  • styler: Layman layer SLD syncing indicator (2935b84)
  • styler: Remove filter from layman's default SLD (482e118)
  • types: Export auth state types (2d326ca)
  • types: Layman descriptor time property should be available on WMS layers (066acc7)
  • wfs: Only proxify URLs when necessary (684bd35)

Features

  • add-data: Separate handler for Layman's WMS layers - without capabilities (18486c1)
  • core: Use auth interceptor which will log out the user on unauthorized req (f11169f)
  • layman: Layman layer state service (8790a90)
  • utils: Separate service for proxify related methods (ae799ce)

Performance Improvements

  • query: Less feature to layer searches (d936d98)

Full Changelog: 15.0.1...16.0.0-next.0

15.0.1

26 Feb 13:17

Choose a tag to compare

15.0.1 (2025-02-26)

This patch release addresses the way hslayers-ng-app and hslayers-cesium-app are being build and published.

Since 15.0, hslayers-ng-app bundle in npm does not include Bootstrap. This is to mitigate conflicting rules from different Bootstrap instances when integrating hslayers-ng under CMS like Wagtail.
With this patch, neither Bootstrap and neither Fontawesome icons are included in the bundle, and the behaviour is also reflected for hslayers-cesium-app.

Full Changelog: 15.0.0...15.0.1

15.0.0

24 Feb 21:11

Choose a tag to compare

15.0.0 (2025-02-24)

MAJOR CHANGES

  • updated Angular to version 19 and OpenLayers to version 10.
  • replaced icon set from WHHG font to fontawesome.
  • hslayers-ng-app bundle in npm does not include Bootstrap anymore

Bug Fixes

  • build: Re-create package-lock (fa8d84f)
  • cesium: Use valid projection for transform (fa4e3c6)
  • compositions: Composition metadata fetch should not fail on missing layman endpoint (b8e4f4d)
  • config: Prevent crash when config update fails (031ec9e)
  • deps: Revert sld-parser change (45840e3)
  • icons: Correct path for icon font css file (dacc5ce)
  • icons: Include icon css in build and fix paths (324682b)
  • icons: Revert change of icon-primary to fa-primary (bd13937)
  • layermanager: Animated layer group chevrons (d857dd9)
  • query: Better track by property (9322a49)
  • save-map: Sanitize empty string legends (42b6952)
  • build: Re-create package-lock (fa8d84f)
  • cesium: Use valid projection for transform (fa4e3c6)
  • config: Prevent crash when config update fails (031ec9e)
  • deps: Revert sld-parser change (45840e3)
  • save-map: Sanitize empty string legends (42b6952)
  • config: Query config - hitTolerance should not be compulsory (0dd21d6)
  • filters: Pass global comparison into removeFilter instead of local (9848afa)
  • styler: Emit change from hs-filter (05fb303)
  • cesium: Call signal before loop (97b49f7)
  • add-data: After upload, load WMS as a single not as a a group (038fdbd)
  • add-data: When no layer are defined for ArcGIS service use whole extent (f66b198)
  • add-data: WMS sublayer extent parsing (b732d41)
  • arcgis: Preserved layer status in case of concurrent layer loads from the same url (b5d1a11)
  • compositions: Composition filter should always return array (a054f8c)
  • compositions: Do not switch to LM automatically when loading WMTS or ArcGIS from composition (13ad665)
  • compositions: Honour layer visibility defined in composition for ArcGIS. WMTS and WFS sources (13afc39)
  • compositions: Parse layer opacity from composition (43c7461)
  • config: Prioritize sidebarClosed over defaultPanel setting (23404fe)
  • css: No bootstrap css generation (a34af31)
  • draw: tmpDrawing layer not created properly (afcb316)
  • filters: Comparison filter has got to update on filter change (4bcfaa4)
  • filters: Few logic bugs (c0a699f)
  • filters: If no filter is active, add-filter-button should not have any tab active (214062c)
  • filters: Parse previously created filters (1754c51)
  • IDW: Prevent infinite loop of text size adjustments (a6aa993)
  • language: Delete dangling comma from JSON (74af8d8)
  • layer-editor: WFS Filter shortcut should not be available in case wfs-filter panel is disabled (92e74bd)
  • layerEditor: layerDimensionDefinitionChanges race conditions at init (129409f)
  • layermanager: Gallery dialog import, template typo (0e47994)
  • layermanager: It should not be possible to set folder for base layers (27e9e20)
  • layermanager: Layer order (6c0db8e)
  • layermanager: Open layerEditor via url param only in case mainpanel is Layermanager (4ca4988)
  • layermanager: Reset layer editor state on layer type change (501e772)
  • layermanager: Show sublayers if there are 2 or more options (83c7741)
  • layermanager: takeUntilDestroyed as last operator (b13880b)
  • layermanager: Update gallery editor layer title on change (05363fb)
  • legend: For vector layers use legend title in SVG (4d2a41f)
  • map-swipe: Swipe properties of layers not updating with layerManagerUpdates when mapSwipe panel is active (c3ed643), closes #5332
  • map: EPSG:4087 definition (35c4290)
  • overlay: Use correct injector (bdc65f9)
  • query: Properly remove features from query (91beb2b)
  • Replace logical OR with nullish coalescing when setting opacity (41b4030)
  • save-map: Store sublayers in sublayers prop (eb8af73)
  • sensors: Dialog positioning and width (920c570)
  • share: Do not duplicate locationPath in url when deployed on non root path (8b994da)
  • styler: Do not recreate rule obj on filter remove (d0a040e)
  • styler: Pass currentLayer into filters component (dd5464e)
  • test-app: Reintroduce custom pop-up widget (76479fc)
  • wfs-filter: Add wildcard symbols to LIKE filter to match any value that contains a specific substring ([c82aefc](https:/...
Read more

15.0.0-next.1

16 Dec 16:14

Choose a tag to compare

15.0.0-next.1 Pre-release
Pre-release

15.0.0-next.1 (2024-12-16)

Bug Fixes

  • config: Query config - hitTolerance should not be compulsory (0dd21d6)
  • filters: Pass global comparison into removeFilter instead of local (9848afa)
  • styler: Emit change from hs-filter (05fb303)

Features

  • query: Dimensions of ol-popup configurable via SCSS variables (03380b8)
  • query: Indicate loading of feature info inside query panel (0904a2d)

Full Changelog: 15.0.0-next.0...15.0.0-next.1

15.0.0-next.0

05 Dec 08:13

Choose a tag to compare

15.0.0-next.0 Pre-release
Pre-release

15.0.0-next.0 (2024-12-05)

Bug Fixes

  • add-data: After upload, load WMS as a single not as a a group (038fdbd)
  • add-data: When no layer are defined for ArcGIS service use whole extent (f66b198)
  • add-data: WMS sublayer extent parsing (b732d41)
  • arcgis: Preserved layer status in case of concurrent layer loads from the same url (b5d1a11)
  • compositions: Composition filter should always return array (a054f8c)
  • compositions: Do not switch to LM automatically when loading WMTS or ArcGIS from composition (13ad665)
  • compositions: Honour layer visibility defined in composition for ArcGIS. WMTS and WFS sources (13afc39)
  • compositions: Parse layer opacity from composition (43c7461)
  • config: Prioritize sidebarClosed over defaultPanel setting (23404fe)
  • css: No bootstrap css generation (a34af31)
  • draw: tmpDrawing layer not created properly (afcb316)
  • filters: Comparison filter has got to update on filter change (4bcfaa4)
  • filters: Few logic bugs (c0a699f)
  • filters: If no filter is active, add-filter-button should not have any tab active (214062c)
  • filters: Parse previously created filters (1754c51)
  • IDW: Prevent infinite loop of text size adjustments (a6aa993)
  • language: Delete dangling comma from JSON (74af8d8)
  • layer-editor: WFS Filter shortcut should not be available in case wfs-filter panel is disabled (92e74bd)
  • layerEditor: layerDimensionDefinitionChanges race conditions at init (129409f)
  • layermanager: Gallery dialog import, template typo (0e47994)
  • layermanager: It should not be possible to set folder for base layers (27e9e20)
  • layermanager: Layer order (6c0db8e)
  • layermanager: Open layerEditor via url param only in case mainpanel is Layermanager (4ca4988)
  • layermanager: Reset layer editor state on layer type change (501e772)
  • layermanager: Show sublayers if there are 2 or more options (83c7741)
  • layermanager: takeUntilDestroyed as last operator (b13880b)
  • layermanager: Update gallery editor layer title on change (05363fb)
  • legend: For vector layers use legend title in SVG (4d2a41f)
  • map-swipe: Swipe properties of layers not updating with layerManagerUpdates when mapSwipe panel is active (c3ed643), closes #5332
  • map: EPSG:4087 definition (35c4290)
  • overlay: Use correct injector (bdc65f9)
  • query: Properly remove features from query (91beb2b)
  • Replace logical OR with nullish coalescing when setting opacity (41b4030)
  • save-map: Store sublayers in sublayers prop (eb8af73)
  • sensors: Dialog positioning and width (920c570)
  • share: Do not duplicate locationPath in url when deployed on non root path (8b994da)
  • styler: Do not recreate rule obj on filter remove (d0a040e)
  • styler: Pass currentLayer into filters component (dd5464e)
  • test-app: Reintroduce custom pop-up widget (76479fc)
  • wfs-filter: Add wildcard symbols to LIKE filter to match any value that contains a specific substring (c82aefc)
  • wfs-filter: Correct initial value (0baf02d)
  • wfs-filter: Don't query DescribeFeatureType multiple time for the same layer (a072db7)
  • wfs-filter: Layer filter condition (eb09ee5)
  • wfs-filter: Update layer when last filter is deleted (09b97e7)
  • wfs-source: Provide injector to the non angular decorated wfs class (25c53ab)
  • wms-t: Display proper date in YYYYMMDD format (212dd21)

Features

  • Add workflow for focused tests (cdef91f)
  • common: Clipboard text component (e29bc8f)
  • config: Allow configuration of query hitTolerance (e7e7768)
  • config: defaultPanel conf param (596fe38)
  • Create a wfs-filter component (b5aa8b4)
  • filters: Allow filtering by presence or non presence of attribute value (c65be60)
  • filters: Attribute selector component (4c26d62)
  • filters: Minimal condition bounds for filter (149638d)
  • gallery-editor: Create dialog component to render editor in there (8f01e8d)
  • layer-editor: Open wfs filter from layer-editor with current layer selected (c02f20a)
  • layout: Make sidebar height in mobile view configurable (ce6a647)
  • layput: Register swipe gesture closing bottom panels on non hover devices (c5004d6)
  • query: Dynamic info panel (5b5ec2d)
  • styler: Configurable number of color map categories ([9b39785](9b39785f70af274a7ce484a1ca398...
Read more