mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
2f2ad2cffe278530573e240f5c6e79cb02418aee
6067 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2f2ad2cffe |
docs(changelog): remove enable attr (#7458)
Idiomatic React is to conditionally render the entire element instead of passing down an `enable` attribute. |
||
|
|
cf9573faa1 |
build(rust): bump quinn-udp (#7457)
Pulling in a couple of fixes that have since landed on `quinn-udp`'s `main` branch. |
||
|
|
eb77000ac2 |
build(deps): Bump the google group in /terraform/environments/production with 2 updates (#7423)
Bumps the google group in /terraform/environments/production with 2 updates: [hashicorp/google](https://github.com/hashicorp/terraform-provider-google) and [hashicorp/google-beta](https://github.com/hashicorp/terraform-provider-google-beta). Updates `hashicorp/google` from 6.10.0 to 6.12.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hashicorp/terraform-provider-google/releases">hashicorp/google's releases</a>.</em></p> <blockquote> <h2>v6.12.0</h2> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_access_context_manager_access_policy</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20295">#20295</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_spark_application</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20242">#20242</a>)</li> <li><strong>New Resource:</strong> <code>google_managed_kafka_cluster</code> and <code>google_managed_kafka_topic</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20237">#20237</a>)</li> </ul> <p>IMPROVEMENTS:</p> <ul> <li>artifactregistry: added <code>common_repository</code> field to <code>google_artifact_registry_repository</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20305">#20305</a>)</li> <li>cloudrunv2: added <code>urls</code> output field to <code>google_cloud_run_v2_service</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20313">#20313</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>network_interface.nic_type</code> field in <code>google_compute_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>guest_os_features.type</code> field in <code>google_compute_image</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>replica_names</code> field to <code>sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20202">#20202</a>)</li> <li>filestore: added <code>performance_config</code> field to <code>google_filestore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20218">#20218</a>)</li> <li>redis: added <code>persistence_config</code> to <code>google_redis_cluster</code>. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20212">#20212</a>)</li> <li>securesourcemanager: added <code>workforce_identity_federation_config</code> field to <code>google_secure_source_manager_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20290">#20290</a>)</li> <li>spanner: added <code>default_backup_schedule_type</code> field to <code>google_spanner_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20213">#20213</a>)</li> <li>sql: added <code>psc_auto_connections</code> fields to <code>google_sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20307">#20307</a>)</li> </ul> <p>BUG FIXES:</p> <ul> <li>accesscontextmanager: fixed permadiff in perimeter <code>google_access_context_manager_service_perimeter_ingress_policy</code> and <code>google_access_context_manager_service_perimeter_egress_policy</code> resources when there are duplicate resources in the rules (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20294">#20294</a>)</li> <li> <ul> <li>accesscontextmanager: fixed comparison of <code>identity_type</code> in <code>ingress_from</code> and <code>egress_from</code> when the <code>IDENTITY_TYPE_UNSPECIFIED</code> is set (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20221">#20221</a>)</li> </ul> </li> <li>compute: fixed permadiff on attempted <code>type</code> field updates in <code>google_computer_security_policy</code>, updating this field will now force recreation of the resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20316">#20316</a>)</li> <li>identityplatform: fixed perma-diff originating from the <code>sign_in.anonymous.enabled</code> field in <code>google_identity_platform_config</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20244">#20244</a>)</li> </ul> <h2>v6.11.2</h2> <p>BUG FIXES:</p> <ul> <li>vertexai: fixed issue with google_vertex_ai_endpoint where upgrading to 6.11.0 would delete all traffic splits that were set outside Terraform (which was previously a required step for all meaningful use of this resource). (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20350">#20350</a>)</li> </ul> <h2>v6.11.1</h2> <p>BUG FIXES:</p> <ul> <li>container: fixed diff on <code>google_container_cluster.user_managed_keys_config</code> field for resources that had not set it. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> <li>container: marked <code>google_container_cluster.user_managed_keys_config</code> as immutable because it can't be updated in place. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> </ul> <h2>v6.11.0</h2> <p>NOTES:</p> <ul> <li>compute: migrated <code>google_compute_firewall_policy_rule</code> from DCL engine to MMv1 engine. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20160">#20160</a>)</li> </ul> <p>BREAKING CHANGES:</p> <ul> <li>looker: made <code>oauth_config</code> a required field in <code>google_looker_instance</code>, as creating this resource without that field always triggers an API error (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20196">#20196</a>)</li> </ul> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_spanner_database</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20114">#20114</a>)</li> <li><strong>New Resource:</strong> <code>google_apigee_api</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20113">#20113</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_application_environment</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20165">#20165</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_service_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20147">#20147</a>)</li> <li><strong>New Resource:</strong> <code>google_memorystore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20108">#20108</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hashicorp/terraform-provider-google/blob/main/CHANGELOG.md">hashicorp/google's changelog</a>.</em></p> <blockquote> <h2>6.12.0 (November 18, 2024)</h2> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_access_context_manager_access_policy</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20295">#20295</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_spark_application</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20242">#20242</a>)</li> <li><strong>New Resource:</strong> <code>google_managed_kafka_cluster</code> and <code>google_managed_kafka_topic</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20237">#20237</a>)</li> </ul> <p>IMPROVEMENTS:</p> <ul> <li>artifactregistry: added <code>common_repository</code> field to <code>google_artifact_registry_repository</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20305">#20305</a>)</li> <li>cloudrunv2: added <code>urls</code> output field to <code>google_cloud_run_v2_service</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20313">#20313</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>network_interface.nic_type</code> field in <code>google_compute_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>guest_os_features.type</code> field in <code>google_compute_image</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>replica_names</code> field to <code>sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20202">#20202</a>)</li> <li>filestore: added <code>performance_config</code> field to <code>google_filestore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20218">#20218</a>)</li> <li>redis: added <code>persistence_config</code> to <code>google_redis_cluster</code>. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20212">#20212</a>)</li> <li>securesourcemanager: added <code>workforce_identity_federation_config</code> field to <code>google_secure_source_manager_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20290">#20290</a>)</li> <li>spanner: added <code>default_backup_schedule_type</code> field to <code>google_spanner_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20213">#20213</a>)</li> <li>sql: added <code>psc_auto_connections</code> fields to <code>google_sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20307">#20307</a>)</li> </ul> <p>BUG FIXES:</p> <ul> <li>accesscontextmanager: fixed permadiff in perimeter <code>google_access_context_manager_service_perimeter_ingress_policy</code> and <code>google_access_context_manager_service_perimeter_egress_policy</code> resources when there are duplicate resources in the rules (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20294">#20294</a>)</li> <li> <ul> <li>accesscontextmanager: fixed comparison of <code>identity_type</code> in <code>ingress_from</code> and <code>egress_from</code> when the <code>IDENTITY_TYPE_UNSPECIFIED</code> is set (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20221">#20221</a>)</li> </ul> </li> <li>compute: fixed permadiff on attempted <code>type</code> field updates in <code>google_computer_security_policy</code>, updating this field will now force recreation of the resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20316">#20316</a>)</li> <li>identityplatform: fixed perma-diff originating from the <code>sign_in.anonymous.enabled</code> field in <code>google_identity_platform_config</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20244">#20244</a>)</li> </ul> <h2>6.11.2 (November 15, 2024)</h2> <p>BUG FIXES:</p> <ul> <li>vertexai: fixed issue with google_vertex_ai_endpoint where upgrading to 6.11.0 would delete all traffic splits that were set outside Terraform (which was previously a required step for all meaningful use of this resource). (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20350">#20350</a>)</li> </ul> <h2>6.11.1 (November 12, 2024)</h2> <p>BUG FIXES:</p> <ul> <li>container: fixed diff on <code>google_container_cluster.user_managed_keys_config</code> field for resources that had not set it. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> <li>container: marked <code>google_container_cluster.user_managed_keys_config</code> as immutable because it can't be updated in place. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> </ul> <h2>6.11.0 (November 11, 2024)</h2> <p>NOTES:</p> <ul> <li>compute: migrated <code>google_compute_firewall_policy_rule</code> from DCL engine to MMv1 engine. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20160">#20160</a>)</li> </ul> <p>BREAKING CHANGES:</p> <ul> <li>looker: made <code>oauth_config</code> a required field in <code>google_looker_instance</code>, as creating this resource without that field always triggers an API error (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20196">#20196</a>)</li> </ul> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_spanner_database</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20114">#20114</a>)</li> <li><strong>New Resource:</strong> <code>google_apigee_api</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20113">#20113</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_application_environment</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20165">#20165</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_service_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20147">#20147</a>)</li> <li><strong>New Resource:</strong> <code>google_memorystore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20108">#20108</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
4094e231fd |
build(deps-dev): Bump tailwindcss from 3.4.14 to 3.4.16 in /rust/gui-client (#7456)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.4.14 to 3.4.16. <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.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> <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.16/CHANGELOG.md">tailwindcss's changelog</a>.</em></p> <blockquote> <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> <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=" |
||
|
|
0b30c2de73 |
build(deps): Bump bytes from 1.7.2 to 1.9.0 in /rust (#7448)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.7.2 to 1.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/releases">bytes's releases</a>.</em></p> <blockquote> <h2>Bytes v1.9.0</h2> <h1>1.9.0 (November 27, 2024)</h1> <h3>Added</h3> <ul> <li>Add <code>Bytes::from_owner</code> to enable externally-allocated memory (<a href="https://redirect.github.com/tokio-rs/bytes/issues/742">#742</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix typo in Buf::chunk() comment (<a href="https://redirect.github.com/tokio-rs/bytes/issues/744">#744</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Replace BufMut::put with BufMut::put_slice in Writer impl (<a href="https://redirect.github.com/tokio-rs/bytes/issues/745">#745</a>)</li> <li>Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (<a href="https://redirect.github.com/tokio-rs/bytes/issues/743">#743</a>)</li> </ul> <h2>Bytes 1.8.0</h2> <h1>1.8.0 (October 21, 2024)</h1> <ul> <li>Guarantee address in <code>split_off</code>/<code>split_to</code> for empty slices (<a href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md">bytes's changelog</a>.</em></p> <blockquote> <h1>1.9.0 (November 27, 2024)</h1> <h3>Added</h3> <ul> <li>Add <code>Bytes::from_owner</code> to enable externally-allocated memory (<a href="https://redirect.github.com/tokio-rs/bytes/issues/742">#742</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix typo in Buf::chunk() comment (<a href="https://redirect.github.com/tokio-rs/bytes/issues/744">#744</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Replace BufMut::put with BufMut::put_slice in Writer impl (<a href="https://redirect.github.com/tokio-rs/bytes/issues/745">#745</a>)</li> <li>Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (<a href="https://redirect.github.com/tokio-rs/bytes/issues/743">#743</a>)</li> </ul> <h1>1.8.0 (October 21, 2024)</h1> <ul> <li>Guarantee address in <code>split_off</code>/<code>split_to</code> for empty slices (<a href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
df285c1049 |
build(deps-dev): Bump @tauri-apps/cli from 2.0.4 to 2.1.0 in /rust/gui-client (#7431)
Bumps [@tauri-apps/cli](https://github.com/tauri-apps/tauri) from 2.0.4 to 2.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/tauri/releases"><code>@tauri-apps/cli</code>'s releases</a>.</em></p> <blockquote> <h2><code>@tauri-apps/cli</code> v2.1.0</h2> <h2>[2.1.0]</h2> <h3>New Features</h3> <ul> <li><a href=" |
||
|
|
fdcd63cba6 |
build(deps-dev): Bump typescript from 5.6.3 to 5.7.2 in /rust/gui-client (#7432)
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=" |
||
|
|
48bd0f9804 |
chore: bump client versions to 1.4.0 (#7092)
In order to release the new control protocol to users, we need to bump the versions of the clients to 1.4.0. The portal has a version gate to only select gateways with version >= 1.4.0 for clients >= 1.4.0. Thus, bumping these versions can only happen once testing has completed and the gateway has actually been released as 1.4.0. Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com> |
||
|
|
4233fb9490 |
fix(apple/macos): Add app sandbox and entitlements to network extension (#7455)
Apple [requires](https://github.com/firezone/firezone/actions/runs/12161693820/job/33916881718) network extensions on macOS to be sandboxed. Given this requirement, we must explicitly allow both the `com.apple.security.network.client` and `com.apple.security.network.security` entitlements for making outbound network requests and for opening sockets respectively. |
||
|
|
c22bd3c230 |
fix(deps): Bump hashbrown to fix RUSTSEC-2024-0402 (#7454)
Fixes https://rustsec.org/advisories/RUSTSEC-2024-0402 |
||
|
|
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. |
||
|
|
fd8ca853a3 |
build(deps): Bump serde from 1.0.210 to 1.0.215 in /rust (#7447)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.210 to 1.0.215. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.215</h2> <ul> <li>Produce warning when multiple fields or variants have the same deserialization name (<a href="https://redirect.github.com/serde-rs/serde/issues/2855">#2855</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2856">#2856</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2857">#2857</a>)</li> </ul> <h2>v1.0.214</h2> <ul> <li>Implement IntoDeserializer for all Deserializers in serde::de::value module (<a href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> <h2>v1.0.213</h2> <ul> <li>Fix support for macro-generated <code>with</code> attributes inside a newtype struct (<a href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li> </ul> <h2>v1.0.212</h2> <ul> <li>Fix hygiene of macro-generated local variable accesses in serde(with) wrappers (<a href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li> </ul> <h2>v1.0.211</h2> <ul> <li>Improve error reporting about mismatched signature in <code>with</code> and <code>default</code> attributes (<a href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> <li>Show variant aliases in error message when variant deserialization fails (<a href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> <li>Improve binary size of untagged enum and internally tagged enum deserialization by about 12% (<a href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
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. |
||
|
|
15e75f80ba |
fix(apple/ios): Expose IPHONEOS_DEPLOYMENT_TARGET to tell rustc our iOS version (#7453)
Fixes a similar issue as #7443 where we were deleting the `IPHONEOS_DEPLOYMENT_TARGET` variable in our Rust build script, which caused lots of warnings about building for a different OS than being linked against. |
||
|
|
dd6b52b236 | chore(rust): share edition key via workspace table (#7451) | ||
|
|
f81f8b2ed7 |
fix(gui-client): don't share log-directives via file system (#7445)
At present, the GUI client shares the current log-directives with the IPC service via the file system. Supposedly, this has been done to allow the IPC service to start back up with the same log filter as before. This behaviour appears to be buggy though as we are receiving a fair number of error reports where this file is not writable. Instead of relying on the file system to communicate, we send the current log-directives to the IPC service as soon as we start up. The IPC service then uses the file system as a cache that log string and re-apply it on the next startup. This way, no two programs need to read / write the same file. The IPC service runs with higher privileges, so this should resolve the permission errors we are seeing in Sentry. |
||
|
|
2b65e5f14d |
build(deps): Bump @tauri-apps/api from 2.0.3 to 2.1.1 in /rust/gui-client (#7433)
Bumps [@tauri-apps/api](https://github.com/tauri-apps/tauri) from 2.0.3 to 2.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/tauri/releases"><code>@tauri-apps/api</code>'s releases</a>.</em></p> <blockquote> <h2><code>@tauri-apps/api</code> v2.1.1</h2> <!-- raw HTML omitted --> <pre><code>No known vulnerabilities found </code></pre> <!-- raw HTML omitted --> <h2>[2.1.1]</h2> <h3>Bug Fixes</h3> <ul> <li><a href=" |
||
|
|
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 |
||
|
|
4f92a0d7ca |
refactor(gui-client): tidy up GUI controller code (#7444)
This PR intends to be a pure refactoring, i.e. no behaviour change. It simplifies a few aspects of the GUI controller event-loop by getting rid of the `select!` macro. We also remove some indirection of the `gui_controller::Builder`. |
||
|
|
8bc1277c24 |
fix(telemetry): include span attributes in breadcrumbs (#7421)
This is another attempt at fixing #7386. Previous PR was #7379. The difference is, this time it works! In the following screenshot, `handle_input` is a currently active span.  I had to make some patches to Sentry, most notably: - https://github.com/getsentry/sentry-rust/pull/708 - https://github.com/getsentry/sentry-rust/pull/712 The way we configure Sentry is quite tricky: First and foremost, we need to understand that the `tracing` adapter for Sentry has a `span_filter` configuration. When a span gets filtered out there, the rest of `sentry-tracing` never sees the data in that span. Thus, in order to capture variables from spans, we need to have a fairly generous span filter. In this PR, we change this span filter to include all spans except those on TRACE level. Secondly, by default, the Sentry SDK doesn't send any spans to the backend, i.e. the sampling rate is 0. Previously, we set the sampling rate to 1.0 because the `span_filter` was already filtering out all non-telemetry spans. A telemetry span is a concept that we invented. It is a span that gets sampled at _creation_ time with a probability of 1%. This is useful because creating a lot of spans is also expensive, so we don't want to do it e.g. on a per-packet basis. With just these configuration options, we now have a problem: We don't want to submit all spans to Sentry but we need the `span_filter` to allow all spans otherwise we can't capture the contextual fields from the span in breadcrumbs. Luckily, the Sentry SDK has another configuration option: `traces_sampler`. The `traces_sampler` gets to compute a sampling rate for each individual span. This allows us to discard all spans from being sent to Sentry unless they are `telemetry` spans. Resolves: #7386. |
||
|
|
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> |
||
|
|
c636ff174a |
fix(ci): Wait up to 20 seconds in E2E tests in CI for HTML element changes (#7450)
Fixes an intermittent issue where a slow runner could cause the 5s timeout to be hit when waiting for the Email OTP request submission to go through. https://github.com/firezone/firezone/actions/runs/12111072265/job/33762401305?pr=7445#step:16:1654 |
||
|
|
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=" |
||
|
|
bf81c6fa0b |
build(deps): bump tracing to 0.1.41 (#7407)
We have a special setup with `tracing` where we patch a Git-dependency to use a released version. Hence bumping this one separately. |
||
|
|
b340448e34 |
build(deps): Bump the navigation group in /kotlin/android with 2 updates (#7424)
Bumps the navigation group in /kotlin/android with 2 updates: androidx.navigation:navigation-fragment-ktx and androidx.navigation:navigation-ui-ktx. Updates `androidx.navigation:navigation-fragment-ktx` from 2.8.3 to 2.8.4 Updates `androidx.navigation:navigation-ui-ktx` from 2.8.3 to 2.8.4 Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
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=" |
||
|
|
2a306239f7 |
build(deps): Bump the google group in /terraform/environments/staging with 2 updates (#7429)
Bumps the google group in /terraform/environments/staging with 2 updates: [hashicorp/google](https://github.com/hashicorp/terraform-provider-google) and [hashicorp/google-beta](https://github.com/hashicorp/terraform-provider-google-beta). Updates `hashicorp/google` from 6.9.0 to 6.12.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hashicorp/terraform-provider-google/releases">hashicorp/google's releases</a>.</em></p> <blockquote> <h2>v6.12.0</h2> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_access_context_manager_access_policy</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20295">#20295</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_spark_application</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20242">#20242</a>)</li> <li><strong>New Resource:</strong> <code>google_managed_kafka_cluster</code> and <code>google_managed_kafka_topic</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20237">#20237</a>)</li> </ul> <p>IMPROVEMENTS:</p> <ul> <li>artifactregistry: added <code>common_repository</code> field to <code>google_artifact_registry_repository</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20305">#20305</a>)</li> <li>cloudrunv2: added <code>urls</code> output field to <code>google_cloud_run_v2_service</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20313">#20313</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>network_interface.nic_type</code> field in <code>google_compute_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>guest_os_features.type</code> field in <code>google_compute_image</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>replica_names</code> field to <code>sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20202">#20202</a>)</li> <li>filestore: added <code>performance_config</code> field to <code>google_filestore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20218">#20218</a>)</li> <li>redis: added <code>persistence_config</code> to <code>google_redis_cluster</code>. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20212">#20212</a>)</li> <li>securesourcemanager: added <code>workforce_identity_federation_config</code> field to <code>google_secure_source_manager_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20290">#20290</a>)</li> <li>spanner: added <code>default_backup_schedule_type</code> field to <code>google_spanner_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20213">#20213</a>)</li> <li>sql: added <code>psc_auto_connections</code> fields to <code>google_sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20307">#20307</a>)</li> </ul> <p>BUG FIXES:</p> <ul> <li>accesscontextmanager: fixed permadiff in perimeter <code>google_access_context_manager_service_perimeter_ingress_policy</code> and <code>google_access_context_manager_service_perimeter_egress_policy</code> resources when there are duplicate resources in the rules (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20294">#20294</a>)</li> <li> <ul> <li>accesscontextmanager: fixed comparison of <code>identity_type</code> in <code>ingress_from</code> and <code>egress_from</code> when the <code>IDENTITY_TYPE_UNSPECIFIED</code> is set (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20221">#20221</a>)</li> </ul> </li> <li>compute: fixed permadiff on attempted <code>type</code> field updates in <code>google_computer_security_policy</code>, updating this field will now force recreation of the resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20316">#20316</a>)</li> <li>identityplatform: fixed perma-diff originating from the <code>sign_in.anonymous.enabled</code> field in <code>google_identity_platform_config</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20244">#20244</a>)</li> </ul> <h2>v6.11.2</h2> <p>BUG FIXES:</p> <ul> <li>vertexai: fixed issue with google_vertex_ai_endpoint where upgrading to 6.11.0 would delete all traffic splits that were set outside Terraform (which was previously a required step for all meaningful use of this resource). (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20350">#20350</a>)</li> </ul> <h2>v6.11.1</h2> <p>BUG FIXES:</p> <ul> <li>container: fixed diff on <code>google_container_cluster.user_managed_keys_config</code> field for resources that had not set it. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> <li>container: marked <code>google_container_cluster.user_managed_keys_config</code> as immutable because it can't be updated in place. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> </ul> <h2>v6.11.0</h2> <p>NOTES:</p> <ul> <li>compute: migrated <code>google_compute_firewall_policy_rule</code> from DCL engine to MMv1 engine. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20160">#20160</a>)</li> </ul> <p>BREAKING CHANGES:</p> <ul> <li>looker: made <code>oauth_config</code> a required field in <code>google_looker_instance</code>, as creating this resource without that field always triggers an API error (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20196">#20196</a>)</li> </ul> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_spanner_database</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20114">#20114</a>)</li> <li><strong>New Resource:</strong> <code>google_apigee_api</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20113">#20113</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_application_environment</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20165">#20165</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_service_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20147">#20147</a>)</li> <li><strong>New Resource:</strong> <code>google_memorystore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20108">#20108</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hashicorp/terraform-provider-google/blob/main/CHANGELOG.md">hashicorp/google's changelog</a>.</em></p> <blockquote> <h2>6.12.0 (November 18, 2024)</h2> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_access_context_manager_access_policy</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20295">#20295</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_spark_application</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20242">#20242</a>)</li> <li><strong>New Resource:</strong> <code>google_managed_kafka_cluster</code> and <code>google_managed_kafka_topic</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20237">#20237</a>)</li> </ul> <p>IMPROVEMENTS:</p> <ul> <li>artifactregistry: added <code>common_repository</code> field to <code>google_artifact_registry_repository</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20305">#20305</a>)</li> <li>cloudrunv2: added <code>urls</code> output field to <code>google_cloud_run_v2_service</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20313">#20313</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>network_interface.nic_type</code> field in <code>google_compute_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>IDPF</code> as a possible value for the <code>guest_os_features.type</code> field in <code>google_compute_image</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20250">#20250</a>)</li> <li>compute: added <code>replica_names</code> field to <code>sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20202">#20202</a>)</li> <li>filestore: added <code>performance_config</code> field to <code>google_filestore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20218">#20218</a>)</li> <li>redis: added <code>persistence_config</code> to <code>google_redis_cluster</code>. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20212">#20212</a>)</li> <li>securesourcemanager: added <code>workforce_identity_federation_config</code> field to <code>google_secure_source_manager_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20290">#20290</a>)</li> <li>spanner: added <code>default_backup_schedule_type</code> field to <code>google_spanner_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20213">#20213</a>)</li> <li>sql: added <code>psc_auto_connections</code> fields to <code>google_sql_database_instance</code> resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20307">#20307</a>)</li> </ul> <p>BUG FIXES:</p> <ul> <li>accesscontextmanager: fixed permadiff in perimeter <code>google_access_context_manager_service_perimeter_ingress_policy</code> and <code>google_access_context_manager_service_perimeter_egress_policy</code> resources when there are duplicate resources in the rules (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20294">#20294</a>)</li> <li> <ul> <li>accesscontextmanager: fixed comparison of <code>identity_type</code> in <code>ingress_from</code> and <code>egress_from</code> when the <code>IDENTITY_TYPE_UNSPECIFIED</code> is set (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20221">#20221</a>)</li> </ul> </li> <li>compute: fixed permadiff on attempted <code>type</code> field updates in <code>google_computer_security_policy</code>, updating this field will now force recreation of the resource (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20316">#20316</a>)</li> <li>identityplatform: fixed perma-diff originating from the <code>sign_in.anonymous.enabled</code> field in <code>google_identity_platform_config</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20244">#20244</a>)</li> </ul> <h2>6.11.2 (November 15, 2024)</h2> <p>BUG FIXES:</p> <ul> <li>vertexai: fixed issue with google_vertex_ai_endpoint where upgrading to 6.11.0 would delete all traffic splits that were set outside Terraform (which was previously a required step for all meaningful use of this resource). (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20350">#20350</a>)</li> </ul> <h2>6.11.1 (November 12, 2024)</h2> <p>BUG FIXES:</p> <ul> <li>container: fixed diff on <code>google_container_cluster.user_managed_keys_config</code> field for resources that had not set it. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> <li>container: marked <code>google_container_cluster.user_managed_keys_config</code> as immutable because it can't be updated in place. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20314">#20314</a>)</li> </ul> <h2>6.11.0 (November 11, 2024)</h2> <p>NOTES:</p> <ul> <li>compute: migrated <code>google_compute_firewall_policy_rule</code> from DCL engine to MMv1 engine. (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20160">#20160</a>)</li> </ul> <p>BREAKING CHANGES:</p> <ul> <li>looker: made <code>oauth_config</code> a required field in <code>google_looker_instance</code>, as creating this resource without that field always triggers an API error (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20196">#20196</a>)</li> </ul> <p>FEATURES:</p> <ul> <li><strong>New Data Source:</strong> <code>google_spanner_database</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20114">#20114</a>)</li> <li><strong>New Resource:</strong> <code>google_apigee_api</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20113">#20113</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_application_environment</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20165">#20165</a>)</li> <li><strong>New Resource:</strong> <code>google_dataproc_gdc_service_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20147">#20147</a>)</li> <li><strong>New Resource:</strong> <code>google_memorystore_instance</code> (<a href="https://redirect.github.com/hashicorp/terraform-provider-google/pull/20108">#20108</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </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=" |
||
|
|
e1ed497d12 |
fix(apple): Expose MACOSX_DEPLOYMENT_TARGET in rust apple build script to signal to rustc which macOS to target (#7443)
`MACOSX_DEPLOYMENT_TARGET` is a standard env var read by gcc and rustc that determines which version of macOS to target binaries for. This variable was being removed inadvertently in our rust build script. Exposing this var fixes a slew of warnings about object files being built for a newer macOS target than being linked that were showing up in Xcode for some time now. Hasn't caused any issues thus far from what I can tell, but possibly related to #7442 |
||
|
|
f5717f336f |
ci: group all android navigation libs (#7440)
Fixes some dependabot groups that weren't grouped. Co-authored-by: Thomas Eizinger <thomas@eizinger.io> |
||
|
|
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 |
||
|
|
d06bdaac91 |
chore(relay): don't warn on existing allocation (#7415)
A client may have lost its state and therefore "probe" the relay whether or not is still has an allocation. If it does, it will react to the error, delete it and make a new one. This is no reason to print a warning on the relay side. |
||
|
|
e833cb4f30 |
fix(rust): don't log and return DisconnectErrors (#7416)
These will be handled by whoever sits on the other side of the channel. Logging these here as well causes duplicate logs and error reports to Sentry. |
||
|
|
5f4816ee46 |
fix(connlib): don't warn on non-UDP packet to DNS resolver IP (#7418)
Windows appears to sometimes send ICMP (error?) packets to our DNS resolver IPs. There is nothing we can do with these but the current code path logs them as a warning because we expect everything that isn't TCP to be UDP. With this patch, we slightly change the parsing logic to first attempt extracting the UDP packet and fail only with a DEBUG log if it isn't. |
||
|
|
a3e3d4cac5 |
fix(gateway): filter packets not destined for a client (#7417)
This causes unnecessary logs higher up the stack. |
||
|
|
8e967674fc |
build(deps): Bump androidx.navigation:navigation-testing from 2.8.3 to 2.8.4 in /kotlin/android (#7425)
Bumps androidx.navigation:navigation-testing from 2.8.3 to 2.8.4. [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
787ee852ac |
build(deps): Bump lycheeverse/lychee-action from 2.0.2 to 2.1.0 (#7422)
Bumps [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) from 2.0.2 to 2.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's releases</a>.</em></p> <blockquote> <h2>Version 2.1.0</h2> <h2>What's Changed</h2> <ul> <li>Add missing argument <code>failIfEmpty</code> by <a href="https://github.com/LitoMore"><code>@LitoMore</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/261">lycheeverse/lychee-action#261</a></li> <li>Fix bugs about the exit code by <a href="https://github.com/YDX-2147483647"><code>@YDX-2147483647</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/262">lycheeverse/lychee-action#262</a></li> <li>Bump lychee version to 0.17.0 by <a href="https://github.com/mre"><code>@mre</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/263">lycheeverse/lychee-action#263</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/LitoMore"><code>@LitoMore</code></a> made their first contribution in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/261">lycheeverse/lychee-action#261</a></li> <li><a href="https://github.com/YDX-2147483647"><code>@YDX-2147483647</code></a> made their first contribution in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/262">lycheeverse/lychee-action#262</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/lycheeverse/lychee-action/compare/v2...v2.1.0">https://github.com/lycheeverse/lychee-action/compare/v2...v2.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
04843309ce |
build(deps): Bump com.google.firebase:firebase-bom from 33.4.0 to 33.6.0 in /kotlin/android (#7426)
Bumps com.google.firebase:firebase-bom from 33.4.0 to 33.6.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> |
||
|
|
9ce6a721ac |
build(deps): Bump androidx.navigation:navigation-safe-args-gradle-plugin from 2.8.2 to 2.8.4 in /kotlin/android (#7427)
Bumps androidx.navigation:navigation-safe-args-gradle-plugin from 2.8.2 to 2.8.4. [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
e0279833da |
build(deps): Bump androidx.fragment:fragment-testing from 1.8.4 to 1.8.5 in /kotlin/android (#7428)
Bumps androidx.fragment:fragment-testing from 1.8.4 to 1.8.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> |
||
|
|
932f6791fb |
fix(phoenix-channel): lazily create backoff timer (#7414)
Our `phoenix-channel` component is responsible for maintaining a WebSocket connection to the portal. In case that connection fails, we want to reconnect to it using an exponential backoff, eventually giving up after a certain amount of time. Unfortunately, the code we have today doesn't quite do that. An `ExponentialBackoff` has a setting for the `max_elapsed_time`. Regardless of how many and how often we retry something, we won't ever wait longer than this amount of time. For the Relay, this is set to 15min. For other components its indefinite (Gateway, headless-client), or very long (30 days for Android, 1 day for Apple). The point in time from which this duration is counted is when the `ExponentialBackoff` is **constructed** which translates to when we **first** connected to the portal. As a result, our backoff would immediately fail on the first error if it has been longer than `max_elapsed_time` since we first connected. For most components, this codepath is not relevant because the `max_elapsed_time` is so long. For the Relay however, that is only 15 minutes so chances are, the Relay would immediately fail (and get rebooted) on the first connection error with the portal. To fix this, we now lazily create the `ExponentialBackoff` on the first error. This bug has some interesting consequences: When a relay reboots, it looses all its state, i.e. allocations, channel bindings, available nonces etc, stamp-secret. Thus, all credentials and state that got distributed to Clients and Gateways get invalidated, causing disconnects from the Relay. We have observed these alerts in Sentry for a while and couldn't explain them. Most likely, this is the root cause for those because whilst a Relay disconnects, the portal also cannot detect its presence and pro-actively inform Clients and Gateways to no longer use this Relay. |
||
|
|
c6e7e6192e |
build(rust): bump Rust to 1.83 (#7409)
Rust 1.83 comes with a bunch of new lints for elidible lifetimes. Those also trigger in the generated code of `derivative`. That crate is actually unmaintained so we replace our usages of it with `derive_more`. |
||
|
|
e46cb3f62b |
chore(snownet): improve log when MessageIntegrity is missing (#7399)
|
||
|
|
bea8393248 |
fix(relay): reduce number of warnings (#7411)
With this PR, we reduce some of the warnings emitted by the relay. If we can only partially fulfill an allocation, we now only emit a warning. Similarly, if we receive a repeated SIGTERM signal, we shut down successfully (i.e. exit with code 0) instead of failing the event-loop. During normal operation, we wait for all allocations to expire before we shut down. On CI however, the relay gets shutdown much earlier so this would generate unnecessary errors. Receiving another SIGTERM is a user-initiated action so we shouldn't fail as a result but instead just comply with it. |
||
|
|
c7d46b475e |
build(rust): configure cargo cross to passthrough GITHUB_SHA (#7410)
Our relays aren't semver-versioned like other components. So for the version reported to Sentry, we use the current Git SHA. This one is only available as an ENV variable because we are building within a docker container using `cargo cross`. By default, no env variables are passed through to the container. To fix this, we need to add a configuration file that explicitly opts-in to the necessary ENV variable. |
||
|
|
d41c3afb0b |
chore(rust): add comments for ignored advisories (#7408)
We ignore some advisories of unmaintained crates flagged by `cargo deny`. As long as the crates work for us, there is not much reason to directly remove them, especially if it requires upstream effort. We will get rid of these as they cause problems. To avoid having to look up what they correspond to, we add a comment to each line. |
||
|
|
075c7bf2ad |
build(deps): Bump tauri-winrt-notification from 0.6.0 to 0.7.0 in /rust (#7306)
Bumps [tauri-winrt-notification](https://github.com/tauri-apps/winrt-notification) from 0.6.0 to 0.7.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tauri-apps/winrt-notification/releases">tauri-winrt-notification's releases</a>.</em></p> <blockquote> <h2>tauri-winrt-notification v0.7.0</h2> <p>Updating crates.io index Locking 25 packages to latest compatible versions Adding quick-xml v0.31.0 (latest: v0.37.0) Adding windows-strings v0.1.0 (latest: v0.2.0)</p> <!-- raw HTML omitted --> <pre><code>Fetching advisory database from `https://github.com/RustSec/advisory-db.git` Loaded 664 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (25 crate dependencies) </code></pre> <!-- raw HTML omitted --> <h2>[0.7.0]</h2> <ul> <li><a href=" |
||
|
|
e91a076307 |
refactor(relay): improve error messages on failed requests (#7405)
Some house-keeping that should make debugging issues around relay-disconnects easier. |
||
|
|
60b48afcc5 |
build(deps): Bump serde_json from 1.0.132 to 1.0.133 in /rust (#7397)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.132 to 1.0.133. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.133</h2> <ul> <li>Implement From<[T; N]> for serde_json::Value (<a href="https://redirect.github.com/serde-rs/json/issues/1215">#1215</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |