Skip to content

Releases: ndsev/mapget

v2025.5.1

22 Jan 16:35
6fcff2f

Choose a tag to compare

Added

  • JSONL /tiles endpoint now includes tile-level metadata: mapgetTileId, mapgetLayerId, mapId, idPrefix, timestamp, ttl, and error object with code/message (#135)
  • errorCode field for TileLayer to surface numeric error codes (HTTP status, SQLite codes, etc.)
  • Python bindings: error_code/set_error_code methods
  • manifest.json support for GeoJsonSource enabling flexible file-to-layer mapping and multi-layer configurations (#138)

Fixed

  • GeoJsonSource tile ID datatype changed from U32 to U64 to support 64-bit mapget tile IDs (#132)

Changed

  • GeoJsonSource: renamed packedTileId to tileId (removes NDS-specific terminology)

Deprecated

  • GeoJsonSource legacy mode (direct directory scanning without manifest.json) (#139)

Full Changelog: v2025.5.0...v2025.5.1

v2025.5.0

11 Dec 11:57
7f1c3ff

Choose a tag to compare

What's Changed

  • User and developer docs (#127).
  • Implement TTL expiration support (#123).
  • Use simfil with fixed steady_clock usage.
  • Build GeoJsonSource and GridSource into mapget (#128) (#129).
  • Config Schema entries for DataSources are now provided directly through registerDataSource.
  • Drop support for x86 macos Python, as the Github runners are discontinued.

Full Changelog: v2025.4.0...v2025.5.0

v2025.4.0

01 Nov 14:02
342fc03

Choose a tag to compare

Improvements

  • simfil: reduced code duplication, SonarQube cleanups, adopted new API and exception-free feature branch, deps updated.
  • Added convenience constructor for MapTileKey.
  • Allow passing an additional command-line setup function.
  • Notify subscribers even if the config has no sources node.

Version 2025.3.1

22 Sep 17:16
fe464de

Choose a tag to compare

This release introduces HTTP compression, memory optimizations, improved dependency management, and cross-platform stability fixes.

Improvements

  • Added gzip/deflate compression for HTTP responses (70-95% bandwidth reduction)
  • Optimized memory usage when fetching tiles
  • Added CPM (CMake Package Manager) as dependency management alternative to Conan
  • Fixed cross-platform geometry hash stability
  • Updated simfil dependency with environment constructor exposure
  • Switched to ndsev/sqlite-cmake for improved dependency handling
  • Fixed Windows build requirements (nasm/jom for OpenSSL)
  • Enforced minimum CMake version 3.5 in CI

Version 2025.3.0

28 Jul 19:17

Choose a tag to compare

What's Changed

Major Updates

  • SQLite-based persistent cache replaces RocksDB for improved performance and reduced dependencies
  • New cache type 'none' allows disabling caching entirely
  • Python Versions 3.10 - 3.13 are officially supported
  • Multi-architecture support for Python wheels (Apple Silicon and Linux ARM64)
  • Simfil autocompletion support for enhanced development experience

Build & CI

  • Unified CI/CD workflow with auto-deployment for main commits and releases
  • Fixed wheel deployment for manylinux compatibility
  • Removed Conan support for simplified builds

Bug Fixes

  • Fixed access to dangling temporary in range-based loops
  • Fixed SQLite connection cleanup on initialization failure
  • Resolved race conditions in config change tests
  • Fixed cpp-httplib file descriptor limit issues

Full Changelog

v2025.2.1...v2025.3.0

Version 2025.2.1

20 May 15:01

Choose a tag to compare

What's Changed

  • Use picosha2 1.0.1: Use the latest release - before we referenced a commit as development continued for a long time without commits.
  • Upgrade fmt
  • Pinned versions of dependencies to fascilitate reproducible builds

Full Changelog: v2025.2.0...v2025.2.1

Version 2025.2.0

11 Apr 13:02
83d458d

Choose a tag to compare

What's Changed

Full Changelog: v2025.1.0...v2025.2.0

Version 2025.1.0

24 Jan 21:37
756f1d6

Choose a tag to compare

What's Changed

Improved Functionality

  • Allow to set legal information on the tile.
  • Add percentage position method for combined geometries.

Fixes

  • Fix actions' versions for the GitHub CI configuration.

New Contributors

Version 2024.5.0

18 Dec 17:13
0109f9f

Choose a tag to compare

What's Changed

Improved Functionality

  • Add methods in TileFeatureLayer to create and resolve Validity and ValidityCollection objects.
  • Update Validity to support ValidityCollection handling with initial capacity setting.
  • Add ValidityCollections to Attribute and Relation and implement constructors.
  • Enhance Validity with computeGeometry method for handling geometries based on validity's geometryName.
  • Enhance Validity class with geometry offset and description types.
  • Add new methods in Validity for managing offset points, ranges, and simple geometry.
  • Adjust serialization and data management to include validities in the model structure.
  • Enhance cloning and resolution in TileFeatureLayer to handle validity structures and collections.
  • Adjust serialization logic for Validity data.
  • Add direct featureId to validity.
  • Introduce SelfContainedGeometry type to simplify interface.
  • Update StringPool with new static keys for geometry-related attributes.
  • Integrate error handling and extend geometry processing in computeGeometry.
  • Introduce helper functions projectPointOnLine and calcLineLengthInM for geometry processing.
  • Update geometryFromPositionBound and geometryFromLengthBound methods for detailed geometry manipulation.
  • Add name() and setName() to Geometry.
  • Implement Validity::computeGeometry.
  • Expose length and line boundary methods via Geometry.
  • Add geographicDistanceTo method to Point for calculating distances in meters.
  • Allow public access to ColumnId.

Refactoring

  • Refactor and improve validity handling logic in TileFeatureLayer::clone.
  • Rename ValidityCollection to MultiValidity.
  • Refactor VertexNode to PointNode and VertexBufferNode to PointBufferNode across model files for clarity and consistency.
  • Rename const accessors to xOrNull.
  • Rename AbsoluteLengthOffset to MetricLengthOffset.
  • Use std::unordered_map where possible for performance improvements.

Fixes

  • Fix setters in Validity to accept null validity.
  • Fix null geometry collection issues in Validity.
  • Fix race condition with loader/watcher thread in apps that use mapget.
  • Fix use-after-move for TileFeatureLayer.
  • Fix broken SourceDataReferenceItem::iterate.
  • Fix FetchContent uses same version as conan recipe (also fix volatile warning).
  • Fix non-const reference error for Geometry name.
  • Fix usage of attribute API in Python sample.
  • Fix test cases.

Docs

  • Update docs on Validity.

Version 2024.4.1

06 Nov 08:30

Choose a tag to compare

What's Changed

This release focuses on performance and diagnostics improvements:

  • Add fill-time info to tile layers.
  • Add and log HTTP tile request IDs.
  • Implement clientId parameter for POST /tiles to facilitate graceful abort.
  • Update fmt to 11.0.2
  • Add POST /abort.
  • Optimize TileFeatureLayer::setStrings()
  • Bump simfil to v0.3.3