GeoDms 20.1.0
GeoDms 20.1.0's headline is first-class Linux support: the GeoDMS engine and the Qt GUI now build and run natively on Linux, distributed as a .deb package and a portable tarball alongside the Windows installers. This release also brings a UTF-8 overhaul across all modules, several map/table-view improvements, a first-class pow operator, and a refreshed dependency baseline.
Builds are provided at the same source revision in three flavors:
| Flavor | Platform | Asset |
|---|---|---|
.m |
Windows x64 (MSBuild) | GeoDms20.1.0.m-Setup-x64.exe |
.c |
Windows x64 (CMake) | GeoDms20.1.0.c-Setup-x64.exe |
.l |
Linux x64 (WSL / Ubuntu 24.04) | GeoDms20.1.0.l-linux-x64.deb (+ .tar.gz) |
🐧 Linux support (new)
- GeoDmsRun and the GeoDmsGuiQt GUI now run on Linux (built under WSL/Ubuntu, Qt 6), shipped as a
.deband a portable tarball. - Completed the narrow → wide (UTF-8) migration:
shvand every module now build as Unicode, and the Windows executables embed a UTF-8 active-code-page manifest, so paths and text behave consistently across platforms. - Fixed a Linux GUI exit segfault during window teardown (
OnStatusTextdereferencing an already-cleared main window). - Known issue: some Qt libraries are missing in the Linux install; they will be included in a next version. This might only affect the workings of GeoDmsGuiQt, not GeoDmsRun. Workaround: Install Qt version 6.4. See #1137
🗺️ Map & table views
- WMS/WMTS legends (#405): the map-view layer control can now fetch and display a remote legend image.
- Name disambiguation (#418, #620): view captions and value-info panels qualify non-distinct item names so duplicates are distinguishable.
- Focus highlight (#1039): the focused MapView/TableView is marked with a clear magenta highlight.
- Single-point zoom (#374): opening a single point no longer over-zooms.
- Multi-column resize (#1121): pooled column-width resizing across a multi-column selection.
- Fixed a duplicated column when activating a container (#1122).
- Window position and size are now persisted between sessions.
➗ Operators & calculation
pow/^is now a first-class operator (#839) instead of being rewritten asexp(b·log(a))— correct results for integer, negative, and zero bases, with less precision loss.- Fixed a conversion regression (#1098).
- Fixed grid-range upper-bound clamping on large grids (unsigned rounding past 32767).
StorageTileSizeXPropDef = 0on non-storage-holders is no longer treated as an error.- Clearer NetCDF diagnostic when a raster band is missing.
⚡ Performance & stability
- #933: storage reads no longer block worker threads on a storage manager's critical section, improving throughput on storage-heavy models.
🔧 Build & dependencies
- Upgraded the vcpkg baseline to 2026.05.25 — boost 1.91, GDAL 3.12, CGAL 6.1, PROJ 9.8 — via an in-repo vcpkg submodule that auto-bootstraps on a fresh checkout (both MSBuild and CMake).
- Pinned the toolchain to MSVC 14.50.35717 to avoid a GEOS miscompile in 14.51 that caused buffer-operation crashes.
- Corrected PROJ/GDAL data deployment so PROJ 9.8 ships a current
proj.db. - Packaging fixes (ship
tinyxml2.dll; drop staleuriparser/vcpkg DLL references) and a large build-warning cleanup.
Verifying the Linux download
sha256sum -c GeoDms20.1.0.l-linux-x64.tar.gz.sha256
The accompanying .p7s is a detached SHA-256 signature of the checksum file (GlobalSign EV).
Full Changelog: v20.0.4...v20.1.0
Known regresssion in the connect operator that is now multi-treaded but has a sorting issue in this version. Has been resolved for the next release: see #1138
Test results
https://geodms.nl/tests/reports/20_1_0_c___17_9_2.html
https://geodms.nl/tests/reports/20_1_0_m___17_9_2.html
See https://github.com/ObjectVision/GeoDMS/wiki/Full-test for context