Commit Graph

1601 Commits

Author SHA1 Message Date
Yuri Astrakhan
2def6288f1
PMTiles cache, refactor file configs, modularize (#1094)
* Make it possible to have configuration specific to the file-based
config sections: pmtiles, mbtiles, and sprites.
* Implement PMTiles directory cache shared between all pmtiles (both
http and local), with configurable max cache size (in MB), or 0 to
disable. Defaults to 32MB (?)
* PMTiles now share web client instance, which optimizes connection
reuse in case multiple pmtiles reside on the same host
* Major refactoring to allow modular reuse, enabling the following build
features:
    * **postgres** - enable PostgreSQL/PostGIS tile sources
    * **pmtiles** - enable PMTile tile sources
    * **mbtiles** - enable MBTile tile sources
    * **fonts** - enable font sources
    * **sprites** - enable sprite sources
* Use justfile in the CI

Fixes #1093
2023-12-25 05:52:04 +00:00
Yuri Astrakhan
7ff2f5105a bump deps and lock 2023-12-24 23:50:37 -05:00
Yuri Astrakhan
c8df2799db
Move some build commands to CI (#1101) 2023-12-24 23:43:58 -05:00
dependabot[bot]
3939619e11
chore(deps): Bump futures from 0.3.29 to 0.3.30 (#1098)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.29 to
0.3.30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/releases">futures's
releases</a>.</em></p>
<blockquote>
<h2>0.3.30</h2>
<ul>
<li>Add
<code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
(<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
<li>Fix panic in <code>FuturesUnordered::clear</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
<li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
<li>Improve support for targets without atomic CAS (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
<li>Remove build scripts (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.30 - 2023-12-24</h1>
<ul>
<li>Add
<code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
(<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
<li>Fix panic in <code>FuturesUnordered::clear</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
<li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
<li>Improve support for targets without atomic CAS (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
<li>Remove build scripts (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="de1a0fd64a"><code>de1a0fd</code></a>
Release 0.3.30</li>
<li><a
href="68d284545f"><code>68d2845</code></a>
Remove a redundant space in example (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2816">#2816</a>)</li>
<li><a
href="fdd2ce716c"><code>fdd2ce7</code></a>
Fix broken link in <code>CopyBufAbortable</code> docs (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2815">#2815</a>)</li>
<li><a
href="272a3c709f"><code>272a3c7</code></a>
Use cfg(target_has_atomic) on no-std targets</li>
<li><a
href="c179201bd1"><code>c179201</code></a>
FillBuf: Do not call poll_fill_buf twice</li>
<li><a
href="e6735f3d01"><code>e6735f3</code></a>
FuturesUnordered: Fix clear implementation</li>
<li><a
href="04d01a00a2"><code>04d01a0</code></a>
FuturesOrdered: Use 64-bit index</li>
<li><a
href="e4aa659649"><code>e4aa659</code></a>
remove redundant impl Unpin</li>
<li><a
href="17851c1f05"><code>17851c1</code></a>
provide a mechanism to determine if io read/write halves are from the
same st...</li>
<li><a
href="49107994e5"><code>4910799</code></a>
provide a non-destructive mechanism to determine if a sink/stream are
paired</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/futures-rs/compare/0.3.29...0.3.30">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.29&new-version=0.3.30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-25 03:25:39 +00:00
dependabot[bot]
723f3bcb26
chore(deps): Bump actix-web from 4.4.0 to 4.4.1 (#1100)
Bumps [actix-web](https://github.com/actix/actix-web) from 4.4.0 to
4.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actix/actix-web/releases">actix-web's
releases</a>.</em></p>
<blockquote>
<h2>actix-web: v4.4.1</h2>
<h3>Changed</h3>
<ul>
<li>Updated <code>zstd</code> dependency to <code>0.13</code>.</li>
<li>Compression middleware now prefers brotli over zstd over gzip.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix validation of <code>Json</code> extractor when
<code>JsonConfig::validate_content_type()</code> is set to false.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="68597b5426"><code>68597b5</code></a>
build(deps): bump taiki-e/install-action from 2.22.0 to 2.23.0 (<a
href="https://redirect.github.com/actix/actix-web/issues/3228">#3228</a>)</li>
<li><a
href="9dc3ad754e"><code>9dc3ad7</code></a>
chore(actix-web): prepare release 4.4.1</li>
<li><a
href="17060ed993"><code>17060ed</code></a>
chore(awc): prepare release 3.3.0</li>
<li><a
href="0d9ca4d939"><code>0d9ca4d</code></a>
chore(actix-http): prepare release 3.5.0</li>
<li><a
href="ff2904ee78"><code>ff2904e</code></a>
ci: prevent cargo-cache install failing MSRV builds</li>
<li><a
href="fdef224a06"><code>fdef224</code></a>
docs: document internal Path fields</li>
<li><a
href="ede0201aa4"><code>ede0201</code></a>
docs: fix derive readme version</li>
<li><a
href="271edafd4d"><code>271edaf</code></a>
docs: add router readme</li>
<li><a
href="5e5e5d8315"><code>5e5e5d8</code></a>
chore: remove allow(uninlined_format_args)</li>
<li><a
href="c7a0af31d3"><code>c7a0af3</code></a>
docs: doc and metadata tweaks</li>
<li>Additional commits viewable in <a
href="https://github.com/actix/actix-web/compare/web-v4.4.0...web-v4.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actix-web&package-manager=cargo&previous-version=4.4.0&new-version=4.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-25 03:21:09 +00:00
Yuri Astrakhan
60f3ff9f4a
Make fonts and sprites optional compilable features (#1097) 2023-12-24 15:28:29 -05:00
Yuri Astrakhan
f13c3f7514
Improve mbtiles update, update min/max zoom on martin-cp (#1096)
* `mbtiles update` now allows different types of zoom updates - reset to
content, grow only, or skip (dry run)
* `martin-cp` will now update (grow-only) metadata zooms

Addresses a few concerns in the #1081
2023-12-24 17:30:45 +08:00
Yuri Astrakhan
acb52f2ce0
Limit PMTiles cache 4MB per file (#1095)
More precursor work for https://github.com/maplibre/martin/issues/1093
2023-12-24 04:06:37 +00:00
Yuri Astrakhan
a68ebcdf5b lint pmtiles macro call 2023-12-23 22:02:32 -05:00
Yuri Astrakhan
ea2b934d70 update MSRV 2023-12-22 22:56:22 -05:00
Yuri Astrakhan
5c5ebee745 reduce cache entry count per pmtiles file 2023-12-22 13:09:15 -05:00
Yuri Astrakhan
1bfc76cb58 rm unused cache 2023-12-22 01:04:06 -05:00
Yuri Astrakhan
1a8e7c89a4
Implement http pmtiles (#991)
PMTiles is a web-optimized format, allowing the actual file to be read
with HTTP range requests. Supporting this use case instantly allows
Martin to function as a lambda executable accessing PMTiles, but without
any significant investment into devops or hosting large file.

PMTiles config now also allows `http` and `https` protocol.

```
# Publish PMTiles files
pmtiles:
  paths:
    # specific pmtiles file will be published as mypmtiles source
    # (use last portion of the URL without extension)
    - http://example.org/path/to/mypmtiles.pmtiles
  sources:
    # named source matching source name to a single file
    pm-src1: https://example.org/path/to/some_pmtiles.pmtiles
 ```

fixes #884

---------

Co-authored-by: Kyle Slugg-Urbino <35903887+kyleslugg@users.noreply.github.com>
2023-12-22 06:01:50 +00:00
Yuri Astrakhan
30491ae353 linting docker-compose 2023-12-21 19:15:36 -05:00
Yuri Astrakhan
c88d9c2244 cleanup ci 2023-12-21 19:04:51 -05:00
Yuri Astrakhan
9cca5df4c6 lock file 2023-12-21 18:35:52 -05:00
dependabot[bot]
597dae8936
chore(deps): Bump async-trait from 0.1.74 to 0.1.75 (#1091)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.74
to 0.1.75.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.75</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="034d8db0b8"><code>034d8db</code></a>
Release 0.1.75</li>
<li><a
href="0d469fcea4"><code>0d469fc</code></a>
Add a funding file</li>
<li><a
href="b4a3886153"><code>b4a3886</code></a>
Update ui test suite to nightly-2023-11-20</li>
<li><a
href="5f041087a9"><code>5f04108</code></a>
Update ui test suite to nightly-2023-10-31</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.74...0.1.75">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.74&new-version=0.1.75)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-21 03:23:38 +00:00
dependabot[bot]
91de5150b9
chore(deps): Bump serde_yaml from 0.9.27 to 0.9.28 (#1092)
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.9.27 to
0.9.28.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1b6e44837f"><code>1b6e448</code></a>
Release 0.9.28</li>
<li><a
href="ec1a3145d7"><code>ec1a314</code></a>
Force unsafe-libyaml version that contains unaligned write fix</li>
<li><a
href="a6b2dc075a"><code>a6b2dc0</code></a>
Update name of blocks_in_if_conditions clippy lint</li>
<li>See full diff in <a
href="https://github.com/dtolnay/serde-yaml/compare/0.9.27...0.9.28">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_yaml&package-manager=cargo&previous-version=0.9.27&new-version=0.9.28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-21 03:21:53 +00:00
dependabot[bot]
25e6d72ad5
chore(deps): Bump anyhow from 1.0.75 to 1.0.76 (#1090)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.75 to 1.0.76.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/anyhow/releases">anyhow's
releases</a>.</em></p>
<blockquote>
<h2>1.0.76</h2>
<ul>
<li>Opt in to <code>unsafe_op_in_unsafe_fn</code> lint (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/329">#329</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5cad3bf6a2"><code>5cad3bf</code></a>
Release 1.0.76</li>
<li><a
href="d371a49395"><code>d371a49</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/329">#329</a>
from dtolnay/unsafeop</li>
<li><a
href="07aac819f6"><code>07aac81</code></a>
Fill in unsafe blocks inside unsafe functions</li>
<li><a
href="5ea720de15"><code>5ea720d</code></a>
Turn on deny(unsafe_op_in_unsafe_fn)</li>
<li><a
href="539e831ce2"><code>539e831</code></a>
Detect whether unsafe_op_in_unsafe_fn lint is available</li>
<li><a
href="afb298e339"><code>afb298e</code></a>
Label the compiler versions in build.rs with a comment and link</li>
<li><a
href="a205cc95be"><code>a205cc9</code></a>
Add a funding file</li>
<li><a
href="05e413219e"><code>05e4132</code></a>
Ignore struct_field_names pedantic clippy lint</li>
<li><a
href="98921f8ec8"><code>98921f8</code></a>
Remove 'remember to update' reminder from Cargo.toml</li>
<li><a
href="1ae99051ea"><code>1ae9905</code></a>
Ignore needless_raw_string_hashes clippy lint</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.75&new-version=1.0.76)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-21 03:18:46 +00:00
dependabot[bot]
920f27bacf
chore(deps): Bump tokio from 1.35.0 to 1.35.1 (#1087)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.0 to 1.35.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.35.1</h2>
<h1>1.35.1 (December 19, 2023)</h1>
<p>This is a forward part of a change that was backported to 1.25.3.</p>
<h3>Fixed</h3>
<ul>
<li>io: add budgeting to
<code>tokio::runtime::io::registration::async_io</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6221">#6221</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/6221">#6221</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6221">tokio-rs/tokio#6221</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="46ff36386d"><code>46ff363</code></a>
chore: prepare Tokio v1.35.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6230">#6230</a>)</li>
<li><a
href="0a1695ebfb"><code>0a1695e</code></a>
Merge 'tokio-1.32.1' into 'tokio-1.35.x' (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6229">#6229</a>)</li>
<li><a
href="c4f0178b74"><code>c4f0178</code></a>
chore: prepare Tokio v1.32.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6228">#6228</a>)</li>
<li><a
href="22b3a65934"><code>22b3a65</code></a>
Merge 'tokio-1.25.3' into 'tokio-1.32.x' (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6227">#6227</a>)</li>
<li><a
href="0d362339d5"><code>0d36233</code></a>
chore: release v1.25.3 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6223">#6223</a>)</li>
<li><a
href="ab7313ff6b"><code>ab7313f</code></a>
io: add budgeting to tokio::runtime::io::registration::async_io (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6221">#6221</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.35.0&new-version=1.35.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-20 02:42:55 +00:00
Yuri Astrakhan
60a8da6daf
CI: install cross with github action (#1084) 2023-12-19 00:17:11 -05:00
Yuri Astrakhan
ca882be156 bump martin version 2023-12-18 23:24:18 -05:00
Yuri Astrakhan
24819bdb45
Multiple mbtiles and martin-cp fixes (#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.

Partially addresses items in #1081
2023-12-18 23:19:36 -05:00
Yuri Astrakhan
5006641588
Make martin-cp integration tests ignore gen version (#1082)
This avoids blessing test results after version upgrade
2023-12-18 21:20:36 -05:00
Yuri Astrakhan
f4c52d027e CI fixes 2023-12-18 20:55:08 -05:00
Yuri Astrakhan
fc15e0da5e Preparing release, version bump 2023-12-18 20:24:43 -05:00
Yuri Astrakhan
78d52f700e
Fix composite sources returning bad data on empty (#1080)
Need to handle the case when multiple tile sources produce just one
non-empty tile.

Fixes #1079
2023-12-19 09:09:52 +08:00
Yuri Astrakhan
35f89654cc Bump lock 2023-12-18 18:31:29 -05:00
Yuri Astrakhan
df6123e493 Minor CI adjustments 2023-12-18 00:53:39 -05:00
Lucas
f21119d548
Fix bbox_to_xyz (#1070)
Figure out and fix the bug with `tile-grid` crate or remove the crate
and implement it ourself.

---------

Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
2023-12-18 00:02:49 -05:00
dependabot[bot]
c650d4bac3
chore(deps): Bump sqlite-hashes from 0.5.3 to 0.5.4 (#1078)
Bumps [sqlite-hashes](https://github.com/nyurik/sqlite-hashes) from
0.5.3 to 0.5.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nyurik/sqlite-hashes/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sqlite-hashes&package-manager=cargo&previous-version=0.5.3&new-version=0.5.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 02:35:48 +00:00
Yuri Astrakhan
de6b681d74
New mbtiles copy --copy (all|tiles|metadata) flag to limit what gets copied (#1073)
Limit what gets copied from one mbtiles to another.

Closes #1069
2023-12-16 14:59:52 -05:00
Yuri Astrakhan
15a521dcdc Revert "update artifact actions (#1067)"
Due to https://github.com/actions/download-artifact/issues/249

This reverts commit 780492c10b.
2023-12-16 13:05:03 -05:00
Yuri Astrakhan
b77bc892bf
Minor test snapshot cleanup (#1074) 2023-12-16 11:49:21 -05:00
Yuri Astrakhan
16fbfa58ff
Split Clap code from MbtilesCopier into CopyArgs (#1072)
This allows easier reuse of the copy functionality without affecting CLI
commands.

Closes #1071
2023-12-16 02:25:50 -05:00
Yuri Astrakhan
bb802c5688
Feature: mbtiles copy --bbox ... to copy tiles within a bbox only (#1060)
Allow users to copy tiles between mbtiles files that are only within a
bounding box. Multiple `--bbox` params are allowed.
2023-12-15 23:13:57 -05:00
Yuri Astrakhan
5a0f4c2d11 Update deadpool-postgres, lock 2023-12-15 18:40:56 -05:00
Yuri Astrakhan
886358e93f
Fix bbox to xyz roundtrip computation (#1059)
Add `tile-grid` as a dependency to use its webmercator tile math.

---------

Co-authored-by: sharkAndshark <zhangyijunmetro@hotmail.com>
2023-12-15 06:11:31 +00:00
Yuri Astrakhan
ce89a44a05 change martin-cp log name 2023-12-14 21:57:03 -05:00
Yuri Astrakhan
780492c10b
update artifact actions (#1067) 2023-12-14 20:03:02 -05:00
Yuri Astrakhan
9e19691aa0
Require --on-duplicate when adding to existing mbtiles files (#1064)
When using `martin-cp` or `mbtiles copy` into an existing file, require
the user to set `--on-duplicate (override|ignore|abort)`. This prevents
accidental writing to an existing file.
2023-12-14 16:44:37 +00:00
Yuri Astrakhan
b60ff98018 update lock 2023-12-14 11:11:26 -05:00
Yuri Astrakhan
4a3e612fac
add a few aliases to mbtiles commands (#1063)
* `mbtiles copy`:  can also use `cp`
* `mbtiles validate`:  can also use `verify` and `check`
2023-12-14 08:27:10 +08:00
dependabot[bot]
97d042cedf
chore(deps): Bump sqlite-hashes from 0.5.2 to 0.5.3 (#1062)
Bumps [sqlite-hashes](https://github.com/nyurik/sqlite-hashes) from
0.5.2 to 0.5.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nyurik/sqlite-hashes/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sqlite-hashes&package-manager=cargo&previous-version=0.5.2&new-version=0.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-13 03:03:04 +00:00
Yuri Astrakhan
9792e90c0a bump lock 2023-12-12 02:00:22 -05:00
Yuri Astrakhan
c1e07e4a4b Update lock 2023-12-11 19:54:51 -05:00
Yuri Astrakhan
38d5a55340 Update lock 2023-12-10 02:30:02 -05:00
Yuri Astrakhan
978d509608
Adjust CI link checker (#1058) 2023-12-09 23:23:43 -05:00
Yuri Astrakhan
54f5a8daf0
Add tiles table/view validation to mbtiles validate (#1057)
Make sure all values in the `tiles` table or view are correct:

* zoom_level is between 0 and 30 (max allowed zoom)
* the x,y values are within the limits for the corresponding zoom level
* the column type of z,x,y are all integers
* the `tile_data` is a NULL or a BLOB
2023-12-10 10:59:14 +08:00
Yuri Astrakhan
b97f1ccdbe Move utils to v0.2, MAX_ZOOM 2023-12-09 10:19:49 -05:00