Skip to content

v2.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 May 16:08
· 27 commits to master since this release
a657b0a

Highlights

  • Added full OGC services suite (WMS, WFS, WMTS, WCS, OGC API Features + Tiles) served directly from any dataset.
  • Updated STAC to version 1.1.0 with STAC API 1.0.0 compliance (landing page, conformance, collections, items, and cross-dataset search).
  • Vector build artifacts migrated from FlatGeobuf (FGB) to GeoPackage (GPKG); existing vector datasets must be rebuilt.

Added / Changed

  • Added WMS 1.1.1/1.3.0, WFS 2.0, WMTS 1.0.0, WCS 2.0.1/1.1.1/1.0.0, OGC API Features 1.0, and OGC API Tiles 1.0 endpoints at /orgs/{orgSlug}/ds/{dsSlug}/{service}.
  • Added folder-scoped variants for WMS, WFS, and WCS at .../p/{folder}.
  • Added OGC layer catalog with 5-minute cache and automatic invalidation on dataset mutations.
  • Added BuildArtifactResolver as a single source of truth for build artifact paths (MVT, COG, GPKG, NXS, COPC).
  • Added ArtifactCompletenessCheckerService recurring job (default: daily at 2:00 AM) that scans all entries and re-queues builds for incomplete artifacts.
  • Added POST /system/check-artifact-completeness endpoint to trigger an immediate completeness scan.
  • Added MVT tile endpoint (/orgs/{orgSlug}/ds/{dsSlug}/mvt/{hash}/{z}/{x}/{y}.pbf) for precomputed vector tiles.
  • Added STAC API 1.0.0 endpoints: /stac/conformance, /stac/collections, /stac/collections/{org}/{ds}, /stac/collections/{org}/{ds}/items, /stac/search (GET and POST).
  • Updated STAC catalog to comply with STAC 1.1.0 and STAC API 1.0.0; added conformsTo field to landing page.
  • Added IsBuildComplete native wrapper (DDBIsBuildComplete) to check whether build artifacts exist and are non-empty.
  • Added GenerateTile overload with explicit output format parameter (PNG/JPEG).
  • Added StacItemCollection native wrapper (DDBStacItemCollection) with bbox and datetime filtering and paging.
  • Added raster region rendering wrappers (DDBRenderRasterRegionEx, DDBRenderRasterIndex, DDBQueryRasterPoint, DDBQueryVector, DDBDescribeVector).
  • Added DisableAnonymousBulkDownloads configuration flag; when enabled, anonymous users cannot download bulk archives (whole dataset, folders, or multi-file selections) - single-file downloads remain allowed.
  • Added OrgSlug field to ShareInitDto to allow callers to specify a destination organization without requiring a full org/dataset tag.
  • Added DisableAnonymousBulkDownloads to the /system/features response.
  • Refactored Hangfire recurring job registration: all cron settings now accept "disabled", "off", or "none" to remove a job, and null/empty falls back to the built-in default.
  • Updated README.md to document all OGC service endpoints and QGIS setup steps.
  • Improved Move and Copy operations to return EntryDto instead of raw Entry (consistent with rest of the API).
  • Improved OGC exception handling: authentication failures and OGC exceptions always return the version-appropriate XML envelope (not the generic error page).
  • Improved DDB version retrieval to log a warning instead of silently swallowing exceptions.
  • Added extensive unit tests for OGC components (OgcExceptionFilter, OgcExceptionFormatter, OgcRequestParser, OgcLayerCatalog, WmsValidator, WcsVersionNegotiator, BuildArtifactResolver) and artifact completeness checker.
  • [DroneDB] Updated to v1.8.1 (from v1.7.4).
  • [Hub] Updated ClientApp submodule.

Fixed

  • Fixed Copy operation leaving fileSystemCopied unset in one branch, which could cause incorrect cleanup behavior on error.
  • Fixed OGC capabilities cache invalidation not being triggered on file operations (add, delete, move, copy, transfer).
  • Fixed WMS GetMap returning a generic error instead of a version-appropriate XML ServiceExceptionReport on authentication or OGC-level failures.
  • Fixed WMTS path prefix collision with WMS in the exception filter (WMTS requests no longer misclassified as WMS).
  • Fixed OGC API Features returning incorrect content type for items and collections.
  • Fixed ZipArchive entry creation using synchronous Open() instead of async OpenAsync().
  • Fixed inconsistent initialization of collection/list properties in several DTOs.

Breaking changes

  • Vector build artifacts have been migrated from FlatGeobuf (vec/vector.fgb) to GeoPackage (vec/source.gpkg). Any dataset with vector entries built under a previous version will not be served by WFS, WMTS, or OGC API until rebuilt.
    • Migration: trigger a rebuild for all affected vector entries via POST /system/check-artifact-completeness (scans all datasets automatically), or rebuild individual datasets manually through the UI or API.

Merged PRs

  • Added support for WMS, WMTS, WFS, WCS, OGC API Features, OGC API Tiles by @HeDo88TH in #344
  • Add OrgSlug to ShareInitDto for flexible destination selection by @HeDo88TH in #343

Full Changelog: v2.3.1...v2.4.0