All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.2.0 - 2026-01-23
- Added more info about the OpenStreetMap background, hidden CQL filters for background layers. commit
- Integrated sphere-based calculations for area and length in DrawModel using
getAreaandgetLengthfromol/sphere. issue
4.2.0-rc.1 - 2025-11-26
- It's now possible to use Matomo tracking without cookies. PR#1691
- OpenStreetMap can optionally be selected as default background layer in map config. See commits here and here. In addition, the Admin UI option has been added in this commit.
- Changed Hajk's default projection (in
simpleMapConfig.jsonandmap_1.json) to EPSG:3857. This makes our new default OSM background look way better. commit
- Select Tool in FmeServer plugin can now select/deselect several features. PR#1708
- MUI upgraded to v7. PR#1658
- The OpenStreetMap background (as well as the white and black backgrounds) are now first-class citizens in LayerSwitcher, enabling e.g. loading the app with these layers visible. PR#1680
- The legacy
react-smooth-dndhave been replaced withdnd-kit, PR#1689 - The introduction module has been updated to support Hajk 4. Two tour modes have been implemented (full tour and new layerswitcher tour). PR#1664
- The Anchor tool is now a dialog component. PR#1711
- QuickAccess: LayerGroups are now shown as breadcrumbs, with each group’s layers displayed beneath it. PR#1726
- Bookmarks: Fixed button state. PR#1609
- WFS layers: Fixed how different ways of writing the WFS service URL were affecting Client's ability to load layers from that service. PR#1677
- DialogWindowPlugin-based tools: Fixed disappearing toolbar button when toolbar state was toggled. issue
- LayerSwitcher: Don't show multiple legend graphics for a layer group if Admin specified one legend image. issue
- LayerSwitcher: Don't render Quick Access Presets if the functionality has been disabled in Admin. PR
- LayerSwitcher: Info for groups now shows the same button as info for regular layers and group layers. This solution is compatible with existing configurations. PR
- Infoclick: Fix bug where true/false values could be switched if certain conditions in the underlying database were met. issue
- Client: Show an Access Denied message if Backend returns 403. Closes issue
- LayerSwitcher: It is now possible to search on a LayerGroup name. GroupLayer search now supports expanding and showing sublayers, which was not possible before. Closes issue
- The add button in Bookmark is now only enabled when user has entered text in input. PR#1657
- QuickAccess: Sublayers inside a GroupLayer are now toggled correctly when using the “Ladda” button in QuickAccess. PR#1726
4.1.0 - 2025-06-18
- LayerComparer: Corrected layer comparison logic in onClose handler. commit
- The
reinstall_modules.shscript has been fixed to resolve install problems due to outdated peer dependency in one of our dependencies. commit
4.1.0-rc.1 - 2025-04-25
- Sketch: Added GPX import and export. PR#1641
- Sketch/Measurer: Disable snapping temporarily on keyDown (Space) (issue)
- DocumentHandler: Now possible to add map-link that opens corresponding plugin (with/without enableAppStatInHash) (issue)
- LayerSwitcher: UX Improvements (issue)
- LayerSwitcher: Now possible to render special layers at the bottom PR#1648
- Core: Fixed a bug where the application would crash and leave user with a blank screen in the unlikely condition of a vector layer being configured in such a way that the URL for fetching SLD for styling that layer would become unavailable. commit
- Backend: Major upgrades of dependencies, e.g. the latest Express, HTTP Proxy Middleware, ESlint. commit
4.0.0 - 2025-04-04
- Client: Hotfix for Window management fix, see commit.
- Docker: Minor fixes to the Dockerfile, commit.
- Config: fixes in naming of the demo config's DocumentHandler section, commit.
- Client: Hotfix for loading with malformed coordinates. commit
- LayerSwitcher: Fix to ensure consistent labeling. PR#1632
- LayerSwitcher: Hotfix for tooltip getting stuck. commit
- Client: Enable hash control over individual sub-layers. PR#1635
4.0.0-rc.2 - 2025-03-26
- LayerSwitcher: Multiple hotfixes: (commit) (commit) (commit) (commit) (commit) (commit)
- LayerSwitcher: Dialog click-and-drags moves LayerSwitcher's window below. (issue)
- Updates to RHEL Dockerfile. (commit)
- Presets: Bugfix (commit)
- LayerSwitcher: Sublayers in hash (app state). (issue)
- LayerSwitcher: Fixed scrolling issue. (issue)
- LayerSwitcher: Sublayers visible among Quick Access layers. (issue)
- Admin: Bugfix for warning when editing in Document Handler editor. (issue)
- LayerSwitcher: Fix for missing sublayers' legend. (issue)
- LayerSwitcher: Restored automatic layer rotation functionality. (issue)
- LayerSwitcher: ensure to respect the
hideExpandArrowsetting. (issue) - Buffer and Measurer bug fixes. (commit and commit)
- LayerSwitcher: hotfix to synchronize key naming between Admin and Client, effectively enabling the Quick Access Presets functionality. (PR)
- LayerSwitcher: Toggle sublayers when loading Quick Access presets. (PR)
- LayerSwitcher: Fix for fitting the legend graphics. (commit
- LayerSwitcher: Fix for storing the Theme Presets in LocalStorage. (PR)
- Client/General: Refinement of Window management. (PR)
- DocumentHandler/Admin: Now possible to edit TOC on document level. (PR)
4.0.0-rc.1 - 2025-02-19
- Search: Added possibility to set default search options via admin UI. PR: #1496
- LayerComparer: It is now possible for to select specific layers (in Admin) that will be visible in the tool. Previously only all background layer and/or all regular layers could be selected. #1570
- 🚀 Filter functionality in LayerSwitcher.
- Enhanced layer visibility indicators in LayerSwitcher.
- Quick Access grouping in LayerSwitcher for access to frequently used layers. With support for saving/recall of sets of "QuickAccess layers" to LocalStorage.
- Quick Access Layer Presets/Themes/Packages
Choose from ready made sets of Layers to load into the Quick Access
section. The Presets/Themes/Packages are set up in the map config. See
example in
simpleMapConfig.json. - Improved DrawOrder tab functionality for managing layer drawing order.
- LayerSwitcher Actions Menu (including scrolling actions).
For details see the following issues:
- Improved how overlapping plugins are handled. PR: #1546
- Several accessability improvements. PRs: #1561, #1562, #1563, #1565, #1566, #1567, #1569
- Admin: Fixed issue with naming of the FME Server configuration property (commit
- In accordance with the roadmap the .NET backend was removed in the 4.0 release. (commit)
3.14.1 - 2024-10-09
- PropertyChecker: The configuration field
digitalPlanItemDescriptionAttributehas been renamed todigitalPlanItemDescriptionAttributesand holds now an array of objects rather than a string. For details, refer to example configuration in the plugin's README.
- Backend (Node): Added (very) limited userDetails to response when using the AD Header approach (for example NodeHoster). #1534
- LayerComparer: Made it easier to change which layers are being compared. #1543
- Measurer: The measurer now allows for selecting objects by clicking them to get measurement information (area and circumference). PR: #1532.
- Bug fix associated to the issue #1310 and PR #1460. #1536
- Replaced the module used by the Plausible tracker in order to support some new features and fix bugs with the official tracker. See discussion in #1535.
3.14.0 - 2024-09-01
- This release marks the removal of the legacy V1 API (
/api/v1) in both the NodeJS backend and the old .NET 4.5 backend (refer to the Removed section below). Client UI is now V2-compatible only, as it requires the consolidated loading method. This means that you need to review and update your configuration, both regarding Client and Admin. Please refer todocs/migrate-to-v2-api.mdfor details. - This release marks deprecation of some plugins that either became replaced by a new solution or transformed into a community plugin. Refer to
docs/deprecated-plugins.mdfor details. - Although not exactly a breaking change, but it fits well here: the repo has been restructured. All apps can now be found in the
apps/directory. Thenew-prefix has been removed from apps' names. Some shell scripts now live inscripts/while the majority of Docker-related files, except for the official Dockerfile, have been moved into theDocker/directory. PR: #1488
- Cookie: It's now possible to revisit the cookie notice and change your preference #1125
- Sketch: It is now possible to buffer from the Sketch plugin. #1310
- Sketch: The user now has the option to reset to default styling and choose from a wider range of colors in the color picker; additionally, black and white options have been added. #1372
- Core, Admin: Added support for stand-alone GeoWebCache WMS Server. Issue: #1469, PR: #1493.
- Print/Anchor: It's now possible to generate QR codes in Share and Print. #1482
- Sketch: It's now possible to disable stroke for polygons and circles #1177
- Backend: The new .NET 6 backend. Issue: #1210. PR: #1395.
- Core: Allow to specify map config by using
mquery parameter, even when no backend is active. commit - Deployment: Added Dockerfile making it possible to deploy "Hajk-simple" on OpenShift using S2I. PR: #1487.
- TimeSlider: It's now possible to print images of the content generated in the TimeSlider plugin. PR: #1492.
- Core: CSS classes added for certain elements, allows for more granular custom styling. See also this discussion. PR: #1497.
- Coordinates: in addition to changing the icon's name (URL), it is now also possible to set icon's scale and anchor values. PR: #1499.
- Admin UI: It is now possible to easily duplicate map configurations using the UI. #1502.
- Coordinates: It's now possible to copy and paste coordinates from/to both coordinate inputs (N & E, longitude & latitude). PR: #1506.
- LayerSwitcher(Client)/Groups(Admin): It's now possible to add and show information about a layer group. #400.
- LayerSwitcher: Some text field inputs for layer groups now allows HTML code. #1518.
- CookieNotice: The cookie notice dialog now appears at the top of other dialogs and pop up windows. PR: #1521.
- Backend (Node): Added possibility to use Authorization token in FME Server proxy. #1530.
- Add conditional rendering for Control button. Commit.
- Restore cross-platform build for NodeJS backend. #1484
- Bug fix associated to #1468. #1485
- Admin UI is now compatible with the correct HTTP verbs (
DELETEandPUT). #1501 - Cookie: Cookie Notice updated after browser refresh. Fix to PR: #1509
- FIR plugin - Pagination now remembers page after delete. #1514
- Fix collapsed InfoClick in Iframe #1508
- Prevent multiple animations in Location plugin #1525
- Bumped dependencies in Client.
- The official Dockerfile build on an image based on current Node LTS (v20).
- The legacy .NET 4.5 backend. For reference, check out the legacy-dotnet-4.5-backend branch.
- V1 API from NodeJS Backend.
3.13.25 - 2024-02-13
- Sketch: Rotate drawn objects. #1455
- Sketch: Allow changing point size. #1373
- FIR: Allow comma-separated search and multiline search. #1461
- Infoclick: Highlight in collection view. #1472
- Sketch: Solved save error with arrow object. #1450
- DocumentHandler: Fixed Blockquote and Accordion issues in dark mode. #1457
- KIR: Now checks if export is allowed. #1441
- Infoclick: Resize breaks scroll. #1428
- Infoclick: Enhance
roundToDecimalsfilter. #1445
3.13.24 - 2024-01-17
- LayerSwitcher: It is now possible to auto-rotate the Map to a admin-specified value. Useful for layers with photos taken in different directions. #1451
3.13.23 - 2024-01-17
A quick follow-up to 3.13.22, that had some issues with certain map configurations.
- Backend: Solved an issue that could stop certain maps from loading if a tool's option's property value was
null. Introduced in #1438, fixed in 77503ee.
- FeatureInfo: New filters. #1443
- Backend: show 403 Forbidden rather than 500 if access was not allowed. 98b9280
3.13.22 - 2024-01-16
- DocumentHandler - possible to save documents inside subfolders. #1402
- Backend: Another method of gaining AD groups has been added. It's possible to circumvent the current solution (where Backend talks to the LDAP server) if one's setup allows for getting the AD groups elsewhere (i.e. from a proxy if setup on IIS). #1439
- Backend: Respect nested
visibleForGroupswithin tool options. #1438 - Backend: show 403 Forbidden rather than 500 if access was not allowed. 90b1725
- Edit: Allow setting a
geometryFieldfor edit layers with no features. #1447 - PropertyChecker: Expanded the plugin to also utilize Digital Plans by adding a second tab with an own list as well as another report.
- Client core: Fix layout issue with hidden DrawerToggleButtons #1436
- PropertyChecker: Better sorting and layer loading failed indicator in layers list. 8df1b92
- PropertyChecker: Don't allow clicking on points that'd result in response from multiple properties. User is informed when such a click occurs and told to click further away from the property border.
- Bookmark: Fixed removal issue. 0f1172f
- Print: Print tool does not print WMS layers that requires credentials#1442
3.13.21 - 2023-11-17
- The tools list in Admin is now refreshed: only current tools are available, sorting is alphabetical.
3.13.20 - 2023-11-14
- Support for the EPSG:5847 in Admin UI. Keep in mind that you still need to add appropriate projection definitions to each map config.
- It is now possible to disable unused tabs in LayerSwitcher, e.g. only show the Background layers tab. #1431
- Upgraded deps, among those
react-markdown, which required some work. See #1425.
3.13.19 - 2023-10-29
- Client: LayerSwitcher now indicates which groups have enabled layers by styling those groups with a bold font. #1257
3.13.18 - 2023-10-27
- Client/Admin: it's now possible to configure the Search tool so that it starts with the search field in focus. #1424
- Client: avoid long floating values for the
zparameter in URL hash. #1422
3.13.17 - 2023-10-25
- Backend: Tightened security: if AD_LOOKUP_ACTIVE is 'false' but RESTRICT_ADMIN_ACCESS_TO_AD_GROUPS has a value, access to admin-only endpoints will be restricted (to everyone).
3.13.16 - 2023-10-25
- Backend: More logging options in
.env. Also, we now save 14 old log files by default (was 1 before). #1421
- Client: Drawer Toggle Button could sometimes disappear in certain map configurations. Fixed in #1414. #1414
3.13.15 - 2023-10-24
- New plugin: this release marks the first Public Beta of PropertyChecker. See #1360. There's also a README included in the plugin's directory, make sure to read it in order to successfully setup this plugin.
- Backend: added
/firendpoints. This functionality requires the myCarta FR Direkt service. #1416
3.13.14 - 2023-10-06
- The
/ad/findCommonADGroupsForUsersendpoint works again. #1415
3.13.13 - 2023-10-05
- Admins can configure a link for each layer. The link will be visible in LayerSwitcher's metadata part. #1387
- It's now possible to have other target than
_blankfor links in infoclick. #1388 - Removed the 360px width limit in MapClickViewer lists. #1411
- Minor bug in DocumentHandler #1404
3.13.12 - 2023-09-22
- Added CHANGELOG.md to the project
- Added a confirmation dialog that shows on window close. It informs the user about unsaved changes (in e.g. Measurer or Sketch) that will be lost. #1403
- Support for relative URLs #1399
- Upgraded Client dependencies. The main change here is OpenLayer 8.0.0.
- Upgraded Backend dependencies.
3.13.11 - 2023-09-05
- Client UI: It is now possible for admins to make the side drawer permanent (i.e. not hidable by user). #1316, #1367.
3.13.10 - 2023-09-05
- Measurer plugin: It is now possible to perform perpendicular measurements by using a modifier key (Ctrl or Cmd, depending on the OS) #1361
- The HTML
targetattribute is now accepted and rendered correctly if specified, #1389 - Added the possibility to change icon background in feature list, #1385
- Admin UI: correct attribute is used when configuring Edit, #1317
- Fix for incorrect font size in LayerSwitcher's metadata link. Commit
- Fixes to erroneous warning messages about missing plugins in current configuration. See #1390 and #1391.
3.13.9 - 2023-08-22
- Bug fix for the Simple Edit Workflow added in 3.13.8
3.13.8 - 2023-08-21
- Edit plugin: the Simple Edit Workflow, as described in #1377
- Swagger UI API Explorer now defaults to the V2 path
3.13.7 - 2023-08-18
- Layout fixes to the Error page added in 3.13.6
- Made some
appConfig.jsonkeys optional by not expecting any values for them inindex.js
3.13.6 - 2023-08-17
- A new error page is displayed if Hajk fails on the initial load. The new page also shows a Reset button, which may fix common loading errors by cleaning up the client's state. Commit
- The consolidated loading approach, first added in #682 is now the only way of loading Client UI. This fact allows for a lot of cleanups in the start-up code.
- BREAKING: Client UI does not support V1 API anymore. The only supported way of loading the application is the new approach, introduced in #682.
- Since the change above, there is no more use for
experimentalNewApiinappConfig.json. It has now been removed.
- A number of Client's dependencies have been upgraded.
3.13.5 - 2023-08-14
- Fix to list sorting when toggling layers in a group layer (#1362)
- Added missing dependencies in Client's package.json
- Imports are now made using relative paths. Commit
- Removed all references to the unused
shortcodesfeature inFeatureInfo. Also, removed unused dependencies from Client's package.json. Commit - Legacy plugins removed in this release are:
Draw(useSketchinstead)Measure(useMeasurerinstead)
- Also
VTSearchwas removed as it is to be transformed into a community plugin (i.e. not included in the main build)
3.13.4 - 2023-08-14
- Restored the missing
.material-iconsclass in our CSS. This disappeared in a recent MUI bump and has now to be added manually for font icons.
3.13.3 - 2023-08-11
3.12.0-rc.2 - 2023-06-19
Types of changes:
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Removedfor now removed features.Fixedfor any bug fixes.Securityin case of vulnerabilities.