Recent Releases of martin

martin - v0.18.1

Bugfix Release

Fixes a breaking change caused by an upstream dependency.

After the release of 0.18.0, running cargo install martin without the --locked flag started failing. This release resolves that issue. If you are using cargo install martin this implicitly calls cargo update on us and we can't guarenttee that this works.

Please consider adding --locked or better using cargo-bininstall to skip the compliation entirely.

Dependency bumps included are done by @CommanderStorm @nyurik and @dependabot[bot] in https://github.com/maplibre/martin/pull/2012 https://github.com/maplibre/martin/pull/2005 https://github.com/maplibre/martin/pull/2006 https://github.com/maplibre/martin/pull/2017

maintenance

  • Npm based dependabot updates were enabled by @CommanderStorm in https://github.com/maplibre/martin/pull/2007 https://github.com/maplibre/martin/pull/2009
  • fix demo frontend warning by @CommanderStorm in https://github.com/maplibre/martin/pull/2014

Full Changelog: https://github.com/maplibre/martin/compare/v0.18.0...v0.18.1

- Rust
Published by nyurik 10 months ago

martin - v0.18.0

[!IMPORTANT] A discussion is underway on what features or changes are needed before we consider a 1.0 release. If you have thoughts, suggestions, or feature requests, please join the conversation and help guide the future of Martin.

What's Changed

Adding a frontend

During this Release cycle we spend lots of our effort on building a frontend into Martin.

[!IMPORTANT] The frontend is only enabled for the public if you have --webui enable-for-all set. The default is currently --webui disable.

We plan on either changing this default to be --webui enable-for-localhost or allowing to move the webui, metrics and all other "admin"-features to another port for simpler deployment.

Features:

  • [x] see basic metrics
  • [x] inspect tiles
  • [x] view styles with mapunik as an add-on
  • [x] view sprites
  • [x] view fonts

Screenshots:

Dark mode (click to expand) | ksnip_20250804-213357 | ksnip_20250804-200204 | | ------------- | ------------- | | ksnip_20250804-200104 | ksnip_20250804-200049 | | ksnip_20250804-200032 | image |
Light mode (click to expand) | ksnip_20250804-213357 | image | | ------------- | ------------- | | image | image | | image | image |

[!NOTE] The frontend is like all other features not final. If you have ideas how Martins frontend could improve YOUR workflow, we would love issues or slack comments.

Features have been cut from this release:

  • A better integration with mapuntik where styles can be actually edited back to disk without needing to click the download button
  • Fonts being previewable
  • An interactive demo how sdf sprites work

Done by @CommanderStorm in https://github.com/maplibre/martin/pull/1909 https://github.com/maplibre/martin/pull/1932 https://github.com/maplibre/martin/pull/1942 https://github.com/maplibre/martin/pull/1955 https://github.com/maplibre/martin/pull/1954 https://github.com/maplibre/martin/pull/1956 https://github.com/maplibre/martin/pull/1953 https://github.com/maplibre/martin/pull/1908 https://github.com/maplibre/martin/pull/1983 https://github.com/maplibre/martin/pull/1980 https://github.com/maplibre/martin/pull/1981 https://github.com/maplibre/martin/pull/1978 https://github.com/maplibre/martin/pull/1964 https://github.com/maplibre/martin/pull/1963 https://github.com/maplibre/martin/pull/1976 https://github.com/maplibre/martin/pull/1957 https://github.com/maplibre/martin/pull/1997 https://github.com/maplibre/martin/pull/2000 https://github.com/maplibre/martin/pull/1999 https://github.com/maplibre/martin/pull/2001 https://github.com/maplibre/martin/pull/2002 https://github.com/maplibre/martin/pull/2003

Metrics

We have added an metrics endpoint. 🎉 Due to issues with content encoding, the metrics are at /_/metrics instead of the more common /metrics

We currently publish the following metrics:

  • martin_http_requests_duration_seconds HTTP request duration in seconds for all requests => Response time histogram
  • martin_http_requests_total Total number of HTTP requests => Request count

Done by @lefuturiste in https://github.com/maplibre/martin/pull/793

[!TIP] If you have a need/want for more metrics, we would encourage you to open an issue. We know that these metrics are likely not enough for good monitoring

Bugfixes

  • fix(pg): When there are column comments, it will prompt for duplicate table by @huanglii in https://github.com/maplibre/martin/pull/1891
  • fix(pg): handle SRID 4326 bbox tiles spanning over the antimeridian by @todtb in https://github.com/maplibre/martin/pull/1910

Improves tile query bounding box calculation in tabletoquery by applying buffer margins correctly for SRID 3857 (already supported) and 4326 (new) . For SRID 4326, this uses ST_Expand with degree-based margins to fix antimeridian edge cases. * fix(ui): clarify the message of the index file actually is an URL by @CommanderStorm in https://github.com/maplibre/martin/pull/1929 * fix(martin-cp): improve the invalid bbox error message by @CommanderStorm in https://github.com/maplibre/martin/pull/1995

Documentation

  • postgres with certificates recipy by @CommanderStorm in https://github.com/maplibre/martin/pull/1922
  • add a preprocessor for alerts by @CommanderStorm in https://github.com/maplibre/martin/pull/1923 https://github.com/maplibre/martin/pull/1927 https://github.com/maplibre/martin/pull/1952
  • add more onboarding docs by @CommanderStorm in https://github.com/maplibre/martin/pull/1921
  • document postgres.auto_publish.functions.from_schemas by @CommanderStorm in https://github.com/maplibre/martin/pull/1965
  • document --help by @CommanderStorm in https://github.com/maplibre/martin/pull/1992

Maintenance

  • Refactor COG by @sharkAndshark in https://github.com/maplibre/martin/pull/1862
  • fix: cond features compilation by @nyurik in https://github.com/maplibre/martin/pull/1905
  • chore: sort justfile by @nyurik in https://github.com/maplibre/martin/pull/1960 https://github.com/maplibre/martin/pull/1865 https://github.com/maplibre/martin/pull/1900 https://github.com/maplibre/martin/pull/1867
  • chore: prevent/autofix tabs in text by @nyurik in https://github.com/maplibre/martin/pull/1871
  • chore: delete unused martin/release.toml by @CommanderStorm in https://github.com/maplibre/martin/pull/1880
  • chore: fix todo by migrating OnceLock to LazyLock by @CommanderStorm in https://github.com/maplibre/martin/pull/1948
  • chore: only include the readme in doc.rs builds by @CommanderStorm in https://github.com/maplibre/martin/pull/1886
  • fix: clippy::ignore-without-reason by @CommanderStorm in https://github.com/maplibre/martin/pull/1903 https://github.com/maplibre/martin/pull/1904
  • tests: migrate to insta binary snapshots by @CommanderStorm in https://github.com/maplibre/martin/pull/1616
  • We have re-done parts of our CI to make it faster and better maintainable
    • don't accidentally automerge due to skipped checks by @CommanderStorm in https://github.com/maplibre/martin/pull/1946
    • add more metadata to the docker build by @CommanderStorm in https://github.com/maplibre/martin/pull/1877
    • try annotating both at index and manifest level by @CommanderStorm in https://github.com/maplibre/martin/pull/1879
    • add attestation and sbom generation to the docker images by @CommanderStorm in https://github.com/maplibre/martin/pull/1878
    • don't cache cargo build if we don't have enough cache by @CommanderStorm in https://github.com/maplibre/martin/pull/1935 https://github.com/maplibre/martin/pull/1970
    • make sure that rustup update stable is called at the start of CI steps by @CommanderStorm in https://github.com/maplibre/martin/pull/1934
    • merged docker load step by @CommanderStorm in https://github.com/maplibre/martin/pull/1881
    • minor CI formatting by @nyurik in https://github.com/maplibre/martin/pull/1941
    • reduce CI-Time by splitting cross to its own step of the CI build by @CommanderStorm in https://github.com/maplibre/martin/pull/1902
    • Replace cross with zigbuild by @CommanderStorm in https://github.com/maplibre/martin/pull/1906
    • fix file output having shifted by @CommanderStorm in https://github.com/maplibre/martin/pull/1993
  • We are currently refactoring some of our internals to make library usage of martin more straigt forward
    • make sure that dependencys are clearly attributed by @CommanderStorm in https://github.com/maplibre/martin/pull/1947
    • unify the way we handle errors by @CommanderStorm in https://github.com/maplibre/martin/pull/1949
    • make sure that there is only one TileData by @CommanderStorm in https://github.com/maplibre/martin/pull/1951
    • move TileRect to martin-tile-utils by @CommanderStorm in https://github.com/maplibre/martin/pull/1945
    • unify where we handle config by @CommanderStorm in https://github.com/maplibre/martin/pull/1950
  • chore(deps): Varous dependency updates by @CommanderStorm @dependabot[bot] @nyurik in https://github.com/maplibre/martin/pull/1875 https://github.com/maplibre/martin/pull/1911 https://github.com/maplibre/martin/pull/1938 https://github.com/maplibre/martin/pull/1916 https://github.com/maplibre/martin/pull/1919 https://github.com/maplibre/martin/pull/1986 https://github.com/maplibre/martin/pull/1933 https://github.com/maplibre/martin/pull/1895 https://github.com/maplibre/martin/pull/1883 https://github.com/maplibre/martin/pull/1888 https://github.com/maplibre/martin/pull/1866 https://github.com/maplibre/martin/pull/1874 https://github.com/maplibre/martin/pull/1907 https://github.com/maplibre/martin/pull/1885 https://github.com/maplibre/martin/pull/1925 https://github.com/maplibre/martin/pull/1936 https://github.com/maplibre/martin/pull/1943 https://github.com/maplibre/martin/pull/1872 https://github.com/maplibre/martin/pull/1873 https://github.com/maplibre/martin/pull/1971 https://github.com/maplibre/martin/pull/1969 https://github.com/maplibre/martin/pull/1966 https://github.com/maplibre/martin/pull/1985 https://github.com/maplibre/martin/pull/1986

New Contributors

  • @huanglii made their first contribution in https://github.com/maplibre/martin/pull/1891
  • @lefuturiste made their first contribution in https://github.com/maplibre/martin/pull/793

- Rust
Published by CommanderStorm 10 months ago

martin - v0.17.0

[!IMPORTANT] A discussion is underway on what features or changes are needed before we consider a 1.0 release. If you have thoughts, suggestions, or feature requests, please join the conversation and help guide the future of Martin.

What's Changed

using pmtiles via S3

We now support storing your pmtiles in S3 or S3-compatible blob stores and serving them. For further information on this feature, please see our documentation.

[!NOTE] There is work outstanding upstream to extend PMtiles support to more than blob stores other than S3. If you would like to contribute on this, please see https://github.com/stadiamaps/pmtiles-rs/issues/42

Done by @alamminsalo and @Youssef-Harby in https://github.com/maplibre/martin/pull/1477

ETag header handling

[!IMPORTANT] An ETag offers a way for the client to validate that the tile is still the same. In prior versions, we did not have ETags. In theory there could be a difference in behavior with regards to tile refreshes, how CDNs/Reverse proxys cache content or how you do accounting if you are a SAAS.

This optimisation enables - CDN-style caching of requests and - may reduce network bandwith and time spend downloading tiles a bit

It is particularly noticable in usecases with slow networking.

What we did: We added ETag-header handling to martin. If your device caches tiles, it will attach an If-None-Match-header with the expected ETag. If we notice that the tile would match this ETag, we will send a 304 Not Modified. Your device now skips a bit of network bandwith and time downloading tiles.

[!NOTE] This change currently is not free. We hash (with a noncryptografic hash function) over all tiles. Concretely, this means that while response times are the same, we can now deliver 5% less tiles per second in stress tests (f.ex. 206k to 197k requests per second) due to the slightly increased CPU load. We have plans on the way to skip this work in some cases, but those have not made it into this release.

For further details, please see the benchmarks we did. Please see https://github.com/maplibre/martin/issues/580 if you want to contribute on this.

Done by @CommanderStorm in https://github.com/maplibre/martin/pull/1836 https://github.com/maplibre/martin/pull/1834 https://github.com/maplibre/martin/pull/1787

Confiugring CORS

We added the ability to configure CORS-related setting for tighter security.

The configuration file now accepts ```yaml

CORS Configuration

Defaults to cors: true, which allows all origins.

Sending/Acting on CORS headers can be completely disabled via cors: false

cors: # Sets the Access-Control-Allow-Origin header [default: ] # '' will use the requests ORIGIN header origin: - https://example.org # Sets Access-Control-Max-Age Header. [default: null] # null means not setting the header for preflight requests max_age: 3600 ```

Done by @NINNiT in https://github.com/maplibre/martin/pull/1815

Minor changes

  • martin-cp does now not require --source if one source is available by @sdf-jkl in https://github.com/maplibre/martin/pull/1823
  • added a few labels (important for some dependency update tooling) and made sure that by @NINNiT and @CommanderStorm in https://github.com/maplibre/martin/pull/1832 https://github.com/maplibre/martin/pull/1833
  • as in the last few releases, work is underway to stabilise the COG feature by @sharkAndshark

mbtiles-crate

  • feat: add Mbtiles::contains by @CommanderStorm in https://github.com/maplibre/martin/pull/1850
  • feat(mbtiles): add Mbtiles::stream_coords and Mbtiles::stream_tiles by @Murtaught in https://github.com/maplibre/martin/pull/1847
  • feat: mbtiles hash extraction support by @CommanderStorm in https://github.com/maplibre/martin/pull/1787

Maintenance

  • chore: add SQLFluff to pre-commit hooks by @IvanPiatnishin in https://github.com/maplibre/martin/pull/1774
  • Add get origin func to COG by @sharkAndshark in https://github.com/maplibre/martin/pull/1840
  • hack: remove the PR file changed checks for CI by @CommanderStorm in https://github.com/maplibre/martin/pull/1806
  • improve fmt and related just commands by @nyurik in https://github.com/maplibre/martin/pull/1854
  • Ignore unused DANGER_ACCEPT_INVALID_CERTS env var by @nyurik in https://github.com/maplibre/martin/pull/1853
  • chore: don't build webclient for docs.rs by @CommanderStorm in https://github.com/maplibre/martin/pull/1794
  • tests(mbtiles): split pool metadata and pool access tests by @CommanderStorm in https://github.com/maplibre/martin/pull/1851
  • fix: clippy::uninlined_format_args by @CommanderStorm in https://github.com/maplibre/martin/pull/1843
  • chore: fix clippy 1.87 by @nyurik in https://github.com/maplibre/martin/pull/1844
  • Add just fmt-sql to just recipe by @sharkAndshark in https://github.com/maplibre/martin/pull/1813
  • chore: fix coverage CI by @CommanderStorm in https://github.com/maplibre/martin/pull/1826
  • fix(ci): adds cargo::rerun-if-env-changed to prevent cache poisoning by @CommanderStorm in https://github.com/maplibre/martin/pull/1797 https://github.com/maplibre/martin/pull/1798
  • fix clippy::unnecessary_semicolon by @CommanderStorm in https://github.com/maplibre/martin/pull/1782
  • Remove postgis 11-3.0 test and fix gdalbin installation by @sharkAndshark in https://github.com/maplibre/martin/pull/1785
  • feat: auto-wrap cli and add colors to the CLI by @CommanderStorm in https://github.com/maplibre/martin/pull/1842
  • Add funcs to get modelinfo from cog by @sharkAndshark in https://github.com/maplibre/martin/pull/1831
  • feat: remove wastefull Dashmap from the catalog by @CommanderStorm in https://github.com/maplibre/martin/pull/1825

Documentation

  • chore: add more doc-comments by @CommanderStorm in https://github.com/maplibre/martin/pull/1835
  • Update run-with-docker-compose.md to support styles serving by @Andreal2000 in https://github.com/maplibre/martin/pull/1837
  • Fix minor typo in API Endpoints header docs page by @mdjong1 in https://github.com/maplibre/martin/pull/1821
  • docs: add docs for more mbtiles functions by @CommanderStorm in https://github.com/maplibre/martin/pull/1849
  • docs: fix typo in security policy link by @CommanderStorm in https://github.com/maplibre/martin/pull/1775
  • docs: add styling documentation by fixing wrong linkage by @CommanderStorm in https://github.com/maplibre/martin/pull/1776
  • docs: add more docstrings to mbtiles by @CommanderStorm in https://github.com/maplibre/martin/pull/1786
  • docs: restructure docs sidebar by @CommanderStorm in https://github.com/maplibre/martin/pull/1796
  • docs: add more meat to the development section by @CommanderStorm in https://github.com/maplibre/martin/pull/1801
  • docs: fix typo in dev-docs by @CommanderStorm in https://github.com/maplibre/martin/pull/1807
  • docs: add a recipe how to add data on top of a basemap by @CommanderStorm in https://github.com/maplibre/martin/pull/1808

Dependency updates

  • update rollup by @mmoll in https://github.com/maplibre/martin/pull/1816
  • update all deps by @nyurik in https://github.com/maplibre/martin/pull/1852
  • and a bunch of dependency updates (click to expand)

    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/maplibre/martin/pull/1800
    • chore(deps): Bump rustls from 0.23.25 to 0.23.26 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1780
    • chore(deps-dev): Bump vite from 4.5.12 to 4.5.13 in /demo/frontend by @dependabot in https://github.com/maplibre/martin/pull/1788
    • chore(deps): Bump crossbeam-channel from 0.5.14 to 0.5.15 in the all-cargo-security-updates group by @dependabot in https://github.com/maplibre/martin/pull/1779
    • chore(deps): Bump the all-cargo-version-updates group with 2 updates by @dependabot in https://github.com/maplibre/martin/pull/1790
    • chore(deps): Bump sqlx from 0.8.3 to 0.8.4 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1793
    • chore(deps): Bump sqlx from 0.8.4 to 0.8.5 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1795
    • chore(deps): Bump clap from 4.5.36 to 4.5.37 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1799
    • chore(deps): Bump ctor from 0.4.1 to 0.4.2 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1802
    • chore(deps): Bump insta from 1.42.2 to 1.43.0 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1810
    • chore(deps): Bump insta from 1.43.0 to 1.43.1 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1812
    • chore(deps-dev): Bump vite from 4.5.13 to 4.5.14 in /demo/frontend by @dependabot in https://github.com/maplibre/martin/pull/1817
    • chore(deps): Bump the all-cargo-version-updates group with 2 updates by @dependabot in https://github.com/maplibre/martin/pull/1818
    • chore(deps): Bump rustls from 0.23.26 to 0.23.27 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1819
    • chore(deps): Bump tokio from 1.44.2 to 1.45.0 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1822
    • chore(deps): Bump the all-cargo-version-updates group with 6 updates by @dependabot in https://github.com/maplibre/martin/pull/1824
    • chore(deps): Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 in the all-actions-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1827
    • chore(deps): Bump sqlx from 0.8.5 to 0.8.6 in the all-cargo-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1839
    • chore(deps): Bump DavidAnson/markdownlint-cli2-action from 19 to 20 in the all-actions-version-updates group by @dependabot in https://github.com/maplibre/martin/pull/1830

New Contributors

  • @IvanPiatnishin made their first contribution in https://github.com/maplibre/martin/pull/1774
  • @mmoll made their first contribution in https://github.com/maplibre/martin/pull/1816
  • @mdjong1 made their first contribution in https://github.com/maplibre/martin/pull/1821
  • @NINNiT made their first contribution in https://github.com/maplibre/martin/pull/1832
  • @Andreal2000 made their first contribution in https://github.com/maplibre/martin/pull/1837
  • @alamminsalo made their first contribution in https://github.com/maplibre/martin/pull/1477
  • @Youssef-Harby made their first contribution in https://github.com/maplibre/martin/pull/1477
  • @Murtaught made their first contribution in https://github.com/maplibre/martin/pull/1847
  • @sdf-jkl made their first contribution in https://github.com/maplibre/martin/pull/1823

Full Changelog: https://github.com/maplibre/martin/compare/v0.16.0...v0.17.0

- Rust
Published by CommanderStorm about 1 year ago

martin - v0.16.0

Major Changes

We added support for style serving, allowing Martin to host MapLibre style files in https://github.com/maplibre/martin/pull/1711. This unblocks style serving https://github.com/maplibre/martin/issues/978 and style dependent optimisations https://github.com/maplibre/martin/issues/1757 See our docs for usage details

Minor changes

  • Postgis<3.5 does in some cases drop features. Added a warning to alert users of this in https://github.com/maplibre/martin/pull/1681 For further details on this see
  • We continued to work towards re-enabling the auto-updating tiles/catalog/.. feature by migrate the catalog to DashMap (a concurrent hashmap) in https://github.com/maplibre/martin/pull/1585

Bugfixes

  • fix tilejson scheme incorrectly inverting y axis if the generated scheme does have scheme: tms by @mr-sven in https://github.com/maplibre/martin/pull/1717
  • make docker-HEALTHCHECK only query ipv4 by default by @CommanderStorm in https://github.com/maplibre/martin/pull/1686
  • debian 12 libc compatibility by @mr-sven in https://github.com/maplibre/martin/pull/1710

Documentation

  • document clearer that pg functions resolve etags, but don't currently use them by @CommanderStorm in https://github.com/maplibre/martin/pull/1763
  • reword max_feature_count docs to make clearer to user when this is a good/bad feature by @CommanderStorm in https://github.com/maplibre/martin/pull/1695 https://github.com/maplibre/martin/pull/1706
  • Add doc about how to debug with martin and vscode by @sharkAndshark in https://github.com/maplibre/martin/pull/1683
  • Temporarily hide the COG documentation by @sharkAndshark in https://github.com/maplibre/martin/pull/1730
  • docs: update Github => GitHub by @bertday in https://github.com/maplibre/martin/pull/1690
  • improve doc comments for martin-tile-utils and collect_files_with_extension by @CommanderStorm in https://github.com/maplibre/martin/pull/1769 https://github.com/maplibre/martin/pull/1712

Maintenance

  • Testing
    • Fix test by @sharkAndshark in https://github.com/maplibre/martin/pull/1642
    • Ignore features ordering in test by @sharkAndshark in https://github.com/maplibre/martin/pull/1675
    • Upgrade to postgis:16-3.5 in test by @sharkAndshark in https://github.com/maplibre/martin/pull/1679
    • separate the cli_multiple_extensions testcase into two testcases to reduce confusion by @CommanderStorm in https://github.com/maplibre/martin/pull/1714
    • Refactor COG and add some test by @sharkAndshark in https://github.com/maplibre/martin/pull/1682
    • Minor testing cleanup by @nyurik in https://github.com/maplibre/martin/pull/1740
    • Add bindiff delta tests by @nyurik in https://github.com/maplibre/martin/pull/1742
    • refactor and add tests for martin-tile-utils by @CommanderStorm in https://github.com/maplibre/martin/pull/1770
    • Improve error reporting in log tests by @nyurik in https://github.com/maplibre/martin/pull/1721
    • minor log and metadata cleanup by @nyurik in https://github.com/maplibre/martin/pull/1737
    • made sure that the log output from pg-functions is more unified by @CommanderStorm in https://github.com/maplibre/martin/pull/1733
    • tests: migrate from gcov to llvm-cov by @CommanderStorm in https://github.com/maplibre/martin/pull/1752
    • Include full test into the coverage by @CommanderStorm in https://github.com/maplibre/martin/pull/1753
  • Packaging
    • Fix martin-ui crate packaging by @nyurik in https://github.com/maplibre/martin/pull/1668
    • Martin-ui packaging issue by @nyurik in https://github.com/maplibre/martin/pull/1699
    • add additional metadata to Cargo.toml by @CommanderStorm in https://github.com/maplibre/martin/pull/1734
  • migrate to the 2024 rust edition by @CommanderStorm in https://github.com/maplibre/martin/pull/1698
  • add missing cfg feature gates to imports by @CommanderStorm in https://github.com/maplibre/martin/pull/1713 https://github.com/maplibre/martin/pull/1718 https://github.com/maplibre/martin/pull/1719
  • fixed just run-release not compiling in release mode by @CommanderStorm in https://github.com/maplibre/martin/pull/1731
  • added the latency-correction option to oha-based benchmarks by @CommanderStorm in https://github.com/maplibre/martin/pull/1732
  • Dependencys
    • Minor cleanup, dep bump, rm pre-push hook by @nyurik in https://github.com/maplibre/martin/pull/1700
    • Bump many dependencies by @nyurik in https://github.com/maplibre/martin/pull/1735
    • Update deps, fix new sqlx usage by @nyurik in https://github.com/maplibre/martin/pull/1428
    • Update sqlite-hashes dep by @nyurik in https://github.com/maplibre/martin/pull/1743
    • get ready for release, minor updates by @nyurik in https://github.com/maplibre/martin/pull/1772
  • Formatting
    • Add pre-commit CI + auto fixes by @nyurik in https://github.com/maplibre/martin/pull/1701
    • Minor pre-commit-config change by @nyurik in https://github.com/maplibre/martin/pull/1703
    • improve CLI line breaks and markdown-handling by @CommanderStorm in https://github.com/maplibre/martin/pull/1736

New Contributors

  • @bertday made their first contribution in https://github.com/maplibre/martin/pull/1690
  • @mr-sven made their first contribution in https://github.com/maplibre/martin/pull/1710

Full Changelog: https://github.com/maplibre/martin/compare/v0.15.0...v0.16.0

- Rust
Published by nyurik about 1 year ago

martin - Martin v0.15.0

Book

Features

  • Add basic cog (Cloud Optimized GeoTIFF) support by @sharkAndshark in https://github.com/maplibre/martin/pull/1590 and https://github.com/maplibre/martin/pull/1635
  • Add sdf sprites which can be colored by the map dynamically via additional apis by @CommanderStorm in https://github.com/maplibre/martin/pull/1492
  • Add support for geography columns by @rshk in https://github.com/maplibre/martin/pull/1627
  • Add basic web UI (not currently usable) d by @paigewilliams in https://github.com/maplibre/martin/pull/1395
  • Add HEALTHCHECK instruction to the Dockerfile by @caspg in https://github.com/maplibre/martin/pull/1397
  • Use comment on view to generate TileJson by @sharkAndshark in https://github.com/maplibre/martin/pull/1507
  • Add a postgres version check to not run on versions of postgis that we don't support by @CommanderStorm in https://github.com/maplibre/martin/pull/1427
  • Use layer id if it is provided by @sharkAndshark in https://github.com/maplibre/martin/pull/1501
  • Added validate function to PgConfig and invoked it in finalize and pool initialization by @Saru2003 in https://github.com/maplibre/martin/pull/1546

Refactorings and enhancements

  • Add port fwd test by @nyurik in https://github.com/maplibre/martin/pull/1411
  • Minor lints by @nyurik in https://github.com/maplibre/martin/pull/1412
  • Update tests, connection limit by @nyurik in https://github.com/maplibre/martin/pull/1530
  • Cleanup test.sh, fix json rounding issue by @nyurik in https://github.com/maplibre/martin/pull/1543
  • unified the types to be based on TileInfoSource by @CommanderStorm in https://github.com/maplibre/martin/pull/1611
  • Group dependency updates for GitHub Actions and Cargo by @nakul-py in https://github.com/maplibre/martin/pull/1623
  • Temporary disable macos-13 testcase by @CommanderStorm in https://github.com/maplibre/martin/pull/1626

Documentation

  • Fix curl url for linux mbtiles demo by @tbo47 in https://github.com/maplibre/martin/pull/1387
  • Create run-with-apache.md by @agenceKanvas in https://github.com/maplibre/martin/pull/1394
  • Document the --base-path option better by @CommanderStorm in https://github.com/maplibre/martin/pull/1420
  • Better differentiation between image_id and sprite_ids by @CommanderStorm in https://github.com/maplibre/martin/pull/1491
  • Typo fixes by @jleedev in https://github.com/maplibre/martin/pull/1388 and @CommanderStorm in https://github.com/maplibre/martin/pull/1597
  • Fixed the security policy not being recognised by github and add citations by @CommanderStorm in https://github.com/maplibre/martin/pull/1600
  • Fix small typos in the docs by @0xflotus https://github.com/maplibre/martin/pull/1666

New Contributors

  • @tbo47 made their first contribution in https://github.com/maplibre/martin/pull/1387
  • @agenceKanvas made their first contribution in https://github.com/maplibre/martin/pull/1394
  • @caspg made their first contribution in https://github.com/maplibre/martin/pull/1397
  • @paigewilliams made their first contribution in https://github.com/maplibre/martin/pull/1395
  • @CommanderStorm made their first contribution in https://github.com/maplibre/martin/pull/1420
  • @Saru2003 made their first contribution in https://github.com/maplibre/martin/pull/1546
  • @nakul-py made their first contribution in https://github.com/maplibre/martin/pull/1623
  • @rshk made their first contribution in https://github.com/maplibre/martin/pull/1627

Full Changelog: https://github.com/maplibre/martin/compare/v0.14.2...v0.15.0

- Rust
Published by CommanderStorm over 1 year ago

martin - v0.14.2

What's Changed

  • Optimize produced release binaries by @nyurik in https://github.com/maplibre/martin/pull/1385

Full Changelog: https://github.com/maplibre/martin/compare/v0.14.1...v0.14.2

- Rust
Published by nyurik almost 2 years ago

martin - v0.14.1

Book

What's Changed

  • fix mbtiles copy --apply-patch when applying bin-diff-raw patches by @nyurik in https://github.com/maplibre/martin/pull/1384
  • updated dependencies

Full Changelog: https://github.com/maplibre/martin/compare/v0.14.0...v0.14.1

- Rust
Published by nyurik almost 2 years ago

martin - v0.14.0

Book UPDATE: this release has a minor bug in mbtiles utility, fixed in subsequent release

martin

  • Add runtime for AWS Lambda by @jleedev in https://github.com/maplibre/martin/pull/1127
  • Add --preferred-encoding (gzip|brotli) to use when tile is not pre-encoded by source by @sharkAndshark in https://github.com/maplibre/martin/pull/1189
  • Switch default encoding to gzip for now by @nyurik in https://github.com/maplibre/martin/pull/1260
  • Fix preferred encoding computation by @nyurik in https://github.com/maplibre/martin/pull/1355
  • add application_name to PG connection by @nyurik in https://github.com/maplibre/martin/pull/1325
  • Fix martin --auto-bounds silently ignored with --config by @nyurik in https://github.com/maplibre/martin/pull/1223

martin-cp

  • Add martin-cp to homebrew by @sharkAndshark in https://github.com/maplibre/martin/pull/1126

mbtiles

  • New mbtiles diff command aliasing mbtiles copy --diff-with-file by @sharkAndshark in https://github.com/maplibre/martin/pull/1068
    • And improve diff cmd with copy opts by @nyurik in https://github.com/maplibre/martin/pull/1183
  • Add binary diff support for mbtiles by @nyurik in https://github.com/maplibre/martin/pull/1358
    • mbtiles diff now has an additional --patch-type param with whole, bin-diff-raw and bin-diff-gz values:
      • whole stores different tiles as before - as whole tiles in the tiles table
      • bin-diff-raw computes binary difference between tiles, and stores them as brotli-encoded value in a bsdiffraw table, together with a xxh3_64 hash of the tile as it will be stored after patching
      • bin-diff-gz same as bin-diff-raw, but assumes the tiles are gzip-compressed, so it uncompresses them before comparing. The xxh3_64 stores the hash of the uncompressed tile. The data will be stored in the bsdiffrawgz table (identical structure with above)
    • mbtiles copy --apply-patch will automatically detect if bsdiffrawgz or bsdiffraw tables exist, and will use binary patching.
    • mbtiles apply-patch does not support binary patching yet
    • mbtiles copy --diff-with-file ... --patch-type ... is an alias to mbtiles diff --patch-type ...
  • bug: ensure aggtileshashafterapply is added even on empty mbtiles by @nyurik in https://github.com/maplibre/martin/pull/1242

Documentation

  • Add using-with-openlayers document by @sharkAndshark in https://github.com/maplibre/martin/pull/1150
  • Fix apply-patch documentation by @nyurik in https://github.com/maplibre/martin/pull/1261
  • Update mbtiles-copy.md by @sharkAndshark in https://github.com/maplibre/martin/pull/1181
  • Update quick-start-linux.md by @Oquile in https://github.com/maplibre/martin/pull/1380
  • Update quick-start-qgis.md by @sharkAndshark in https://github.com/maplibre/martin/pull/1382
  • Update documentation for running with Docker Compose by @hiddewie in https://github.com/maplibre/martin/pull/1283
  • fix broken links, reformat markdown by @nyurik in https://github.com/maplibre/martin/pull/1257
  • Adjust readme and martin book by @sharkAndshark in https://github.com/maplibre/martin/pull/1253
  • fix: handle if selected date was undefined while double click on a sa… by @jokopriyono in https://github.com/maplibre/martin/pull/1373

Other Changes

  • Make the mbtiles and pmtiles deps optional. by @jleedev in https://github.com/maplibre/martin/pull/1124
  • style: rename git_source_info to get_source_info by @sharkAndshark in https://github.com/maplibre/martin/pull/1164
  • add PGPARAMS to just for testing connections by @nyurik in https://github.com/maplibre/martin/pull/1131
  • Upgrade deps and fix global RusTLS init by @nyurik in https://github.com/maplibre/martin/pull/1381
  • Upgrade to Rustls 0.22 by @nyurik in https://github.com/maplibre/martin/pull/1136
  • Use Rust 1.74 std::io::Error::other fn by @nyurik in https://github.com/maplibre/martin/pull/1009
  • Use ORDERBY in calcaggtiles_hash - SQLite v3.44 by @nyurik in https://github.com/maplibre/martin/pull/1156
  • Adapt justfiles for Docker Compose command by @justb4 in https://github.com/maplibre/martin/pull/1153
  • test: add tests for empty mbtiles by @nyurik in https://github.com/maplibre/martin/pull/1218
  • noop: refactor mbtiles copy to support new cases by @nyurik in https://github.com/maplibre/martin/pull/1265
  • chore: some refactoring of postgres code by @nyurik in https://github.com/maplibre/martin/pull/1166
  • Update macos runner by @sharkAndshark in https://github.com/maplibre/martin/pull/1165
  • upgrade to latest pmtiles by @nyurik in https://github.com/maplibre/martin/pull/1173
  • Better bounds debugging by @nyurik in https://github.com/maplibre/martin/pull/1180
  • write! perf optimization - use write_str by @nyurik in https://github.com/maplibre/martin/pull/1182
  • Update nginx path of windows runner in CI.yml by @sharkAndshark in https://github.com/maplibre/martin/pull/1210
  • Bump locks, blessed expected tests by @nyurik in https://github.com/maplibre/martin/pull/1212
  • CI fix: Wait for "docker-build-test" to use cross-build artifacts by @nyurik in https://github.com/maplibre/martin/pull/1215
  • Use --locked with cargo install by @nyurik in https://github.com/maplibre/martin/pull/1216
  • Add --base-path CLI option to override the URL path in the tilejson by @sharkAndshark in https://github.com/maplibre/martin/pull/1205
  • Refactor to ensure values are not forgotten by @nyurik in https://github.com/maplibre/martin/pull/1224
  • Fix typos by @kianmeng in https://github.com/maplibre/martin/pull/1225
  • Added a test for schema.table.column containing special chars by @nyurik in https://github.com/maplibre/martin/pull/1222
  • Add test for function with special character by @sharkAndshark in https://github.com/maplibre/martin/pull/1231
  • Update lock, insta version deprecation, some test changes by @nyurik in https://github.com/maplibre/martin/pull/1240
  • chore: rename aggtileshashindiff to aggtileshashafterapply by @nyurik in https://github.com/maplibre/martin/pull/1243
  • chore: increase complexity of the SQL table test by @nyurik in https://github.com/maplibre/martin/pull/1256
  • chore: add empty pg table test by @nyurik in https://github.com/maplibre/martin/pull/1259
  • Update sqlite-hashes dependency by @nyurik in https://github.com/maplibre/martin/pull/1268
  • upgrade dependencies, Nasm on Windows by @nyurik in https://github.com/maplibre/martin/pull/1295
  • Migrate to newer pmtiles dependency by @nyurik in https://github.com/maplibre/martin/pull/1299
  • Upgrade to pmtiles, rm async-trait in a trait by @nyurik in https://github.com/maplibre/martin/pull/1300
  • Fix a few CI issues and bump deps by @nyurik in https://github.com/maplibre/martin/pull/1341
  • Fix CI: use new nginx and postgis actions by @nyurik in https://github.com/maplibre/martin/pull/1351
  • Bump all dependencies by @nyurik in https://github.com/maplibre/martin/pull/1353
  • Add agg_tiles_hash_before_apply, warnings, and validate on patch by @nyurik in https://github.com/maplibre/martin/pull/1266

New Contributors

  • @jleedev made their first contribution in https://github.com/maplibre/martin/pull/1124
  • @justb4 made their first contribution in https://github.com/maplibre/martin/pull/1153
  • @kianmeng made their first contribution in https://github.com/maplibre/martin/pull/1225
  • @hiddewie made their first contribution in https://github.com/maplibre/martin/pull/1283
  • @jokopriyono made their first contribution in https://github.com/maplibre/martin/pull/1373
  • @Oquile made their first contribution in https://github.com/maplibre/martin/pull/1380

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

- Rust
Published by nyurik almost 2 years ago

martin - v0.13.0

Tile Caching

  • Implement tile caching by @nyurik in https://github.com/maplibre/martin/pull/1105

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

  • Fix sporadic macos test failures by @nyurik in https://github.com/maplibre/martin/pull/1104
  • Lots of small refactorings by @nyurik in https://github.com/maplibre/martin/pull/1107
  • Deprecate few things, lock and lints by @nyurik in https://github.com/maplibre/martin/pull/1111

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

- Rust
Published by nyurik over 2 years ago

martin - v0.12.0

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

yaml 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

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 https://github.com/maplibre/martin/pull/1096
  • mbtiles update now allows different types of zoom updates - reset to content, grow only, or skip (dry run) by @nyurik in https://github.com/maplibre/martin/pull/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 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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.6

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

  • Make martin-cp integration tests ignore gen version by @nyurik in https://github.com/maplibre/martin/pull/1082

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

- Rust
Published by nyurik over 2 years ago

martin -

Bug Fixes

  • Fix composite sources returning bad data on empty by @nyurik in https://github.com/maplibre/martin/pull/1080, thanks to @jjcfrancisco for helping identify and debug this issue.

What's Changed

  • mbtiles and martin-cp now require --on-duplicate when adding to existing mbtiles files by @nyurik in https://github.com/maplibre/martin/pull/1064
  • New mbtiles copy --bbox ... filter to copy tiles within a bbox only by @nyurik in https://github.com/maplibre/martin/pull/1060
  • New mbtiles copy --copy (all|tiles|metadata) flag to limit what gets copied by @nyurik in https://github.com/maplibre/martin/pull/1073
  • Add a few aliases to mbtiles commands by @nyurik in https://github.com/maplibre/martin/pull/1063

Internal Improvements

  • Lots of work on bbox vs xyz computation by @sharkAndshark and @nyurik in https://github.com/maplibre/martin/pull/1059, https://github.com/maplibre/martin/pull/1070
  • Split Clap code from MbtilesCopier into CopyArgs by @nyurik in https://github.com/maplibre/martin/pull/1072
  • Minor test snapshot cleanup by @nyurik in https://github.com/maplibre/martin/pull/1074

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.4

What's Changed

  • Add tiles table/view validation to mbtiles validate by @nyurik in https://github.com/maplibre/martin/pull/1057
    • Reports any invalid data in the tiles table/view, e.g. bad tile index or incorrect data type.
  • Add extra CLI help string about RUST_LOG by @nyurik in https://github.com/maplibre/martin/pull/1053
  • Clean up mbtiles tool output by @nyurik in https://github.com/maplibre/martin/pull/1048
    • No more unrelated warnings due to slow running queries.

Miscellaneous

  • chore: simplify fn gitsourceinfo by @nyurik in https://github.com/maplibre/martin/pull/1055
  • Move math utils to martin-tile-utils by @nyurik in https://github.com/maplibre/martin/pull/1056
  • Adjust CI link checker by @nyurik in https://github.com/maplibre/martin/pull/1058

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.4

What's Changed

  • Add tiles table/view validation to mbtiles validate by @nyurik in https://github.com/maplibre/martin/pull/1057
    • Reports any invalid data in the tiles table/view, e.g. bad tile index or incorrect data type.
  • Add extra CLI help string about RUST_LOG by @nyurik in https://github.com/maplibre/martin/pull/1053
  • Clean up mbtiles tool output by @nyurik in https://github.com/maplibre/martin/pull/1048
    • No more unrelated warnings due to slow running queries.

Miscellaneous

  • chore: simplify fn gitsourceinfo by @nyurik in https://github.com/maplibre/martin/pull/1055
  • Move math utils to martin-tile-utils by @nyurik in https://github.com/maplibre/martin/pull/1056
  • Adjust CI link checker by @nyurik in https://github.com/maplibre/martin/pull/1058

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.3

What's Changed

  • Bugfix: Fix setting TileJSON with a SQL comment by @nyurik in https://github.com/maplibre/martin/pull/1045 (thx @jjcfrancisco for reporting)
  • New: martin-cp can also set metadata values after copying by @nyurik in https://github.com/maplibre/martin/pull/1038

Internal

  • CI demo build by @nyurik in https://github.com/maplibre/martin/pull/1040
  • Upgrade styled componenets to v6 by @jtmiclat in https://github.com/maplibre/martin/pull/1039

New Contributors

  • @jtmiclat made their first contribution in https://github.com/maplibre/martin/pull/1039

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.2

What's Changed

  • add agg-tiles-hash calc to martin-cp by @nyurik in https://github.com/maplibre/martin/pull/1033
  • Update Docker build process by @nyurik in https://github.com/maplibre/martin/pull/1022
  • Upgarde to v0.10 spreet crate, cleanup SpreetResult by @nyurik in https://github.com/maplibre/martin/pull/984
  • Add linting to CI for martin book by @sharkAndshark in https://github.com/maplibre/martin/pull/1030

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.1

What's Changed

  • Add compression and query to martin-cp by @nyurik in https://github.com/maplibre/martin/pull/1019
  • Rename dst-type to mbtiles-type by @nyurik in https://github.com/maplibre/martin/pull/1014
  • Update document file names for outside links by @sharkAndshark in https://github.com/maplibre/martin/pull/1018
  • Rename MartinError, benchmarks, streamline get_tile by @nyurik in https://github.com/maplibre/martin/pull/1016

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

- Rust
Published by nyurik over 2 years ago

martin - v0.11.0

What's New

  • Add martin-cp tool to bulk-copy tiles from any Martin-supported sources by @nyurik in https://github.com/maplibre/martin/pull/1011
  • Add mbtiles summary tool to print MBTiles statistics by @sharkAndshark in https://github.com/maplibre/martin/pull/986

Configuration

  • Do not serialize missing configs by @nyurik in https://github.com/maplibre/martin/pull/999

Documentation changes

  • Separate supported MBTiles schema doc by @sharkAndshark in https://github.com/maplibre/martin/pull/961
  • Include readme as docs for all crates by @nyurik in https://github.com/maplibre/martin/pull/981

Minor changes

  • Fix mbtiles copy --dst-type arg name by @nyurik in https://github.com/maplibre/martin/pull/1003

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

- Rust
Published by nyurik over 2 years ago

martin - v0.10.0

Breaking Changes

Auto bounds calculation methods

  • 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.

See https://github.com/maplibre/martin/pull/958 by @nyurik, fixing #955

What's New

  • Add dynamic font support /font/<name>/<start>-<end> by @nyurik in https://github.com/maplibre/martin/pull/755
  • Catalog shows sprites and fonts info by @nyurik in https://github.com/maplibre/martin/pull/951

MBTiles

  • Add --apply-patch to copy, rename apply-diff by @nyurik in https://github.com/maplibre/martin/pull/945
  • Rename martin-mbtiles crate to mbtiles by @nyurik in https://github.com/maplibre/martin/pull/976

Miscellaneous

  • Better error reporting for config and other params by @nyurik in https://github.com/maplibre/martin/pull/957
  • Fix cargo publish warning about README by @DarhkVoyd in https://github.com/maplibre/martin/pull/960
  • pg func discovery ignore sys schemas by @nyurik in https://github.com/maplibre/martin/pull/946
  • remove unneeded btree sorting by @nyurik in https://github.com/maplibre/martin/pull/970
  • Simplify conf parsing, separate func & tbl configs by @nyurik in https://github.com/maplibre/martin/pull/956
  • Update doc file names and title levels by @sharkAndshark in https://github.com/maplibre/martin/pull/972
  • Fix grcov CI workflow by @nyurik in https://github.com/maplibre/martin/pull/968
  • Fix martin integration tests by @nyurik in https://github.com/maplibre/martin/pull/952

New Contributors

  • @DarhkVoyd made their first contribution in https://github.com/maplibre/martin/pull/960

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

- Rust
Published by nyurik over 2 years ago

martin - v0.9.3: Homebrew auto-release

What's Changed

No code changes, fixing CI processes related to homebrew. Now auto-creates PRs in the maplibre/homebrew-martin repo

  • Move homebrew by @nyurik in https://github.com/maplibre/martin/pull/933
  • Updat doc about homebrew installation by @sharkAndshark in https://github.com/maplibre/martin/pull/934
  • Auto-update homebrew on release by @nyurik in https://github.com/maplibre/martin/pull/935

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

- Rust
Published by nyurik over 2 years ago

martin -

What's Changed

  • Update Homebrew for 0.9.0 by @rubenpoppe in https://github.com/maplibre/martin/pull/932
  • Fixing Homebrew release

New Contributors

  • @rubenpoppe made their first contribution in https://github.com/maplibre/martin/pull/932

Full Changelog: https://github.com/maplibre/martin/compare/v0.9.1...v0.9.2

- Rust
Published by nyurik over 2 years ago

martin - v0.9.1

What's Changed

  • Many significant changes to the mbtiles tool (see below)
  • Rename homebrew formula subdirctory by @sharkAndshark in https://github.com/maplibre/martin/pull/923
  • Log a warning if PG startup takes too long by @pjsier in https://github.com/maplibre/martin/pull/924

MBTiles tool

  • New testing infrastructure, internal refactoring, fixes in diffing and copying by @nyurik in https://github.com/maplibre/martin/pull/916
  • Metadat is now copied as part of the copy/apply-diff by @nyurik in https://github.com/maplibre/martin/pull/921
  • add encoding=UTF8 pragma by @nyurik in https://github.com/maplibre/martin/pull/919

Full Changelog: https://github.com/maplibre/martin/compare/v0.9.0...v0.9.1

- Rust
Published by nyurik over 2 years ago

martin - v0.9.0

What's New

  • TileJSON configuration can now be provided by PostgreSQL sources using COMMENT ON FUNCTION and COMMENT ON TABLE.
  • Multi-platform Docker support - new image work on linux/arm64 and linux/amd64 platforms.
  • New build packages: Debian amd64, and statically linked (musl) for ARM64 and AMD64.
  • Use Rustls instead of OpenSSL. Keep an eye on any PostgreSQL connection issues with SSL.
  • A lot of improvements with mbtiles tool, including apply-diff, validate, meta-all, and meta-set commands, and the ability to validate each tile and the entire mbtiles.

BREAKING

  • API: Change /catalog JSON structure by @nyurik in https://github.com/maplibre/martin/pull/754
  • Config files: rename id_format to source_id_format, refactor by @nyurik in https://github.com/maplibre/martin/pull/794
  • Use Rustls instead of OpenSSL by @nyurik in https://github.com/maplibre/martin/pull/474 (also sqlx-rustls support by @pka in https://github.com/maplibre/martin/pull/720)
  • Add metrics to reserved list, docs by @nyurik in https://github.com/maplibre/martin/pull/802

Configuration

  • PostgreSQL sources can now provide additional TileJSON configuration using COMMENT ON FUNCTION and COMMENT ON TABLE by @sharkAndshark in https://github.com/maplibre/martin/pull/829 and https://github.com/maplibre/martin/pull/871
  • Adds support for idcolumn in tables for autopublish by @Binabh in https://github.com/maplibre/martin/pull/790
  • Only save configured autopublish settings with --save-config, alias `fromschemasasfrom_schema` by @nyurik in https://github.com/maplibre/martin/pull/795
  • Add clip_geom, buffer and extent under auto_publish conf by @sharkAndshark in https://github.com/maplibre/martin/pull/887

ARM-64, Docker, packaging, and CI improvements

  • Rework CI to build ARM64 by @nyurik in https://github.com/maplibre/martin/pull/889
  • Implement Multi-arch Docker images with both x64 and arm64 by @nyurik in https://github.com/maplibre/martin/pull/891
  • CI-Test everything on SSL connections by @nyurik in https://github.com/maplibre/martin/pull/900
  • Debian packaging by @sharkAndshark in https://github.com/maplibre/martin/pull/730 and by @nyurik in https://github.com/maplibre/martin/pull/893
  • In deb package, include ssl and mbtiles tool by @nyurik in https://github.com/maplibre/martin/pull/895
  • Add basic support for systemd by @sharkAndshark in https://github.com/maplibre/martin/pull/761

mbtiles tool changes

  • add mbtiles meta-all command by @nyurik in https://github.com/maplibre/martin/pull/865
  • Add diff-with-file option to copy command by @upsicleclown in https://github.com/maplibre/martin/pull/729
  • Add apply-diff command by @upsicleclown in https://github.com/maplibre/martin/pull/747
  • Add ability to copy to existing mbtiles files by @upsicleclown in https://github.com/maplibre/martin/pull/778
  • Create primary keys on metadata and tiles tables when copying with force-simple by @upsicleclown in https://github.com/maplibre/martin/pull/786
  • Add flat hashing table format by @upsicleclown in https://github.com/maplibre/martin/pull/808
  • Add ability to set mbtiles metadata value by @upsicleclown in https://github.com/maplibre/martin/pull/817
  • Add tileswithhash view to normalized mbtiles files by @upsicleclown in https://github.com/maplibre/martin/pull/834
  • Add integrity and global hash check to validation by @upsicleclown in https://github.com/maplibre/martin/pull/851
  • Minor cleanup mbtiles tools by @upsicleclown in https://github.com/maplibre/martin/pull/833
  • Fix mbtiles validate uppercase hash by @nyurik in https://github.com/maplibre/martin/pull/882

Debug tools

  • fix debug.html sources by @nyurik in https://github.com/maplibre/martin/pull/853
  • Rewrite debug.html to show and inspect all layers by @sharkAndshark in https://github.com/maplibre/martin/pull/820
  • Show tile boundaries in debug.html by @sharkAndshark in https://github.com/maplibre/martin/pull/858

Other

  • Downgrade log level for unknown MBTiles metadata by @sharkAndshark in https://github.com/maplibre/martin/pull/800 and https://github.com/maplibre/martin/pull/867
  • Demo site upgrade and fixes by @nyurik in https://github.com/maplibre/martin/pull/770, https://github.com/maplibre/martin/pull/809, https://github.com/maplibre/martin/pull/841
  • Warn when source IDs are renamed by @nyurik in https://github.com/maplibre/martin/pull/839
  • Hide pg connection password by @nyurik in https://github.com/maplibre/martin/pull/907

New Contributors

  • @pka made their first contribution in https://github.com/maplibre/martin/pull/720

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.7...v0.9.0

- Rust
Published by nyurik over 2 years ago

martin - v0.8.7

What's New

Sprite serving

Dynamic sprites support was added by @nyurik in https://github.com/maplibre/martin/pull/715. Given a directory with SVG images, Martin will dynamically generate a sprite index and a PNG image, for both low and high resolution displays. This feature is made possible by the spreet crate from @flother (thank you!). Per MapLibre sprites API, the new feature supports * /sprite/<sprite_id>.json metadata about the sprite file - all coming from a single directory * /sprite/<sprite_id>.png all images combined into a single PNG * /sprite/<sprite_id>@2x.json same but for high DPI devices * /sprite/<sprite_id>@2x.png

copy mbtiles tool

mbtiles tool now lets users partially copy an mbtiles file, filtering to specific zooms, and to convert de-duplicated to a flat mbtiles format. by @upsicleclown in https://github.com/maplibre/martin/pull/712, https://github.com/maplibre/martin/pull/723

New Contributors

  • @taiebnoe made their first contribution in https://github.com/maplibre/martin/pull/708

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.6...v0.8.7

- Rust
Published by nyurik almost 3 years ago

martin - v0.8.6: Massive PG query performance improvements

What's Changed

  • Improve PG performance by 28% (!!!) by @nyurik in https://github.com/maplibre/martin/pull/703

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.5...v0.8.6

- Rust
Published by nyurik almost 3 years ago

martin - v0.8.5 new docs site, mbtiles tool

Documentation!

This release mostly focused on documentation improvements -- me now have a new greatly improved MDBook documentation site and updated demo site, made possible by @sharkAndshark, @birkskyum, and @nyurik. * Create mdbook documentation by @sharkAndshark in https://github.com/maplibre/martin/pull/681 * Auto-publish mdbook by @nyurik in https://github.com/maplibre/martin/pull/684 * adjust book style by @sharkAndshark in https://github.com/maplibre/martin/pull/691 * simplify readme by @sharkAndshark in https://github.com/maplibre/martin/pull/693 * Implement rudimentary mbtiles binary by @nyurik in https://github.com/maplibre/martin/pull/696 * Cleaning up mdbook by @nyurik in https://github.com/maplibre/martin/pull/697 * Simplify demo - remove nginx by @birkskyum in https://github.com/maplibre/martin/pull/692 * Moved maplibre/martin-landing-page git repo into /demo directory, preserving history.

New Features

There is now a rudimentary mbtiles tool that can be used to inspect and extract data from mbtiles files. This is a work in progress. * Add meta-get functionality by @upsicleclown in https://github.com/maplibre/martin/pull/701

Internal Refactoring

  • Refactor mbtiles lib, mbtiles tool tests & CI by @nyurik in https://github.com/maplibre/martin/pull/702
  • Consolidate all crate dependencies by @nyurik in https://github.com/maplibre/martin/pull/694
  • Service startup await clippy lint by @nyurik in https://github.com/maplibre/martin/pull/700
  • Move Martin crate to its own subdir by @nyurik in https://github.com/maplibre/martin/pull/699

New Contributors

  • @birkskyum made their first contribution in https://github.com/maplibre/martin/pull/692
  • @upsicleclown made their first contribution in https://github.com/maplibre/martin/pull/701

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.4...v0.8.5

- Rust
Published by nyurik almost 3 years ago

martin - v0.8.4 Fix PMTiles issue

What's Changed

  • Upstream PMTiles directory parsing bug was fixed by @nyurik in https://github.com/stadiamaps/pmtiles-rs/pull/17 - thanks @tobinbradley for reporting it (#675)
  • Update doc about table source naming convention by @sharkAndshark in https://github.com/maplibre/martin/pull/672
  • add brew Formula by @tomeronen in https://github.com/maplibre/martin/pull/623
  • allow resize menu by drag side on tests/debug.html by @sharkAndshark in https://github.com/maplibre/martin/pull/677

New Contributors

  • @tomeronen made their first contribution in https://github.com/maplibre/martin/pull/623

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.3...v0.8.4

- Rust
Published by nyurik about 3 years ago

martin - v0.8.3 hide mult geo columns, new debug tool

What's Changed

  • adds search; adds resize; adds dynamic layer color; by @Binabh in https://github.com/maplibre/martin/pull/660
  • In auto-discover, hide geocolumns from tables with multiple ones by @sharkAndshark in https://github.com/maplibre/martin/pull/663

New Contributors

  • @Binabh made their first contribution in https://github.com/maplibre/martin/pull/660

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.2...v0.8.3

- Rust
Published by nyurik about 3 years ago

martin - v0.8.2 Fix multi-source tilejson merge

What's Changed

  • Fix merging multi-source tilejson by @nyurik in https://github.com/maplibre/martin/pull/653
    • Reported by @jtwiest in #652

ARM64 Docker Support

We keep trying to create an automated arm64 docker build, but it keeps failing.

It was first done by @Volatus in https://github.com/maplibre/martin/pull/613 (thank you!!!), but sadly we had to revert it -- the resulting docker image metadata was not being properly uploaded to the GitHub registry. If anyone has any experience in automating Docker builds for multiple platforms on GitHub, please let us know!

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.1...v0.8.2

- Rust
Published by nyurik about 3 years ago

martin - v0.8.1 Minor bug fix release, change docker registry to ghcr.io

Switch to use ghcr.io docker container registry, and some minor bugfixes and latest dependencies.

What's Changed

  • Migrate to GitHub Docker registry by @stepankuzmin in https://github.com/maplibre/martin/pull/602
  • Use cargo sparse index in docker by @nyurik in https://github.com/maplibre/martin/pull/614
  • Prepare for sub-crate publish, detection bug fix by @nyurik in https://github.com/maplibre/martin/pull/615

Full Changelog: https://github.com/maplibre/martin/compare/v0.8.0...v0.8.1

- Rust
Published by nyurik about 3 years ago

martin - v0.8.0 Change default layer ID for PG table sources

Breaking change

Use table name as the layer ID for PG tables by @nyurik in https://github.com/maplibre/martin/pull/598 to fix #595

  • Use source ID (table name) as the default layer ID, instead of schema.table.column
  • Add support for the optional layer_id table config parameter

Thanks @vherbst and @gtitov for reporting!

Full Changelog: https://github.com/maplibre/martin/compare/v0.7.2...v0.8.0

- Rust
Published by nyurik about 3 years ago

martin - v0.7.2 TileJSON improvements

  • make tilejson's name be the same as the ID of the source (even if aliased)
  • /catalog will always show ID, but now it will hide the name if it is the same as the id
  • make description be the longer version, e.g. public.table.column format - not guaranteed to be stable
  • make vector_layers have the fields auto-discovered in the PG table
  • preserve the order of the serialized json fields

What's Changed

  • Fix dead link by @louwers in https://github.com/maplibre/martin/pull/581 (fixed #583, thanks @korywka!)
  • PG TileJSON changes, add vector_layers by @nyurik in https://github.com/maplibre/martin/pull/584

New Contributors

  • @louwers made their first contribution in https://github.com/maplibre/martin/pull/581

Full Changelog: https://github.com/maplibre/martin/compare/v0.7.1...v0.7.2

- Rust
Published by nyurik over 3 years ago

martin - v0.7.1 Compression fixes, limit geo-features per tile

Bug Fix

Properly handle compression for image, Json, and MVT tile sources. Decompress tiles if they are stored compressed, but client doesn't support that. Even supports re-compression if required (to brotli and gzip only). No longer compresses images. @nyurik with the help from @msbarry in https://github.com/maplibre/martin/pull/579

New Feature

Add support for --max-feature-count CLI arg (and similar config file key) to limit the number of geometry features from a table in one tile @nyurik in https://github.com/maplibre/martin/pull/576

Full Changelog: https://github.com/maplibre/martin/compare/v0.7.0...v0.7.1

As always, big thanks goes to @stepankuzmin for all the reviews.

- Rust
Published by nyurik over 3 years ago

martin - v0.7.0

New Features

  • Support PMtiles files
  • Support MBtiles files
  • Support multiple Postgres database connections
  • Many new options to auto-discover Postgres tables and views
  • Support Postgres functions with z,x,y and zoom,x,y arguments
  • Support record-returning Postgres functions
  • Support key-based SSL connections to Postgres
  • Support new environment variables

Breaking changes

  • Require PostGIS 3+, PostGIS 3.1+ is recommended
  • Significant changes to the configuration file format. You may want to auto-generate a new config using --save-config <path> and then copy over your customizations.
  • Significant changes to the URL path structure:
    • GET / -- a placeholder for the future home page
    • GET /catalog -- get a list of available sources, as a list of json blobs. [{id, name, description, attribution, vector_layer}, ...] (some fields might be missing)
    • GET /<id> -- get tilejson for the given source, or a combination of sources. No .json extension
    • GET /<id>/<z>/<x>/<y> -- get a tile. No format extension.
    • GET /health -- healthcheck

Important fixes

  • Fix unable to connect to a database due to SSL handshake, which was shown as a timeout error - #496
    • Big thank you goes to all those patiently helping to debug this issue: @IceMan1910 @CarlosZiegler @carlosrziegler @ItsCoolOnMars @dwweb0309

What's Changed

  • Multi-source support, new path structure by @nyurik in https://github.com/maplibre/martin/pull/456
  • Clean up error wrapping by @nyurik in https://github.com/maplibre/martin/pull/495
  • Require PostGIS 3 and use ST_TileEnvelope by @nyurik in https://github.com/maplibre/martin/pull/497
  • Update minimal legacy db by @nyurik in https://github.com/maplibre/martin/pull/500
  • Support z,x,y and record-returning funcs, table rework by @nyurik in https://github.com/maplibre/martin/pull/380
  • Allow auto discovery per schema by @nyurik in https://github.com/maplibre/martin/pull/510
  • Strongly-type errors, fix bounds escaping by @nyurik in https://github.com/maplibre/martin/pull/516
  • Fix handling for null-returning PG queries by @nyurik in https://github.com/maplibre/martin/pull/521
  • Restrict IDs, optimize single-source req by @nyurik in https://github.com/maplibre/martin/pull/522
  • Enable clippy pedantic, fix lints by @nyurik in https://github.com/maplibre/martin/pull/525
  • Fix incorrect dup info reporting by @nyurik in https://github.com/maplibre/martin/pull/524
  • Implement multi-sourced postgres by @nyurik in https://github.com/maplibre/martin/pull/511
  • Improve Coverage tooling by @nyurik in https://github.com/maplibre/martin/pull/535
  • Fix readme, bump deps by @nyurik in https://github.com/maplibre/martin/pull/545
  • Fix legacy DB, add CI tests by @nyurik in https://github.com/maplibre/martin/pull/547
  • Implement postgres auto-publish by @nyurik in https://github.com/maplibre/martin/pull/546
  • Refactorings, content-type/enc, cli parsing, tests, minor fixes by @nyurik in https://github.com/maplibre/martin/pull/548
  • Add .pmtiles file support by @nyurik in https://github.com/maplibre/martin/pull/517
  • Add .mbtiles support by @nyurik in https://github.com/maplibre/martin/pull/549
  • tests, report unknown cfg, rm catalog vector flds by @nyurik in https://github.com/maplibre/martin/pull/551
  • update lock, clippy lint by @nyurik in https://github.com/maplibre/martin/pull/560
  • Create SECURITY_POLICY.txt by @maxammann in https://github.com/maplibre/martin/pull/489
  • Improve SSL support by @nyurik in https://github.com/maplibre/martin/pull/567
  • Issue 540 - missing index warnings by @cthiange in https://github.com/maplibre/martin/pull/569
  • Views handling by @cthiange in https://github.com/maplibre/martin/pull/571
  • Switch bb8 to DeadPool by @nyurik in https://github.com/maplibre/martin/pull/570

New Contributors

  • @maxammann made their first contribution in https://github.com/maplibre/martin/pull/489
  • @cthiange made their first contribution in https://github.com/maplibre/martin/pull/569

Full Changelog: https://github.com/maplibre/martin/compare/v0.6.2...v0.7.0

- Rust
Published by nyurik over 3 years ago

martin - v0.6.2

A bugfix release for #519 and dependency update

Bug fix

  • Bug: handle functions returning null by @nyurik in https://github.com/maplibre/martin/pull/520

Full Changelog: https://github.com/maplibre/martin/compare/v0.6.1...v0.6.2

- Rust
Published by nyurik over 3 years ago

martin - v0.6.1 dependencies upgrade

Upgrade dependencies to the non-yanked ones

Full Changelog: https://github.com/maplibre/martin/compare/v0.6.0...v0.6.1

- Rust
Published by nyurik over 3 years ago

martin - v0.6 The long overdue release

Notable Changes

  • Martin joins MapLibre
  • Composite sources support
  • Secure PostgreSQL SSL/TLS connections
  • Apple Silicon support (M1 ARM)
  • Improved CI/CD pipelines
  • Improved test coverage
  • Updated documentation
  • Migrate to latest dependencies such as Actix

BREAKING

  • Remove watch support.
  • Docker now uses entrypoint instead of command. Use command to just pass the arguments.

What's Changed

  • fix clippy errors by @stepankuzmin in https://github.com/maplibre/martin/pull/64
  • feat: upgrade to actix-web 2.0 by @stepankuzmin in https://github.com/maplibre/martin/pull/80
  • feat: upgrade postgres crates by @stepankuzmin in https://github.com/maplibre/martin/pull/85
  • ci: refactor CI by @stepankuzmin in https://github.com/maplibre/martin/pull/86
  • feat: add ssl/tls support #63 by @stepankuzmin in https://github.com/maplibre/martin/pull/90
  • Add nginx server port by @frodrigo in https://github.com/maplibre/martin/pull/147
  • docs: ✏️ update README.md by @stepankuzmin in https://github.com/maplibre/martin/pull/154
  • chore: 🤖 update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/153
  • chore: drop mdillon postgis in favor of official image by @stepankuzmin in https://github.com/maplibre/martin/pull/157
  • ci: uphgrade to docker/build-push-action@v2 by @stepankuzmin in https://github.com/maplibre/martin/pull/169
  • Detect Martin server heartbeat for monitoring the service health by @yamaszone in https://github.com/maplibre/martin/pull/168
  • Docs for healthz endpoint by @yamaszone in https://github.com/maplibre/martin/pull/170
  • Update some deps (the most important is actix-web to 3.x) by @mdtrooper in https://github.com/maplibre/martin/pull/183
  • docs: add Leaflet example by @stepankuzmin in https://github.com/maplibre/martin/pull/185
  • docs: add deckgl example by @AdriSolid in https://github.com/maplibre/martin/pull/186
  • Deckgl example by @AdriSolid in https://github.com/maplibre/martin/pull/187
  • feat: add composite sources support by @stepankuzmin in https://github.com/maplibre/martin/pull/184
  • fix: fix clippy errors by @stepankuzmin in https://github.com/maplibre/martin/pull/203
  • update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/204
  • Upgrade to GitHub-native Dependabot by @dependabot-preview in https://github.com/maplibre/martin/pull/205
  • fix: escape table and schema in function source tiles url by @gbip in https://github.com/maplibre/martin/pull/216
  • Fix invalid json escaping by @gbip in https://github.com/maplibre/martin/pull/224
  • Update README.md by @stepankuzmin in https://github.com/maplibre/martin/pull/228
  • Remove intermediate heap allocations by @JayKickliter in https://github.com/maplibre/martin/pull/211
  • chore: add benchmarks by @stepankuzmin in https://github.com/maplibre/martin/pull/230
  • docs by @stepankuzmin in https://github.com/maplibre/martin/pull/255
  • chore: improve debug.html by @stepankuzmin in https://github.com/maplibre/martin/pull/257
  • Possible fix for complex geoms by @christianversloot in https://github.com/maplibre/martin/pull/218
  • chore: improve logging by @stepankuzmin in https://github.com/maplibre/martin/pull/258
  • feat: add bounds to tilejson endpoints by @stepankuzmin in https://github.com/maplibre/martin/pull/260
  • fix: skip null serialization in tilejson endpoints by @stepankuzmin in https://github.com/maplibre/martin/pull/261
  • test: test with config and different zoom levels by @stepankuzmin in https://github.com/maplibre/martin/pull/262
  • refactor: improve debug logging by @stepankuzmin in https://github.com/maplibre/martin/pull/264
  • feat: add minzoom and maxzoom support by @stepankuzmin in https://github.com/maplibre/martin/pull/265
  • fix: tiles attribute in tilejson with x-rewrite-url by @stepankuzmin in https://github.com/maplibre/martin/pull/266
  • feat: use openssl for tls connections, add CAROOTFILE support by @stepankuzmin in https://github.com/maplibre/martin/pull/268
  • feat: add multiple geometry columns support in table sources by @stepankuzmin in https://github.com/maplibre/martin/pull/269
  • test: add table source tests by @stepankuzmin in https://github.com/maplibre/martin/pull/270
  • test: add function source tests by @stepankuzmin in https://github.com/maplibre/martin/pull/271
  • CORS - Add GET to the list of allowed_methods by @AndreaGiardini in https://github.com/maplibre/martin/pull/274
  • fix: #279 500 error on Uppercase Table name by @kzima in https://github.com/maplibre/martin/pull/285
  • Fix get_bound.sql to return Polygon everytime by @HackJack-101 in https://github.com/maplibre/martin/pull/300
  • feat: add default SRID support by @stepankuzmin in https://github.com/maplibre/martin/pull/308
  • ci: improve docker job by @stepankuzmin in https://github.com/maplibre/martin/pull/334
  • Use 2021 edition, modern format by @nyurik in https://github.com/maplibre/martin/pull/331
  • Migrate to TileJSON v0.3 by @nyurik in https://github.com/maplibre/martin/pull/330
  • ci: enable dependabot auto-merge by @stepankuzmin in https://github.com/maplibre/martin/pull/337
  • Add maplibre-gl-js example by @sharkAndshark in https://github.com/maplibre/martin/pull/340
  • Remove extern, optimize use, fmt str by @nyurik in https://github.com/maplibre/martin/pull/338
  • Use tilejson 0.3.1 and simplify by @nyurik in https://github.com/maplibre/martin/pull/341
  • Migrate some urbica/martin -> maplibre/martin by @nyurik in https://github.com/maplibre/martin/pull/347
  • Use squash instead of merge when auto-merging Dependabot PRs by @stepankuzmin in https://github.com/maplibre/martin/pull/360
  • typo in README.md by @DevinNorgarb in https://github.com/maplibre/martin/pull/361
  • Optimize prettify_error function by @sharkAndshark in https://github.com/maplibre/martin/pull/352
  • Fix clippy in benchmarks, and adjust CI by @nyurik in https://github.com/maplibre/martin/pull/363
  • Clean up licensing per on-boarding by @nyurik in https://github.com/maplibre/martin/pull/364
  • Auto approve Dependabot semver patch PRs by @stepankuzmin in https://github.com/maplibre/martin/pull/368
  • sort use-statements during fmt by @nyurik in https://github.com/maplibre/martin/pull/376
  • remove a few minor code dups by @nyurik in https://github.com/maplibre/martin/pull/375
  • feat!: remove --watch support by @nyurik in https://github.com/maplibre/martin/pull/381
  • feat: clean up readme and code of conduct by @nyurik in https://github.com/maplibre/martin/pull/382
  • feat: use latest actix, switch to bb8 (async everywhere), remove actions by @nyurik in https://github.com/maplibre/martin/pull/377
  • minor docker fixes by @nyurik in https://github.com/maplibre/martin/pull/396
  • Rework dockerfile to use rust-alpine by @nyurik in https://github.com/maplibre/martin/pull/398
  • cargo update by @nyurik in https://github.com/maplibre/martin/pull/395
  • [noop] Include readme code in the unit tests by @nyurik in https://github.com/maplibre/martin/pull/402
  • Attempt to migrate CI to maplibre/martin by @nyurik in https://github.com/maplibre/martin/pull/408
  • Lint code based on clippy suggestions by @nyurik in https://github.com/maplibre/martin/pull/417
  • Clean up actix routes, HEAD support by @nyurik in https://github.com/maplibre/martin/pull/416
  • Add missing libc6-compat in Dockerfile by @stepankuzmin in https://github.com/maplibre/martin/pull/419
  • Clean up configuration system to use Clap by @nyurik in https://github.com/maplibre/martin/pull/415
  • Breakup config for pg and srv by @nyurik in https://github.com/maplibre/martin/pull/420
  • Compatible with case sensitive PostgreSQL identifiers by @sharkAndshark in https://github.com/maplibre/martin/pull/428
  • Configuration cleanup: step 2 by @nyurik in https://github.com/maplibre/martin/pull/425
  • Vendor openssl by @gbip in https://github.com/maplibre/martin/pull/435
  • Migrate to MapLibre documentation by @nyurik in https://github.com/maplibre/martin/pull/407
  • Mostly noop code refactorings by @nyurik in https://github.com/maplibre/martin/pull/439
  • Migrate tests to use maplibre-gl by @pjsier in https://github.com/maplibre/martin/pull/449
  • Remove automated docker builds for PRs by @pjsier in https://github.com/maplibre/martin/pull/450
  • Consolidate and simplify linting CI by @nyurik in https://github.com/maplibre/martin/pull/458
  • Remove Eq trait on config by @nyurik in https://github.com/maplibre/martin/pull/459
  • Add separate build job in CI by @stepankuzmin in https://github.com/maplibre/martin/pull/438
  • Warn on unknown cfg, CI cleanup by @nyurik in https://github.com/maplibre/martin/pull/461
  • Refactor CI tests into separate scripts by @nyurik in https://github.com/maplibre/martin/pull/432
  • Avoid using 3rd party GH actions if possible by @nyurik in https://github.com/maplibre/martin/pull/464
  • Consolidate DB init and tests by @nyurik in https://github.com/maplibre/martin/pull/463
  • Rework and consolidate CI by @nyurik in https://github.com/maplibre/martin/pull/467
  • Docker improvements and CI tests by @nyurik in https://github.com/maplibre/martin/pull/472
  • Add Apple M1 target aarch64-apple-darwin to CI by @stepankuzmin in https://github.com/maplibre/martin/pull/486
  • fix docker bld on release by @nyurik in https://github.com/maplibre/martin/pull/487
  • Make SSL support optional by @nyurik in https://github.com/maplibre/martin/pull/488
  • fix CI tests to include all targets and docs by @nyurik in https://github.com/maplibre/martin/pull/483

New Contributors

  • @frodrigo made their first contribution in https://github.com/maplibre/martin/pull/147
  • @yamaszone made their first contribution in https://github.com/maplibre/martin/pull/168
  • @mdtrooper made their first contribution in https://github.com/maplibre/martin/pull/183
  • @AdriSolid made their first contribution in https://github.com/maplibre/martin/pull/186
  • @dependabot made their first contribution in https://github.com/maplibre/martin/pull/207
  • @gbip made their first contribution in https://github.com/maplibre/martin/pull/216
  • @JayKickliter made their first contribution in https://github.com/maplibre/martin/pull/211
  • @christianversloot made their first contribution in https://github.com/maplibre/martin/pull/218
  • @AndreaGiardini made their first contribution in https://github.com/maplibre/martin/pull/274
  • @kzima made their first contribution in https://github.com/maplibre/martin/pull/285
  • @HackJack-101 made their first contribution in https://github.com/maplibre/martin/pull/300
  • @nyurik made their first contribution in https://github.com/maplibre/martin/pull/331
  • @sharkAndshark made their first contribution in https://github.com/maplibre/martin/pull/340
  • @DevinNorgarb made their first contribution in https://github.com/maplibre/martin/pull/361
  • @pjsier made their first contribution in https://github.com/maplibre/martin/pull/449

Full Changelog: https://github.com/maplibre/martin/compare/v0.5.0...v0.6.0

- Rust
Published by nyurik over 3 years ago

martin -

- Rust
Published by nyurik over 3 years ago

martin - Release process polishing

Full Changelog: https://github.com/maplibre/martin/compare/v0.6.0-rc.4...v0.6.0-rc.5

- Rust
Published by nyurik over 3 years ago

martin - v0.6.0-rc.4 - a lot of CI work, added M1 ARM target

What's Changed

  • Warn on unknown cfg, CI cleanup by @nyurik in https://github.com/maplibre/martin/pull/461
  • Refactor CI tests into separate scripts by @nyurik in https://github.com/maplibre/martin/pull/432
  • Avoid using 3rd party GH actions if possible by @nyurik in https://github.com/maplibre/martin/pull/464
  • Consolidate DB init and tests by @nyurik in https://github.com/maplibre/martin/pull/463
  • Rework and consolidate CI by @nyurik in https://github.com/maplibre/martin/pull/467
  • Docker improvements and CI tests by @nyurik in https://github.com/maplibre/martin/pull/472
  • Add Apple M1 target aarch64-apple-darwin to CI by @stepankuzmin in https://github.com/maplibre/martin/pull/486

  • chore(deps): bump serde_yaml from 0.9.13 to 0.9.14 by @dependabot in https://github.com/maplibre/martin/pull/462
  • chore(deps): bump actix-cors from 0.6.3 to 0.6.4 by @dependabot in https://github.com/maplibre/martin/pull/468
  • chore(deps): bump tilejson from 0.3.1 to 0.3.2 by @dependabot in https://github.com/maplibre/martin/pull/469
  • chore(deps): bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 by @dependabot in https://github.com/maplibre/martin/pull/475
  • chore(deps): bump env_logger from 0.9.1 to 0.9.3 by @dependabot in https://github.com/maplibre/martin/pull/477
  • chore(deps): bump clap from 4.0.18 to 4.0.22 by @dependabot in https://github.com/maplibre/martin/pull/478
  • chore(deps): Bump clap from 4.0.22 to 4.0.23 by @dependabot in https://github.com/maplibre/martin/pull/479
  • chore(deps): Bump clap from 4.0.23 to 4.0.24 by @dependabot in https://github.com/maplibre/martin/pull/481
  • chore(deps): Bump clap from 4.0.24 to 4.0.25 by @dependabot in https://github.com/maplibre/martin/pull/482
  • chore(deps): Bump clap from 4.0.25 to 4.0.26 by @dependabot in https://github.com/maplibre/martin/pull/484

Full Changelog: https://github.com/maplibre/martin/compare/v0.6.0-rc.3...v0.6.0-rc.4

- Rust
Published by nyurik over 3 years ago

martin - v0.6.0-rc.3

- Rust
Published by nyurik over 3 years ago

martin - v0.6.0-rc.2

Debugging release workflow

- Rust
Published by nyurik over 3 years ago

martin - v0.6.0-rc.1

This is an auto-generated list of changes. We should have a proper one for the non-RC version

What's Changed

  • feat: add multiple geometry columns support in table sources by @stepankuzmin in https://github.com/maplibre/martin/pull/269
  • test: add table source tests by @stepankuzmin in https://github.com/maplibre/martin/pull/270
  • test: add function source tests by @stepankuzmin in https://github.com/maplibre/martin/pull/271
  • CORS - Add GET to the list of allowed_methods by @AndreaGiardini in https://github.com/maplibre/martin/pull/274
  • chore: update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/278
  • chore: update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/280
  • fix: #279 500 error on Uppercase Table name by @kzima in https://github.com/maplibre/martin/pull/285
  • chore: update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/297
  • chore: update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/307
  • Fix get_bound.sql to return Polygon everytime by @HackJack-101 in https://github.com/maplibre/martin/pull/300
  • feat: add default SRID support by @stepankuzmin in https://github.com/maplibre/martin/pull/308
  • chore: update dependencies by @stepankuzmin in https://github.com/maplibre/martin/pull/323
  • ci: improve docker job by @stepankuzmin in https://github.com/maplibre/martin/pull/334
  • Use 2021 edition, modern format by @nyurik in https://github.com/maplibre/martin/pull/331
  • Migrate to TileJSON v0.3 by @nyurik in https://github.com/maplibre/martin/pull/330
  • ci: enable dependabot auto-merge by @stepankuzmin in https://github.com/maplibre/martin/pull/337
  • Add maplibre-gl-js example by @sharkAndshark in https://github.com/maplibre/martin/pull/340
  • Remove extern, optimize use, fmt str by @nyurik in https://github.com/maplibre/martin/pull/338
  • Use tilejson 0.3.1 and simplify by @nyurik in https://github.com/maplibre/martin/pull/341
  • Migrate some urbica/martin -> maplibre/martin by @nyurik in https://github.com/maplibre/martin/pull/347
  • Use squash instead of merge when auto-merging Dependabot PRs by @stepankuzmin in https://github.com/maplibre/martin/pull/360
  • typo in README.md by @DevinNorgarb in https://github.com/maplibre/martin/pull/361
  • Optimize prettify_error function by @sharkAndshark in https://github.com/maplibre/martin/pull/352
  • Fix clippy in benchmarks, and adjust CI by @nyurik in https://github.com/maplibre/martin/pull/363
  • Clean up licensing per on-boarding by @nyurik in https://github.com/maplibre/martin/pull/364
  • Auto approve Dependabot semver patch PRs by @stepankuzmin in https://github.com/maplibre/martin/pull/368
  • sort use-statements during fmt by @nyurik in https://github.com/maplibre/martin/pull/376
  • remove a few minor code dups by @nyurik in https://github.com/maplibre/martin/pull/375
  • feat!: remove --watch support by @nyurik in https://github.com/maplibre/martin/pull/381
  • feat: clean up readme and code of conduct by @nyurik in https://github.com/maplibre/martin/pull/382
  • feat: use latest actix, switch to bb8 (async everywhere), remove actions by @nyurik in https://github.com/maplibre/martin/pull/377
  • minor docker fixes by @nyurik in https://github.com/maplibre/martin/pull/396
  • Rework dockerfile to use rust-alpine by @nyurik in https://github.com/maplibre/martin/pull/398
  • cargo update by @nyurik in https://github.com/maplibre/martin/pull/395
  • [noop] Include readme code in the unit tests by @nyurik in https://github.com/maplibre/martin/pull/402
  • Attempt to migrate CI to maplibre/martin by @nyurik in https://github.com/maplibre/martin/pull/408
  • Lint code based on clippy suggestions by @nyurik in https://github.com/maplibre/martin/pull/417
  • Clean up actix routes, HEAD support by @nyurik in https://github.com/maplibre/martin/pull/416
  • Add missing libc6-compat in Dockerfile by @stepankuzmin in https://github.com/maplibre/martin/pull/419
  • Clean up configuration system to use Clap by @nyurik in https://github.com/maplibre/martin/pull/415
  • Breakup config for pg and srv by @nyurik in https://github.com/maplibre/martin/pull/420
  • Compatible with case sensitive PostgreSQL identifiers by @sharkAndshark in https://github.com/maplibre/martin/pull/428
  • Configuration cleanup: step 2 by @nyurik in https://github.com/maplibre/martin/pull/425
  • Vendor openssl by @gbip in https://github.com/maplibre/martin/pull/435
  • Migrate to MapLibre documentation by @nyurik in https://github.com/maplibre/martin/pull/407

New Contributors

  • @AndreaGiardini made their first contribution in https://github.com/maplibre/martin/pull/274
  • @kzima made their first contribution in https://github.com/maplibre/martin/pull/285
  • @HackJack-101 made their first contribution in https://github.com/maplibre/martin/pull/300
  • @nyurik made their first contribution in https://github.com/maplibre/martin/pull/331
  • @sharkAndshark made their first contribution in https://github.com/maplibre/martin/pull/340
  • @DevinNorgarb made their first contribution in https://github.com/maplibre/martin/pull/361

Full Changelog: https://github.com/maplibre/martin/compare/v1.0.0-alpha.0...v0.6.0-rc.1

- Rust
Published by nyurik over 3 years ago

martin - v1.0.0-alpha.0

⚠ BREAKING CHANGES

  • drop null serialization in tilejson endpoints (#261) (cee9b2b)

Features

Bug Fixes

- Rust
Published by stepankuzmin over 4 years ago

martin -

⚠ BREAKING CHANGES

  • TileJSON scheme is XYZ by default

Features

Bug Fixes

  • 🐛 change tilejson scheme to xyz by default (aecb7ce), closes #29

- Rust
Published by stepankuzmin over 6 years ago

martin - v0.4.1

Bug Fixes

  • 🐛 Fix PostGIS version check (#23) (h/t Krizz)

- Rust
Published by github-actions[bot] over 6 years ago

martin - v0.4.0

⚠ BREAKING CHANGES

  • renamed CLI args: keep_alive -> keep-alive, listen_addresses -> listen-addresses, pool_size -> pool-size

Bug Fixes

  • 🐛 use dashes in CLI args instead of underscore (13bec40), closes #21

- Rust
Published by github-actions[bot] over 6 years ago

martin -

Features

  • 🎸 add watch mode for dynamic source updates #12 (5eeef48b)
  • 🎸 add database connection_string support in config (0eb5115b)

Bug Fixes

  • 🐛 check if PostGIS is installed when starting (e7c4dcfa)

BREAKING CHANGES

  • 💡 remove table sources filter support (a7c17934)

- Rust
Published by stepankuzmin about 7 years ago

martin -

Features

Bug Fixes

  • function source query params parsing (8ac2812d)

- Rust
Published by stepankuzmin over 7 years ago

martin -

- Rust
Published by stepankuzmin over 7 years ago

martin -

Bug Fixes

  • rename function source query argument to query_params (2f2b743c)
  • pass query string from tilejson endpoint to tiles (ef7ddace)
  • add schema to function_sources (a7092bc3)
  • properly encode query as json into function_sources (cc75ab4a)
  • handle x-rewrite-url header (63c976e8)
  • handle tables with no properties (d6aee81b)
  • skip tables with SRID 0 (241dda31)
  • set default tile buffer to 64 (612ecddb)
  • revert to plain columns in tile properties request (ea8f7aba)
  • use json instead of jsonb for tile request (e6a19773)
  • tileset property types query (e81cd4bb)
  • remove iron-cors (0fe335f4)

Features

  • generate function_sources from database (63114a8a)
  • add function_sources tilejson endpoint (95d92c51)
  • implement function sources (241994a5)
  • split sources into tablesources and functionsources (3c3d88b1)
  • add config support (c55e61d2)
  • rewrite using actix (0080deb9)
  • add MVT handler (204b132a)

- Rust
Published by stepankuzmin over 7 years ago