Martin Versions Save

Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server, tile generation, and mbtiles tooling.

v0.13.0

4 months ago

Tile Caching

Add a top level config parameter -- the size of cache memory (in MB) to use for caching tiles and PMT directories, defaulting to 512, and 0 to disable. This also removes the pmtiles.dir_cache_size_mb parameter (it will be ignored, but will give a warning)

cache_size_mb: 512

The new cache will contain all tiles as provided by the source. So if PostgreSQL returns a non-compressed tile, the cache will contain the uncompressed variant, and will be compressed for each response. This will be fixed in the later releases.

Note that fonts and sprites are not cached at this time, and are still a TODO.

Internal

Full Changelog: https://github.com/maplibre/martin/compare/v0.12.0...v0.13.0

v0.12.0

4 months ago

Cached PMTiles with HTTP support

Martin now supports cached local and HTTP PMTiles sources. Additionally, multiple PMTiles sources share a single web client instance, optimizing connection reuse in case multiple pmtiles reside on the same host. Implemented by @nyurik with great help from @kyleslugg who did the integration testing CI work, see https://github.com/maplibre/martin/pull/991, https://github.com/maplibre/martin/pull/1095, https://github.com/maplibre/martin/pull/1094

pmtiles:
  # Memory (in MB) to use for caching PMTiles directories [default: 32, 0 to disable]] 
  dir_cache_size_mb: 100
  paths:
    # scan this whole dir, matching all *.pmtiles files
    - /dir-path
    # specific pmtiles file will be published as a pmt source (filename without extension)
    - /path/to/pmt.pmtiles
    # A web server with a PMTiles file that supports range requests
    - https://example.org/path/tiles.pmtiles
  sources:
    # named source matching source name to a single file
    pm-src1: /path/to/pmt.pmtiles
    # A named source to a web server with a PMTiles file that supports range requests
    pm-web2: https://example.org/path/tiles.pmtiles

:memo: We badly need someone to document how to setup Martin on AWS lambda, and/or similar setup on the other cloud providers. See https://github.com/maplibre/martin/issues/1102

martin-cp and mbtiles improvements

Martin as a Reusable Crate

Martin has been refactored to allow modular reuse to be more of a library in your own Rust application. When used as a library, you can use the following features to limit which backends are compiled by @nyurik in https://github.com/maplibre/martin/pull/1097 and https://github.com/maplibre/martin/pull/1094

  • postgres - enable PostgreSQL/PostGIS tile sources
  • pmtiles - enable PMTile tile sources
  • mbtiles - enable MBTile tile sources
  • fonts - enable font sources
  • sprites - enable sprite sources

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.6...v0.12.0

v0.11.6

4 months ago

What's Changed

  • Multiple mbtiles and martin-cp fixes by @nyurik in https://github.com/maplibre/martin/pull/1083
    • BREAKING: martin-cp will now set format=pbf instead of mvt. This is what QGIS and possibly others expect, and this is what tools like tilelive generates.
    • martin-cp sets minzoom and maxzoom metadata values based on the zoom parameters
    • Add mbtiles meta-update command to refresh zoom levels based on the present tiles.

Internal Changes

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.5...v0.11.6

v0.11.5

4 months ago

Bug Fixes

What's Changed

Internal Improvements

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.4...v0.11.5

v0.11.4

5 months ago

What's Changed

Miscellaneous

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.3...v0.11.4

v0.11.3

5 months ago

What's Changed

Internal

New Contributors

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.2...v0.11.3

v0.11.2

5 months ago

What's Changed

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.1...v0.11.2

v0.11.1

5 months ago

What's Changed

Full Changelog: https://github.com/maplibre/martin/compare/v0.11.0...v0.11.1

v0.11.0

5 months ago

What's New

Configuration

Documentation changes

Minor changes

Full Changelog: https://github.com/maplibre/martin/compare/v0.10.0...v0.11.0

v0.10.0

6 months ago

Breaking Changes

Auto bounds calculation methods

Martin startup should now be much faster by default. See https://github.com/maplibre/martin/pull/958 by @nyurik, fixing #955

  • Remove --disable-bounds flag and disable_bounds config parameters.
  • Add --auto-bounds / -b CLI parameter and auto_bounds config value:
    • quick: Compute table geometry bounds, but skips it if it takes longer than 5 seconds (default)
    • calc: Compute table geometry bounds. The startup time may be significant. Make sure all GEO columns have indexes
    • skip: Skip bounds calculation. The bounds will be set to the whole world
  • -b is now mapped to --auto-bounds param, but it will fail if used by itself because it now requires a value.

What's New

MBTiles

Miscellaneous

New Contributors

Full Changelog: https://github.com/maplibre/martin/compare/v0.9.3...v0.10.0