Releases: ndsev/mapget
Releases · ndsev/mapget
v2025.5.1
Added
- JSONL
/tilesendpoint now includes tile-level metadata:mapgetTileId,mapgetLayerId,mapId,idPrefix,timestamp,ttl, anderrorobject withcode/message(#135) errorCodefield forTileLayerto surface numeric error codes (HTTP status, SQLite codes, etc.)- Python bindings:
error_code/set_error_codemethods manifest.jsonsupport 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
packedTileIdtotileId(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
What's Changed
- User and developer docs (#127).
- Implement TTL expiration support (#123).
- Use simfil with fixed
steady_clockusage. - 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
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
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
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
Version 2025.2.1
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
What's Changed
- model: Fix id part value check for unsinged ints. by @MisterGC in #87
- Implement Datasource Auth Headers by @josephbirkner in #88
- Pass-Through Simfils Auto-Wildcard, Any-Mode Feature and Fix Tests by @johannes-wolf in #89
- Remove Simfil Conan Dependency by @johannes-wolf in #92
Full Changelog: v2025.1.0...v2025.2.0
Version 2025.1.0
Version 2024.5.0
What's Changed
Improved Functionality
- Add methods in
TileFeatureLayerto create and resolveValidityandValidityCollectionobjects. - Update
Validityto supportValidityCollectionhandling with initial capacity setting. - Add
ValidityCollectionstoAttributeandRelationand implement constructors. - Enhance
ValiditywithcomputeGeometrymethod for handling geometries based on validity'sgeometryName. - Enhance
Validityclass with geometry offset and description types. - Add new methods in
Validityfor managing offset points, ranges, and simple geometry. - Adjust serialization and data management to include validities in the model structure.
- Enhance cloning and resolution in
TileFeatureLayerto handle validity structures and collections. - Adjust serialization logic for
Validitydata. - Add direct
featureIdto validity. - Introduce
SelfContainedGeometrytype to simplify interface. - Update
StringPoolwith new static keys for geometry-related attributes. - Integrate error handling and extend geometry processing in
computeGeometry. - Introduce helper functions
projectPointOnLineandcalcLineLengthInMfor geometry processing. - Update
geometryFromPositionBoundandgeometryFromLengthBoundmethods for detailed geometry manipulation. - Add
name()andsetName()toGeometry. - Implement
Validity::computeGeometry. - Expose length and line boundary methods via
Geometry. - Add
geographicDistanceTomethod toPointfor calculating distances in meters. - Allow public access to
ColumnId.
Refactoring
- Refactor and improve validity handling logic in
TileFeatureLayer::clone. - Rename
ValidityCollectiontoMultiValidity. - Refactor
VertexNodetoPointNodeandVertexBufferNodetoPointBufferNodeacross model files for clarity and consistency. - Rename const accessors to
xOrNull. - Rename
AbsoluteLengthOffsettoMetricLengthOffset. - Use
std::unordered_mapwhere possible for performance improvements.
Fixes
- Fix setters in
Validityto acceptnullvalidity. - Fix
nullgeometry collection issues inValidity. - Fix race condition with loader/watcher thread in apps that use mapget.
- Fix use-after-move for
TileFeatureLayer. - Fix broken
SourceDataReferenceItem::iterate. - Fix
FetchContentuses same version as conan recipe (also fix volatile warning). - Fix non-const reference error for
Geometryname. - Fix usage of attribute API in Python sample.
- Fix test cases.
Docs
- Update docs on
Validity.
Version 2024.4.1
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
clientIdparameter forPOST /tilesto facilitate graceful abort. - Update fmt to 11.0.2
- Add
POST /abort. - Optimize
TileFeatureLayer::setStrings() - Bump simfil to v0.3.3