mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-03-21 16:41:47 +00:00
21fc8efd5ef8bb5ced0e9fff7dcc329bc3bbbb16
664 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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=" |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 /> [](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> |
||
|
|
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 /> [](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> |
||
|
|
309914a45d |
chore(android): release version 1.4.0 (#7649)
Bumps the Android client to the 1.4.0 release. Tested in Android emulator. |
||
|
|
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. |
||
|
|
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=" |
||
|
|
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 & 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=" |
||
|
|
267429a21e | chore(website): Update website copyright date (#7645) | ||
|
|
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>"motion"</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>"motion"</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=" |
||
|
|
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=" |
||
|
|
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 /> [](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> |
||
|
|
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>"</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>"</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=" |
||
|
|
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=" |
||
|
|
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 & 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=" |
||
|
|
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->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=" |
||
|
|
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> & <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 "Fix typings for builder and parser to make return type generic" 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=" |
||
|
|
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> |
||
|
|
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 |
||
|
|
279512ca98 |
ci: Publish Android AAB and APK to release assets (#7599)
Fixes #3321 |
||
|
|
f1a1c04d19 | fix(website): Fix typo in Android changelog version (#7600) | ||
|
|
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> |
||
|
|
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> |
||
|
|
624f93387b | docs: add changelog entry for #7556 (#7571) | ||
|
|
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. |
||
|
|
d19f31ab85 |
docs: add changelog entries for #7551 (#7562)
This DNS fix is worth mentioning in the changelog. |
||
|
|
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 |
||
|
|
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. |
||
|
|
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. |
||
|
|
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. |
||
|
|
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. |
||
|
|
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=" |
||
|
|
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. |
||
|
|
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. ``` |
||
|
|
2f2ad2cffe |
docs(changelog): remove enable attr (#7458)
Idiomatic React is to conditionally render the entire element instead of passing down an `enable` attribute. |
||
|
|
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. |
||
|
|
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. |
||
|
|
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 |
||
|
|
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 /> [](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> |
||
|
|
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&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&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&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&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&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&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=" |
||
|
|
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=" |
||
|
|
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=" |
||
|
|
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>"motion"</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>"motion/react"</code> etc.</li> </ul> <h2>[11.11.13] 2024-11-12</h2> <h3>Fixed</h3> <ul> <li>Fixing build and entry points for <code>"motion"</code>.</li> </ul> <h2>[11.11.12] 2024-11-12</h2> <h3>Changed</h3> <ul> <li>Adding <code>"motion"</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=" |
||
|
|
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 |
||
|
|
3a62709c77 |
docs: Add restricted regions docs (#7395)
This will be referred to when we make our email announcement. |
||
|
|
8aed0c6644 |
chore(website): Remove link to probe.sh (#7377)
We'll be winding down this service to reduce maintenance overhead. |
||
|
|
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. |
||
|
|
d2a224e3cb |
chore: Bump website deps (#7372)
Fixes https://github.com/firezone/firezone/security/dependabot/125 |
||
|
|
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. |