Commit Graph

664 Commits

Author SHA1 Message Date
dependabot[bot]
d4efb67432 build(deps): Bump next from 14.2.18 to 14.2.21 in /website in the npm_and_yarn group (#7663)
Bumps the npm_and_yarn group in /website with 1 update:
[next](https://github.com/vercel/next.js).

Updates `next` from 14.2.18 to 14.2.21
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">next's
releases</a>.</em></p>
<blockquote>
<h2>v14.2.21</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Upgrade React from 14898b6a9 to 178c267a4e: <a
href="https://redirect.github.com/vercel/next.js/pull/74115">vercel/next.js#74115</a></li>
<li>Fix unstable_allowDynamic when used with pnpm: <a
href="https://redirect.github.com/vercel/next.js/pull/73765">vercel/next.js#73765</a></li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li>chore(docs): add missing search: '' on remotePatterns: <a
href="https://redirect.github.com/vercel/next.js/pull/73927">vercel/next.js#73927</a></li>
<li>chore(docs): update version history of next/image: <a
href="https://redirect.github.com/vercel/next.js/pull/73926">vercel/next.js#73926</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a>, <a
href="https://github.com/ztanner"><code>@​ztanner</code></a>, and <a
href="https://github.com/styfle"><code>@​styfle</code></a> for
helping!</p>
<h2>v14.2.20</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Fix fetch cloning bug (<a
href="https://redirect.github.com/vercel/next.js/pull/73532">vercel/next.js#73532</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/wyattjoh"><code>@​wyattjoh</code></a> for
helping!</p>
<h2>v14.2.19</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>ensure worker exits bubble to parent process (<a
href="https://redirect.github.com/vercel/next.js/issues/73433">#73433</a>)</li>
<li>Increase max cache tags to 128 (<a
href="https://redirect.github.com/vercel/next.js/issues/73125">#73125</a>)</li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li>Update max tag items limit in docs (<a
href="https://redirect.github.com/vercel/next.js/issues/73445">#73445</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ztanner"><code>@​ztanner</code></a> and <a
href="https://github.com/ijjk"><code>@​ijjk</code></a> for helping!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2655f6efd3"><code>2655f6e</code></a>
v14.2.21</li>
<li><a
href="8803d2b46e"><code>8803d2b</code></a>
Backport (v14): Upgrade React from 14898b6a9 to 178c267a4e (<a
href="https://redirect.github.com/vercel/next.js/issues/74115">#74115</a>)</li>
<li><a
href="6e35243eae"><code>6e35243</code></a>
chore(docs): add missing <code>search: ''</code> on
<code>remotePatterns</code> (<a
href="https://redirect.github.com/vercel/next.js/issues/73925">#73925</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/73927">#73927</a>)</li>
<li><a
href="54919d2f28"><code>54919d2</code></a>
chore(docs): update version history of <code>next/image</code> (<a
href="https://redirect.github.com/vercel/next.js/issues/73926">#73926</a>)</li>
<li><a
href="049a6907af"><code>049a690</code></a>
Backport: Fix <code>unstable_allowDynamic</code> when used with pnpm (<a
href="https://redirect.github.com/vercel/next.js/issues/73765">#73765</a>)</li>
<li><a
href="663fa9cb29"><code>663fa9c</code></a>
Fix SWC and React versions for <code>14-2-1</code> branch (<a
href="https://redirect.github.com/vercel/next.js/issues/73791">#73791</a>)</li>
<li><a
href="ed78a4aa67"><code>ed78a4a</code></a>
v14.2.20</li>
<li><a
href="530421d3a2"><code>530421d</code></a>
[backport] Fix/dedupe fetch clone (<a
href="https://redirect.github.com/vercel/next.js/issues/73532">#73532</a>)</li>
<li><a
href="cbc62adaba"><code>cbc62ad</code></a>
v14.2.19</li>
<li><a
href="92280dc435"><code>92280dc</code></a>
[backport] Update max tag items limit in docs (<a
href="https://redirect.github.com/vercel/next.js/issues/73445">#73445</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/compare/v14.2.18...v14.2.21">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.2.18&new-version=14.2.21)](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
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/firezone/firezone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 03:15:21 +00:00
Jamil
709037bce5 chore(apple): Make update download URL compatible with upcoming standalone macOS release (#7666)
- Updates Apple download URL to point to app store or website depending
on package type
- Refactors `AppInfoPlistConstants` to `BundleHelper` to better name
what it does
2025-01-05 07:52:32 +00:00
Jamil
3d9ef52373 chore(website): Update website docs and dl links for Android AAB/APK (#7650)
- Refactor the way we build download links on the Changelog page to make
them more flexible
- Add Android download redirects
- Update user-facing docs to mention new download options
2025-01-03 18:30:37 +00:00
dependabot[bot]
cbc08d5055 build(deps): Bump @types/mixpanel-browser from 2.50.2 to 2.51.0 in /website (#7654)
Bumps
[@types/mixpanel-browser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mixpanel-browser)
from 2.50.2 to 2.51.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mixpanel-browser">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/mixpanel-browser&package-manager=npm_and_yarn&previous-version=2.50.2&new-version=2.51.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-03 16:02:58 +00:00
dependabot[bot]
6aceffc318 build(deps): Bump @types/node from 22.10.3 to 22.10.5 in /website (#7656)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.10.3 to 22.10.5.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.10.3&new-version=22.10.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-03 14:43:55 +00:00
Jamil
309914a45d chore(android): release version 1.4.0 (#7649)
Bumps the Android client to the 1.4.0 release.

Tested in Android emulator.
2025-01-03 14:45:00 +00:00
Jamil
36cd9a18d2 docs: Update supported distros for Linux GUI client (#7647)
We have RPM builds and instructions for installing them, so I've moved
this to our docs.

Identified #7646 as a known issue.
2025-01-03 13:02:20 +00:00
dependabot[bot]
821fbde813 build(deps): Bump @docsearch/react from 3.8.0 to 3.8.2 in /website (#7644)
Bumps
[@docsearch/react](https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react)
from 3.8.0 to 3.8.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/algolia/docsearch/releases"><code>@​docsearch/react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v3.8.2</h2>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.8.1...v3.8.2">3.8.2</a>
(2024-12-17)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> older sass supported syntax (<a
href="https://redirect.github.com/algolia/docsearch/issues/2415">#2415</a>)
(<a
href="0658d3190d">0658d31</a>)</li>
</ul>
<h2>v3.8.1</h2>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.8.0...v3.8.1">3.8.1</a>
(2024-12-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>use SearchParamsObject for searchParameters (<a
href="https://redirect.github.com/algolia/docsearch/issues/2362">#2362</a>)
(<a
href="24c6b4dbf7">24c6b4d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/algolia/docsearch/blob/main/CHANGELOG.md"><code>@​docsearch/react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.8.1...v3.8.2">3.8.2</a>
(2024-12-17)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> older sass supported syntax (<a
href="https://redirect.github.com/algolia/docsearch/issues/2415">#2415</a>)
(<a
href="0658d3190d">0658d31</a>)</li>
</ul>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.8.0...v3.8.1">3.8.1</a>
(2024-12-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>use SearchParamsObject for searchParameters (<a
href="https://redirect.github.com/algolia/docsearch/issues/2362">#2362</a>)
(<a
href="24c6b4dbf7">24c6b4d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a425f6f4e5"><code>a425f6f</code></a>
chore: release v3.8.2 (<a
href="https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react/issues/2416">#2416</a>)</li>
<li><a
href="a159f76856"><code>a159f76</code></a>
chore: release v3.8.1 (<a
href="https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react/issues/2412">#2412</a>)</li>
<li><a
href="b6fd7b6789"><code>b6fd7b6</code></a>
chore: add <code>repository.directory</code> property to
<code>package.json</code> (<a
href="https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react/issues/2372">#2372</a>)</li>
<li><a
href="0f8b47bc12"><code>0f8b47b</code></a>
chore(deps): dependencies 2024-11-18 (<a
href="https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react/issues/2350">#2350</a>)</li>
<li><a
href="24c6b4dbf7"><code>24c6b4d</code></a>
fix: use SearchParamsObject for searchParameters (<a
href="https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react/issues/2362">#2362</a>)</li>
<li>See full diff in <a
href="https://github.com/algolia/docsearch/commits/v3.8.2/packages/docsearch-react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@docsearch/react&package-manager=npm_and_yarn&previous-version=3.8.0&new-version=3.8.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-02 18:22:43 +00:00
dependabot[bot]
333ddf549e build(deps): Bump @next/third-parties from 15.0.3 to 15.1.3 in /website (#7639)
Bumps
[@next/third-parties](https://github.com/vercel/next.js/tree/HEAD/packages/third-parties)
from 15.0.3 to 15.1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases"><code>@​next/third-parties</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v15.1.3</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Retry manifest file loading only in dev mode: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/third-parties/issues/73900">#73900</a></li>
<li>Use shared worker for lint &amp; typecheck steps: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/third-parties/issues/74154">#74154</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a> and
<a href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.2</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Update React from 7283a213-20241206 to 65e06cb7-20241218: <a
href="https://redirect.github.com/vercel/next.js/pull/74117">vercel/next.js#74117</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.1</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>fix(turbo): sassOptions silenceDeprecations was not overwritten with
user options: <a
href="https://redirect.github.com/vercel/next.js/pull/73937">vercel/next.js#73937</a></li>
<li>refactor collectAppPageSegments: <a
href="https://redirect.github.com/vercel/next.js/pull/73908">vercel/next.js#73908</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/devjiwonchoi"><code>@​devjiwonchoi</code></a>
and <a href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.1-canary.23</h2>
<h3>Misc Changes</h3>
<ul>
<li>docs: remove catch-all for opengraph-image: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/third-parties/issues/74338">#74338</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/leerob"><code>@​leerob</code></a> for
helping!</p>
<h2>v15.1.1-canary.22</h2>
<h3>Misc Changes</h3>
<ul>
<li>Fix typo in generateViewport docs: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/third-parties/issues/74288">#74288</a></li>
</ul>
<h3>Credits</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4cbaaa118d"><code>4cbaaa1</code></a>
v15.1.3</li>
<li><a
href="df392a1b97"><code>df392a1</code></a>
v15.1.2</li>
<li><a
href="4384c6834a"><code>4384c68</code></a>
v15.1.1</li>
<li><a
href="dafcd43fac"><code>dafcd43</code></a>
v15.1.0</li>
<li><a
href="2deb35d487"><code>2deb35d</code></a>
v15.0.4-canary.52</li>
<li><a
href="3970d33e6d"><code>3970d33</code></a>
v15.0.4-canary.51</li>
<li><a
href="c824c183d0"><code>c824c18</code></a>
v15.0.4-canary.50</li>
<li><a
href="657c2cbd72"><code>657c2cb</code></a>
v15.0.4-canary.49</li>
<li><a
href="c2078d0c05"><code>c2078d0</code></a>
v15.0.4-canary.48</li>
<li><a
href="6b9baaace0"><code>6b9baaa</code></a>
v15.0.4-canary.47</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/commits/v15.1.3/packages/third-parties">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@next/third-parties&package-manager=npm_and_yarn&previous-version=15.0.3&new-version=15.1.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-02 18:05:57 +00:00
Jamil
267429a21e chore(website): Update website copyright date (#7645) 2025-01-02 10:18:49 -08:00
dependabot[bot]
78d4019f3e build(deps): Bump framer-motion from 11.12.0 to 11.15.0 in /website (#7640)
Bumps [framer-motion](https://github.com/motiondivision/motion) from
11.12.0 to 11.15.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/motiondivision/motion/blob/main/CHANGELOG.md">framer-motion's
changelog</a>.</em></p>
<blockquote>
<h2>[11.15.0] 2024-12-13</h2>
<h3>Added</h3>
<ul>
<li>Add support for <code>repeat</code> in animation sequences.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Clearing scheduled jobs at the end of an animation frame to ensure
memory is released should the animation loop settle.</li>
</ul>
<h2>[11.14.4] 2024-12-13</h2>
<h3>Fixed</h3>
<ul>
<li>Exporting <code>AnimationSequence</code> via
<code>&quot;motion&quot;</code> entrypoint.</li>
<li>Adding support for passing normal components to
<code>motion.create()</code> in React 19.</li>
</ul>
<h2>[11.14.3] 2024-12-13</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing <code>motion-dom</code> and <code>motion-utils</code>
entrypoints.</li>
</ul>
<h2>[11.14.2] 2024-12-13</h2>
<h3>Fixed</h3>
<ul>
<li>Exporting <code>time</code> for internal use.</li>
<li>Making <code>MotionValue.updatedAt</code> public for internal
use.</li>
</ul>
<h2>[11.14.1] 2024-12-12</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing missing license in <code>motion-dom</code> and
<code>motion-utils</code> packages.</li>
</ul>
<h2>[11.14.0] 2024-12-12</h2>
<h3>Added</h3>
<ul>
<li>Added <code>press</code> gesture in Motion+ early access.</li>
</ul>
<h2>[11.13.6] 2024-12-10</h2>
<h3>Fixed</h3>
<ul>
<li>Adding React 19 to optional peer dependencies in
<code>&quot;motion&quot;</code> package also.</li>
</ul>
<h2>[11.13.5] 2024-12-10</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6ddb3e7968"><code>6ddb3e7</code></a>
v11.15.0</li>
<li><a
href="cdcf3b4b86"><code>cdcf3b4</code></a>
Removing double clear</li>
<li><a
href="47d5524a39"><code>47d5524</code></a>
Fix a potential memory leak if a render step pauses for a long time. (<a
href="https://redirect.github.com/motiondivision/motion/issues/2944">#2944</a>)</li>
<li><a
href="1422aefdde"><code>1422aef</code></a>
Ensuring easing is repeated correctly</li>
<li><a
href="0e54f811cf"><code>0e54f81</code></a>
Add support for <code>repeat</code> in timeline sequence (<a
href="https://redirect.github.com/motiondivision/motion/issues/2945">#2945</a>)</li>
<li><a
href="1108bd5522"><code>1108bd5</code></a>
Fixing tests</li>
<li><a
href="cc3b826282"><code>cc3b826</code></a>
v11.14.4</li>
<li><a
href="b65bcd5b72"><code>b65bcd5</code></a>
Updating changelog</li>
<li><a
href="7cebb22cf8"><code>7cebb22</code></a>
Move animation sequence types to vanilla entrypoint (<a
href="https://redirect.github.com/motiondivision/motion/issues/2942">#2942</a>)</li>
<li><a
href="4cfd7aacf7"><code>4cfd7aa</code></a>
Adding normal component support to <code>motion.create</code> (<a
href="https://redirect.github.com/motiondivision/motion/issues/2943">#2943</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/motiondivision/motion/compare/v11.12.0...v11.15.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=framer-motion&package-manager=npm_and_yarn&previous-version=11.12.0&new-version=11.15.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-02 18:02:22 +00:00
dependabot[bot]
2a6872d370 build(deps): Bump react-icons from 5.3.0 to 5.4.0 in /website (#7641)
Bumps [react-icons](https://github.com/react-icons/react-icons) from
5.3.0 to 5.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/react-icons/react-icons/releases">react-icons's
releases</a>.</em></p>
<blockquote>
<h2>v5.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add closing of the icon details modal with the ESC key by <a
href="https://github.com/gabrielogregorio"><code>@​gabrielogregorio</code></a>
in <a
href="https://redirect.github.com/react-icons/react-icons/pull/900">react-icons/react-icons#900</a></li>
<li>support moduleResolution: bundler in tsconfig by <a
href="https://github.com/kamijin-fanta"><code>@​kamijin-fanta</code></a>
in <a
href="https://redirect.github.com/react-icons/react-icons/pull/970">react-icons/react-icons#970</a></li>
<li>min search length changed to 2 by <a
href="https://github.com/Kumar06Lav"><code>@​Kumar06Lav</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/967">react-icons/react-icons#967</a></li>
<li>Bump webpack from 5.89.0 to 5.94.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/975">react-icons/react-icons#975</a></li>
<li>Bump micromatch from 4.0.5 to 4.0.8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/976">react-icons/react-icons#976</a></li>
<li>Bump axios from 1.6.8 to 1.7.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/977">react-icons/react-icons#977</a></li>
<li>preview: Reduce the number of results displayed in search results by
<a
href="https://github.com/kamijin-fanta"><code>@​kamijin-fanta</code></a>
in <a
href="https://redirect.github.com/react-icons/react-icons/pull/997">react-icons/react-icons#997</a></li>
<li>2024-12-03 upgrade icons by <a
href="https://github.com/kamijin-fanta"><code>@​kamijin-fanta</code></a>
in <a
href="https://redirect.github.com/react-icons/react-icons/pull/998">react-icons/react-icons#998</a></li>
<li>Bump dset from 3.1.3 to 3.1.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/979">react-icons/react-icons#979</a></li>
<li>Bump express from 4.19.2 to 4.21.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/981">react-icons/react-icons#981</a></li>
<li>Bump rollup from 2.79.1 to 2.79.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/982">react-icons/react-icons#982</a></li>
<li>Bump http-proxy-middleware from 2.0.6 to 2.0.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/989">react-icons/react-icons#989</a></li>
<li>Bump cross-spawn from 7.0.3 to 7.0.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/react-icons/react-icons/pull/994">react-icons/react-icons#994</a></li>
<li>workflow: upgrade workflows by <a
href="https://github.com/kamijin-fanta"><code>@​kamijin-fanta</code></a>
in <a
href="https://redirect.github.com/react-icons/react-icons/pull/999">react-icons/react-icons#999</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Kumar06Lav"><code>@​Kumar06Lav</code></a> made
their first contribution in <a
href="https://redirect.github.com/react-icons/react-icons/pull/967">react-icons/react-icons#967</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/react-icons/react-icons/compare/v5.3.0...v5.4.0">https://github.com/react-icons/react-icons/compare/v5.3.0...v5.4.0</a></p>
<table>
<thead>
<tr>
<th>Icon Library</th>
<th>License</th>
<th>Version</th>
<th align="right">Count</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://circumicons.com/">Circum Icons</a></td>
<td><a
href="https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE">MPL-2.0
license</a></td>
<td>1.0.0</td>
<td align="right">288</td>
</tr>
<tr>
<td><a href="https://fontawesome.com/">Font Awesome 5</a></td>
<td><a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0
License</a></td>
<td>5.15.4-3-gafecf2a</td>
<td align="right">1612</td>
</tr>
<tr>
<td><a href="https://fontawesome.com/">Font Awesome 6</a></td>
<td><a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0
License</a></td>
<td>6.6.0</td>
<td align="right">2050</td>
</tr>
<tr>
<td><a href="https://ionicons.com/">Ionicons 4</a></td>
<td><a
href="https://github.com/ionic-team/ionicons/blob/master/LICENSE">MIT</a></td>
<td>4.6.3</td>
<td align="right">696</td>
</tr>
<tr>
<td><a href="https://ionicons.com/">Ionicons 5</a></td>
<td><a
href="https://github.com/ionic-team/ionicons/blob/master/LICENSE">MIT</a></td>
<td>5.5.4</td>
<td align="right">1332</td>
</tr>
<tr>
<td><a href="http://google.github.io/material-design-icons/">Material
Design icons</a></td>
<td><a
href="https://github.com/google/material-design-icons/blob/master/LICENSE">Apache
License Version 2.0</a></td>
<td>4.0.0-125-gef43291c4d</td>
<td align="right">4341</td>
</tr>
<tr>
<td><a href="http://s-ings.com/typicons/">Typicons</a></td>
<td><a href="https://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA
3.0</a></td>
<td>2.1.2</td>
<td align="right">336</td>
</tr>
<tr>
<td><a href="https://octicons.github.com/">Github Octicons
icons</a></td>
<td><a
href="https://github.com/primer/octicons/blob/master/LICENSE">MIT</a></td>
<td>18.3.0</td>
<td align="right">264</td>
</tr>
<tr>
<td><a href="https://feathericons.com/">Feather</a></td>
<td><a
href="https://github.com/feathericons/feather/blob/master/LICENSE">MIT</a></td>
<td>4.29.2</td>
<td align="right">287</td>
</tr>
<tr>
<td><a href="https://lucide.dev/">Lucide</a></td>
<td><a
href="https://github.com/lucide-icons/lucide/blob/main/LICENSE">ISC</a></td>
<td>0.462.0</td>
<td align="right">1541</td>
</tr>
<tr>
<td><a href="https://game-icons.net/">Game Icons</a></td>
<td><a href="https://creativecommons.org/licenses/by/3.0/">CC BY
3.0</a></td>
<td>12920d6565588f0512542a3cb0cdfd36a497f910</td>
<td align="right">4040</td>
</tr>
<tr>
<td><a href="https://erikflowers.github.io/weather-icons/">Weather
Icons</a></td>
<td><a href="http://scripts.sil.org/OFL">SIL OFL 1.1</a></td>
<td>2.0.12</td>
<td align="right">219</td>
</tr>
<tr>
<td><a href="https://vorillaz.github.io/devicons/">Devicons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>1.8.0</td>
<td align="right">192</td>
</tr>
<tr>
<td><a href="https://github.com/ant-design/ant-design-icons">Ant Design
Icons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>4.4.2</td>
<td align="right">831</td>
</tr>
<tr>
<td><a href="https://github.com/twbs/icons">Bootstrap Icons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>1.11.3</td>
<td align="right">2716</td>
</tr>
<tr>
<td><a href="https://github.com/Remix-Design/RemixIcon">Remix
Icon</a></td>
<td><a href="http://www.apache.org/licenses/">Apache License Version
2.0</a></td>
<td>4.5.0</td>
<td align="right">3020</td>
</tr>
<tr>
<td><a href="https://github.com/icons8/flat-color-icons">Flat Color
Icons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>1.0.2</td>
<td align="right">329</td>
</tr>
<tr>
<td><a
href="https://github.com/grommet/grommet-icons">Grommet-Icons</a></td>
<td><a href="http://www.apache.org/licenses/">Apache License Version
2.0</a></td>
<td>4.12.1</td>
<td align="right">635</td>
</tr>
<tr>
<td><a
href="https://github.com/tailwindlabs/heroicons">Heroicons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>1.0.6</td>
<td align="right">460</td>
</tr>
<tr>
<td><a href="https://github.com/tailwindlabs/heroicons">Heroicons
2</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>2.2.0</td>
<td align="right">972</td>
</tr>
<tr>
<td><a href="https://simpleicons.org/">Simple Icons</a></td>
<td><a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0
Universal</a></td>
<td>13.19.0</td>
<td align="right">3275</td>
</tr>
<tr>
<td><a href="https://thesabbir.github.io/simple-line-icons/">Simple Line
Icons</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>2.5.5</td>
<td align="right">189</td>
</tr>
<tr>
<td><a href="https://github.com/Keyamoon/IcoMoon-Free">IcoMoon
Free</a></td>
<td><a
href="https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt">CC
BY 4.0 License</a></td>
<td>d006795ede82361e1bac1ee76f215cf1dc51e4ca</td>
<td align="right">491</td>
</tr>
<tr>
<td><a href="https://github.com/atisawd/boxicons">BoxIcons</a></td>
<td><a
href="https://github.com/atisawd/boxicons/blob/master/LICENSE">MIT</a></td>
<td>2.1.4</td>
<td align="right">1634</td>
</tr>
<tr>
<td><a href="https://github.com/astrit/css.gg">css.gg</a></td>
<td><a href="https://opensource.org/licenses/MIT">MIT</a></td>
<td>2.1.4</td>
<td align="right">704</td>
</tr>
<tr>
<td><a href="https://github.com/microsoft/vscode-codicons">VS Code
Icons</a></td>
<td><a href="https://creativecommons.org/licenses/by/4.0/">CC BY
4.0</a></td>
<td>0.0.36</td>
<td align="right">466</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7b14efea78"><code>7b14efe</code></a>
v5.4.0</li>
<li><a
href="1e40e107f4"><code>1e40e10</code></a>
workflow: upgrade workflows (<a
href="https://redirect.github.com/react-icons/react-icons/issues/999">#999</a>)</li>
<li><a
href="9a2d9a77ca"><code>9a2d9a7</code></a>
Bump cross-spawn from 7.0.3 to 7.0.6 (<a
href="https://redirect.github.com/react-icons/react-icons/issues/994">#994</a>)</li>
<li><a
href="585585c9f6"><code>585585c</code></a>
Bump http-proxy-middleware from 2.0.6 to 2.0.7 (<a
href="https://redirect.github.com/react-icons/react-icons/issues/989">#989</a>)</li>
<li><a
href="33d12d5ac7"><code>33d12d5</code></a>
Bump rollup from 2.79.1 to 2.79.2 (<a
href="https://redirect.github.com/react-icons/react-icons/issues/982">#982</a>)</li>
<li><a
href="f2070d8178"><code>f2070d8</code></a>
Bump express from 4.19.2 to 4.21.0 (<a
href="https://redirect.github.com/react-icons/react-icons/issues/981">#981</a>)</li>
<li><a
href="63755fbfdc"><code>63755fb</code></a>
Bump dset from 3.1.3 to 3.1.4 (<a
href="https://redirect.github.com/react-icons/react-icons/issues/979">#979</a>)</li>
<li><a
href="1fa8a8f7ad"><code>1fa8a8f</code></a>
upgrade icons (<a
href="https://redirect.github.com/react-icons/react-icons/issues/998">#998</a>)</li>
<li><a
href="1393664992"><code>1393664</code></a>
preview: Reduce the number of results displayed in search results (<a
href="https://redirect.github.com/react-icons/react-icons/issues/997">#997</a>)</li>
<li><a
href="9d7ecf4c89"><code>9d7ecf4</code></a>
5.3.1-snapshot.0</li>
<li>Additional commits viewable in <a
href="https://github.com/react-icons/react-icons/compare/v5.3.0...v5.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-icons&package-manager=npm_and_yarn&previous-version=5.3.0&new-version=5.4.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-02 17:57:51 +00:00
dependabot[bot]
a860af559d build(deps): Bump @types/node from 20.14.12 to 22.10.3 in /website (#7642)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 20.14.12 to 22.10.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=20.14.12&new-version=22.10.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-02 17:57:27 +00:00
dependabot[bot]
262f314bc5 build(deps): Bump highlight.js from 11.10.0 to 11.11.1 in /website (#7632)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from
11.10.0 to 11.11.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/highlightjs/highlight.js/releases">highlight.js's
releases</a>.</em></p>
<blockquote>
<h2>v11.11.1 - Merry Christmas!</h2>
<h2>Version 11.11.1</h2>
<ul>
<li>Fixes regressions with Rust grammar in 11.11.0 release.</li>
</ul>
<h2>v11.11.0 - Happy Holidays</h2>
<h2>Version 11.11.0</h2>
<p>CAVEATS / POTENTIALLY BREAKING CHANGES</p>
<ul>
<li>Nothing.</li>
</ul>
<p>Core Grammars:</p>
<ul>
<li>fix(rust) - adds emoji support in single quote strings
[joshgoebel][]</li>
<li>fix(apache) - support line continuation via <code>\</code> [Josh
Goebel][]</li>
<li>fix(makefile) - allow strings inside <code>$()</code> expressions
[aneesh98][]</li>
<li>enh(arcade) updated to ArcGIS Arcade version 1.29 [Kristian
Ekenes][]</li>
<li>enh(css) add all properties listed on MDN (96 additions including
<code>anchor-name</code>, <code>aspect-ratio</code>,
<code>backdrop-filter</code>, <code>container</code>,
<code>margin-trim</code>, <code>place-content</code>,
<code>scroll-timeline</code>, ...) [BaliBalo][]</li>
<li>enh(excel) add built-in functions for Excel 365 release to 2024
[Danny Winrow][]</li>
<li>enh(erlang) OTP 27 triple-quoted strings [nixxquality][]</li>
<li>enh(erlang) OTP 27 doc attribute [nixxquality][]</li>
<li>enh(erlang) OTP 27 Sigil type [nixxquality][]</li>
<li>enh(erlang) OTP25/27 maybe statement [nixxquality][]</li>
<li>enh(dart) Support digit-separators in number literals [Sam
Rawlins][]</li>
<li>enh(csharp) add Contextual keywords <code>file</code>,
<code>args</code>, <code>dynamic</code>, <code>record</code>,
<code>required</code> and <code>scoped</code> [Alvin Joy][]</li>
<li>enh(lua) add 'pluto' as an alias [Sainan]</li>
<li>enh(bash) add reserved keywords <code>time</code> and
<code>coproc</code> [Álvaro Mondéjar][]</li>
<li>enh(nix) update keywords [h7x4][]</li>
<li>enh(nix) support paths [h7x4][]</li>
<li>enh(nix) support lookup paths [h7x4][]</li>
<li>enh(nix) support operators [h7x4][]</li>
<li>enh(nix) support REPL keywords [h7x4][]</li>
<li>enh(nix) support markdown comments [h7x4][]</li>
<li>enh(nix) support basic function params [h7x4][]</li>
<li>enh(nix) better parsing of attrsets [h7x4][]</li>
<li>fix(c) - Fixed hex numbers with decimals  [Dxuian]</li>
<li>fix(typescript) - Fixedoptional property not highlighted correctly
[Dxuian]</li>
<li>fix(ruby) - fix <code>|=</code> operator false positives (as block
arguments) [Aboobacker MK]</li>
<li>enh(gcode) rewrote language for modern gcode support [Barthélémy
Bonhomme][]</li>
<li>fix(sql) - Fixed sql primary key and foreign key spacing issue
[Dxuian]</li>
<li>fix(cpp) added flat_set and flat_map as a part of cpp 23 version
[Lavan]</li>
<li>fix(yaml) - Fixed special chars in yaml   [Dxuian]</li>
<li>fix(basic) - Fixed closing quotation marks not required for a PRINT
statement [Somya]</li>
<li>fix(nix) remove <code>add</code> builtin [h7x4][]</li>
<li>fix(nix) mark <code>or</code> as builtin instead of literal
[h7x4][]</li>
<li>fix(nix) handle <code>'''</code> string escapes [h7x4][]</li>
<li>fix(nix) handle backslash string escapes [h7x4][]</li>
<li>fix(nix) don't mix escapes for <code>&quot;</code> and
<code>''</code> strings [h7x4][]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md">highlight.js's
changelog</a>.</em></p>
<blockquote>
<h2>Version 11.11.1</h2>
<ul>
<li>Fixes regression with Rust grammar.</li>
</ul>
<h2>Version 11.11.0</h2>
<p>CAVEATS / POTENTIALLY BREAKING CHANGES</p>
<ul>
<li>Nothing yet.</li>
</ul>
<p>Core Grammars:</p>
<ul>
<li>fix(rust) - adds emoji support in single quote strings
[joshgoebel][]</li>
<li>fix(apache) - support line continuation via <code>\</code> [Josh
Goebel][]</li>
<li>fix(makefile) - allow strings inside <code>$()</code> expressions
[aneesh98][]</li>
<li>enh(arcade) updated to ArcGIS Arcade version 1.29 [Kristian
Ekenes][]</li>
<li>enh(css) add all properties listed on MDN (96 additions including
<code>anchor-name</code>, <code>aspect-ratio</code>,
<code>backdrop-filter</code>, <code>container</code>,
<code>margin-trim</code>, <code>place-content</code>,
<code>scroll-timeline</code>, ...) [BaliBalo][]</li>
<li>enh(excel) add built-in functions for Excel 365 release to 2024
[Danny Winrow][]</li>
<li>enh(erlang) OTP 27 triple-quoted strings [nixxquality][]</li>
<li>enh(erlang) OTP 27 doc attribute [nixxquality][]</li>
<li>enh(erlang) OTP 27 Sigil type [nixxquality][]</li>
<li>enh(erlang) OTP25/27 maybe statement [nixxquality][]</li>
<li>enh(dart) Support digit-separators in number literals [Sam
Rawlins][]</li>
<li>enh(csharp) add Contextual keywords <code>file</code>,
<code>args</code>, <code>dynamic</code>, <code>record</code>,
<code>required</code> and <code>scoped</code> [Alvin Joy][]</li>
<li>enh(lua) add 'pluto' as an alias [Sainan]</li>
<li>enh(bash) add reserved keywords <code>time</code> and
<code>coproc</code> [Álvaro Mondéjar][]</li>
<li>enh(nix) update keywords [h7x4][]</li>
<li>enh(nix) support paths [h7x4][]</li>
<li>enh(nix) support lookup paths [h7x4][]</li>
<li>enh(nix) support operators [h7x4][]</li>
<li>enh(nix) support REPL keywords [h7x4][]</li>
<li>enh(nix) support markdown comments [h7x4][]</li>
<li>enh(nix) support basic function params [h7x4][]</li>
<li>enh(nix) better parsing of attrsets [h7x4][]</li>
<li>fix(c) - Fixed hex numbers with decimals  [Dxuian]</li>
<li>fix(typescript) - Fixedoptional property not highlighted correctly
[Dxuian]</li>
<li>fix(ruby) - fix <code>|=</code> operator false positives (as block
arguments) [Aboobacker MK]</li>
<li>enh(gcode) rewrote language for modern gcode support [Barthélémy
Bonhomme][]</li>
<li>fix(sql) - Fixed sql primary key and foreign key spacing issue
[Dxuian]</li>
<li>fix(cpp) added flat_set and flat_map as a part of cpp 23 version
[Lavan]</li>
<li>fix(yaml) - Fixed special chars in yaml   [Dxuian]</li>
<li>fix(basic) - Fixed closing quotation marks not required for a PRINT
statement [Somya]</li>
<li>fix(nix) remove <code>add</code> builtin [h7x4][]</li>
<li>fix(nix) mark <code>or</code> as builtin instead of literal
[h7x4][]</li>
<li>fix(nix) handle <code>'''</code> string escapes [h7x4][]</li>
<li>fix(nix) handle backslash string escapes [h7x4][]</li>
<li>fix(nix) don't mix escapes for <code>&quot;</code> and
<code>''</code> strings [h7x4][]</li>
<li>fix(swift) - Fixed syntax highlighting for class func/var
declarations [guuido]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="08cb242e7d"><code>08cb242</code></a>
(release) 11.1.1</li>
<li><a
href="048ba65758"><code>048ba65</code></a>
bump versions to 11.11.1</li>
<li><a
href="c5b6ad51f3"><code>c5b6ad5</code></a>
fix - ignored .DS_Store files</li>
<li><a
href="d020e482d6"><code>d020e48</code></a>
enh(rust) can also escape a singe quote</li>
<li><a
href="2db4c1682b"><code>2db4c16</code></a>
fix(rust) prevent symbol from gobbling strings</li>
<li><a
href="93e63589a8"><code>93e6358</code></a>
fix(rust) fix regression with string matching</li>
<li><a
href="40883e19c5"><code>40883e1</code></a>
(release) version 11.11.0 with npm bumps (<a
href="https://redirect.github.com/highlightjs/highlight.js/issues/4185">#4185</a>)</li>
<li><a
href="a667cdef0d"><code>a667cde</code></a>
fix(rust) emoji supported in single quote strings (<a
href="https://redirect.github.com/highlightjs/highlight.js/issues/4156">#4156</a>)</li>
<li><a
href="55b0deb487"><code>55b0deb</code></a>
enh(apache) support line continuation with <code>\</code> (<a
href="https://redirect.github.com/highlightjs/highlight.js/issues/4158">#4158</a>)</li>
<li><a
href="3e068679d9"><code>3e06867</code></a>
fix(parser) prevent gobbling of illegal newlines (<a
href="https://redirect.github.com/highlightjs/highlight.js/issues/4142">#4142</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/highlightjs/highlight.js/compare/11.10.0...11.11.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=highlight.js&package-manager=npm_and_yarn&previous-version=11.10.0&new-version=11.11.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-01 19:22:44 +00:00
dependabot[bot]
3d10f9a1ec build(deps): Bump tailwindcss from 3.4.15 to 3.4.17 in /website (#7633)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from
3.4.15 to 3.4.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/releases">tailwindcss's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.17</h2>
<h3>Fixed</h3>
<ul>
<li>Work around Node v22.12+ issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15421">#15421</a>)</li>
</ul>
<h2>v3.4.16</h2>
<h3>Fixed</h3>
<ul>
<li>Ensure the TypeScript types for <code>PluginsConfig</code> allow
<code>undefined</code> values (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14668">#14668</a>)</li>
</ul>
<h1>Changed</h1>
<ul>
<li>Bumped lilconfig to v3.x (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15289">#15289</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/blob/v3.4.17/CHANGELOG.md">tailwindcss's
changelog</a>.</em></p>
<blockquote>
<h2>[3.4.17] - 2024-12-17</h2>
<h3>Fixed</h3>
<ul>
<li>Work around Node v22.12+ issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15421">#15421</a>)</li>
</ul>
<h2>[3.4.16] - 2024-12-03</h2>
<h3>Fixed</h3>
<ul>
<li>Ensure the TypeScript types for <code>PluginsConfig</code> allow
<code>undefined</code> values (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14668">#14668</a>)</li>
</ul>
<h1>Changed</h1>
<ul>
<li>Bumped lilconfig to v3.x (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15289">#15289</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4f9f603e12"><code>4f9f603</code></a>
Fix error</li>
<li><a
href="02faa1529e"><code>02faa15</code></a>
v3.4.17</li>
<li><a
href="e268b2aa96"><code>e268b2a</code></a>
Update changelog</li>
<li><a
href="0a836f76bb"><code>0a836f7</code></a>
Work around issue with Node 22 and Jiti (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/15421">#15421</a>)</li>
<li><a
href="f875ab9706"><code>f875ab9</code></a>
Bump macos version</li>
<li><a
href="8f91c27d3e"><code>8f91c27</code></a>
v3.4.16</li>
<li><a
href="8c8c986e09"><code>8c8c986</code></a>
fix: update lilconfig for ESM and Windows support (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/15289">#15289</a>)</li>
<li><a
href="2702cfcc2c"><code>2702cfc</code></a>
Fix Plugin type issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/14668">#14668</a>)</li>
<li>See full diff in <a
href="https://github.com/tailwindlabs/tailwindcss/compare/v3.4.15...v3.4.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tailwindcss&package-manager=npm_and_yarn&previous-version=3.4.15&new-version=3.4.17)](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-01 19:12:58 +00:00
dependabot[bot]
717815bdd6 build(deps): Bump @next/mdx from 15.0.3 to 15.1.3 in /website (#7629)
Bumps
[@next/mdx](https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx)
from 15.0.3 to 15.1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases"><code>@​next/mdx</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v15.1.3</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Retry manifest file loading only in dev mode: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/73900">#73900</a></li>
<li>Use shared worker for lint &amp; typecheck steps: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/74154">#74154</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a> and
<a href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.2</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Update React from 7283a213-20241206 to 65e06cb7-20241218: <a
href="https://redirect.github.com/vercel/next.js/pull/74117">vercel/next.js#74117</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.1</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>fix(turbo): sassOptions silenceDeprecations was not overwritten with
user options: <a
href="https://redirect.github.com/vercel/next.js/pull/73937">vercel/next.js#73937</a></li>
<li>refactor collectAppPageSegments: <a
href="https://redirect.github.com/vercel/next.js/pull/73908">vercel/next.js#73908</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/devjiwonchoi"><code>@​devjiwonchoi</code></a>
and <a href="https://github.com/ztanner"><code>@​ztanner</code></a> for
helping!</p>
<h2>v15.1.1-canary.23</h2>
<h3>Misc Changes</h3>
<ul>
<li>docs: remove catch-all for opengraph-image: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/74338">#74338</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/leerob"><code>@​leerob</code></a> for
helping!</p>
<h2>v15.1.1-canary.22</h2>
<h3>Misc Changes</h3>
<ul>
<li>Fix typo in generateViewport docs: <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/74288">#74288</a></li>
</ul>
<h3>Credits</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4cbaaa118d"><code>4cbaaa1</code></a>
v15.1.3</li>
<li><a
href="df392a1b97"><code>df392a1</code></a>
v15.1.2</li>
<li><a
href="4384c6834a"><code>4384c68</code></a>
v15.1.1</li>
<li><a
href="dafcd43fac"><code>dafcd43</code></a>
v15.1.0</li>
<li><a
href="2deb35d487"><code>2deb35d</code></a>
v15.0.4-canary.52</li>
<li><a
href="3970d33e6d"><code>3970d33</code></a>
v15.0.4-canary.51</li>
<li><a
href="c824c183d0"><code>c824c18</code></a>
v15.0.4-canary.50</li>
<li><a
href="657c2cbd72"><code>657c2cb</code></a>
v15.0.4-canary.49</li>
<li><a
href="c2078d0c05"><code>c2078d0</code></a>
v15.0.4-canary.48</li>
<li><a
href="6b9baaace0"><code>6b9baaa</code></a>
v15.0.4-canary.47</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/commits/v15.1.3/packages/next-mdx">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@next/mdx&package-manager=npm_and_yarn&previous-version=15.0.3&new-version=15.1.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-01 19:06:59 +00:00
dependabot[bot]
836d8aaaf0 build(deps): Bump mixpanel-browser from 2.56.0 to 2.58.0 in /website (#7631)
Bumps [mixpanel-browser](https://github.com/mixpanel/mixpanel-js) from
2.56.0 to 2.58.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mixpanel/mixpanel-js/releases">mixpanel-browser's
releases</a>.</em></p>
<blockquote>
<h2>Session recording features</h2>
<ul>
<li>New initialization option <code>record_canvas</code> can be turned
on to enable the Session Recording module to capture contents of HTML
<code>canvas</code> elements</li>
<li>Session Replay checkpoint events now include a starting URL</li>
</ul>
<h2>Internal refactor for Promise support</h2>
<p>This release is largely an internal refactor of the batch/queue/retry
subsystem introducing asynchronous abstractions (primarily Promise
support). Includes a minimal Promise polyfill for continued support in
older browsers.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mixpanel/mixpanel-js/blob/master/CHANGELOG.md">mixpanel-browser's
changelog</a>.</em></p>
<blockquote>
<p><strong>2.58.0</strong> (16 Dec 2024)</p>
<ul>
<li>Added canvas recording option</li>
<li>Session Replay checkpoint events now include a starting URL</li>
</ul>
<p><strong>2.57.1</strong> (12 Dec 2024)</p>
<ul>
<li>Asynchronous abstractions (primarily Promise support) introduced in
internal refactor of batch/queue/retry system.</li>
</ul>
<p><strong>2.57.0</strong> (Dec 2024)
REDACTED</p>
<p><strong>2.56.0</strong> (4 Nov 2024)</p>
<ul>
<li>Recording payloads now include additional metadata: the current URL,
library type, and library version.</li>
<li>Sourcemaps are now generated for the recorder module.</li>
<li>Added debugging method
<code>mixpanel.get_session_replay_url()</code> which will return a
Mixpanel UI link to the session replay if there is an active recording
taking place.</li>
<li>Refactored session recording module to encapsulate each active
recording and its metadata. Added a unit test suite for the new
<code>session-recording.js</code>.</li>
<li>Added some additional error handling for when
<code>stopRecording</code> fails or rrweb silently fails to start
recording.</li>
<li>Removed <code>record_inline_images</code> option due to buggy
behavior in rrweb.</li>
</ul>
<p><strong>2.55.1</strong> (27 Aug 2024)</p>
<ul>
<li>Adds a minimum recording length option for session recording</li>
<li>Fixes and improvements for session recording batcher to support
offline queueing and retry</li>
<li>Fix for query param parsing/escaping</li>
<li>Support for more UTM tags / click IDs (thanks <a
href="https://github.com/aliyalcinkaya"><code>@​aliyalcinkaya</code></a>)</li>
</ul>
<p><strong>2.55.0</strong> (2 Aug 2024)</p>
<ul>
<li>Added new build to support native JavaScript modules</li>
</ul>
<p><strong>2.54.1</strong> (30 Jul 2024)</p>
<ul>
<li>Fixes and improvements for user-idleness detection in session
recording</li>
</ul>
<p><strong>2.54.0</strong> (23 Jul 2024)</p>
<ul>
<li>Provides optional builds without session recording module and
without asynchronous script loading.</li>
<li>Integrates request batcher with session recording module for
increased reliability.</li>
<li>Improved user inactivity heuristic for session recording
timeout.</li>
<li>Adds config options to inline images and collect fonts during
session recording.</li>
</ul>
<p><strong>2.53.0</strong> (21 Jun 2024)</p>
<ul>
<li>Switch to new session-recording network payload format, utilizing
client-side compression when available</li>
<li>Session-recording methods are now available through Google Tag
Manager wrapper</li>
</ul>
<p><strong>2.52.0</strong> (7 Jun 2024)</p>
<ul>
<li>Reverted UTM param persistence change from 2.51.0: UTM parameters
are again persisted by default</li>
</ul>
<p><strong>2.51.0</strong> (30 May 2024)</p>
<ul>
<li>UTM parameter properties are no longer persisted by default</li>
<li>Existing superproperties persisted in localStorage are now copied
back to cookie storage if the library is initialized with cookie
persistence (support migrations from localStorage-&gt;cookie)</li>
<li>Added session-recording options <code>record_block_class</code>,
<code>record_block_selector</code>, and
<code>record_mask_text_class</code></li>
<li>Added method
<code>mixpanel.get_session_recording_properties()</code> for interop
with other client-side SDKs</li>
</ul>
<p><strong>2.50.0</strong> (26 Apr 2024)</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="796cd942f2"><code>796cd94</code></a>
2.58.0</li>
<li><a
href="ea462076f8"><code>ea46207</code></a>
Test fix</li>
<li><a
href="b9fdf6a735"><code>b9fdf6a</code></a>
v2.58.0</li>
<li><a
href="caf5388523"><code>caf5388</code></a>
2.58.0</li>
<li><a
href="64fcec867f"><code>64fcec8</code></a>
Update Changelog</li>
<li><a
href="f53e267464"><code>f53e267</code></a>
Added canvas recording option and a starting URL to Session Replay
checkpoint...</li>
<li><a
href="350b8bdbcf"><code>350b8bd</code></a>
2.57.1</li>
<li><a
href="a35fc40eeb"><code>a35fc40</code></a>
2.57.0 changelog entry</li>
<li><a
href="53579bf6fe"><code>53579bf</code></a>
Merge pull request <a
href="https://redirect.github.com/mixpanel/mixpanel-js/issues/245">#245</a>
from mixpanel/jg-2571-changelog</li>
<li><a
href="b8594a2c7c"><code>b8594a2</code></a>
Update CHANGELOG.md</li>
<li>Additional commits viewable in <a
href="https://github.com/mixpanel/mixpanel-js/compare/v2.56.0...v2.58.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mixpanel-browser&package-manager=npm_and_yarn&previous-version=2.56.0&new-version=2.58.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-01 18:51:10 +00:00
dependabot[bot]
6e8141365c build(deps): Bump fast-xml-parser from 4.5.0 to 4.5.1 in /website (#7630)
Bumps
[fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser)
from 4.5.0 to 4.5.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md">fast-xml-parser's
changelog</a>.</em></p>
<blockquote>
<p><!-- raw HTML omitted -->Note: If you find missing information about
particular minor version, that version must have been changed without
any functional change in this library.<!-- raw HTML omitted --></p>
<p><strong>4.5.1 / 2024-12-15</strong></p>
<ul>
<li>Fix empty tag key name for v5 (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/697">#697</a>).
no impact on v4</li>
<li>Fixes entity parsing when used in strict mode (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/699">#699</a>)</li>
</ul>
<p><strong>4.5.0 / 2024-09-03</strong></p>
<ul>
<li>feat <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/666">#666</a>:
ignoreAttributes support function, and array of string or regex (By <a
href="https://github.com/mav-rik">ArtemM</a>)</li>
</ul>
<p><strong>4.4.1 / 2024-07-28</strong></p>
<ul>
<li>v5 fix: maximum length limit to currency value</li>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/634">#634</a>:
build attributes with oneListGroup and attributesGroupName (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/653">#653</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
<li>fix: get oneListGroup to work as expected for array of strings (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/662">#662</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
</ul>
<p><strong>4.4.0 / 2024-05-18</strong></p>
<ul>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/654">#654</a>:
parse attribute list correctly for self closing stop node.</li>
<li>fix: validator bug when closing tag is not opened. (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/647">#647</a>)
(By <a href="https://github.com/RyosukeFukatani">Ryosuke
Fukatani</a>)</li>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/581">#581</a>:
typings; return type of <code>tagValueProcessor</code> &amp;
<code>attributeValueProcessor</code> (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/582">#582</a>)
(By <a href="">monholm</a>)</li>
</ul>
<p><strong>4.3.6 / 2024-03-16</strong></p>
<ul>
<li>Add support for parsing HTML numeric entities (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/645">#645</a>)
(By <a href="https://github.com/DerZade">Jonas Schade </a>)</li>
</ul>
<p><strong>4.3.5 / 2024-02-24</strong></p>
<ul>
<li>code for v5 is added for experimental use</li>
</ul>
<p><strong>4.3.4 / 2024-01-10</strong></p>
<ul>
<li>fix: Don't escape entities in CDATA sections (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/633">#633</a>)
(By <a href="https://github.com/wackbyte">wackbyte</a>)</li>
</ul>
<p><strong>4.3.3 / 2024-01-10</strong></p>
<ul>
<li>Remove unnecessary regex</li>
</ul>
<p><strong>4.3.2 / 2023-10-02</strong></p>
<ul>
<li>fix <code>jObj.hasOwnProperty</code> when give input is null (By <a
href="https://github.com/ardatan">Arda TANRIKULU</a>)</li>
</ul>
<p><strong>4.3.1 / 2023-09-24</strong></p>
<ul>
<li>revert back &quot;Fix typings for builder and parser to make return
type generic&quot; to avoid failure of existing projects. Need to decide
a common approach.</li>
</ul>
<p><strong>4.3.0 / 2023-09-20</strong></p>
<ul>
<li>Fix stopNodes to work with removeNSPrefix (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/607">#607</a>)
(<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/608">#608</a>)
(By [Craig Andrews]<a
href="https://github.com/candrews">https://github.com/candrews</a>))</li>
<li>Fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/610">#610</a>
ignore properties set to Object.prototype</li>
<li>Fix typings for builder and parser to make return type generic (By
<a href="https://github.com/sarahdayan">Sarah Dayan</a>)</li>
</ul>
<p><strong>4.2.7 / 2023-07-30</strong></p>
<ul>
<li>Fix: builder should set text node correctly when only textnode is
present (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/589">#589</a>)
(By <a href="https://github.com/joneqian">qianqing</a>)</li>
<li>Fix: Fix for null and undefined attributes when building xml (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/585">#585</a>)
(<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/598">#598</a>).
A null or undefined value should be ignored. (By <a
href="https://github.com/cecia234">Eugenio Ceschia</a>)</li>
</ul>
<p><strong>4.2.6 / 2023-07-17</strong></p>
<ul>
<li>Fix: Remove trailing slash from jPath for self-closing tags (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/595">#595</a>)
(By <a href="https://github.com/m-radzikowski">Maciej
Radzikowski</a>)</li>
</ul>
<p><strong>4.2.5 / 2023-06-22</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e132656533"><code>e132656</code></a>
update release detail</li>
<li><a
href="74e2651811"><code>74e2651</code></a>
Fixes entity parsing when used in strict mode (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/699">#699</a>)</li>
<li><a
href="408290231e"><code>4082902</code></a>
Fix empty tag key name for v5 (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/697">#697</a>)</li>
<li><a
href="eb8aa89a3c"><code>eb8aa89</code></a>
use XML instead of XMl (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/695">#695</a>)</li>
<li><a
href="050debf145"><code>050debf</code></a>
Add donor</li>
<li><a
href="4271222311"><code>4271222</code></a>
fix syntax in docs to import v5</li>
<li><a
href="e61516a37a"><code>e61516a</code></a>
Update Sponsors</li>
<li>See full diff in <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.5.0...v4.5.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-xml-parser&package-manager=npm_and_yarn&previous-version=4.5.0&new-version=4.5.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-01 18:50:44 +00:00
Jamil
1ddc2f5de6 fix(apple): Don't crash if tunnel manager session is unexpectedly nil (#7594)
In certain weird edge cases such as:

- The user removes the VPN profile while Firezone is signed in, causing
the `NETunnelProviderSession` to go invalid immediately
- The user approves the system extension to load before the VPN profile
access is granted

then the TunnelManager will not be able to obtain a valid reference to a
NETunnelProviderSession object.

In these cases, for now, it makes more sense to fail silently than to
crash, effectively making these operations a no-op until the user
remedies the VPN profile. Currently the user is prompted to re-grant VPN
profile whenever its status goes to `invalid`, so these cases don't
technically fail without prompting the user.

Draft because it's stacked on #7593 


Fixes #7579 
Fixes #7591

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-30 20:14:56 +00:00
Jamil
a1337d011c fix(apple): Load tunnel manager after creating it (#7593)
When launching Firezone for the first time, the VPN profile doesn't
exist. We prompt the user to create it with "Grant VPN Permission", but
then we fail to reload it, which initializes the tunnelManager instance
variables properly and binds observers.

The result of this was that we failed to react to VPN status changes on
the first launch of Firezone.

This can (and should be) refactored to be cleaner, but that is out of
scope for this PR and will be saved for #6554.


Refs #7579
2024-12-30 19:08:40 +00:00
Jamil
279512ca98 ci: Publish Android AAB and APK to release assets (#7599)
Fixes #3321
2024-12-30 18:56:09 +00:00
Jamil
f1a1c04d19 fix(website): Fix typo in Android changelog version (#7600) 2024-12-30 07:22:13 +00:00
Thomas Eizinger
26824fb3c7 fix(gateway): check if we run with correct permissions (#7565)
The gateway needs either the `CAP_NET_ADMIN` capability or run as `root`
in order to access the TUN device as well as configure routes via
`netlink`. Running without either leads to "Permission denied" errors at
runtime. It is good to fail early in these kind of situations.

By checking for this capability early on during startup, these should no
longer surface later. As a bonus, we won't receive (unactionable) Sentry
alerts.

Resolves: #7559.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-12-29 21:45:56 +00:00
Jamil
1c2c350b8f docs: update Apple docs for standalone guidance (#7589)
Updated the swift/apple README with new added tips for making release
builds from your local machine.

refs #7581

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-29 21:36:30 +00:00
Thomas Eizinger
624f93387b docs: add changelog entry for #7556 (#7571) 2024-12-23 11:44:53 +00:00
Thomas Eizinger
956bbbfd91 fix(gateway): translate ICMPv6's PacketTooBig error (#7567)
IPv6 treats fragmentation and MTU errors differently than IPv4. Rather
than requiring fragmentation on each hop of a routing path,
fragmentation needs to happen at the packet source and failure to route
a packet triggers an ICMPv6 `PacketTooBig` error.

These need to be translated back through our NAT64 implementation of the
Gateway. Due to the size difference in the headers of IPv4 and IPv6, the
available MTU to the IPv4 packet is 20 bytes _less_ than the MTU
reported by the ICMP error. IPv6 headers are always 40 bytes, meaning if
the MTU is reported as e.g. 1200 on the IPv6 side, we need to only offer
1180 to the IPv4 end of the application. Once the new MTU is then
honored, the packets translated by our NAT64 implementation will still
conform to the required MTU of 1200, despite the overhead introduced by
the translation.

Resolves: #7515.
2024-12-22 12:09:14 +00:00
Thomas Eizinger
d19f31ab85 docs: add changelog entries for #7551 (#7562)
This DNS fix is worth mentioning in the changelog.
2024-12-22 12:04:33 +00:00
Jamil
cf5d8d08ed docs: List minimum supported macOS as 13 (#7545)
macOS 12's SwiftUI framework is quite buggy, which leads to buttons and
window layout bugs in the Firezone app.

Since virtually no customers are on macOS 12 and it's officially EOL,
we'll be dropping support for it.

https://endoflife.date/macos

Refs https://firezonehq.slack.com/archives/C06L41XN05T/p1734360363455569

Refs #7531
2024-12-18 17:58:02 +00:00
Thomas Eizinger
b63061994d chore(headless-client): release version 1.4.0 (#7495)
Headless Client 1.4.0 has been released
(https://github.com/firezone/firezone/releases/tag/headless-client-1.4.0).
This PR updates the changelog and version numbers accordingly.
2024-12-13 07:10:11 +00:00
Thomas Eizinger
7309428cae chore(gateway): release version 1.4.2 (#7494)
Gateway 1.4.2 has been released
(https://github.com/firezone/firezone/releases/tag/gateway-1.4.2). This
PR updates the changelog and version numbers accordingly.
2024-12-13 05:49:19 +00:00
Thomas Eizinger
f0c2bfa6eb chore(gui-client): release version 1.4.0 (#7496)
GUI Client 1.4.0 has been released
(https://github.com/firezone/firezone/releases/tag/gui-client-1.4.0).
This PR updates the changelog and versions accordingly.
2024-12-13 04:41:49 +00:00
Thomas Eizinger
7a478634a8 feat(connlib): buffer packets during connection and NAT setup (#7477)
At present, `connlib` will always drop all IP packets until a connection
is established and the DNS resource NAT is created. This causes an
unnecessary delay until the connection is working because we need to
wait for retransmission timers of the host's network stack to resend
those packets.

With the new idempotent control protocol, it is now much easier to
buffer these packets and send them to the gateway once the connection is
established.

The buffer sizes are chosen somewhat conservatively to ensure we don't
consume a lot of memory. The hypothesis here is that every protocol -
even if the transport layer is unreliable like UDP - will start with a
handshake involving only one or at most a few packets and waiting for a
reply before sending more. Thus, as long as we can set up a connection
quicker than the re-transmit timer in the host's network stack,
buffering those packets should result in no packet loss. Typically,
setting up a new connection takes at most 500ms which should be fast
enough to not trigger any re-transmits.

Resolves: #3246.
2024-12-12 11:40:38 +00:00
dependabot[bot]
d0aef8f1d8 build(deps): Bump nanoid from 3.3.7 to 3.3.8 in /website in the npm_and_yarn group (#7485)
Bumps the npm_and_yarn group in /website with 1 update:
[nanoid](https://github.com/ai/nanoid).

Updates `nanoid` from 3.3.7 to 3.3.8
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ai/nanoid/blob/main/CHANGELOG.md">nanoid's
changelog</a>.</em></p>
<blockquote>
<h2>3.3.8</h2>
<ul>
<li>Fixed a way to break Nano ID by passing non-integer size (by <a
href="https://github.com/myndzi"><code>@​myndzi</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3044cd5e73"><code>3044cd5</code></a>
Release 3.3.8 version</li>
<li><a
href="4fe34959c3"><code>4fe3495</code></a>
Update size limit</li>
<li><a
href="d643045f40"><code>d643045</code></a>
Fix pool pollution, infinite loop (<a
href="https://redirect.github.com/ai/nanoid/issues/510">#510</a>)</li>
<li>See full diff in <a
href="https://github.com/ai/nanoid/compare/3.3.7...3.3.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nanoid&package-manager=npm_and_yarn&previous-version=3.3.7&new-version=3.3.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 <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
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/firezone/firezone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 22:47:35 +00:00
Thomas Eizinger
e507197480 docs(gateway): add changelog entry for #7479 (#7484)
The issue is now fixed and `git pull` from `github.com` as a resource
now works as expected.
2024-12-11 22:47:06 +00:00
Thomas Eizinger
90cf191a7c feat(linux): multi-threaded TUN device operations (#7449)
## Context

At present, we only have a single thread that reads and writes to the
TUN device on all platforms. On Linux, it is possible to open the file
descriptor of a TUN device multiple times by setting the
`IFF_MULTI_QUEUE` option using `ioctl`. Using multi-queue, we can then
spawn multiple threads that concurrently read and write to the TUN
device. This is critical for achieving a better throughput.

## Solution

`IFF_MULTI_QUEUE` is a Linux-only thing and therefore only applies to
headless-client, GUI-client on Linux and the Gateway (it may also be
possible on Android, I haven't tried). As such, we need to first change
our internal abstractions a bit to move the creation of the TUN thread
to the `Tun` abstraction itself. For this, we change the interface of
`Tun` to the following:

- `poll_recv_many`: An API, inspired by tokio's `mpsc::Receiver` where
multiple items in a channel can be batch-received.
- `poll_send_ready`: Mimics the API of `Sink` to check whether more
items can be written.
- `send`: Mimics the API of `Sink` to actually send an item.

With these APIs in place, we can implement various (performance)
improvements for the different platforms.

- On Linux, this allows us to spawn multiple threads to read and write
from the TUN device and send all packets into the same channel. The `Io`
component of `connlib` then uses `poll_recv_many` to read batches of up
to 100 packets at once. This ties in well with #7210 because we can then
use GSO to send the encrypted packets in single syscalls to the OS.
- On Windows, we already have a dedicated recv thread because `WinTun`'s
most-convenient API uses blocking IO. As such, we can now also tie into
that by batch-receiving from this channel.
- In addition to using multiple threads, this API now also uses correct
readiness checks on Linux, Darwin and Android to uphold backpressure in
case we cannot write to the TUN device.

## Configuration

Local testing has shown that 2 threads give the best performance for a
local `iperf3` run. I suspect this is because there is only so much
traffic that a single application (i.e. `iperf3`) can generate. With
more than 2 threads, the throughput actually drops drastically because
`connlib`'s main thread is too busy with lock-contention and triggering
`Waker`s for the TUN threads (which mostly idle around if there are 4+
of them). I've made it configurable on the Gateway though so we can
experiment with this during concurrent speedtests etc.

In addition, switching `connlib` to a single-threaded tokio runtime
further increased the throughput. I suspect due to less task / context
switching.

## Results

Local testing with `iperf3` shows some very promising results. We now
achieve a throughput of 2+ Gbit/s.

```
Connecting to host 172.20.0.110, port 5201
Reverse mode, remote host 172.20.0.110 is sending
[  5] local 100.80.159.34 port 57040 connected to 172.20.0.110 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   274 MBytes  2.30 Gbits/sec
[  5]   1.00-2.00   sec   279 MBytes  2.34 Gbits/sec
[  5]   2.00-3.00   sec   216 MBytes  1.82 Gbits/sec
[  5]   3.00-4.00   sec   224 MBytes  1.88 Gbits/sec
[  5]   4.00-5.00   sec   234 MBytes  1.96 Gbits/sec
[  5]   5.00-6.00   sec   238 MBytes  2.00 Gbits/sec
[  5]   6.00-7.00   sec   229 MBytes  1.92 Gbits/sec
[  5]   7.00-8.00   sec   222 MBytes  1.86 Gbits/sec
[  5]   8.00-9.00   sec   223 MBytes  1.87 Gbits/sec
[  5]   9.00-10.00  sec   217 MBytes  1.82 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.30 GBytes  1.98 Gbits/sec  22247             sender
[  5]   0.00-10.00  sec  2.30 GBytes  1.98 Gbits/sec                  receiver

iperf Done.
```

This is a pretty solid improvement over what is in `main`:

```
Connecting to host 172.20.0.110, port 5201
[  5] local 100.65.159.3 port 56970 connected to 172.20.0.110 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  90.4 MBytes   758 Mbits/sec  1800    106 KBytes
[  5]   1.00-2.00   sec  93.4 MBytes   783 Mbits/sec  1550   51.6 KBytes
[  5]   2.00-3.00   sec  92.6 MBytes   777 Mbits/sec  1350   76.8 KBytes
[  5]   3.00-4.00   sec  92.9 MBytes   779 Mbits/sec  1800   56.4 KBytes
[  5]   4.00-5.00   sec  93.4 MBytes   783 Mbits/sec  1650   69.6 KBytes
[  5]   5.00-6.00   sec  90.6 MBytes   760 Mbits/sec  1500   73.2 KBytes
[  5]   6.00-7.00   sec  87.6 MBytes   735 Mbits/sec  1400   76.8 KBytes
[  5]   7.00-8.00   sec  92.6 MBytes   777 Mbits/sec  1600   82.7 KBytes
[  5]   8.00-9.00   sec  91.1 MBytes   764 Mbits/sec  1500   70.8 KBytes
[  5]   9.00-10.00  sec  92.0 MBytes   771 Mbits/sec  1550   85.1 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   917 MBytes   769 Mbits/sec  15700             sender
[  5]   0.00-10.00  sec   916 MBytes   768 Mbits/sec                  receiver

iperf Done.
```
2024-12-05 00:18:20 +00:00
Thomas Eizinger
2f2ad2cffe docs(changelog): remove enable attr (#7458)
Idiomatic React is to conditionally render the entire element instead of
passing down an `enable` attribute.
2024-12-05 00:08:33 +00:00
Thomas Eizinger
b802021cc4 feat(connlib): implement idempotent control protocol for client (#6942)
Building on top of the gateway PR (#6941), this PR transitions the
clients to the new control protocol. Clients are **not**
backwards-compatible with old gateways. As a result, a certain customer
environment MUST have at least one gateway with the above PR running in
order for clients to be able to establish connections.

With this transition, Clients send explicit events to Gateways whenever
they assign IPs to a DNS resource name. The actual assignment only
happens once and the IPs then remain stable for the duration of the
client session.

When the Gateway receives such an event, it will perform a DNS
resolution of the requested domain name and set up the NAT between the
assigned proxy IPs and the IPs the domain actually resolves to. In order
to support self-healing of any problems that happen during this process,
the client will send an "Assigned IPs" event every time it receives a
DNS query for a particular domain. This in turn will trigger another DNS
resolution on the Gateway. Effectively, this means that DNS queries for
DNS resources propagate to the Gateway, triggering a DNS resolution
there. In case the domain resolves to the same set of IPs, no state is
changed to ensure existing connections are not interrupted.

With this new functionality in place, we can delete the old logic around
detecting "expired" IPs. This is considered a bugfix as this logic isn't
currently working as intended. It has been observed multiple times that
the Gateway can loop on this behaviour and resolving the same domain
over and over again. The only theoretical "incompatibility" here is that
pre-1.4.0 clients won't have access to this functionality of triggering
DNS refreshes on a Gateway 1.4.2+ Gateway. However, as soon as this PR
merges, we expect all admins to have already upgraded to a 1.4.0+
Gateway anyway which already mandates clients to be on 1.4.0+.

Resolves: #7391.
Resolves: #6828.
2024-12-04 12:05:35 +00:00
Jamil
bd3f912542 refactor(apple/macos): Use System Extension packaging mode for macOS Network Extension (#7344)
To allow macOS users to rollback, it would be helpful to distribute a
standalone macOS app, similar to how we distribute the GUI client.

The first step in this process is to refactor the macOS client to use a
System Extension -based Network Extension rather than an App Extension
based one. This offers us the flexibility to distribute the macOS client
outside the Mac App Store in addition to via the store.

For this PR I focused on making the minimal set of changes necessary to
support this change. This PR intentionally doesn't update the CI
pipeline to notarize and attach a standalone bundle that will run ad-hoc
on other Macs. That will come in a subsequent PR.

One thing to note about System Extensions is that they're slightly more
finicky when it comes to getting the signing and packaging right. Thus,
the README.md is updated to account for the gotchas involved in
developing System Extensions locally.

Related: #7071.
2024-12-04 05:34:25 +00:00
Thomas Eizinger
9073bddaef fix(gateway): translate ICMP destination unreachable errors (#7398)
## Context

The Gateway implements a stateful NAT that translates the destination IP
and source protocol of every packet that targets a DNS resource IP. This
is necessary because the IPs for DNS resources are generated on the
client without actually performing a DNS lookup, instead it always
generates 4 IPv4 and 4 IPv6 addresses. On the Gateway, these IPs are
then assigned in a round-robin fashion to the actual IPs that the domain
resolves to, necessitating a NAT64/46 translation in case a domain only
resolves to IPs of one family.

A domain may resolve to a set of IPs but not all of these IPs may be
routable. Whilst an arguably poor practise of the domain administrator,
routing problems can occur for all kinds of reasons and are well handled
on the wider Internet.

When an IP packet cannot be routed further, the current routing node
generates an ICMP error describing the routing failure and sends it back
to the original sender. ICMP is a layer 4 protocol itself, same as TCP
and UDP. As such, sending out a UDP packet may result in receiving an
ICMP response. In order to allow the sender to learn, which packet
failed to route, the ICMP error embeds parts of the original packet in
its payload [0] [1].

The Gateway's NAT table uses parts of the layer 4 protocol as part of
its key; the UDP and TCP source port and the ICMP echo request
identifier (further referred to as "source protocol"). An ICMP error
message doesn't have any of these, meaning the lookup in the NAT table
currently fails and the ICMP error is silently dropped.

A lot of software implements a happy-eyeballs approach and probs for
IPv6 and IPv4 connectivity simulataneously. The absence of the ICMP
errors confuses that algorithm as it detects the packet loss and starts
retransmits instead of giving up.

## Solution

Upon receiving an ICMP error on the Gateway, we now extract the
partially embedded packet in the ICMP error payload. We use the
destination IP and source protocol of _that_ packet for the lookup in
the NAT table. This returns us the original (client-assigned)
destination IP and source protocol. In order for the Gateway's NAT to be
transparent, we need to patch the packet embedded in the ICMP error to
use the original destination and source protocol. We also have to
account for the fact that the original packet may have been translated
with NAT64/46 and translate it back. Finally, we generate an ICMP error
with the appropriate code and embed the patched packet in its payload.

## Test implementation

To test that this works for all kind of combinations, we extend
`tunnel_test` to sample a list of unreachable IPs from all IPs sampled
for DNS resources. Upon receiving a packet for one of these IPs, the
Gateway will send an ICMP error back instead of invoking its regular
echo reply logic. On the client-side, upon receiving an ICMP error, we
extract the originally failed packet from the body and treat it as a
successful response.

This may seem a bit hacky at first but is actually how operating systems
would treat ICMP errors as well. For example, a `TcpSocket::connect`
call (triggering a TCP SYN packet) may fail with an IO error if we
receive an ICMP error packet. Thus, in a way, the original packet got
answered, just not with what we expected.

In addition, by treating these ICMP errors as responses to the original
packet, we automatically perform other assertions on them, like ensuring
that they come from the right IP address, that there are no unexpected
packets etc.

## Test alternatives

It is tricky to solve this in other ways in the test suite because at
the time of generating a packet for a DNS resource, we don't know the
actual IP that is being targeted by a certain proxy IP unless we'd start
reimplementing the round-robin algorithm employed by the Gateway. To
"test" the transparency of the NAT, we'd like to avoid knowing about
these implementation details in the test.

## Future work

In this PR, we currently only deal with "Destination Unreachable" ICMP
errors. There are other ICMP messages such as ICMPv6's `PacketTooBig` or
`ParameterProblem`. We should eventually handle these as well. They are
being deferred because translating those between the different IP
versions is only partially implemented and would thus require more work.
The most pressing need is to translate destination unreachable errors to
enable happy-eyeballs algorithms to work correctly.

Resolves: #5614.
Resolves: #6371.

[0]: https://www.rfc-editor.org/rfc/rfc792
[1]: https://www.rfc-editor.org/rfc/rfc4443#section-3.1
2024-12-02 23:07:41 +00:00
dependabot[bot]
e88f73be3b build(deps-dev): Bump flowbite-typography from 1.0.4 to 1.0.5 in /website (#7435)
Bumps
[flowbite-typography](https://github.com/themesberg/flowbite-typography)
from 1.0.4 to 1.0.5.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/themesberg/flowbite-typography/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flowbite-typography&package-manager=npm_and_yarn&previous-version=1.0.4&new-version=1.0.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>
2024-12-02 18:19:10 +00:00
dependabot[bot]
66f46f742f build(deps-dev): Bump typescript from 5.6.3 to 5.7.2 in /website (#7434)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.3
to 5.7.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/TypeScript/releases">typescript's
releases</a>.</em></p>
<blockquote>
<h2>TypeScript 5.7</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/">release
announcement</a>.</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.1%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.1 (RC)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.2%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.2 (Stable)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 5.7 RC</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-rc/">release
announcement</a>.</p>
<p>For the complete list of fixed issues, check out the</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.1%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.1 (RC)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 5.7 Beta</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/">release
announcement</a>.</p>
<p>For the complete list of fixed issues, check out the</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.7.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.7.0 (Beta)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d701d908d5"><code>d701d90</code></a>
Bump version to 5.7.2 and LKG</li>
<li><a
href="0503a630fd"><code>0503a63</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/60450">#60450</a>
(Move to file: fix detection of refe...) into release-5.7 (#...</li>
<li><a
href="3140dbb79a"><code>3140dbb</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/60488">#60488</a>
(Stub out copilotRelated command) into release-5.7 (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/60495">#60495</a>)</li>
<li><a
href="c1216dea1a"><code>c1216de</code></a>
Update LKG</li>
<li><a
href="3ee2b95689"><code>3ee2b95</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/60415">#60415</a>
(Fix false positive rewriteRelativeI...) into release-5.7 (#...</li>
<li><a
href="44bd3f21fe"><code>44bd3f2</code></a>
Bump version to 5.7.1-rc and LKG</li>
<li><a
href="5925c81eea"><code>5925c81</code></a>
Update LKG</li>
<li><a
href="84d58cf525"><code>84d58cf</code></a>
Merge remote-tracking branch 'origin/main' into release-5.7</li>
<li><a
href="0ec4d30a6e"><code>0ec4d30</code></a>
Fixing exception on unsaved file (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/60362">#60362</a>)</li>
<li><a
href="11b2930fa2"><code>11b2930</code></a>
Add compatible overloads that accept ArrayBuffer to
BigInt64Array/BigUint64Ar...</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript&package-manager=npm_and_yarn&previous-version=5.6.3&new-version=5.7.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>
2024-12-02 17:45:24 +00:00
dependabot[bot]
aa0f8c2248 build(deps): Bump postcss from 8.4.47 to 8.4.49 in /website (#7436)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.47 to
8.4.49.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/postcss/postcss/releases">postcss's
releases</a>.</em></p>
<blockquote>
<h2>8.4.49</h2>
<ul>
<li>Fixed custom syntax without <code>source.offset</code> (by <a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
</ul>
<h2>8.4.48</h2>
<ul>
<li>Fixed position calculation in error/warnings methods (by <a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/postcss/postcss/blob/main/CHANGELOG.md">postcss's
changelog</a>.</em></p>
<blockquote>
<h2>8.4.49</h2>
<ul>
<li>Fixed custom syntax without <code>source.offset</code> (by <a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
</ul>
<h2>8.4.48</h2>
<ul>
<li>Fixed position calculation in error/warnings methods (by <a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aed8b89988"><code>aed8b89</code></a>
Release 8.4.49 version</li>
<li><a
href="345063010b"><code>3450630</code></a>
Fix position calculations when offset is missing (<a
href="https://redirect.github.com/postcss/postcss/issues/1983">#1983</a>)</li>
<li><a
href="77420d6291"><code>77420d6</code></a>
Release 8.4.48 version</li>
<li><a
href="341529ff4e"><code>341529f</code></a>
Update dependencies</li>
<li><a
href="66fa667831"><code>66fa667</code></a>
Add Node.js 23 to CI</li>
<li><a
href="1a8b261404"><code>1a8b261</code></a>
fix inconsistent position calculations (<a
href="https://redirect.github.com/postcss/postcss/issues/1980">#1980</a>)</li>
<li><a
href="1cc6ac3bf4"><code>1cc6ac3</code></a>
Clarify usage in docs</li>
<li>See full diff in <a
href="https://github.com/postcss/postcss/compare/8.4.47...8.4.49">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=postcss&package-manager=npm_and_yarn&previous-version=8.4.47&new-version=8.4.49)](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>
2024-12-02 17:31:37 +00:00
dependabot[bot]
183df5c572 build(deps): Bump tailwindcss from 3.4.14 to 3.4.15 in /website (#7437)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from
3.4.14 to 3.4.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/releases">tailwindcss's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.15</h2>
<ul>
<li>Bump versions for security vulnerabilities (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14697">#14697</a>)</li>
<li>Ensure the TypeScript types for the <code>boxShadow</code> theme
configuration allows arrays (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14856">#14856</a>)</li>
<li>Set fallback for opacity variables to ensure setting colors with the
<code>selection:*</code> variant works in Chrome 131 (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15003">#15003</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/blob/v3.4.15/CHANGELOG.md">tailwindcss's
changelog</a>.</em></p>
<blockquote>
<h2>[3.4.15] - 2024-11-14</h2>
<ul>
<li>Bump versions for security vulnerabilities (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14697">#14697</a>)</li>
<li>Ensure the TypeScript types for the <code>boxShadow</code> theme
configuration allows arrays (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/14856">#14856</a>)</li>
<li>Set fallback for opacity variables to ensure setting colors with the
<code>selection:*</code> variant works in Chrome 131 (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15003">#15003</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6069a81187"><code>6069a81</code></a>
v3.4.15</li>
<li><a
href="d093dce0fb"><code>d093dce</code></a>
Add variable fallback to fix Chrome issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/15003">#15003</a>)</li>
<li><a
href="4de07697bd"><code>4de0769</code></a>
Fix config types for boxShadow (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/14856">#14856</a>)</li>
<li><a
href="8b41e82621"><code>8b41e82</code></a>
update changelog</li>
<li><a
href="825cd83cca"><code>825cd83</code></a>
Add <code>CODEOWNERS</code> file (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/14702">#14702</a>)</li>
<li><a
href="c8c3a22442"><code>c8c3a22</code></a>
Bump dependencies to fix vulnerabilities (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/14697">#14697</a>)</li>
<li>See full diff in <a
href="https://github.com/tailwindlabs/tailwindcss/compare/v3.4.14...v3.4.15">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tailwindcss&package-manager=npm_and_yarn&previous-version=3.4.14&new-version=3.4.15)](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>
2024-12-02 17:30:10 +00:00
dependabot[bot]
36725a8246 build(deps): Bump framer-motion from 11.11.17 to 11.12.0 in /website (#7438)
Bumps [framer-motion](https://github.com/framer/motion) from 11.11.17 to
11.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/motiondivision/motion/blob/main/CHANGELOG.md">framer-motion's
changelog</a>.</em></p>
<blockquote>
<h2>[11.12.0] 2024-11-27</h2>
<h3>Added</h3>
<ul>
<li>New <code>visualDuration</code> option for <code>spring</code>
animations.</li>
<li>New <code>spring(visualDuration, bounce)</code> syntax.</li>
</ul>
<h2>[11.11.16] 2024-11-14</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing <code>stagger</code> with mini <code>animate</code>.</li>
</ul>
<h2>[11.11.16] 2024-11-14</h2>
<h3>Fixed</h3>
<ul>
<li>Ensuring animations passed to <code>scroll</code> are scrubbed
linearly.</li>
<li>Fixing <code>mini</code> types entrypoint.</li>
<li>Exporting easing types from <code>&quot;motion&quot;</code>.</li>
</ul>
<h2>[11.11.15] 2024-11-13</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing <code>mini</code> and <code>react-mini</code>
entrypoints.</li>
</ul>
<h2>[11.11.14] 2024-11-12</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing fallback entry points for
<code>&quot;motion/react&quot;</code> etc.</li>
</ul>
<h2>[11.11.13] 2024-11-12</h2>
<h3>Fixed</h3>
<ul>
<li>Fixing build and entry points for
<code>&quot;motion&quot;</code>.</li>
</ul>
<h2>[11.11.12] 2024-11-12</h2>
<h3>Changed</h3>
<ul>
<li>Adding <code>&quot;motion&quot;</code> package.</li>
<li>Replaced Motion One (see <a
href="https://motion.dev/docs/upgrade-guide">upgrade guide</a>).</li>
</ul>
<h2>[11.11.11] 2024-10-31</h2>
<h3>Fixed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f12b84d4db"><code>f12b84d</code></a>
v11.12.0</li>
<li><a
href="deb3a39ff7"><code>deb3a39</code></a>
Latest</li>
<li><a
href="dabfdcb617"><code>dabfdcb</code></a>
Spring updates (<a
href="https://redirect.github.com/framer/motion/issues/2912">#2912</a>)</li>
<li><a
href="cc2ebeed0e"><code>cc2ebee</code></a>
Fixing lockfile</li>
<li><a
href="d9b3bee0bb"><code>d9b3bee</code></a>
Updating readme</li>
<li><a
href="eb787650d3"><code>eb78765</code></a>
Updating readme</li>
<li><a
href="d89ce41565"><code>d89ce41</code></a>
Adding sponsors</li>
<li><a
href="e1cad7f309"><code>e1cad7f</code></a>
docs: fix broken links (<a
href="https://redirect.github.com/framer/motion/issues/2888">#2888</a>)</li>
<li><a
href="2573b3acf3"><code>2573b3a</code></a>
v11.11.18</li>
<li><a
href="5aa266c952"><code>5aa266c</code></a>
Add motionui</li>
<li>Additional commits viewable in <a
href="https://github.com/framer/motion/compare/v11.11.17...v11.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=framer-motion&package-manager=npm_and_yarn&previous-version=11.11.17&new-version=11.12.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>
2024-12-02 17:29:57 +00:00
Thomas Eizinger
0a6554122a feat(connlib): utilise GSO for UDP sockets (#7210)
## Context

At present, `connlib` sends UDP packets one at a time. Sending a packet
requires us to make a syscall which is quite expensive. Under load, i.e.
during a speedtest, syscalls account for over 50% of our CPU time [0].
In order to improve this situation, we need to somehow make use of GSO
(generic segmentation offload). With GSO, we can send multiple packets
to the same destination in a single syscall.

The tricky question here is, how can we achieve having multiple UDP
packets ready at once so we can send them in a single syscall? Our TUN
interface only feeds us packets one at a time and `connlib`'s state
machine is single-threaded. Additionally, we currently only have a
single `EncryptBuffer` in which the to-be-sent datagram sits.

## 1. Stack-allocating encrypted IP packets

As a first step, we get rid of the single `EncryptBuffer` and instead
stack-allocate each encrypted IP packet. Due to our small MTU, these
packets are only around 1300 bytes. Stack-allocating that requires a few
memcpy's but those are in the single-digit % range in the terms of CPU
time performance hit. That is nothing compared to how much time we are
spending on UDP syscalls. With the `EncryptBuffer` out the way, we can
now "freely" move around the `EncryptedPacket` structs and - technically
- we can have multiple of them at the same time.

## 2. Implementing GSO

The GSO interface allows you to pass multiple packets **of the same
length and for the same destination** in a single syscall, meaning we
cannot just batch-up arbitrary UDP packets. Counterintuitively, making
use of GSO requires us to do more copying: In particular, we change the
interface of `Io` such that "sending" a packet performs essentially a
lookup of a `BytesMut`-buffer by destination and packet length and
appends the payload to that packet.

## 3. Batch-read IP packets

In order to actually perform GSO, we need to process more than a single
IP packet in one event-loop tick. We achieve this by batch-reading up to
50 IP packets from the mpsc-channel that connects `connlib`'s main
event-loop with the dedicated thread that reads and writes to the TUN
device. These reads and writes happen concurrently to `connlib`'s packet
processing. Thus, it is likely that by the time `connlib` is ready to
process another IP packet, multiple have been read from the device and
are sitting in the channel. Batch-processing these IP packets means that
the buffers in our `GsoQueue` are more likely to contain more than a
single datagram.

Imagine you are running a file upload. The OS will send many packets to
the same destination IP and likely max MTU to the TUN device. It is
likely, that we read 10-20 of these packets in one batch (i.e. within a
single "tick" of the event-loop). All packets will be appended to the
same buffer in the `GsoQueue` and on the next event-loop tick, they will
all be flushed out in a single syscall.

## Results

Overall, this results in a significant reduction of syscalls for sending
UDP message. In [1], we spend only a total of 16% of our CPU time in
`udpv6_sendmsg` whereas in [0] (main), we spent a total of 34%. Do note
that these numbers are relative to the total CPU time spent per program
run and thus can't be compared directly (i.e. you cannot just do 34 - 16
and say we now spend 18% less time sending UDP packets). Nevertheless,
this appears to be a great improvement.

In terms of throughput, we achieve a ~60% improvement in our benchmark
suite. That one is running on localhost though so it might not
necessarily be reflect like that in a real network.

[0]: https://share.firefox.dev/4hvoPju
[1]: https://share.firefox.dev/4frhCPv
2024-12-02 01:09:44 +00:00
Jamil
3a62709c77 docs: Add restricted regions docs (#7395)
This will be referred to when we make our email announcement.
2024-11-24 17:20:06 +00:00
Jamil
8aed0c6644 chore(website): Remove link to probe.sh (#7377)
We'll be winding down this service to reduce maintenance overhead.
2024-11-19 05:29:49 +00:00
Jamil
b5b0ee2090 fix(website): cache api responses properly (#7373)
We blew through our Edge Function invocation allotment (1M). Upon
investigating, it became clear the way we were doing caching previously
was for the app / page rendering. This is how Vercel
[instructs](https://vercel.com/docs/edge-network/caching#using-vercel-functions)
us to do it for Edge functions.
2024-11-18 19:37:05 +00:00
Jamil
d2a224e3cb chore: Bump website deps (#7372)
Fixes https://github.com/firezone/firezone/security/dependabot/125
2024-11-18 19:29:32 +00:00
Thomas Eizinger
2b3469954a chore(headless-client): allow disabling telemetry (#7350)
I've started to set this in my local env to not spam Sentry with events
while I am developing.
2024-11-15 08:14:36 +00:00