Skip to content

v0.12.0

Compare
Choose a tag to compare
@nyurik nyurik released this 25 Dec 05:56
· 378 commits to main since this release

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 #991, #1095, #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

📝 We badly need someone to document how to setup Martin on AWS lambda, and/or similar setup on the other cloud providers. See #1102

martin-cp and mbtiles improvements

  • martin-cp will now update min/max zoom levels after copying to an mbtiles file, but only if the existing metadata min/max zooms do not include the tiles actually contained in the file by @nyurik in #1096
  • mbtiles update now allows different types of zoom updates - reset to content, grow only, or skip (dry run) by @nyurik in #1096

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 #1097 and #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: v0.11.6...v0.12.0