Releases: hajkmap/Hajk
Hajk 4.2 Release Candidate 1
This release includes 191 commits and changes across 161 files since Hajk 4.1. Packaged by @Hallbergs and @jacobwod, with contributions from the community. See the commit list for all contributors.
Release Candidate Reporting Period
We welcome feedback regarding your tests with this release candidate. Please report your findings in this thread. Test reports are accepted until January 14th, 2026.
Summary
Hajk 4.2 combines stabilization efforts following the 4.0 update with a suite of new features and optimizations.
For an overview of planned development, refer to the project roadmap.
Scroll down for a comprehensive list of changes! 🚀
Changelog highlights
For a complete list of changes, see the project changelog.
For a full list of commits, visit this link.
Added
- Support for cookie-less Matomo tracking. PR#1691
- OpenStreetMap is now a selectable default background layer in map config. See commit and commit. Admin UI option added in commit.
- Updated default projection (in
simpleMapConfig.jsonandmap_1.json) to EPSG:3857. This improves rendering for the new OpenStreetMap background. commit
Changed
- FmeServer plugin: Select Tool now supports multi-feature selection/deselection. PR#1708
- Upgraded Material UI (MUI) to v7. PR#1658
- OpenStreetMap, white, and black backgrounds are now standard layers in LayerSwitcher, allowing visibility initialization via configuration. PR#1680
- Replaced legacy
react-smooth-dndwithdnd-kit. PR#1689 - Updated Introduction module for Hajk 4 compatibility, introducing two tour modes (Full and LayerSwitcher). PR#1664
- Refactored the Anchor tool into a dialog component. PR#1711
- QuickAccess: LayerGroups are now shown as breadcrumbs, with each group’s layers displayed beneath it. PR#1726
Fixed
- Bookmarks: Corrected button state logic. PR#1609
- Bookmarks: "Add" button is now conditionally enabled based on input presence. PR#1657
- WFS: Resolved URL parsing inconsistencies that hindered layer loading from certain services. PR#1677
- DialogWindowPlugin: Fixed toolbar button visibility issues during state toggling. issue
- LayerSwitcher: Prevented duplicate legend graphics when a custom group legend is defined. issue
- LayerSwitcher: Hidden Quick Access Presets when functionality is disabled in Admin. PR
- LayerSwitcher: Standardized info buttons for groups to match regular/group layers (backward compatible). PR
- LayerSwitcher: Enabled searching by LayerGroup name. GroupLayer search now expands to reveal sublayers. Closes issue
- Infoclick: Fixed boolean value inversion occurring under specific database conditions. issue
- Client: Added "Access Denied" UI feedback for 403 Backend responses. Closes issue
Security
Downloads
Hajk can be deployed using pre-built release packages or via Docker.
Pre-built packages
There are two versions of the downloadable package:
- Simple Edition: Static files only (no backend/admin). Configuration relies on JSON files.
- NodeJS Edition: Full stack, including Backend, Frontend, and Admin.
Docker container
The container is available on Docker Hub: hallbergs/hajk.
Installation
Refer to the installation guide.
Full Changelog: v4.1.0...v4.2.0-rc.1
Hajk 4.1
The 4.1 release consists of 55 commits and changes across 63 files since Hajk 4.0 has seen the light of day. This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple developers. See the commit list for all contributors.
Summary
Hajk 4.1 is mainly a "fixes release", given the amount of changes introduced in 4.0 and the feedback we've received since.
For an overview of planned development, refer to the project roadmap.
Scroll down for a comprehensive list of changes! 🚀
Changelog highlights
For a complete list of changes, see the project changelog.
For a full list of commits, visit this link.
Added
- 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)
Removed
Fixed
- 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
- LayerComparer: Fix inconsistent UI behaviour, see this discussion, commit.
Security
- Backend: Major upgrades of dependencies, e.g. the latest Express, HTTP Proxy Middleware, ESlint. commit
Downloads
There are multiple ways to get Hajk up and running, including a Docker container.
Pre-compiled releases
There are two versions of the pre-compiled solution: the regular (NodeJS edition) and a simple edition.
- The Simple Edition does not contain a backend or admin panel. It consists only of static files that read all required configurations from JSON files.
- The NodeJS Edition includes all three Hajk components: Backend, Frontend, and Admin.
Docker container
The container is available on Docker Hub: hallbergs/hajk.
Installation
Refer to the installation guide.
Full Changelog: View all commits
v4.1.0-rc.1
Hajk 4.1 Release Candidate 1
The 4.1 release consists of 52 commits and changes across 61 files since Hajk 4.0 has seen the light of day. This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple developers. See the commit list for all contributors.
Release Candidate Reporting Period
We're looking forward hearing from you regarding your tests with this release candidate. Please use this thread and report your findings. We're accepting test reports until June 11th, 2025.
Summary
Hajk 4.1 is mainly a "fixes release", given the amount of changes introduced in 4.0 and the feedback we've received since.
For an overview of planned development, refer to the project roadmap.
Scroll down for a comprehensive list of changes! 🚀
Changelog highlights
For a complete list of changes, see the project changelog.
For a full list of commits, visit this link.
Added
- 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)
Removed
Fixed
- 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
Security
- Backend: Major upgrades of dependencies, e.g. the latest Express, HTTP Proxy Middleware, ESlint. commit
Downloads
There are multiple ways to get Hajk up and running, including a Docker container.
Pre-compiled releases
There are two versions of the pre-compiled solution: the regular (NodeJS edition) and a simple edition.
- The Simple Edition does not contain a backend or admin panel. It consists only of static files that read all required configurations from JSON files.
- The NodeJS Edition includes all three Hajk components: Backend, Frontend, and Admin.
Docker container
The container is available on Docker Hub: hallbergs/hajk.
Installation
Refer to the installation guide.
Full Changelog: View all commits
Hajk 4.0
109 commits and changes across 202 files since the most recent stable release, 3.14.1 – here's Hajk 4! This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple developers. See the commit list for all contributors.
This is the first release in the 4.x branch. Enjoy!
For an overview of planned development, refer to the project roadmap.
Hajk 4 represents a significant milestone for two main reasons:
- The Layer Switcher has been rewritten and improved, including support for filtering the layer list. A special thanks to @karljakoblarsson for his contributions!
- There is now one official Hajk backend, written in NodeJS. The .NET backend has become a community extension for those who still need it for any reason.
Hajk 4 is packed with new features, bug fixes, and security improvements. 🔒
Scroll down for a comprehensive list of changes! 🚀
Breaking changes
- Official support for the .NET backend has been dropped.
Changelog highlights
For a complete list of changes, see the project changelog.
For a full list of commits, visit this link.
Added
- Major LayerSwitcher improvements and new features (see details below).
- Measurer: Now possible to measure segments in lines and polygons. #1549
- LayerComparer: Admins can now select specific layers to be visible in the tool, instead of only allowing all background layers or all regular layers. #1570
- Search: Added the ability to set default search options via the admin UI. #1496
Major LayerSwitcher changes
- 🚀 Added filter functionality.
- Enhanced layer visibility indicators.
- Quick Access grouping in LayerSwitcher for frequently used layers. Includes support for saving and restoring "Quick Access layers" in LocalStorage.
- Quick Access Layer Presets/Themes/Packages: Choose from predefined sets of layers to load into Quick Access. Configured in the map settings (see
simpleMapConfig.jsonfor an example). - Improved Draw Order tab for managing layer rendering order.
For further details, see the following issues: #1237, #1275, #1284, #1296, #1300, #1347, #1365, #1380.
Fixed
- Improved handling of overlapping windows. #1546
- Various accessibility improvements. #1561, #1562, #1563, #1565, #1566, #1567, #1569
- Admin: Fixed naming issue in FME Server configuration. (commit)
Security
- Updated dependencies across the board.
Removed
New Contributors
- @karljakoblarsson made their first contribution in #1568
- @michaelsund made their first contribution in #1549
- @sweco-semtsg made their first contribution in #1561
Downloads
There are multiple ways to get Hajk up and running, including a Docker container.
Pre-compiled releases
There are two versions of the pre-compiled solution: the regular (NodeJS edition) and a simple edition.
- The Simple Edition does not contain a backend or admin panel. It consists only of static files that read all required configurations from JSON files.
- The NodeJS Edition includes all three Hajk components: Backend, Frontend, and Admin.
Docker container
The container is available on Docker Hub: hallbergs/hajk.
Installation
Refer to the installation guide.
Full Changelog: View all commits
Hajk 4 Release Candidate 2
98 commits and changes across 198 files since the most recent stable release, 3.14.1 – here's Hajk 4! This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple coders. Please see the list of commits for all contributors.
This is the first release on the 4.x branch. Enjoy!
For an overview of planned development, refer to the project's roadmap.
Hajk 4 represents a significant milestone for Hajk for two main reasons:
- Layer Switcher has been rewritten and seen crucial improvments, including filtering the layer's list.
- There's now one official Hajk backend and it's written in NodeJS (the .NET backend has become a community extensions, for those who for some reasons still are in need of it).
Hajk 4 is packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Release Candidate Reporting Period
We're looking forward for your the results of your tests with this release candidate. Please use the dedicated discussions thread and report your findings. We're accepting test reports until April 2nd, 2025.
Changes since Hajk 4 Release Candidate 1
Several bugs have been identified (see the dedicated discussions thread for RC1) and fixed in RC2. For a list of changes between RC1 and RC2, please refer to CHANGELOG.md.
Breaking changes
- Dropped official support for the .NET backend.
Changelog highlights
For a comprehensive list of commits, please visit this link.
Added
- Major LayerSwitcher improvements and new features (see below for details)
- Measurer: It is now possible to measure segments in lines and polygons. #1549
- 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
- Search: Added possibility to set default search options via admin UI. PR: #1496
Major LayerSwitcher changes
- 🚀 Added filter functionality
- Enhanced layer visibility indicators
- Quick Access grouping in LayerSwitcher for access to frequently used layers. Includes support for saving and restoring sets of "Quick Access 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 Draw Order tab functionality for managing layer drawing order
For further details, see the following issues: #1237, #1275, #1284, #1296, #1300, #1347, #1365, #1380.
Fixed
- Improved how overlapping windows 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
Security
- Updates across the board to dependencies
Changed
Removed
- In accordance with the roadmap the .NET backend was removed in the 4.0 release. (commit)
New Contributors
- @karljakoblarsson made their first contribution in #1568
- @michaelsund made their first contribution in #1549
- @sweco-semtsg made their first contribution in #1561
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
There are two different versions of the pre-compiled solution: the regular (NodeJS edition) and a simple edition. The main difference is that the simple edition does not contain a Backend nor an Admin (it's just some static files that read all required configuration from a bunch of JSON files). The regular (NodeJS edition) contains all three Hajk components: the Backend, the Frontend and the Admin.
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
Full Changelog: v3.14.1...v4.0.0-rc.2
Hajk 4 Release Candidate 1
62 commits and changes across 188 files since the most recent stable release, 3.14.1 – here's Hajk 4! This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple coders. Please see the list of commits for all contributors.
This is the first release on the 4.x branch. Enjoy!
For an overview of planned development, refer to the project's roadmap.
Hajk 4 represents a significant milestone for Hajk for two main reasons:
- Layer Switcher has been rewritten and seen crucial improvments, including filtering the layer's list.
- There's now one official Hajk backend and it's written in NodeJS (the .NET backend has become a community extensions, for those who for some reasons still are in need of it).
Hajk 4 is packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Release Candidate Reporting Period
We're looking forward for your the results of your tests with this release candidate. Please use the dedicated discussions thread and report your findings. We're accepting test reports until March 14th, 2025.
Breaking changes
- Dropped official support for the .NET backend.
Changelog highlights
For a comprehensive list of commits, please visit this link.
Added
- Major LayerSwitcher improvements and new features (see below for details)
- Measurer: It is now possible to measure segments in lines and polygons. #1549
- 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
- Search: Added possibility to set default search options via admin UI. PR: #1496
Major LayerSwitcher changes
- 🚀 Added filter functionality
- Enhanced layer visibility indicators
- Quick Access grouping in LayerSwitcher for access to frequently used layers. Includes support for saving and restoring sets of "Quick Access 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 Draw Order tab functionality for managing layer drawing order
For further details, see the following issues: #1237, #1275, #1284, #1296, #1300, #1347, #1365, #1380.
Fixed
- Improved how overlapping windows 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
Security
- Updates across the board to dependencies
Changed
Removed
- In accordance with the roadmap the .NET backend was removed in the 4.0 release. (commit)
New Contributors
- @karljakoblarsson made their first contribution in #1568
- @michaelsund made their first contribution in #1549
- @sweco-semtsg made their first contribution in #1561
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
There are two different versions of the pre-compiled solution: the regular (NodeJS edition) and a simple edition. The main difference is that the simple edition does not contain a Backend nor an Admin (it's just some static files that read all required configuration from a bunch of JSON files). The regular (NodeJS edition) contains all three Hajk components: the Backend, the Frontend and the Admin.
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
Full Changelog: v3.14.1...v4.0.0-rc.1
Hajk 3.14.0
315 commits and changes across 931 files since the most recent stable release, 3.12.1 – here's Hajk 3.14.0! This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple coders. Please see the list of commits for all contributors.
This release marks the final build of the 3.x branch. Enjoy! (For an overview of planned development, refer to the project's roadmap.)
Additionally, this release represents a significant milestone for Hajk, as it includes the removal of the legacy V1 API (/api/v1/* endpoints in the backends). Both backends shipped with this release are now API V2-compatible. This introduces some adjustments that you, as an administrator, need to consider when migrating – see Breaking changes below.
Hajk 3.14 is packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Breaking changes
- This release marks the removal of the legacy V1 API (
/api/v1) in both the NodeJS backend and the old .NET 4.5 backend. Client UI is now V2-compatible only, requiring the consolidated loading method. Please review and update your configuration, both for Client and Admin. For details, refer todocs/migrate-to-v2-api.md. - This release marks the deprecation of certain plugins that have either been replaced by new solutions or transformed into community plugins. For more information, refer to
docs/deprecated-plugins.md. - Although not a breaking change per se, it fits well here: the repository has been restructured. All applications (Client, Admin, and Backend) can now be found in the
apps/directory. Thenew-prefix has been removed from app names. Some shell scripts now live inscripts/, and the majority of Docker-related files, except for the official Dockerfile, have been moved into theDocker/directory. PR: #1488. - Upcoming breaking change: this is the last release with official support for multiple backends (NodeJS and .NET). Hajk's upcoming 4.x-series will focus on the NodeJS backend, dropping official support for the .NET backend.
Changelog
In this release, we have aggregated the changes that occurred between the v3.13.3 and v3.13.25 tags, as well as the changes introduced in this v3.14.0 tag. If you want to know exactly when each change was introduced, you can refer to the Changelog.
For a comprehensive list of commits, please visit this link.
Added
- Admin: It is now possible to easily duplicate map configurations using the UI. #1502.
- Admin: Support for the EPSG:5847 in Admin UI. Keep in mind that you still need to add appropriate projection definitions to each map config.
- Backend (.NET): The new .NET 6 backend. Issue: #1210. PR: #1395.
- Backend (NodeJS): Added
/firendpoints. This functionality requires the myCarta FR Direkt service. #1416 - Backend (NodeJS): Added possibility to use Authorization token in FME Server proxy. #1530.
- Backend (NodeJS): 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 (NodeJS): More logging options in
.env. Also, we now save 14 old log files by default (was 1 before). #1421 - Backend (NodeJS): Respect nested
visibleForGroupswithin tool options. #1438 - Backend (NodeJS): Show 403 Forbidden rather than 500 if access was not allowed. 90b1725
- Client Core, Admin: Added support for stand-alone GeoWebCache WMS Server. Issue: #1469, PR: #1493.
- Client Core: 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
- Client Core: 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
- Client Core: Allow to specify map config by using
mquery parameter, even when no backend is active. commit - Client Core: CSS classes added for certain elements, allows for more granular custom styling. See also this discussion. PR: #1497.
- Client, Admin: it's now possible to configure the Search tool so that it starts with the search field in focus. #1424
- Client: It is now possible for admins to make the side drawer permanent (i.e. not hidable by user). #1316, #1367.
- Client: LayerSwitcher now indicates which groups have enabled layers by styling those groups with a bold font. #1257
- CookieNotice: It's now possible to revisit the cookie notice and change your preference #1125
- CookieNotice: The cookie notice dialog now appears at the top of other dialogs and pop up windows. PR: #1521.
- 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.
- Coordinates: It's now possible to copy and paste coordinates from/to both coordinate inputs (N & E, longitude & latitude). PR: #1506.
- Deployment: Added Dockerfile making it possible to deploy "Hajk-simple" on OpenShift using S2I. PR: #1487.
- DocumentHandler - possible to save documents inside subfolders. #1402
- Edit: Allow setting a
geometryFieldfor edit layers with no features. #1447 - Edit: the Simple Edit Workflow, as described in #1377
- FIR: Allow comma-separated search and multiline search. #1461
- Infoclick: Highlight in collection view. #1472
- Infoclick: New filters. #1443
- Infoclick:Added the possibility to change icon background in feature list, #1385
- Infoclick:The HTML
targetattribute is now accepted and rendered correctly if specified, #1389 - 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
- LayerSwitcher: It is now possible to disable unused tabs in LayerSwitcher, e.g. only show the Background layers tab. #1431
- LayerSwitcher: Some text field inputs for layer groups now allows HTML code. #1518.
- LayerSwitcher(Client)/Groups(Admin): It's now possible to add and show information about a layer group. #400.
- LayerSwitcher/Admin: Administrators can configure a link for each layer. The link will be visible in LayerSwitcher's metadata part. #1387
- Measurer: It is now possible to perform perpendicular measurements by using a modifier key (Ctrl or Cmd, depending on the OS) #1361
- Print/Anchor: It's now possible to generate QR codes in Share and Print. #1482
- Project: Added CHANGELOG.md to the project
- PropertyChecker: Expanded the plugin to also utilize Digital Plans by adding a second tab with an own list as well as another report.
- PropertyChecker: 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.
- Sketch: Allow changing point size. #1373
- Sketch: It is now possible to buffer from the Sketch plugin. #1310
- Sketch: It's now possible to disable stroke for polygons and circles #1177
- Sketch: Rotate drawn objects. #1455
- 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
- TimeSlider: It's now possible ...
Hajk 3.14 Release Candidate 1
311 commits and changes across 930 files since the most recent stable release, 3.12.1 – here's Hajk 3.14! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release represents a significant milestone for Hajk, as it marks the removal of the legacy V1 API (/api/v1/* endpoints in the backends). Both backends shipped with this release are now API V2-compatible. This introduces some adjustments that you, as an administrator, need to take into consideration when migrating – see Breaking changes below.
This release is also packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Reporting period
We're looking forward for your the results of your tests with this release candidate. Please use the dedicated discussions thread and report your findings. We're accepting test reports until August 27th, 2024.
Breaking changes
- This release marks the removal of the legacy V1 API (
/api/v1) in both the NodeJS backend and the old .NET 4.5 backend. Client UI is now V2-compatible only, requiring the consolidated loading method. Please review and update your configuration, both for Client and Admin. For details, refer todocs/migrate-to-v2-api.md. - This release marks the deprecation of certain plugins that have either been replaced by new solutions or transformed into community plugins. For more information, refer to
docs/deprecated-plugins.md. - Although not a breaking change per se, it fits well here: the repository has been restructured. All applications (Client, Admin, and Backend) can now be found in the
apps/directory. Thenew-prefix has been removed from app names. Some shell scripts now live inscripts/, and the majority of Docker-related files, except for the official Dockerfile, have been moved into theDocker/directory. PR: #1488. - Upcoming breaking change: this is the last release with official support for multiple backends (NodeJS and .NET). Hajk's upcoming 4.x-series will focus on the NodeJS backend, dropping official support for the .NET backend.
Changelog
In this release, we have aggregated the changes that occurred between the v3.13.3 and v3.13.25 tags, as well as the changes introduced in this v3.14.0 tag. If you want to know exactly when each change was introduced, you can refer to the Changelog.
For a comprehensive list of commits, please visit this link.
Added
- Admin: It is now possible to easily duplicate map configurations using the UI. #1502.
- Admin: Support for the EPSG:5847 in Admin UI. Keep in mind that you still need to add appropriate projection definitions to each map config.
- Backend (.NET): The new .NET 6 backend. Issue: #1210. PR: #1395.
- Backend (NodeJS): Added
/firendpoints. This functionality requires the myCarta FR Direkt service. #1416 - Backend (NodeJS): Added possibility to use Authorization token in FME Server proxy. #1530.
- Backend (NodeJS): 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 (NodeJS): More logging options in
.env. Also, we now save 14 old log files by default (was 1 before). #1421 - Backend (NodeJS): Respect nested
visibleForGroupswithin tool options. #1438 - Backend (NodeJS): Show 403 Forbidden rather than 500 if access was not allowed. 90b1725
- Client Core, Admin: Added support for stand-alone GeoWebCache WMS Server. Issue: #1469, PR: #1493.
- Client Core: 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
- Client Core: 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
- Client Core: Allow to specify map config by using
mquery parameter, even when no backend is active. commit - Client Core: CSS classes added for certain elements, allows for more granular custom styling. See also this discussion. PR: #1497.
- Client, Admin: it's now possible to configure the Search tool so that it starts with the search field in focus. #1424
- Client: It is now possible for admins to make the side drawer permanent (i.e. not hidable by user). #1316, #1367.
- Client: LayerSwitcher now indicates which groups have enabled layers by styling those groups with a bold font. #1257
- CookieNotice: It's now possible to revisit the cookie notice and change your preference #1125
- CookieNotice: The cookie notice dialog now appears at the top of other dialogs and pop up windows. PR: #1521.
- 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.
- Coordinates: It's now possible to copy and paste coordinates from/to both coordinate inputs (N & E, longitude & latitude). PR: #1506.
- Deployment: Added Dockerfile making it possible to deploy "Hajk-simple" on OpenShift using S2I. PR: #1487.
- DocumentHandler - possible to save documents inside subfolders. #1402
- Edit: Allow setting a
geometryFieldfor edit layers with no features. #1447 - Edit: the Simple Edit Workflow, as described in #1377
- FIR: Allow comma-separated search and multiline search. #1461
- Infoclick: Highlight in collection view. #1472
- Infoclick: New filters. #1443
- Infoclick:Added the possibility to change icon background in feature list, #1385
- Infoclick:The HTML
targetattribute is now accepted and rendered correctly if specified, #1389 - 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
- LayerSwitcher: It is now possible to disable unused tabs in LayerSwitcher, e.g. only show the Background layers tab. #1431
- LayerSwitcher: Some text field inputs for layer groups now allows HTML code. #1518.
- LayerSwitcher(Client)/Groups(Admin): It's now possible to add and show information about a layer group. #400.
- LayerSwitcher/Admin: Administrators can configure a link for each layer. The link will be visible in LayerSwitcher's metadata part. #1387
- Measurer: It is now possible to perform perpendicular measurements by using a modifier key (Ctrl or Cmd, depending on the OS) #1361
- Print/Anchor: It's now possible to generate QR codes in Share and Print. #1482
- Project: Added CHANGELOG.md to the project
- PropertyChecker: Expanded the plugin to also utilize Digital Plans by adding a second tab with an own list as well as another report.
- PropertyChecker: 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.
- Sketch: Allow changing point size. #1373
- Sketch: It is now possible to buffer from the Sketch plugin. #1310
- Sketch: It's now possible to disable stroke for polygons and circles #1177
- Sketch: Rotate drawn objects. #1455
- 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](https://github.com/hajkmap/Hajk/i...
Hajk 3.12.1
This release fixes an issue where images in the DocumentHandler could be printed with incorrect sizing.
As usual, we have prepared three different versions of the pre-compiled solution:
The release is also available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
For complete release notes, please see 3.12.0
Hajk 3.12
214 commits and changes in 163 files since the 3.11 release – here's Hajk 3.12! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings a lot of improvements both in Client and the NodeJS backend.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Breaking changes
As of #1332, The NodeJS backend requires Node v16.10 or greater. However, it is recommended to always use the latest NodeJS LTS, which at time of writing is v18.
Changes since Hajk 3.12 Release Candidate 2
The fix for #1314 had to be reverted since the fix was not compatible with some configurations.
Major new features
Live app state in URL's hash
#1252 adds a new major function: everything the user does in Hajk is kept in a portion of the URL called query string (sometimes called URL hash, due to it's leading character being a #).
What to expect
As users interacts with the map, URL changes:
Skarminspelning.2023-06-07.kl.12.23.12.mov
Benefits
The main benefits are:
- if browser is set to restore tabs on start, Hajk will remember its latest state (visible layers, location, zoom level, active search string, and more)
- user has the option to easily add bookmarks to "favourite" maps, kind of creating own theme maps
- it is super-easy to share whatever is visible with e.g. a colleague, without invoking the Anchor plugin. Just copy the URL and send.
How to activate
The goal is to make this new functionality the new default way that Hajk works (perhaps even require it). But currently, we will phase-in it. You, as an admin, must manually enable it on maps.
You can find the switch in Admin UI:
Another option is to test it without any changes in the config. To do that, just add the appStateInHash parameter to your existing URL in the search query portion (the part after a ?, e.g. http://localhost/?m=map_1&enableAppStateInHash).
PLEASE NOTE: The two methods of enabling this functionality are not related. If you enable the setting using Admin UI, you don't need to add anything to the URL.
Additions to the TimeSlider
The TimeSlider plugin now allows for quarterly steps. We've also added functionality allowing the user to step one step at the time.
Additions to the Infoclick window
It is now possible to use custom URIs in the InfoClick-window.
Configurable drawer icon
The DocumentHandler drawer button icon can now be configured in the admin interface.
Bookmarks plugin cookie verification
Before storing data in localStorage, the plugin now verifies if it has the user's permission to use cookies.
Zoom level indicators update
Both checkboxes and Snackbars will now appear consistently for both individual layers and group layers when activated outside their specified zoom level.
Changelog
For closed issues marked with the 3.12 milestone, see this.
For a complete list of commits, see this.
New features and bug fixes
#1338, #1330, #1329, #1326, #1323, #1319, #1309, #1289, #1269, #1280, #1268, #1267, #1266, #1265, #1264, #1258, #1252, #1243, #1219, #1202, #1342, #1344, #1336, #1328, #1334, #997, #1308, #1302, #1301, #1294, #1305, #1286, #1282, #1278, #1277, #1274, #1324, #1292, #1272
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/1219 configurable drawer button by @linusfj in #1255
- Added functionality for adding frame around image in admin by @OlofSvahnVbg in #1251
- Feature/1099 infoclick parse xml by @linusfj in #1256
- Fix/1258 extend feature info support by @Hallbergs in #1262
- Feature/1269 props as filter args by @jesade-vbg in #1271
- Feature/1252 control hajk programatically by @jacobwod in #1272
- Feature/1267 refactor bookmarks plugin by @linusfj in #1270
- Feature/1264 bookmarks cookies verification by @linusfj in #1283
- Feature/1268 accordion blockqoute by @OlofSvahnVbg in #1279
- Feature/1243 new measure tool by @jesade-vbg in #1292
- Feature/1280 print scale bar update by @OlofSvahnVbg in #1293
- Fix that closes #997. Its now possible to specify image (and other st… by @jesade-vbg in #1313
- feature/1309: API version separation in NodeJS backend by @jacobwod in #1318
- Reinstated cacheBuster to new-client by @jesade-vbg in #1324
- Feature/PrintAttachmentsMerge by @OlofSvahnVbg in #1322
- Getting custom fonts to work in DocumentHandler Print. by @jesade-vbg in #1327
- Feature/1329 timeslider additions by @Hallbergs in #1331
- bug fix - Feature/print attachments merge by @jesade-vbg in #1333
- Make the Backend fully ESM compatible, remove Babel by @jacobwod in #1332
- Potential fix for #1320: by @jacobwod in #1337
- Fix/1291 snackbar group layers by @linusfj in #1304
- Feature/1319 open desktop app in infoclick by @Hallbergs in #1341
- Feature/1338 anchor bug fix by @OlofSvahnVbg in #1339
- Feature/orebro tsm 2 by @Sunix71 in #1281
Full Changelog: v3.11.0...v3.12.0