Commit Graph

6331 Commits

Author SHA1 Message Date
Thomas Eizinger
96e68bc64e fix: enable tauri's native-tls feature to fix offline builds (#7808)
Resolves: #7799.

---------

Co-authored-by: oddlama <oddlama@oddlama.org>
2025-01-21 04:36:25 +00:00
Thomas Eizinger
943dbf9712 test(connlib): assert resource status as part of tunnel_test (#7772)
In order to ensure that the "site status" in the UIs is always
up-to-date, we model the resource status as part of `tunnel_test`. This
should cover even the most bizarre combinations of adding, removing,
disabling and enabling resources interleaved with sending packets,
resetting connections etc.

Fixes: #7761.
2025-01-21 04:35:22 +00:00
Thomas Eizinger
14ed7c40cb test(windows): increase grace-period for timer Io timer (#7821)
Windows' timer granularity isn't as good as the one from Unix platforms.
To ensure this test isn't flaky, we increase the grace-period for
Windows runners.

See
https://github.com/firezone/firezone/actions/runs/12862968520/job/35858749736?pr=7808.
2025-01-21 04:28:03 +00:00
Jamil
787eac86ac fix(apple): Use Task.detached when loading sysex and vpn config (#7815)
When the app starts, we perform various checks in the
`AppViewModel.init` which read and write to disk, which can potentially
be slow (a few seconds), especially for busy rotational hard drives.

These were performed inside a regular `Task` closure, but since
AppViewModel is annotated `@MainActor`, that meant this Task blocked the
main UI thread until the operations completed.

In practice this wasn't an issue because it simply manifested as the app
taking a couple seconds to launch under these conditions.

We fix this by simply using a `Task.detached` which will run the
operations on another thread. Now, the first window will pop up sooner
and immediately show the `ProgressView()` (i.e. a loading spinner icon)
until these operations complete.

A few minor reorganizing of the `os()` macro was also performed because
some of the variables now need to be `await`ed because they live on the
main thread.

refs #7798
2025-01-21 03:33:22 +00:00
Jamil
8e39a4140f fix(ci): Run PR title check on PR edit (#7817)
If the PR title violates the length check, editing it and re-running the
job wouldn't fix it because the original title was still referenced.

To fix this, we introduce a trigger for this check that runs
specifically on PR edit.
2025-01-21 03:25:35 +00:00
Jamil
8c9427b7b1 revert: Add tauri release build to CI (#7801)
Reverts the portion of #7795 that removed Tauri release builds from
running in PRs.
2025-01-19 01:12:30 +00:00
Jamil
4c5f72d53f fix(apple): Use Task.detached to open URLs (#7798)
Opening URLs using `NSWorkspace.shared.open(url)` (which potentially
launches the browser) is a blocking operation on Apple platforms. This
will cause the UI to hang if called from a UI thread, so we need to
avoid that with a Task.
2025-01-18 09:36:10 -08:00
Jamil
7d322d52db ci: Only upload Tauri builds on workflow_dispatch (#7795)
Similar to the Apple and Android clients, this PR updates the Linux and
Windows GUI clients to upload to the GitHub drafted release on manual
workflow triggers only.

This should save a few minutes off `main` builds as the extra package
testing steps will now be skipped there.

Notably, the Gateway and Headless Client workflows are unchanged because
(a) they are much faster to build / test and (b) we use the release
builds for performance testing connlib, so we need them to run on
`main`.
2025-01-17 15:12:12 +00:00
Jamil
4cab2b5296 docs: Add support link to main README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2025-01-16 22:15:25 -08:00
dependabot[bot]
01a90e3117 build(deps): Bump phoenix_ecto from 4.6.2 to 4.6.3 in /elixir (#7790)
Bumps [phoenix_ecto](https://github.com/phoenixframework/phoenix_ecto)
from 4.6.2 to 4.6.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_ecto/blob/main/CHANGELOG.md">phoenix_ecto's
changelog</a>.</em></p>
<blockquote>
<h2>v4.6.3</h2>
<ul>
<li>
<p>Enhancements</p>
<ul>
<li>Add prefix option to check repo status plug</li>
</ul>
</li>
<li>
<p>Bug fix</p>
<ul>
<li>Fix map.field notation warning on Elixir 1.17</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="edbf0d36da"><code>edbf0d3</code></a>
Release v4.6.3</li>
<li><a
href="fe00d3d095"><code>fe00d3d</code></a>
Add prefix option to check repo status plug (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/181">#181</a>)</li>
<li><a
href="b44088aed2"><code>b44088a</code></a>
Fix map.field notation warning on Elixir 1.17 (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/180">#180</a>)</li>
<li><a
href="b6f618d333"><code>b6f618d</code></a>
Fix language (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/179">#179</a>)</li>
<li><a
href="945de21681"><code>945de21</code></a>
fix matrix key</li>
<li><a
href="32a4270f98"><code>32a4270</code></a>
fix branch name in CI</li>
<li><a
href="3e325d3e52"><code>3e325d3</code></a>
Merge pull request <a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/178">#178</a>
from kianmeng/ci-housekeeping</li>
<li><a
href="6be9c3dc77"><code>6be9c3d</code></a>
CI housekeeping</li>
<li>See full diff in <a
href="https://github.com/phoenixframework/phoenix_ecto/compare/v4.6.2...v4.6.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_ecto&package-manager=hex&previous-version=4.6.2&new-version=4.6.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>
2025-01-17 01:43:25 +00:00
Jamil
3f3a908bd2 chore(portal): Bump opentelemetry versions (#7794)
Dependabot is having issues figuring out the opentelemetry bumps due to
a [package pull](https://github.com/firezone/firezone/pull/7788), so
this PR aims to alleviate that as a one-off fix.

This bumps a few deps' major versions. Nothing jumped out at first
glance when I reviewed the changelogs, but I figured we'll have a better
idea when this goes out to staging since OTLP is basically disabled in
dev/test.
2025-01-17 01:34:12 +00:00
Brian Manifold
eea7079776 fix(portal): Catch seat limit error in API fallback controller (#7783)
Why:

* The fallback controller in the API was not catching `{:error,
:seat_limit_reached}` being returned and was then generating a 500
response when this happened. This commit adds the condition in the
fallback controller and adds a new template for a more specific error
message in the returned JSON.
2025-01-17 00:13:45 +00:00
Jamil
6670741dee chore: Bump apple clients to 1.4.0 (#7785)
Bumps Apple clients to the 1.4.0 release. They're already live.
2025-01-17 00:07:25 +00:00
dependabot[bot]
9ae9f7e341 build(deps): Bump phoenix_html from 4.1.1 to 4.2.0 in /elixir (#7789)
Bumps [phoenix_html](https://github.com/phoenixframework/phoenix_html)
from 4.1.1 to 4.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_html/blob/main/CHANGELOG.md">phoenix_html's
changelog</a>.</em></p>
<blockquote>
<h2>4.2.0 (2024-12-28)</h2>
<ul>
<li>
<p>Enhancements</p>
<ul>
<li>Add <code>Phoenix.HTML.css_escape/1</code> to escape strings for use
inside CSS selectors</li>
<li>Add the ability to pass <code>:hr</code> to
<code>options_for_select/2</code> to render a horizontal rule</li>
</ul>
</li>
<li>
<p>Bug fixes</p>
<ul>
<li>Pass form action through in FormData implementation</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b7fd6b7ba7"><code>b7fd6b7</code></a>
Release v4.2.0</li>
<li><a
href="687cca874b"><code>687cca8</code></a>
Fix warnings on Elixir v1.19</li>
<li><a
href="b6d63e7908"><code>b6d63e7</code></a>
Document and pass through option accordingly</li>
<li><a
href="a8262adb45"><code>a8262ad</code></a>
update changelog</li>
<li><a
href="c1ad602073"><code>c1ad602</code></a>
Merge pull request <a
href="https://redirect.github.com/phoenixframework/phoenix_html/issues/452">#452</a>
from phoenixframework/sd-css-escape</li>
<li><a
href="6b67a083f1"><code>6b67a08</code></a>
Merge pull request <a
href="https://redirect.github.com/phoenixframework/phoenix_html/issues/451">#451</a>
from gilbertbw/gbw-hr</li>
<li><a
href="465c303eb9"><code>465c303</code></a>
Update lib/phoenix_html/form.ex</li>
<li><a
href="cdbc402aa4"><code>cdbc402</code></a>
add Phoenix.HTML.css_escape/1</li>
<li><a
href="2cea68e982"><code>2cea68e</code></a>
Fix formatting</li>
<li><a
href="d30c20b659"><code>d30c20b</code></a>
Add &lt;hr/&gt; to options_for_select</li>
<li>Additional commits viewable in <a
href="https://github.com/phoenixframework/phoenix_html/compare/v4.1.1...v4.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_html&package-manager=hex&previous-version=4.1.1&new-version=4.2.0)](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>
2025-01-16 23:49:25 +00:00
dependabot[bot]
bd4ae08a79 build(deps): Bump serde_json from 1.0.133 to 1.0.135 in /rust (#7792)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.133 to
1.0.135.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.135</h2>
<ul>
<li>Add serde_json::Map::into_values method (<a
href="https://redirect.github.com/serde-rs/json/issues/1226">#1226</a>,
thanks <a
href="https://github.com/tisonkun"><code>@​tisonkun</code></a>)</li>
</ul>
<h2>v1.0.134</h2>
<ul>
<li>Add <code>RawValue</code> associated constants for literal
<code>null</code>, <code>true</code>, <code>false</code> (<a
href="https://redirect.github.com/serde-rs/json/issues/1221">#1221</a>,
thanks <a
href="https://github.com/bheylin"><code>@​bheylin</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9802c08d4e"><code>9802c08</code></a>
Release 1.0.135</li>
<li><a
href="b97935fde2"><code>b97935f</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1226">#1226</a>
from tisonkun/map-into-values</li>
<li><a
href="d48c224d12"><code>d48c224</code></a>
Add Map::into_values method</li>
<li><a
href="1e77cac742"><code>1e77cac</code></a>
Resolve precedence clippy lint</li>
<li><a
href="b2a1415aad"><code>b2a1415</code></a>
Release 1.0.134</li>
<li><a
href="9875785f24"><code>9875785</code></a>
Tweak wording of NULL/TRUE/FALSE documentation</li>
<li><a
href="4aa05b9143"><code>4aa05b9</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1222">#1222</a>
from dtolnay/rawvalueassoc</li>
<li><a
href="f42c7c760b"><code>f42c7c7</code></a>
Move RawValue associated constants into same impl block as public
functions</li>
<li><a
href="96576bad53"><code>96576ba</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1221">#1221</a>
from bheylin/add-const-raw-values-for-null-and-bools</li>
<li><a
href="4db66fb0b2"><code>4db66fb</code></a>
Add <code>'static</code> lifetime to <code>const</code>'s</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/v1.0.133...v1.0.135">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.133&new-version=1.0.135)](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>
2025-01-16 23:18:58 +00:00
dependabot[bot]
0e6b811902 build(deps): Bump reqwest from 0.12.8 to 0.12.9 in /rust (#7793)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.8 to
0.12.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/reqwest/releases">reqwest's
releases</a>.</em></p>
<blockquote>
<h2>v0.12.9</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>tls::CertificateRevocationLists</code> support (by <a
href="https://github.com/ksenia-vazhdaeva"><code>@​ksenia-vazhdaeva</code></a>
in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2433">seanmonstar/reqwest#2433</a>)</li>
<li>Add crate features to enable webpki roots without selecting a rustls
provider (by <a
href="https://github.com/stevefan1999-personal"><code>@​stevefan1999-personal</code></a>
in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2447">seanmonstar/reqwest#2447</a>)</li>
<li>Fix <code>multipart::Part::file()</code> to automatically include
content-length (by <a
href="https://github.com/Mr-Pine"><code>@​Mr-Pine</code></a> in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2459">seanmonstar/reqwest#2459</a>)</li>
<li>Fix proxy to internally no longer cache system proxy settings (by <a
href="https://github.com/lanyeeee"><code>@​lanyeeee</code></a> in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2442">seanmonstar/reqwest#2442</a>)</li>
<li>Fix <code>connection_verbose()</code> to output read logs (by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2454">seanmonstar/reqwest#2454</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lanyeeee"><code>@​lanyeeee</code></a>
made their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2442">seanmonstar/reqwest#2442</a></li>
<li><a
href="https://github.com/ksenia-vazhdaeva"><code>@​ksenia-vazhdaeva</code></a>
made their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2433">seanmonstar/reqwest#2433</a></li>
<li><a href="https://github.com/Mr-Pine"><code>@​Mr-Pine</code></a> made
their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2459">seanmonstar/reqwest#2459</a></li>
<li><a
href="https://github.com/stevefan1999-personal"><code>@​stevefan1999-personal</code></a>
made their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/2447">seanmonstar/reqwest#2447</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/seanmonstar/reqwest/compare/v0.12.8...v0.12.9">https://github.com/seanmonstar/reqwest/compare/v0.12.8...v0.12.9</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's
changelog</a>.</em></p>
<blockquote>
<h2>v0.12.9</h2>
<ul>
<li>Add <code>tls::CertificateRevocationLists</code> support.</li>
<li>Add crate features to enable webpki roots without selecting a rustls
provider.</li>
<li>Fix <code>connection_verbose()</code> to output read logs.</li>
<li>Fix <code>multipart::Part::file()</code> to automatically include
content-length.</li>
<li>Fix proxy to internally no longer cache system proxy settings.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="797df2b96a"><code>797df2b</code></a>
v0.12.9</li>
<li><a
href="64aa7d127c"><code>64aa7d1</code></a>
add webpki roots option for rustls no provider setup (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/2447">#2447</a>)</li>
<li><a
href="598f8574cb"><code>598f857</code></a>
Add content length to async_impl::multipart file streams (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/2459">#2459</a>)</li>
<li><a
href="d99e90df82"><code>d99e90d</code></a>
fix: re-enable verbose connection read logs (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/2454">#2454</a>)</li>
<li><a
href="aba01ff7df"><code>aba01ff</code></a>
feat: Add support for Certificate Revocation Lists (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/2433">#2433</a>)</li>
<li><a
href="3ad6e02cdb"><code>3ad6e02</code></a>
refactor: remove internal proxy sys cache (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/2442">#2442</a>)</li>
<li>See full diff in <a
href="https://github.com/seanmonstar/reqwest/compare/v0.12.8...v0.12.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.12.8&new-version=0.12.9)](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>
2025-01-16 23:18:01 +00:00
dependabot[bot]
3bb97c4513 build(deps): Bump floki from 0.36.3 to 0.37.0 in /elixir (#7787)
Bumps [floki](https://github.com/philss/floki) from 0.36.3 to 0.37.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/philss/floki/releases">floki's
releases</a>.</em></p>
<blockquote>
<h2>v0.37.0</h2>
<h2>Added</h2>
<ul>
<li>Add <a
href="https://hexdocs.pm/floki/0.37.0/Floki.html#css_escape/1"><code>Floki.css_escape/1</code></a>
- thanks <a
href="https://github.com/SteffenDE"><code>@​SteffenDE</code></a>.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Fix bug propagating identity encoder in <code>raw_html/2</code> -
thanks <a
href="https://github.com/andyleclair"><code>@​andyleclair</code></a>.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Remove support for Elixir 1.13 and OTP 22.</li>
</ul>
<h2>Pull requests</h2>
<ul>
<li>Drop support for Elixir 1.13 by <a
href="https://github.com/philss"><code>@​philss</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/595">philss/floki#595</a></li>
<li>Bump credo from 1.7.8 to 1.7.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/596">philss/floki#596</a></li>
<li>Bump credo from 1.7.9 to 1.7.10 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/597">philss/floki#597</a></li>
<li>Bump fast_html from 2.3.0 to 2.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/599">philss/floki#599</a></li>
<li>Bump dialyxir from 1.4.4 to 1.4.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/600">philss/floki#600</a></li>
<li>Bump ex_doc from 0.34.2 to 0.35.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/philss/floki/pull/602">philss/floki#602</a></li>
<li>Fix bug propagating identity encoder in <code>raw_html/2</code> by
<a href="https://github.com/andyleclair"><code>@​andyleclair</code></a>
in <a
href="https://redirect.github.com/philss/floki/pull/603">philss/floki#603</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/andyleclair"><code>@​andyleclair</code></a>
made their first contribution in <a
href="https://redirect.github.com/philss/floki/pull/603">philss/floki#603</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/philss/floki/compare/v0.36.3...v0.37.0">https://github.com/philss/floki/compare/v0.36.3...v0.37.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/philss/floki/blob/main/CHANGELOG.md">floki's
changelog</a>.</em></p>
<blockquote>
<h2>[0.37.0] - 2024-12-06</h2>
<h3>Added</h3>
<ul>
<li>Add <code>Floki.css_escape/1</code> - thanks <a
href="https://github.com/SteffenDE"><code>@​SteffenDE</code></a>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix bug propagating identity encoder in <code>raw_html/2</code> -
thanks <a
href="https://github.com/andyleclair"><code>@​andyleclair</code></a>.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove support for Elixir 1.13 and OTP 22.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2c68b0f7f8"><code>2c68b0f</code></a>
Release v0.37.0</li>
<li><a
href="47000382e8"><code>4700038</code></a>
Fix bug propagating identity encoder in <code>raw_html/2</code> (<a
href="https://redirect.github.com/philss/floki/issues/603">#603</a>)</li>
<li><a
href="cabdd7a539"><code>cabdd7a</code></a>
Bump ex_doc from 0.34.2 to 0.35.1 (<a
href="https://redirect.github.com/philss/floki/issues/602">#602</a>)</li>
<li><a
href="eab60f1240"><code>eab60f1</code></a>
Bump dialyxir from 1.4.4 to 1.4.5 (<a
href="https://redirect.github.com/philss/floki/issues/600">#600</a>)</li>
<li><a
href="4eac58a02e"><code>4eac58a</code></a>
Bump fast_html from 2.3.0 to 2.4.0 (<a
href="https://redirect.github.com/philss/floki/issues/599">#599</a>)</li>
<li><a
href="576d356865"><code>576d356</code></a>
Bump credo from 1.7.9 to 1.7.10 (<a
href="https://redirect.github.com/philss/floki/issues/597">#597</a>)</li>
<li><a
href="f5845f936d"><code>f5845f9</code></a>
Bump credo from 1.7.8 to 1.7.9 (<a
href="https://redirect.github.com/philss/floki/issues/596">#596</a>)</li>
<li><a
href="96955f925d"><code>96955f9</code></a>
Add notes to changelog [ciskip]</li>
<li><a
href="17fd1d0b30"><code>17fd1d0</code></a>
Drop support for Elixir 1.13 (<a
href="https://redirect.github.com/philss/floki/issues/595">#595</a>)</li>
<li><a
href="ce33a5539e"><code>ce33a55</code></a>
Reapply &quot;add Floki.css_escape/1 (<a
href="https://redirect.github.com/philss/floki/issues/594">#594</a>)&quot;</li>
<li>See full diff in <a
href="https://github.com/philss/floki/compare/v0.36.3...v0.37.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=floki&package-manager=hex&previous-version=0.36.3&new-version=0.37.0)](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>
2025-01-16 23:17:39 +00:00
dependabot[bot]
0b2fdac500 build(deps-dev): Bump dialyxir from 1.4.3 to 1.4.5 in /elixir (#7786)
Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.3 to
1.4.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jeremyjh/dialyxir/releases">dialyxir's
releases</a>.</em></p>
<blockquote>
<h2>1.4.5</h2>
<h3>Fixed</h3>
<ul>
<li>Crash when default ignore file missing and custom file
specified</li>
<li>Revert format option ignore_file_string to ignore_file_strict</li>
</ul>
<h2>1.4.4</h2>
<h3>Fixed</h3>
<ul>
<li>Invalid contract formatting failed on OTP 26 &amp; later.</li>
<li>Empty ignore files are ignored.</li>
<li>Several improvements and corrections to documentation.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated Erlex minimum version to 0.27, bringing in several fixes and
improvements.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Multiple formatters can be used in the same invocation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md">dialyxir's
changelog</a>.</em></p>
<blockquote>
<h2>Unreleased changes post [1.4.5]</h2>
<h2>[1.4.5] - 2024-11-17</h2>
<h3>Fixed</h3>
<ul>
<li>Crash when default ignore file missing and custom file
specified</li>
<li>Revert format option ignore_file_string to ignore_file_strict</li>
</ul>
<h2>[1.4.4] - 2024-09-28</h2>
<h3>Fixed</h3>
<ul>
<li>Invalid contract formatting failed on OTP 26 &amp; later.</li>
<li>Empty ignore files are ignored.</li>
<li>Several improvements and corrections to documentation.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated Erlex minimum version to 0.27, bringing in several fixes and
improvements.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Multiple formatters can be used in the same invocation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="501ecd732b"><code>501ecd7</code></a>
Release 1.4.5</li>
<li><a
href="7fadd55027"><code>7fadd55</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/549">#549</a>
from pdm-jd/pdm-jd/fix/crash-on-custom-ignore-file</li>
<li><a
href="621fc4aded"><code>621fc4a</code></a>
fix: mix dialyzer crashes when a custom ignore file provided that
doesn't mat...</li>
<li><a
href="b960c7d545"><code>b960c7d</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/547">#547</a>
from neel-desh/bugfix/rename-format-option</li>
<li><a
href="bc8852ed8a"><code>bc8852e</code></a>
Bugfix: Revert format option ignore_file_string to
ignore_file_strict</li>
<li><a
href="3768413c94"><code>3768413</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/543">#543</a>
from lnenad/master</li>
<li><a
href="c7234e7e63"><code>c7234e7</code></a>
Add a check whether default_ignore file is empty during execution and
ignores...</li>
<li><a
href="b69c5d8954"><code>b69c5d8</code></a>
Fix matching of invalid_contract args. (<a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/541">#541</a>)</li>
<li><a
href="4d76fe921c"><code>4d76fe9</code></a>
Support multiple formatters (<a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/538">#538</a>)</li>
<li><a
href="d8cb107f85"><code>d8cb107</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/540">#540</a>
from kianmeng/ci-housekeeping</li>
<li>Additional commits viewable in <a
href="https://github.com/jeremyjh/dialyxir/compare/1.4.3...1.4.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialyxir&package-manager=hex&previous-version=1.4.3&new-version=1.4.5)](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>
2025-01-16 23:17:10 +00:00
dependabot[bot]
bdc4711fd7 build(deps): Bump the google group in /terraform/environments/staging with 2 updates (#7775)
Bumps the google group in /terraform/environments/staging with 2
updates:
[hashicorp/google](https://github.com/hashicorp/terraform-provider-google)
and
[hashicorp/google-beta](https://github.com/hashicorp/terraform-provider-google-beta).

Updates `hashicorp/google` from 6.12.0 to 6.16.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/terraform-provider-google/releases">hashicorp/google's
releases</a>.</em></p>
<blockquote>
<h2>v6.16.0</h2>
<p>FEATURES:</p>
<ul>
<li><strong>New Resource:</strong>
<code>google_beyondcorp_security_gateway</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20844">#20844</a>)</li>
<li><strong>New Resource:</strong>
<code>google_developer_connect_connection</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20823">#20823</a>)</li>
<li><strong>New Resource:</strong>
<code>google_developer_connect_git_repository_link</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20823">#20823</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>compute: promoted <code>standby_policy</code>,
<code>target_suspended_size</code>, and <code>target_stopped_size</code>
fields in <code>google_compute_region_instance_group_manager</code> and
<code>google_compute_instance_group_manager</code> resource from beta to
ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20821">#20821</a>)</li>
<li>dns: added <code>health_check</code> and
<code>external_endpoints</code> fields to
<code>google_dns_record_set</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20843">#20843</a>)</li>
<li>sql: added <code>server_ca_pool</code> field to
<code>google_sql_database_instance</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20834">#20834</a>)</li>
<li>vmwareengine: allowed import of non-STANDARD private clouds in
<code>google_vmwareengine_private_cloud</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20832">#20832</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>dataproc: fixed boolean fields in
<code>shielded_instance_config</code> in the
<code>google_dataproc_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20828">#20828</a>)</li>
<li>gkeonprem: fixed permadiff on <code>vcenter</code> field in
<code>google_gkeonprem_vmware_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20837">#20837</a>)</li>
<li>networkservices: fixed <code>google_network_services_gateway</code>
resource so that it correctly waits for the router to be deleted on
<code>terraform destroy</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20817">#20817</a>)</li>
<li>provider: fixed issue where <code>GOOGLE_CLOUD_QUOTA_PROJECT</code>
env var would override explicit <code>billing_project</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20839">#20839</a>)</li>
</ul>
<h2>v6.15.0</h2>
<p>NOTES:</p>
<ul>
<li>compute: <code>google_compute_firewall_policy_association</code> now
uses MMv1 engine instead of DCL. (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20744">#20744</a>)</li>
</ul>
<p>DEPRECATIONS:</p>
<ul>
<li>compute: deprecated <code>numeric_id</code> (string) field in
<code>google_compute_network</code> resource. Use the new
<code>network_id</code> (integer) field instead (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20698">#20698</a>)</li>
</ul>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_gke_hub_feature</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20721">#20721</a>)</li>
<li><strong>New Resource:</strong> <code>google_storage_folder</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20767">#20767</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>artifactregistry: added <code>vulnerability_scanning_config</code>
field to <code>google_artifact_registry_repository</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20726">#20726</a>)</li>
<li>backupdr: promoted datasource <code>google_backup_dr_backup</code>
to ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20677">#20677</a>)</li>
<li>backupdr: promoted datasource
<code>google_backup_dr_data_source</code> to ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20677">#20677</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset_access</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20707">#20707</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20707">#20707</a>)</li>
<li>composer: added <code>airflow_metadata_retention_config</code> field
to <code>google_composer_environment</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20769">#20769</a>)</li>
<li>compute: added back the validation for <code>target_service</code>
field on the <code>google_compute_service_attachment</code> resource to
validade a <code>ForwardingRule</code> or <code>Gateway</code> URL (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20711">#20711</a>)</li>
<li>compute: added <code>availability_domain</code> field to
<code>google_compute_instance</code>,
<code>google_compute_instance_template</code> and
<code>google_compute_region_instance_template</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20694">#20694</a>)</li>
<li>compute: added <code>network_id</code> (integer) field to
<code>google_compute_network</code> resource and data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20698">#20698</a>)</li>
<li>compute: added <code>preset_topology</code> field to
<code>google_network_connectivity_hub</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20720">#20720</a>)</li>
<li>compute: added <code>subnetwork_id</code> field to
<code>google_compute_subnetwork</code> data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20666">#20666</a>)</li>
<li>compute: made setting resource policies for
<code>google_compute_instance</code> outside of terraform or using
<code>google_compute_disk_resource_policy_attachment</code> no longer
affect the <code>boot_disk.initialize_params.resource_policies</code>
field (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20764">#20764</a>)</li>
<li>container: changed <code>google_container_cluster</code> to apply
maintenance policy updates after upgrades during cluster update (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20708">#20708</a>)</li>
<li>container: made nodepool concurrent operations scale better for
<code>google_container_cluster</code> and
<code>google_container_node_pool</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20738">#20738</a>)</li>
<li>datastream: added <code>gtid</code> and
<code>binary_log_position</code> fields to
<code>google_datastream_stream</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20777">#20777</a>)</li>
<li>developerconnect: added support for setting up a
<code>google_developer_connect_connection</code> resource without
specifying the <code>authorizer_credentials</code> field (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20756">#20756</a>)</li>
<li>filestore: added <code>tags</code> field to
<code>google_filestore_backup</code> to allow setting tags for backups
at creation time (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20718">#20718</a>)</li>
<li>networkconnectivity: added <code>group</code> field to
<code>google_network_connectivity_spoke</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20689">#20689</a>)</li>
<li>networkmanagement: promoted
<code>google_network_management_vpc_flow_logs_config</code> resource to
ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20701">#20701</a>)</li>
<li>parallelstore: added <code>deployment_type</code> field to
<code>google_parallelstore_instance</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20785">#20785</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/terraform-provider-google/blob/main/CHANGELOG.md">hashicorp/google's
changelog</a>.</em></p>
<blockquote>
<h2>6.16.0 (January 13, 2025)</h2>
<p>FEATURES:</p>
<ul>
<li><strong>New Resource:</strong>
<code>google_beyondcorp_security_gateway</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20844">#20844</a>)</li>
<li><strong>New Resource:</strong>
<code>google_developer_connect_connection</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20823">#20823</a>)</li>
<li><strong>New Resource:</strong>
<code>google_developer_connect_git_repository_link</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20823">#20823</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>compute: promoted <code>standby_policy</code>,
<code>target_suspended_size</code>, and <code>target_stopped_size</code>
fields in <code>google_compute_region_instance_group_manager</code> and
<code>google_compute_instance_group_manager</code> resource from beta to
ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20821">#20821</a>)</li>
<li>dns: added <code>health_check</code> and
<code>external_endpoints</code> fields to
<code>google_dns_record_set</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20843">#20843</a>)</li>
<li>sql: added <code>server_ca_pool</code> field to
<code>google_sql_database_instance</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20834">#20834</a>)</li>
<li>vmwareengine: allowed import of non-STANDARD private clouds in
<code>google_vmwareengine_private_cloud</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20832">#20832</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>dataproc: fixed boolean fields in
<code>shielded_instance_config</code> in the
<code>google_dataproc_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20828">#20828</a>)</li>
<li>gkeonprem: fixed permadiff on <code>vcenter</code> field in
<code>google_gkeonprem_vmware_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20837">#20837</a>)</li>
<li>networkservices: fixed <code>google_network_services_gateway</code>
resource so that it correctly waits for the router to be deleted on
<code>terraform destroy</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20817">#20817</a>)</li>
<li>provider: fixed issue where <code>GOOGLE_CLOUD_QUOTA_PROJECT</code>
env var would override explicit <code>billing_project</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20839">#20839</a>)</li>
</ul>
<h2>6.15.0 (January 6, 2025)</h2>
<p>NOTES:</p>
<ul>
<li>compute: <code>google_compute_firewall_policy_association</code> now
uses MMv1 engine instead of DCL. (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20744">#20744</a>)</li>
</ul>
<p>DEPRECATIONS:</p>
<ul>
<li>compute: deprecated <code>numeric_id</code> (string) field in
<code>google_compute_network</code> resource. Use the new
<code>network_id</code> (integer) field instead (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20698">#20698</a>)</li>
</ul>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_gke_hub_feature</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20721">#20721</a>)</li>
<li><strong>New Resource:</strong> <code>google_storage_folder</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20767">#20767</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>artifactregistry: added <code>vulnerability_scanning_config</code>
field to <code>google_artifact_registry_repository</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20726">#20726</a>)</li>
<li>backupdr: promoted datasource <code>google_backup_dr_backup</code>
to ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20677">#20677</a>)</li>
<li>backupdr: promoted datasource
<code>google_backup_dr_data_source</code> to ga (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20677">#20677</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset_access</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20707">#20707</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20707">#20707</a>)</li>
<li>composer: added <code>airflow_metadata_retention_config</code> field
to <code>google_composer_environment</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20769">#20769</a>)</li>
<li>compute: added back the validation for <code>target_service</code>
field on the <code>google_compute_service_attachment</code> resource to
validade a <code>ForwardingRule</code> or <code>Gateway</code> URL (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20711">#20711</a>)</li>
<li>compute: added <code>availability_domain</code> field to
<code>google_compute_instance</code>,
<code>google_compute_instance_template</code> and
<code>google_compute_region_instance_template</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20694">#20694</a>)</li>
<li>compute: added <code>network_id</code> (integer) field to
<code>google_compute_network</code> resource and data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20698">#20698</a>)</li>
<li>compute: added <code>preset_topology</code> field to
<code>google_network_connectivity_hub</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20720">#20720</a>)</li>
<li>compute: added <code>subnetwork_id</code> field to
<code>google_compute_subnetwork</code> data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20666">#20666</a>)</li>
<li>compute: made setting resource policies for
<code>google_compute_instance</code> outside of terraform or using
<code>google_compute_disk_resource_policy_attachment</code> no longer
affect the <code>boot_disk.initialize_params.resource_policies</code>
field (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20764">#20764</a>)</li>
<li>container: changed <code>google_container_cluster</code> to apply
maintenance policy updates after upgrades during cluster update (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20708">#20708</a>)</li>
<li>container: made nodepool concurrent operations scale better for
<code>google_container_cluster</code> and
<code>google_container_node_pool</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20738">#20738</a>)</li>
<li>datastream: added <code>gtid</code> and
<code>binary_log_position</code> fields to
<code>google_datastream_stream</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20777">#20777</a>)</li>
<li>developerconnect: added support for setting up a
<code>google_developer_connect_connection</code> resource without
specifying the <code>authorizer_credentials</code> field (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20756">#20756</a>)</li>
<li>filestore: added <code>tags</code> field to
<code>google_filestore_backup</code> to allow setting tags for backups
at creation time (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20718">#20718</a>)</li>
<li>networkconnectivity: added <code>group</code> field to
<code>google_network_connectivity_spoke</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20689">#20689</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1a5ead85e7"><code>1a5ead8</code></a>
Update CHANGELOG.md (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20880">#20880</a>)</li>
<li><a
href="2f254bf47f"><code>2f254bf</code></a>
Update CHANGELOG.md 6.15.0 (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20877">#20877</a>)</li>
<li><a
href="b35cda8cda"><code>b35cda8</code></a>
Add Terraform support for the Security Gateway resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12695">#12695</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20844">#20844</a>)</li>
<li><a
href="6328e6abc1"><code>6328e6a</code></a>
Add health_check and external_endpoints to google_dns_record_set (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12682">#12682</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/2">#2</a>...</li>
<li><a
href="205663dd65"><code>205663d</code></a>
Add post_read custom_code (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12703">#12703</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20842">#20842</a>)</li>
<li><a
href="cf5f707c26"><code>cf5f707</code></a>
Create github action to ensure service team labels exist in the correct
color...</li>
<li><a
href="9a4b7395da"><code>9a4b739</code></a>
Fix metadata for some recent resource changes (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12702">#12702</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20840">#20840</a>)</li>
<li><a
href="b9aa522e08"><code>b9aa522</code></a>
Update provider reference docs on quota usage and always use
billing_project ...</li>
<li><a
href="8a99a292b0"><code>8a99a29</code></a>
Mark vcenter field in VMware cluster resource as default from api (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12624">#12624</a>)
(#...</li>
<li><a
href="92dd902e24"><code>92dd902</code></a>
Implement the v6 cai2hcl Convert function (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/12662">#12662</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google/issues/20836">#20836</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/terraform-provider-google/compare/v6.12.0...v6.16.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `hashicorp/google-beta` from 6.12.0 to 6.16.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/terraform-provider-google-beta/releases">hashicorp/google-beta's
releases</a>.</em></p>
<blockquote>
<h2>v6.16.0</h2>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_kms_autokey_config</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8986">#8986</a>)</li>
<li><strong>New Resource:</strong>
<code>google_beyondcorp_security_gateway</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9017">#9017</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_data_access_label</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8999">#8999</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_data_access_scope</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9000">#9000</a>)</li>
<li><strong>New Resource:</strong>
<code>google_cloud_quotas_quota_adjuster_settings</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9005">#9005</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>chronicle: updated <code>watchlist_id</code> field to be optional in
<code>google_chronicle_watchlist</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8988">#8988</a>)</li>
<li>developerconnect: added <code>crypto_key_config</code>,
<code>github_enterprise_config</code>, <code>gitlab_config</code> , and
<code>gitlab_enterprise_config</code> fields to
<code>google_developer_connect_connection</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8998">#8998</a>)</li>
<li>dns: added <code>health_check</code> and
<code>external_endpoints</code> fields to
<code>google_dns_record_set</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9016">#9016</a>)</li>
<li>sql: added <code>server_ca_pool</code> field to
<code>google_sql_database_instance</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9008">#9008</a>)</li>
<li>vmwareengine: allowed import of non-STANDARD private clouds in
<code>google_vmwareengine_private_cloud</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9006">#9006</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>dataproc: fixed boolean fields in
<code>shielded_instance_config</code> in the
<code>google_dataproc_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9003">#9003</a>)</li>
<li>gkeonprem: fixed permadiff on <code>vcenter</code> field in
<code>google_gkeonprem_vmware_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9011">#9011</a>)</li>
<li>kms: fixed permadiff on <code>google_kms_autokey_config</code> by
introducing a 5 second sleep post-create / post-update (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8992">#8992</a>)</li>
<li>networkservices: fixed <code>google_network_services_gateway</code>
resource so that it correctly waits for the router to be deleted on
<code>terraform destroy</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8993">#8993</a>)</li>
<li>provider: fixed issue where <code>GOOGLE_CLOUD_QUOTA_PROJECT</code>
env var would override explicit <code>billing_project</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9012">#9012</a>)</li>
</ul>
<h2>v6.15.0</h2>
<p>NOTES:</p>
<ul>
<li>compute: <code>google_compute_firewall_policy_association</code> now
uses MMv1 engine instead of DCL. (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8948">#8948</a>)</li>
</ul>
<p>DEPRECATIONS:</p>
<ul>
<li>compute: deprecated <code>numeric_id</code> (string) field in
<code>google_compute_network</code> resource. Use the new
<code>network_id</code> (integer) field instead (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8915">#8915</a>)</li>
</ul>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_gke_hub_feature</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8930">#8930</a>)</li>
<li><strong>New Data Source:</strong>
<code>google_kms_autokey_config</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8986">#8986</a>)</li>
<li><strong>New Data Source:</strong> <code>google_kms_key_handle</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8933">#8933</a>)</li>
<li><strong>New Resource:</strong>
<code>google_gkeonprem_vmware_admin_cluster</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8932">#8932</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_watchlist</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8983">#8983</a>)</li>
<li><strong>New Resource:</strong>
<code>google_network_security_intercept_endpoint_group_association</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8958">#8958</a>)</li>
<li><strong>New Resource:</strong>
<code>google_network_security_intercept_endpoint_group</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8912">#8912</a>)</li>
<li><strong>New Resource:</strong> <code>google_storage_folder</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8961">#8961</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>artifactregistry: added <code>vulnerability_scanning_config</code>
field to <code>google_artifact_registry_repository</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8934">#8934</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset_access</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8921">#8921</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8921">#8921</a>)</li>
<li>bigquery: added <code>external_catalog_table_options</code> field to
<code>google_bigquery_table</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8942">#8942</a>)</li>
<li>composer: added <code>airflow_metadata_retention_config</code> field
to <code>google_composer_environment</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8963">#8963</a>)</li>
<li>compute: added back the validation for <code>target_service</code>
field on the <code>google_compute_service_attachment</code> resource to
validade a <code>ForwardingRule</code> or <code>Gateway</code> URL (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8924">#8924</a>)</li>
<li>compute: added <code>availability_domain</code> field to
<code>google_compute_instance</code>,
<code>google_compute_instance_template</code> and
<code>google_compute_region_instance_template</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8914">#8914</a>)</li>
<li>compute: added <code>network_id</code> (integer) field to
<code>google_compute_network</code> resource and data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8915">#8915</a>)</li>
<li>compute: added <code>preset_topology</code> field to
<code>google_network_connectivity_hub</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8929">#8929</a>)</li>
<li>compute: added <code>subnetwork_id</code> field to
<code>google_compute_subnetwork</code> data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8893">#8893</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/terraform-provider-google-beta/blob/main/CHANGELOG.md">hashicorp/google-beta's
changelog</a>.</em></p>
<blockquote>
<h2>6.16.0 (January 13, 2025)</h2>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_kms_autokey_config</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8986">#8986</a>)</li>
<li><strong>New Resource:</strong>
<code>google_beyondcorp_security_gateway</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9017">#9017</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_data_access_label</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8999">#8999</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_data_access_scope</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9000">#9000</a>)</li>
<li><strong>New Resource:</strong>
<code>google_cloud_quotas_quota_adjuster_settings</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9005">#9005</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>chronicle: updated <code>watchlist_id</code> field to be optional in
<code>google_chronicle_watchlist</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8988">#8988</a>)</li>
<li>developerconnect: added <code>crypto_key_config</code>,
<code>github_enterprise_config</code>, <code>gitlab_config</code> , and
<code>gitlab_enterprise_config</code> fields to
<code>google_developer_connect_connection</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8998">#8998</a>)</li>
<li>dns: added <code>health_check</code> and
<code>external_endpoints</code> fields to
<code>google_dns_record_set</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9016">#9016</a>)</li>
<li>sql: added <code>server_ca_pool</code> field to
<code>google_sql_database_instance</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9008">#9008</a>)</li>
<li>vmwareengine: allowed import of non-STANDARD private clouds in
<code>google_vmwareengine_private_cloud</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9006">#9006</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>dataproc: fixed boolean fields in
<code>shielded_instance_config</code> in the
<code>google_dataproc_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9003">#9003</a>)</li>
<li>gkeonprem: fixed permadiff on <code>vcenter</code> field in
<code>google_gkeonprem_vmware_cluster</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9011">#9011</a>)</li>
<li>kms: fixed permadiff on <code>google_kms_autokey_config</code> by
introducing a 5 second sleep post-create / post-update (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8992">#8992</a>)</li>
<li>networkservices: fixed <code>google_network_services_gateway</code>
resource so that it correctly waits for the router to be deleted on
<code>terraform destroy</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8993">#8993</a>)</li>
<li>provider: fixed issue where <code>GOOGLE_CLOUD_QUOTA_PROJECT</code>
env var would override explicit <code>billing_project</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/9012">#9012</a>)</li>
</ul>
<h2>6.15.0 (January 6, 2025)</h2>
<p>NOTES:</p>
<ul>
<li>compute: <code>google_compute_firewall_policy_association</code> now
uses MMv1 engine instead of DCL. (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8948">#8948</a>)</li>
</ul>
<p>DEPRECATIONS:</p>
<ul>
<li>compute: deprecated <code>numeric_id</code> (string) field in
<code>google_compute_network</code> resource. Use the new
<code>network_id</code> (integer) field instead (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8915">#8915</a>)</li>
</ul>
<p>FEATURES:</p>
<ul>
<li><strong>New Data Source:</strong>
<code>google_gke_hub_feature</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8930">#8930</a>)</li>
<li><strong>New Data Source:</strong>
<code>google_kms_autokey_config</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8986">#8986</a>)</li>
<li><strong>New Data Source:</strong> <code>google_kms_key_handle</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8933">#8933</a>)</li>
<li><strong>New Resource:</strong>
<code>google_gkeonprem_vmware_admin_cluster</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8932">#8932</a>)</li>
<li><strong>New Resource:</strong>
<code>google_chronicle_watchlist</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8983">#8983</a>)</li>
<li><strong>New Resource:</strong>
<code>google_network_security_intercept_endpoint_group_association</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8958">#8958</a>)</li>
<li><strong>New Resource:</strong>
<code>google_network_security_intercept_endpoint_group</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8912">#8912</a>)</li>
<li><strong>New Resource:</strong> <code>google_storage_folder</code>
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8961">#8961</a>)</li>
</ul>
<p>IMPROVEMENTS:</p>
<ul>
<li>artifactregistry: added <code>vulnerability_scanning_config</code>
field to <code>google_artifact_registry_repository</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8934">#8934</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset_access</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8921">#8921</a>)</li>
<li>bigquery: added <code>condition</code> field to
<code>google_bigquery_dataset</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8921">#8921</a>)</li>
<li>bigquery: added <code>external_catalog_table_options</code> field to
<code>google_bigquery_table</code> resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8942">#8942</a>)</li>
<li>composer: added <code>airflow_metadata_retention_config</code> field
to <code>google_composer_environment</code> (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8963">#8963</a>)</li>
<li>compute: added back the validation for <code>target_service</code>
field on the <code>google_compute_service_attachment</code> resource to
validade a <code>ForwardingRule</code> or <code>Gateway</code> URL (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8924">#8924</a>)</li>
<li>compute: added <code>availability_domain</code> field to
<code>google_compute_instance</code>,
<code>google_compute_instance_template</code> and
<code>google_compute_region_instance_template</code> resources (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8914">#8914</a>)</li>
<li>compute: added <code>network_id</code> (integer) field to
<code>google_compute_network</code> resource and data source (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/pull/8915">#8915</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9ea7b0adf3"><code>9ea7b0a</code></a>
Update CHANGELOG.md (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9038">#9038</a>)</li>
<li><a
href="fccf993c0f"><code>fccf993</code></a>
Update CHANGELOG.md 6.15.0 (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9034">#9034</a>)</li>
<li><a
href="7616320627"><code>7616320</code></a>
Add Terraform support for the Security Gateway resource (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12695">#12695</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9017">#9017</a>)</li>
<li><a
href="70a21d63a4"><code>70a21d6</code></a>
Add health_check and external_endpoints to google_dns_record_set (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12682">#12682</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9">#9</a>...</li>
<li><a
href="915da7fcdd"><code>915da7f</code></a>
Add post_read custom_code (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12703">#12703</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9015">#9015</a>)</li>
<li><a
href="6ab8e54417"><code>6ab8e54</code></a>
Create github action to ensure service team labels exist in the correct
color...</li>
<li><a
href="1ea825278c"><code>1ea8252</code></a>
Fix metadata for some recent resource changes (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12702">#12702</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9013">#9013</a>)</li>
<li><a
href="4dba3062c9"><code>4dba306</code></a>
Update provider reference docs on quota usage and always use
billing_project ...</li>
<li><a
href="4249ec07fe"><code>4249ec0</code></a>
Mark vcenter field in VMware cluster resource as default from api (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12624">#12624</a>)
(#...</li>
<li><a
href="30a63c1afb"><code>30a63c1</code></a>
Implement the v6 cai2hcl Convert function (<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/12662">#12662</a>)
(<a
href="https://redirect.github.com/hashicorp/terraform-provider-google-beta/issues/9010">#9010</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/terraform-provider-google-beta/compare/v6.12.0...v6.16.0">compare
view</a></li>
</ul>
</details>
<br />


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 23:07:41 +00:00
dependabot[bot]
87d44518e2 build(deps): Bump cyrilgdn/postgresql from 1.24.0 to 1.25.0 in /terraform/environments/staging (#7778)
Bumps
[cyrilgdn/postgresql](https://github.com/cyrilgdn/terraform-provider-postgresql)
from 1.24.0 to 1.25.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cyrilgdn/terraform-provider-postgresql/releases">cyrilgdn/postgresql's
releases</a>.</em></p>
<blockquote>
<h2>v1.25.0</h2>
<h2>What's Changed</h2>
<h3>Features</h3>
<ul>
<li><strong>New resource</strong>:
<code>postgresql_security_label</code> by <a
href="https://github.com/stanleyz"><code>@​stanleyz</code></a> in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/482">cyrilgdn/terraform-provider-postgresql#482</a></li>
<li><strong>Provider configuration</strong>: Add support for assuming an
AWS IAM role from the provider. by <a
href="https://github.com/zizzencs"><code>@​zizzencs</code></a> in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/486">cyrilgdn/terraform-provider-postgresql#486</a></li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>postgresql_grant</code>: Fix cyrilgdn#321 replaces
postgresql_grant all the time. by <a
href="https://github.com/PabloAzNR"><code>@​PabloAzNR</code></a> in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/476">cyrilgdn/terraform-provider-postgresql#476</a></li>
<li><code>postgresql_grant</code> /
<code>postgresql_default_privileges</code>: Fix <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/32">#32</a>
<code>ALL</code> privileges by <a
href="https://github.com/talbx"><code>@​talbx</code></a> in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/339">cyrilgdn/terraform-provider-postgresql#339</a></li>
</ul>
<h3>Documentation / Development</h3>
<ul>
<li>Tests: Remove Postrges 11 from tests matrix by <a
href="https://github.com/cyrilgdn"><code>@​cyrilgdn</code></a> in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/485">cyrilgdn/terraform-provider-postgresql#485</a></li>
<li>Update documentation for postgresql_default_privileges resource by
<a href="https://github.com/caodangtinh"><code>@​caodangtinh</code></a>
in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/468">cyrilgdn/terraform-provider-postgresql#468</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/PabloAzNR"><code>@​PabloAzNR</code></a>
made their first contribution in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/476">cyrilgdn/terraform-provider-postgresql#476</a></li>
<li><a href="https://github.com/talbx"><code>@​talbx</code></a> made
their first contribution in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/339">cyrilgdn/terraform-provider-postgresql#339</a></li>
<li><a href="https://github.com/stanleyz"><code>@​stanleyz</code></a>
made their first contribution in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/482">cyrilgdn/terraform-provider-postgresql#482</a></li>
<li><a href="https://github.com/zizzencs"><code>@​zizzencs</code></a>
made their first contribution in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/486">cyrilgdn/terraform-provider-postgresql#486</a></li>
<li><a
href="https://github.com/caodangtinh"><code>@​caodangtinh</code></a>
made their first contribution in <a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/pull/468">cyrilgdn/terraform-provider-postgresql#468</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cyrilgdn/terraform-provider-postgresql/compare/v1.24.0...v1.25.0">https://github.com/cyrilgdn/terraform-provider-postgresql/compare/v1.24.0...v1.25.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a9e69846e2"><code>a9e6984</code></a>
Update document for postgresql_default_privileges resource (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/468">#468</a>)</li>
<li><a
href="95d8d6dc88"><code>95d8d6d</code></a>
feat: Add support for assuming an AWS IAM role from the provider. (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/486">#486</a>)</li>
<li><a
href="b202448199"><code>b202448</code></a>
feat: Add <code>postgresql_security_label</code> resource (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/482">#482</a>)</li>
<li><a
href="31fee05a65"><code>31fee05</code></a>
chore(tests): Remove Postrges 11 from tests matrix (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/485">#485</a>)</li>
<li><a
href="fc5c40d251"><code>fc5c40d</code></a>
fix: ALL implicit privileges equality check (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/339">#339</a>)</li>
<li><a
href="6d26b595a7"><code>6d26b59</code></a>
Fix cyrilgdn#321 replaces postgresql_grant all the time. (<a
href="https://redirect.github.com/cyrilgdn/terraform-provider-postgresql/issues/476">#476</a>)</li>
<li>See full diff in <a
href="https://github.com/cyrilgdn/terraform-provider-postgresql/compare/v1.24.0...v1.25.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cyrilgdn/postgresql&package-manager=terraform&previous-version=1.24.0&new-version=1.25.0)](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>
2025-01-16 23:04:08 +00:00
Jamil
603a64435e chore(portal): use appropriate sha in dev (#7782)
Not a huge deal, but this doesn't actually need to be a valid SHA and
this is more clear / has no risk of collision with an actual git sha.
2025-01-16 22:58:12 +00:00
Jamil
d07ef17b52 fix(website): Use relative hrefs for downloads on changelog (#7784)
These weren't being loaded correctly for Android and Apple, and are now
updated to use relative paths.
2025-01-16 22:55:23 +00:00
Jamil
53032fcbe1 fix(ci): Populate elixir vsn from env at build time (#7773)
Dependabot's workflow is set up in such a way it seems that it can't
find our `sha.exs` file.

This is a cleaner approach that doesn't rely on using external files for
the application version.

Interesting note: `mix compile` will happily use the cached `version`
even though it's computed from an env var, because `mix compile` uses
file hash and mtime to know when to recompile.

See https://github.com/firezone/firezone/network/updates/942719116
2025-01-16 22:26:22 +00:00
dependabot[bot]
ce2de2ec8d build(deps): Bump tauri from 2.2.1 to 2.2.2 in /rust in the tauri group (#7776)
Bumps the tauri group in /rust with 1 update:
[tauri](https://github.com/tauri-apps/tauri).

Updates `tauri` from 2.2.1 to 2.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri's
releases</a>.</em></p>
<blockquote>
<h2>tauri-cli v2.2.2</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1041 packages to latest compatible versions
      Adding apple-codesign v0.27.0 (available: v0.29.0)
      Adding axum v0.7.9 (available: v0.8.1)
      Adding cargo_toml v0.17.2 (available: v0.21.0)
      Adding html5ever v0.26.0 (available: v0.29.0)
      Adding hyper v0.14.32 (available: v1.5.2)
      Adding itertools v0.13.0 (available: v0.14.0)
      Adding minisign v0.7.3 (available: v0.7.9)
      Adding oxc_allocator v0.36.0 (available: v0.44.0)
      Adding oxc_ast v0.36.0 (available: v0.44.0)
      Adding oxc_parser v0.36.0 (available: v0.44.0)
      Adding oxc_span v0.36.0 (available: v0.44.0)
      Adding proc-macro-crate v2.0.0 (available: v2.0.2)
      Adding serialize-to-javascript v0.1.1 (available: v0.1.2)
      Adding serialize-to-javascript-impl v0.1.1 (available: v0.1.2)
      Adding tauri-utils v1.6.0 (available: v1.6.1)
      Adding tiny_http v0.11.0 (available: v0.12.0)
      Adding x509-certificate v0.23.1 (available: v0.24.0)
Fetching advisory database from
`https://github.com/RustSec/advisory-db.git`
Loaded 724 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1066 crate dependencies)
Crate:     atk
Version:   0.18.2
Warning:   unmaintained
Title:     gtk-rs GTK3 bindings - no longer maintained
Date:      2024-03-04
ID:        RUSTSEC-2024-0413
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0413
Dependency tree:
atk 0.18.2
└── gtk 0.18.2
    ├── wry 0.48.0
    │   └── tauri-runtime-wry 2.3.0
    │       └── tauri 2.2.0
    │           ├── tauri-plugin-sample 0.1.0
    │           │   └── api 0.1.0
    │           ├── tauri-plugin-log 2.2.0
    │           │   └── api 0.1.0
    │           ├── tauri-file-associations-demo 0.1.0
    │           ├── tauri 2.2.0
    │           ├── restart 0.1.0
    │           ├── resources 0.1.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4c3f047735"><code>4c3f047</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12377">#12377</a>)</li>
<li><a
href="61e69db9e4"><code>61e69db</code></a>
chore: Add changefile for <a
href="https://redirect.github.com/tauri-apps/tauri/issues/12371">#12371</a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12376">#12376</a>)</li>
<li><a
href="75d56e8364"><code>75d56e8</code></a>
fix: fix Specta integration (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12371">#12371</a>)</li>
<li><a
href="a8aca70151"><code>a8aca70</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12355">#12355</a>)</li>
<li><a
href="cad5504455"><code>cad5504</code></a>
fix(cli): Fix npm package name in <code>tauri add</code> (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12354">#12354</a>)</li>
<li><a
href="f8e50e8e5b"><code>f8e50e8</code></a>
chore(deps): update rust crate tauri-winres to 0.2 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12341">#12341</a>)</li>
<li><a
href="cfe1af2848"><code>cfe1af2</code></a>
chore(deps): update rust crate notify to v8 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12342">#12342</a>)</li>
<li>See full diff in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-v2.2.1...tauri-v2.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tauri&package-manager=cargo&previous-version=2.2.1&new-version=2.2.2)](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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 22:03:11 +00:00
dependabot[bot]
81cbaefc84 build(deps): Bump glob from 0.3.1 to 0.3.2 in /rust (#7779)
Bumps [glob](https://github.com/rust-lang/glob) from 0.3.1 to 0.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/glob/releases">glob's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add fs::symlink_metadata to detect broken symlinks by <a
href="https://github.com/kyoheiu"><code>@​kyoheiu</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/105">rust-lang/glob#105</a></li>
<li>Add support for windows verbatim disk paths by <a
href="https://github.com/nico-abram"><code>@​nico-abram</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/112">rust-lang/glob#112</a></li>
<li>Respect <code>require_literal_leading_dot</code> option in
<code>glob_with</code> method for path components by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/128">rust-lang/glob#128</a></li>
<li>Harden tests for symlink by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/127">rust-lang/glob#127</a></li>
<li>Remove &quot;extern crate&quot; directions from README by <a
href="https://github.com/zmitchell"><code>@​zmitchell</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/131">rust-lang/glob#131</a></li>
<li>Add FIXME for tempdir by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/126">rust-lang/glob#126</a></li>
<li>Cache information about file type by <a
href="https://github.com/Kobzol"><code>@​Kobzol</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/135">rust-lang/glob#135</a></li>
<li>Document the behaviour of ** with files by <a
href="https://github.com/Wilfred"><code>@​Wilfred</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/138">rust-lang/glob#138</a></li>
<li>Add dependabot by <a
href="https://github.com/oriontvv"><code>@​oriontvv</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/139">rust-lang/glob#139</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/140">rust-lang/glob#140</a></li>
<li>Check only (no longer test) at the MSRV by <a
href="https://github.com/tgross35"><code>@​tgross35</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/151">rust-lang/glob#151</a></li>
<li>Add release-plz for automated releases by <a
href="https://github.com/tgross35"><code>@​tgross35</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/150">rust-lang/glob#150</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kyoheiu"><code>@​kyoheiu</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/105">rust-lang/glob#105</a></li>
<li><a
href="https://github.com/nico-abram"><code>@​nico-abram</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/112">rust-lang/glob#112</a></li>
<li><a href="https://github.com/zmitchell"><code>@​zmitchell</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/131">rust-lang/glob#131</a></li>
<li><a href="https://github.com/Kobzol"><code>@​Kobzol</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/135">rust-lang/glob#135</a></li>
<li><a href="https://github.com/Wilfred"><code>@​Wilfred</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/138">rust-lang/glob#138</a></li>
<li><a href="https://github.com/oriontvv"><code>@​oriontvv</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/139">rust-lang/glob#139</a></li>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/140">rust-lang/glob#140</a></li>
<li><a href="https://github.com/tgross35"><code>@​tgross35</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/151">rust-lang/glob#151</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/glob/compare/0.3.1...v0.3.2">https://github.com/rust-lang/glob/compare/0.3.1...v0.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/glob/blob/master/CHANGELOG.md">glob's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/glob/compare/v0.3.1...v0.3.2">0.3.2</a>
- 2024-12-28</h2>
<h2>What's Changed</h2>
<ul>
<li>Add fs::symlink_metadata to detect broken symlinks by <a
href="https://github.com/kyoheiu"><code>@​kyoheiu</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/105">rust-lang/glob#105</a></li>
<li>Add support for windows verbatim disk paths by <a
href="https://github.com/nico-abram"><code>@​nico-abram</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/112">rust-lang/glob#112</a></li>
<li>Respect <code>require_literal_leading_dot</code> option in
<code>glob_with</code> method for path components by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/128">rust-lang/glob#128</a></li>
<li>Harden tests for symlink by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/127">rust-lang/glob#127</a></li>
<li>Remove &quot;extern crate&quot; directions from README by <a
href="https://github.com/zmitchell"><code>@​zmitchell</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/131">rust-lang/glob#131</a></li>
<li>Add FIXME for tempdir by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/126">rust-lang/glob#126</a></li>
<li>Cache information about file type by <a
href="https://github.com/Kobzol"><code>@​Kobzol</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/135">rust-lang/glob#135</a></li>
<li>Document the behaviour of ** with files by <a
href="https://github.com/Wilfred"><code>@​Wilfred</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/138">rust-lang/glob#138</a></li>
<li>Add dependabot by <a
href="https://github.com/oriontvv"><code>@​oriontvv</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/139">rust-lang/glob#139</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/140">rust-lang/glob#140</a></li>
<li>Check only (no longer test) at the MSRV by <a
href="https://github.com/tgross35"><code>@​tgross35</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/151">rust-lang/glob#151</a></li>
<li>Add release-plz for automated releases by <a
href="https://github.com/tgross35"><code>@​tgross35</code></a> in <a
href="https://redirect.github.com/rust-lang/glob/pull/150">rust-lang/glob#150</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kyoheiu"><code>@​kyoheiu</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/105">rust-lang/glob#105</a></li>
<li><a
href="https://github.com/nico-abram"><code>@​nico-abram</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/112">rust-lang/glob#112</a></li>
<li><a href="https://github.com/zmitchell"><code>@​zmitchell</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/131">rust-lang/glob#131</a></li>
<li><a href="https://github.com/Kobzol"><code>@​Kobzol</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/135">rust-lang/glob#135</a></li>
<li><a href="https://github.com/Wilfred"><code>@​Wilfred</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/138">rust-lang/glob#138</a></li>
<li><a href="https://github.com/oriontvv"><code>@​oriontvv</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/139">rust-lang/glob#139</a></li>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/140">rust-lang/glob#140</a></li>
<li><a href="https://github.com/tgross35"><code>@​tgross35</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/glob/pull/151">rust-lang/glob#151</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/glob/compare/0.3.1...0.3.2">https://github.com/rust-lang/glob/compare/0.3.1...0.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="58d0748ead"><code>58d0748</code></a>
chore: release v0.3.2</li>
<li><a
href="55b1be0b38"><code>55b1be0</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/glob/issues/150">#150</a>
from tgross35/release-plz</li>
<li><a
href="56054d2cd0"><code>56054d2</code></a>
Add release-plz for automated releases</li>
<li><a
href="b93bca11dd"><code>b93bca1</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/glob/issues/151">#151</a>
from tgross35/fix-ci</li>
<li><a
href="1dff47741c"><code>1dff477</code></a>
Add a <code>success</code> job to CI for branch protection</li>
<li><a
href="9bd1af895d"><code>9bd1af8</code></a>
Update CI runners to the latest available versions</li>
<li><a
href="8c5d22c989"><code>8c5d22c</code></a>
Check only (no longer test) at the MSRV</li>
<li><a
href="89ef8a366c"><code>89ef8a3</code></a>
Clean up the CI configuration file</li>
<li><a
href="49ee1e92bd"><code>49ee1e9</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/glob/issues/140">#140</a>
from rust-lang/dependabot/github_actions/actions/chec...</li>
<li><a
href="9c9f43f9eb"><code>9c9f43f</code></a>
Bump actions/checkout from 3 to 4</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/glob/compare/0.3.1...v0.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=glob&package-manager=cargo&previous-version=0.3.1&new-version=0.3.2)](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>
2025-01-16 22:02:33 +00:00
dependabot[bot]
d47a1fb633 build(deps): Bump env_logger from 0.11.5 to 0.11.6 in /rust (#7780)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.5
to 0.11.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/releases">env_logger's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.6</h2>
<h2>[0.11.6] - 2024-12-20</h2>
<h3>Features</h3>
<ul>
<li>Opt-in file and line rendering</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's
changelog</a>.</em></p>
<blockquote>
<h2>[0.11.6] - 2024-12-20</h2>
<h3>Features</h3>
<ul>
<li>Opt-in file and line rendering</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dc1a01a797"><code>dc1a01a</code></a>
chore: Release</li>
<li><a
href="65f81b3b6b"><code>65f81b3</code></a>
docs: Update changelog</li>
<li><a
href="77425992f6"><code>7742599</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/345">#345</a>
from EriKWDev/main</li>
<li><a
href="59229bce53"><code>59229bc</code></a>
fix: Test result of everything enabled has changed</li>
<li><a
href="b0d4760955"><code>b0d4760</code></a>
spelling + field names</li>
<li><a
href="1bad1f59d7"><code>1bad1f5</code></a>
feature: ability to display source file path and line number with
default for...</li>
<li><a
href="cc97bf76e3"><code>cc97bf7</code></a>
chore(deps): Update Rust Stable to v1.83 (<a
href="https://redirect.github.com/rust-cli/env_logger/issues/343">#343</a>)</li>
<li><a
href="240cd21de5"><code>240cd21</code></a>
style: Make clippy happy</li>
<li><a
href="da7ff82259"><code>da7ff82</code></a>
chore: Update from _rust template</li>
<li><a
href="ab1d854945"><code>ab1d854</code></a>
chore(deps): Update Rust crate snapbox to v0.6.20 (<a
href="https://redirect.github.com/rust-cli/env_logger/issues/342">#342</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.11.5&new-version=0.11.6)](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>
2025-01-16 22:01:40 +00:00
Jamil
2d0fafbc59 chore(ci): Use consistent casing for Docker directives (#7781)
```
 => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 258)
```
2025-01-16 21:58:06 +00:00
Thomas Eizinger
081216a929 fix(connlib): don't drop unsent datagrams (#7768)
We introduced a regression in `connlib` in #7749 whereby queued but
unsent datagrams got dropped in case the socket was not ready to send
more data.

This happens because within `Io`, we pull each datagram one by one from
the iterator:
e60ec7144c/rust/connlib/tunnel/src/io.rs (L178-L188)

This function will send datagrams for as long as the socket is ready and
drop the iterator afterwards. This means the returned iterator MUST BE
lazy and "cancel-safe". This was the case prior to #7749 because
`datagrams` function used `iter_mut` and only cut off the to be sent
bytes when the next item got pulled from iterator. With #7749, the
entire `HashMap` got drained, thus dropping packets if `Io` didn't
manage to process the iterator in full.
2025-01-16 15:26:59 +00:00
Jamil
10847fd549 fix(apple): Use Task.detached when starting from MainActor (#7766)
When starting a Task, by default it's launched with the same priority as
the calling code.

In the UI these are run on the `MainActor` with highest priority by
default. If the worker thread running the Task closure gets blocked, it
will cause the UI to hang.

To fix this, we use `Task.detached` which runs the closure without a
specific priority, which is lower than the UI thread.

Furthermore, `weak self` is used to prevent retain cycles if the parent
thread `deinit`s.

This was causing an issue primarily when making IPC calls because those
will sometimes hang until the XPC service is launched for the first
time.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2025-01-16 15:26:03 +00:00
dependabot[bot]
e4cfe6d5a2 build(deps): Bump keyring from 3.4.0 to 3.6.1 in /rust (#7744)
Bumps [keyring](https://github.com/hwchen/keyring-rs) from 3.4.0 to
3.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hwchen/keyring-rs/releases">keyring's
releases</a>.</em></p>
<blockquote>
<h2>v3.6.1: Update dependencies</h2>
<p>Two of the dependencies (<code>openssl</code> and
<code>whoami</code>) were discovered to have vulnerabilities which were
fixed in minor or patch releases. This crate has been updated to insist
that the minor/patch release number of these dependencies is high enough
to ensure use of a patched version.</p>
<p>There is no reason to think that the vulnerabilities in these
dependencies could have been exercised through this crate. In addition,
builds of clients done after the dependencies were patched would have
already picked up the non-vulnerable versions. So this change is simply
to ensure that future builds cannot use the vulnerable versions.</p>
<p>There are no code changes in this release.</p>
<h2>v3.6.0: Add new combination keystore</h2>
<p>This release contains a new credential store for Linux: a combination
of keyutils (for use by headless processes) and secret service (for
persistence of credentials beyond reboot). Thanks very much to <a
href="https://github.com/soywod"><code>@​soywod</code></a> for the
contribution!</p>
<h2>v3.5.0: Add debug logging of internal operations</h2>
<ul>
<li>Add debug logging of internal operations (thanks to <a
href="https://github.com/soywod"><code>@​soywod</code></a>).</li>
<li>Revert iOS security-framework dependency to v2 (see <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/225">#225</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hwchen/keyring-rs/blob/master/CHANGELOG.md">keyring's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.6.0</h2>
<ul>
<li>Add combination keystore of keyutils and secret service (thanks to
<a href="https://github.com/soywod"><code>@​soywod</code></a>).</li>
</ul>
<h2>Version 3.5.0</h2>
<ul>
<li>Add debug logging of internal operations (thanks to <a
href="https://github.com/soywod"><code>@​soywod</code></a>).</li>
<li>Revert iOS security-framework dependency to v2 (see <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/225">#225</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="779dfe0dc3"><code>779dfe0</code></a>
Merge pull request <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/230">#230</a>
from brotskydotcom/master</li>
<li><a
href="2e646c888d"><code>2e646c8</code></a>
Bump version and update dependencies.</li>
<li><a
href="eb54c8085d"><code>eb54c80</code></a>
Merge pull request <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/229">#229</a>
from brotskydotcom/master</li>
<li><a
href="f18c3115b7"><code>f18c311</code></a>
Bump version and update changelog.</li>
<li><a
href="2e2e9157ad"><code>2e2e915</code></a>
Merge pull request <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/222">#222</a>
from soywod/secret-service-with-keyutils</li>
<li><a
href="f59afd50e4"><code>f59afd5</code></a>
Updated docs for new keystore.</li>
<li><a
href="658174ef99"><code>658174e</code></a>
Fix new clippy warning.</li>
<li><a
href="16236b85f9"><code>16236b8</code></a>
Merge remote-tracking branch 'upstream/master' into
secret-service-with-keyutils</li>
<li><a
href="6df3d93950"><code>6df3d93</code></a>
init doc + unit tests</li>
<li><a
href="9a4184ceac"><code>9a4184c</code></a>
Merge pull request <a
href="https://redirect.github.com/hwchen/keyring-rs/issues/226">#226</a>
from brotskydotcom/release-3.5</li>
<li>Additional commits viewable in <a
href="https://github.com/hwchen/keyring-rs/compare/v3.4.0...v3.6.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=keyring&package-manager=cargo&previous-version=3.4.0&new-version=3.6.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>
2025-01-16 09:49:20 +00:00
Jamil
81615dfef8 Revert "refactor(apple): Use kSecUseDataProtectionKeychain for token" (#7765)
After reading through this [Apple technical
note](https://developer.apple.com/documentation/technotes/tn3137-on-mac-keychains),
it's clear that we want to actually omit this key from our keychain
queries.

The reason is because:

- on iOS, this will be already set (there is no other option)
- on macOS, the data protection keychain is *unavailable* from system
extensions

After testing, it appears that the original issue that PR sought to fix
was actually fixed by always installing the correct system extension
version: #7759.

Reverts firezone/firezone#7756
2025-01-15 12:27:23 -08:00
Jamil
854436b1a0 fix(apple): Don't log certain security errors in debug (#7764)
When building / testing the Apple clients locally, OS code signing and
security requirements can cause certain types of errors to throw.

We still want to see these in the console, but not necessary capture
them to Sentry.
2025-01-15 18:39:11 +00:00
Brian Manifold
430b32324a fix(portal): Update IDP sync error email threshold (#7757)
Why:

* An IdP sync can fail for different reasons and because of this we
previously put a threshold on when to send the first 'IdP sync failed'
email, which was set at 10 failed sync attempts. One thing that was
accidentally overlooked was that on one specific failure type (i.e. 401
- Unauthorized) the Firezone sync was automatically disabled and not
tried from that point forward. Unfortunately, that meant an email did
not get sent out because the threshold was not met. This PR resolves
that by making sure the 401 error will send out an email immediately,
while keeping the 10 failed sync threshold for all other errors.

Closes: #7725
2025-01-15 17:03:12 +00:00
Jamil
55485c71e6 fix(apple/macOS): Don't log notificationsNotAllowed (#7762)
This can happen if the user hasn't granted notifications and isn't worth
reporting.
2025-01-15 16:34:55 +00:00
Thomas Eizinger
01c1e629d2 test(connlib): ensure that we never want a time in the past (#7760)
In #7758, we fix `connlib`s event-loop to always provide the current
time to the state machine rather than the one that was requested (which
may be in the past). Even though this is already fairly resilient, we
should never request a time in the past.

This patch adds this as an assertion to our test suite.
2025-01-15 14:49:15 +00:00
Thomas Eizinger
1ebee00699 fix(connlib): prevent time from going backwards (#7758)
On a high level, `connlib` is a state machine that gets driven by a
custom event-loop. For time-related actions, the state machine computes,
when it would like to be woken next. The event-loop sets a timer for
that value and emits this value when the timer fires.

There is an edge-case where this may result in the time going backwards
within the state machine. Specifically, if - for whatever reason - the
state machine emits a time value that is in the past, the timer in the
`Io` component will fire right away **but the `deadline` will point to
the time in the past**.

The only thing we are actually interested in is that the timer fires at
all. Instead of passing back the deadline of the timer, we fetch the
_current_ time and pass that back to the state machine as the current
input. This ensures that we never jump back in time because Rust
guarantees for calls to `Instant::now` to be monotonic.
(https://doc.rust-lang.org/std/time/struct.Instant.html#:~:text=a%20measurement%20of%20a%20monotonically%20nondecreasing%20clock.)
2025-01-15 14:40:32 +00:00
dependabot[bot]
17af9bc28f build(deps): Bump socket2 from 0.5.7 to 0.5.8 in /rust (#7743)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.7 to
0.5.8.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md">socket2's
changelog</a>.</em></p>
<blockquote>
<h1>0.5.8</h1>
<ul>
<li>Added <code>Socket::(set_)header_included_v4</code> and
<code>Socket::(set_)header_included_v6</code>
(<a
href="https://redirect.github.com/rust-lang/socket2/pull/518">rust-lang/socket2#518</a>).</li>
<li>Added support for <code>Socket::original_dst</code> and
<code>Socket::original_dst_ipv6</code> on Windows
(<a
href="https://redirect.github.com/rust-lang/socket2/pull/529">rust-lang/socket2#529</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rust-lang/socket2/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=socket2&package-manager=cargo&previous-version=0.5.7&new-version=0.5.8)](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>
2025-01-15 14:00:17 +00:00
dependabot[bot]
46795da7b6 build(deps): Bump the tauri group in /rust with 2 updates (#7741)
Bumps the tauri group in /rust with 2 updates:
[tauri](https://github.com/tauri-apps/tauri) and
[tauri-build](https://github.com/tauri-apps/tauri).

Updates `tauri` from 2.2.0 to 2.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri's
releases</a>.</em></p>
<blockquote>
<h2>tauri-cli v2.2.1</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1040 packages to latest compatible versions
      Adding apple-codesign v0.27.0 (available: v0.29.0)
      Adding axum v0.7.9 (available: v0.8.1)
      Adding cargo_toml v0.17.2 (available: v0.21.0)
      Adding html5ever v0.26.0 (available: v0.29.0)
      Adding hyper v0.14.32 (available: v1.5.2)
      Adding itertools v0.13.0 (available: v0.14.0)
      Adding minisign v0.7.3 (available: v0.7.9)
      Adding oxc_allocator v0.36.0 (available: v0.44.0)
      Adding oxc_ast v0.36.0 (available: v0.44.0)
      Adding oxc_parser v0.36.0 (available: v0.44.0)
      Adding oxc_span v0.36.0 (available: v0.44.0)
      Adding proc-macro-crate v2.0.0 (available: v2.0.2)
      Adding serialize-to-javascript v0.1.1 (available: v0.1.2)
      Adding serialize-to-javascript-impl v0.1.1 (available: v0.1.2)
      Adding tauri-utils v1.6.0 (available: v1.6.1)
      Adding tiny_http v0.11.0 (available: v0.12.0)
      Adding which v4.4.2 (available: v7.0.1)
      Adding x509-certificate v0.23.1 (available: v0.24.0)
Fetching advisory database from
`https://github.com/RustSec/advisory-db.git`
Loaded 722 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1065 crate dependencies)
Crate:     atk
Version:   0.18.2
Warning:   unmaintained
Title:     gtk-rs GTK3 bindings - no longer maintained
Date:      2024-03-04
ID:        RUSTSEC-2024-0413
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0413
Dependency tree:
atk 0.18.2
└── gtk 0.18.2
    ├── wry 0.48.0
    │   └── tauri-runtime-wry 2.3.0
    │       └── tauri 2.2.0
    │           ├── tauri-plugin-sample 0.1.0
    │           │   └── api 0.1.0
    │           ├── tauri-plugin-log 2.2.0
    │           │   └── api 0.1.0
    │           ├── tauri-file-associations-demo 0.1.0
    │           ├── tauri 2.2.0
    │           ├── restart 0.1.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="89c6f08e82"><code>89c6f08</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12218">#12218</a>)</li>
<li><a
href="cde0ff7798"><code>cde0ff7</code></a>
chore: Fix clippy 1.84 warnings (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12328">#12328</a>)</li>
<li><a
href="b0d7527250"><code>b0d7527</code></a>
chore(deps): update rust crate windows-registry to 0.4 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12301">#12301</a>)</li>
<li><a
href="a28b5013c5"><code>a28b501</code></a>
chore(deps): update rust crate ico to 0.4 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12298">#12298</a>)</li>
<li><a
href="b9a99a5c69"><code>b9a99a5</code></a>
fix(cli): Skip File Access events in dev server (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12297">#12297</a>)</li>
<li><a
href="98f62e65a2"><code>98f62e6</code></a>
fix(cli): <code>tauri add</code> NPM packages for community plugins (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12246">#12246</a>)</li>
<li><a
href="c130af6b06"><code>c130af6</code></a>
chore(deps): update dependency rollup to v4.30.1 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12291">#12291</a>)</li>
<li><a
href="ef21ed9ac1"><code>ef21ed9</code></a>
fix(cli): iOS build crashing when development team has spaces (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12290">#12290</a>)</li>
<li><a
href="cd1d026f97"><code>cd1d026</code></a>
fix: fails to build if the project path contains glob characters (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11961">#11961</a>)</li>
<li><a
href="848d0e060e"><code>848d0e0</code></a>
chore(deps): update cargo_toml for edition 2024 [fix <a
href="https://redirect.github.com/tauri-apps/tauri/issues/10412">#10412</a>]
(<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12270">#12270</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-v2.2.0...tauri-v2.2.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `tauri-build` from 2.0.4 to 2.0.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri-build's
releases</a>.</em></p>
<blockquote>
<h2>tauri-build v2.0.5</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1051 packages to latest compatible versions
      Adding apple-codesign v0.27.0 (available: v0.29.0)
      Adding axum v0.7.9 (available: v0.8.1)
      Adding colored v2.2.0 (available: v3.0.0)
      Adding html5ever v0.26.0 (available: v0.29.0)
      Adding itertools v0.13.0 (available: v0.14.0)
      Adding minisign v0.7.3 (available: v0.7.9)
      Adding notify v7.0.0 (available: v8.0.0)
      Adding notify-debouncer-full v0.4.0 (available: v0.5.0)
      Adding oxc_allocator v0.36.0 (available: v0.44.0)
      Adding oxc_ast v0.36.0 (available: v0.44.0)
      Adding oxc_parser v0.36.0 (available: v0.44.0)
      Adding oxc_span v0.36.0 (available: v0.44.0)
      Adding proc-macro-crate v2.0.0 (available: v2.0.2)
      Adding serialize-to-javascript v0.1.1 (available: v0.1.2)
      Adding serialize-to-javascript-impl v0.1.1 (available: v0.1.2)
      Adding specta v2.0.0-rc.20 (available: v2.0.0-rc.21)
      Adding specta-macros v2.0.0-rc.17 (available: v2.0.0-rc.18)
      Adding specta-util v0.0.7 (available: v0.0.8)
      Adding tauri-utils v1.6.0 (available: v1.6.1)
      Adding tiny_http v0.11.0 (available: v0.12.0)
      Adding windows v0.58.0 (available: v0.59.0)
      Adding x509-certificate v0.23.1 (available: v0.24.0)
Fetching advisory database from
`https://github.com/RustSec/advisory-db.git`
Loaded 724 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1076 crate dependencies)
Crate:     atk
Version:   0.18.2
Warning:   unmaintained
Title:     gtk-rs GTK3 bindings - no longer maintained
Date:      2024-03-04
ID:        RUSTSEC-2024-0413
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0413
Dependency tree:
atk 0.18.2
└── gtk 0.18.2
    ├── wry 0.48.0
    │   └── tauri-runtime-wry 2.3.0
    │       └── tauri 2.2.1
    │           ├── tauri-plugin-sample 0.1.0
    │           │   └── api 0.1.0
    │           ├── tauri-plugin-log 2.2.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-build-v2.0.4...tauri-build-v2.0.5">compare
view</a></li>
</ul>
</details>
<br />


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 13:59:38 +00:00
Jamil
3722c81eca fix(apple/macOS): Handle outdated system extensions (#7759)
When a user launches the macOS app, we check if the system extension is
installed. If it was, we assumed it would function properly.

However, an older version of the extension can be installed from our
current app version, so we would erroneously consider the extension as
"installed" even though it needed to be updated.

To fix this, we introduced an enum for tracking the system extension
state with `installed`, `needsReplacement`, and `needsInstall` states.
These track whether the extension is up-to-date, needs upgrade (or
downgrade), or needs to be approved and enabled by the user altogether
respectively.

Importantly, this also gracefully handles downgrades, not just upgrades
since we already return a `.replace` action in our request callback that
the system calls when installing an extension with the same bundle ID as
one that exists.
2025-01-15 00:13:34 +00:00
Jamil
ed6350d34a refactor(apple): Rename VPN "Profile" to VPN "Configuration" (#7755)
Apple actually calls these `VPN Configuration`s throughout the OS, so I
thought it would be good to be consistent.

Draft because stacked.
2025-01-14 17:51:35 +00:00
Jamil
c349353600 refactor(apple): Use kSecUseDataProtectionKeychain for token (#7756)
This will force the macOS Keychain to behave like the iOS Keychain. To
be honest, Apple's documentation is very much lacking in this regard,
but some research suggests this is both heavily recommended by Apple and
that it enables the Keychain operation to benefit from Apple's security
hardware in their Macs.

In my local testing, it also seems to make keychain operations more
reliable when SIP is disabled, but that could be a fluke given the
number of variables at play.


https://developer.apple.com/documentation/security/ksecusedataprotectionkeychain

Draft because stacked.
2025-01-14 17:49:05 +00:00
Jamil
0288d7e698 refactor(apple): Update Adapter instance vars to lets (#7754)
These don't change and are initialized in the `init()`.

Draft because stacked.
2025-01-14 17:48:48 +00:00
Jamil
f206925446 refactor(apple): Adapter.start doesn't need async (#7753)
This function is called from `PacketTunnelProvider.startTunnel`, which
already uses the `completionHandler` approach for returning to the
caller when the tunnel start operation is completed.

Thus `async / await` here is redundant and unnecessary.
2025-01-14 15:06:32 +00:00
Jamil
64876fffa3 fix(apple): Don't rely on Keychain for critical functions (#7752)
The Keychain on Apple platforms, while secure, is not always available.
It can be unavailable if the user has changed its permissions
accidentally, the keychain database is corrupt, there is an issue with
the secure enclave, or any number of other system-related or Apple
account-related reasons.

There are only two things we use the Keychain for:

- Storing the `firezone-id`. This is actually not a secret.
- Persisting the `token` upon sign in so that:
  - the iOS system can keep the tunnel alive without the GUI running
- the macOS app can relaunch after `Disconnect & Quit` without having to
sign in again

For the first case, we move back to persisting this to a file (see
#7464).

For the second case, we simply don't care too much if the Keychain can't
be saved to. We simply move on with activating the tunnel and logging
the error so we know how often these edge cases occur.
2025-01-14 14:14:51 +00:00
Jamil
6c2181d850 chore(infra): Bump terraform to 1.10 (#7751)
Caught some [weird CI
errors](https://github.com/firezone/firezone/actions/runs/12754884373/job/35551006515)
about terraform 1.9.8 cache being corrupted, so I thought I'd go ahead
and bump TF to the latest stable version.
2025-01-13 23:02:12 +00:00
Thomas Eizinger
b313f2a349 fix(connlib): don't spam if relay disconnects during ICE (#7750)
When `snownet` is tasked to establish a new connection, it first
randomly samples one of its relays that is used as an additional source
of candidates in case a direct connection is not possible. We (try to)
maintain an allocation on each relay throughout the lifetime of a
`connlib` session. In case a relay doesn't respond to the initial
binding message at all (even after several retries), we consider the
relay offline and remove all state associated to it.

It is possible that we sampled a relay for use in a connection and only
then realise that it is offline. In that case, we print a message to the
log:

> Selected relay disconnected during ICE; connection may fail

The condition for when we print this log is: "we are in `Connecting` and
the sampled relay does no longer exist". This results in log spam in
case that condition is actually hit because no state is being changed as
part of this check and thus, on the next call to `handle_timeout`, this
condition is still true!

To fix this, we change the `rid` field of `Connecting` to an `Option`.
In case we detect that a relay is no longer present, we print the log
and then clear the option. As a result, the log is only printed once.
2025-01-13 22:45:03 +00:00
Jamil
ef35b1ecd6 docs: Remove me-central2 from availability (#7732)
This region is blocked from use.
2025-01-13 19:30:43 +00:00
Thomas Eizinger
46cdbbcc23 fix(connlib): use a buffer pool for the GSO queue (#7749)
Within `connlib`, we read batches of IP packets and process them at
once. Each encrypted packet is appended to a buffer shared with other
packets of the same length. Once the batch is successfully processed,
all of these buffers are written out using GSO to the network. This
allows UDP operations to be much more efficient because not every packet
has to traverse the entire syscall hierarchy of the operating system.

Until now, these buffers got re-allocated on every batch. This is pretty
wasteful and leads to a lot of repeated allocations. Measurements show
that most of the time, we only have a handful of packets with different
segments lengths _per batch_. For example, just booting up the
headless-client and running a speedtest showed that only 5 of these
buffers are were needed at one time.

By introducing a buffer pool, we can reuse these buffers between batches
and avoid reallocating them.

Related: #7747.
2025-01-13 19:24:52 +00:00
Thomas Eizinger
f5afea6f0d refactor(connlib): reset authorized resources on roaming (#7746)
When a Firezone client roams, the host app sends a "reset" command to
`connlib`. At present, this "reset" command clears the network
connection state and therefore restarts ICE. As part of that, the tunnel
key also gets rotated yet which resources have already been authorized
is retained.

This isn't a problem per se because the client's identity is determined
by the "Firezone ID" which persists even across restarts of a Client.
For the Gateway however, a roamed Client and a restarted Client are
indistinguishable as in both cases, the tunnel public key and ICE
credentials change.

Instead of only clearing the connection-specific state, we now also
throw away all the ACL state that is associated with connections, i.e.
which Resource already got authorized on the Gateway. As a result - with
this change - Clients will emit another "connection intent" to the
portal upon roaming, triggering a new authorization of this flow with a
Gateway.

There isn't any particular need for doing this except that lingering
state can be a nasty source of bugs. With the now idempotent control
protocol, it is pretty easy to re-request these authorisations. Overall,
this makes `connlib` more resilient and easier to reason about.
2025-01-13 19:16:50 +00:00
Thomas Eizinger
088273f009 feat(clients): reduce memory usage of background logger thread (#7748)
In order to not block the main thread, `connlib` uses a background
thread to write log files to disk. By default, the channel with this
background thread can hold 128_000 items
(https://docs.rs/tracing-appender/latest/tracing_appender/non_blocking/constant.DEFAULT_BUFFERED_LINES_LIMIT.html).
This results in a significant chunk of memory being allocated that we
don't necessarily need.
2025-01-13 18:26:25 +00:00