Skip to content

martin 0.17.0#225227

Merged
BrewTestBot merged 2 commits intomasterfrom
bump-martin-0.17.0
May 30, 2025
Merged

martin 0.17.0#225227
BrewTestBot merged 2 commits intomasterfrom
bump-martin-0.17.0

Conversation

@BrewTestBot
Copy link
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
> [!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](https://github.com/maplibre/martin/discussions/1805) 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 stadiamaps/pmtiles-rs#42

Done by @alamminsalo and @Youssef-Harby in maplibre/martin#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 maplibre/martin#580 if you want to contribute on this.

Done by @CommanderStorm in maplibre/martin#1836 maplibre/martin#1834 maplibre/martin#1787

Confiugring CORS

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

The configuration file now accepts

# 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 maplibre/martin#1815

Minor changes

mbtiles-crate

Maintenance

Documentation

Dependency updates

New Contributors

Full Changelog: maplibre/martin@v0.16.0...v0.17.0

View the full release notes at https://github.com/maplibre/martin/releases/tag/v0.17.0.


@github-actions github-actions bot added nodejs Node or npm use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels May 30, 2025
@github-actions
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label May 30, 2025
@BrewTestBot BrewTestBot enabled auto-merge May 30, 2025 16:04
@BrewTestBot BrewTestBot added this pull request to the merge queue May 30, 2025
Merged via the queue into master with commit c71236d May 30, 2025
17 checks passed
@BrewTestBot BrewTestBot deleted the bump-martin-0.17.0 branch May 30, 2025 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. nodejs Node or npm use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments