Skip to content

GeoDms 20.1.0

Choose a tag to compare

@MaartenHilferink MaartenHilferink released this 11 Jun 18:00
Immutable release. Only release title and notes can be modified.

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 .deb and a portable tarball.
  • Completed the narrow → wide (UTF-8) migration: shv and 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 (OnStatusText dereferencing 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 as exp(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 = 0 on 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 stale uriparser/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