Firezone
firezone.devOpen-source self-hosted VPN and firewall built on WireGuard®.
- Homepage: firezone.dev
- GitHub: github.com/firezone/firezone
- Web info: web-check.xyz/check/firezone.dev
Firezone Source Code
Author
Description
Enterprise-ready zero-trust access platform built on WireGuard®.
Homepage
https://www.firezone.devLicense
Apache-2.0
Created
22 Apr 20
Last Updated
12 Jul 26
Latest version
Primary Language
Elixir
Size
228,903 KB
Stars
8,725
Forks
425
Watchers
8,725
Language Usage
Star History
Top Contributors
-
@jamilbk (4312)
-
@thomaseizinger (2143)
-
@dependabot[bot] (2075)
-
@AndrewDryga (632)
-
@ReactorScram (479)
-
@bmanifold (211)
-
@conectado (206)
-
@klochowicz (129)
-
@firezone-bot (52)
-
@princemaple (49)
-
@roop (33)
-
@Copilot (23)
-
@Patticatti (21)
-
@jasonboukheir (20)
-
@pratikvelani (16)
-
@gongjason (14)
-
@francesca64 (11)
-
@Intuinewin (9)
-
@mdp (6)
-
@DoctorFTB (6)
-
@gbe0 (5)
-
@chetanverma16 (2)
-
@thermionic (2)
-
@toreanderson (2)
-
@tyrann0us (1)
-
@numberjs (1)
-
@sebastianbuechler (1)
-
@shantanugadgil (1)
-
@hieultan (1)
-
@leriel (1)
-
@lilibobear (1)
-
@oddlama (1)
-
@pemontto (1)
-
@seer-by-sentry[bot] (1)
-
@wwuck (1)
-
@yenba (1)
-
@RamboRogers (1)
-
@salemgolemugoo (1)
-
@kianmeng (1)
-
@jefferenced (1)
-
@jameswinegar (1)
-
@muroed (1)
-
@ssaunderss (1)
-
@akrousset (1)
-
@marbindrakon (1)
-
@aljaxus (1)
-
@adrianbaena (1)
-
@mostafahussein (1)
Recent Commits
-
Jamil (11 Jul 26)
fix(portal): truncate ip addresses in logs tables (#14069)
-
Jamil (11 Jul 26)
fix(portal): ignore request_device_access msg (#14064) This message was added as a PoC for #11143 and was later removed, but some clients have it and are sending it spuriously / by accident whenever a packet enters the tunnel with a destination IP in the CGNAT range. Related: https://firezone-inc.sentry.io/issues/7453298209/?project=4508756715569152&query=is%3Aunresolved&referrer=issue-stream
-
Thomas Eizinger (10 Jul 26)
refactor(connlib): rework iceless path-agent to a simpler model (#14033) The fundamental idea of our iceless path selection algorithm is to replace ICE with a mechanism that relies entirely on WireGuard packets for hole-punching. That idea is still the same, even with this PR. The probes which end up doing the hole-punching are still synthetical ICMPv6 packets that get exchanged as WireGuard data packets. The bootstrap algorithm of fanning out the initial handshake across relay pairs also remains the same. What is changing in this PR is how and when we update the *primary* path, i.e. the socket pair used by connlib to send application data. We used to have an "evaluation window" during which we'd send probes and then settle on the best one. Various events would "open" this evaluation window so we could re-evaluate the primary path. This idea proved to be brittle. For one, a time-based window can expire without a result if the network conditions are hostile and e.g. a roaming condition takes longer to complete than intended. Two, we'd somehow have to communicate to the other side that we are re-evaluating because they should likely do so too. Three, one of the core problems from ICE we wanted to solve was to remove false-positive disconnects from probe loss. The question of "how do we detect a broken connection" still remained unsolved in the previous model. Field testing the current model revealed the above problems. We are thus changing a few things fundamentally on how the _inside_ of our path agent works: 1. Probes continue forever until we have found a working path. Once we have a path, we send at most 12 probes. As a result, the path agent goes almost entirely quiet once it has done its job. 2. The path can be promoted at any point if a probe confirms a better path. No more evaluation window. In practice, because probes go silent after 12 messages, there is only a limited amount of time where it does get updated. The main difference is that we always give the opportunity for an upgrade implicitly when there are probes. 3. Repeated rekeys are taken as a distress signal and clear the current path. 4. New candidates also clear the current path. 5. An empty path can automatically be promoted to any working path. --------- Co-authored-by: Claude <[email protected]>
-
Jamil (10 Jul 26)
feat(portal): unify audit logs behind a single Logs section (#14067) Collapse the four Audit sidebar items (Change / Session / Flow / API Request Logs) into a single **Logs** entry with a `file-list-3` icon and a `NEW` badge. The four views become tabs under a shared header — one icon, one title, one description — so they read as one destination. The tab strip owns the per-log navigation and the `docs_action` link. <img width="1840" height="1191" alt="Screenshot 2026-07-10 at 9 44 56 AM" src="https://github.com/user-attachments/assets/711c457e-deb9-4a98-acea-16616f40ee61" /> Related: #13442
-
Jamil (10 Jul 26)
refactor(portal): rename event_id to log_id (#14065) Renames event_id to log_id across the four log streams (change, session, flow, api_request), the /logs API, and the database. The upcoming log sinks feature will deliver flow logs to external destinations (Splunk, Datadog, etc.) as two events: one when the flow opens and one when it closes. Both events share the same id because they describe the same flow log row. `event_id` implied the id is unique per event, and it isn't. `log_id` names what it actually identifies: the log row. Sinks will use (type, log_id, phase) as the delivery idempotency key, e.g. (flow, log_id, start|end). The column rename is catalog-only but needs a brief exclusive lock on the log tables, so it ships as a manual migration. --------- Signed-off-by: Jamil <[email protected]> Co-authored-by: Copilot Autofix powered by AI <[email protected]>
-
Jamil (10 Jul 26)
feat(portal): change logs UI (#13442) Adds a Change Logs page to the portal under Logs. The table is server-paginated, sortable by timestamp or event id, and clicking a row opens a side panel with a structured before/after diff. Filters: - **Actor or event ID** — free-text search across the subject's actor id/name/email and the event id's hex form. One combined input so the same field handles both "what did X do" and direct event lookup. - **Show system updates** — toggle, off by default. Hides entries with no subject (system-generated changes like background jobs) so the default view is human-driven activity. - **Operation** — Insert / Update / Delete button group. Three mutually exclusive values, so a button group is more discoverable than a dropdown. - **Object** — multi-select over every auditable table. Investigations usually scope to a few related tables. - **Timestamp** — datetime range with a UTC/Local pill toggle inside the picker. UTC for server-log correlation, Local for scoping a window in the operator's own time. ### Screens <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 49 34 PM" src="https://github.com/user-attachments/assets/d87264ea-f624-4e3d-9cfe-fb4b41808f75" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 49 50 PM" src="https://github.com/user-attachments/assets/6d7b5df5-fa6d-4b45-8e99-8c8ff6e6dc62" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 55 51 PM" src="https://github.com/user-attachments/assets/aa618ab9-62a0-4a88-8d2e-d742f53c488a" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 55 58 PM" src="https://github.com/user-attachments/assets/3eb61129-2b8b-49e0-9b6a-42abdf15a69e" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 56 06 PM" src="https://github.com/user-attachments/assets/80055825-0a6d-4975-84f8-d73a9d788923" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 56 08 PM" src="https://github.com/user-attachments/assets/86f04a6e-b28c-4d43-84bf-76397fe1512a" /> <img width="1840" height="1191" alt="Screenshot 2026-07-09 at 3 56 16 PM" src="https://github.com/user-attachments/assets/9e9ceb4b-fbf9-4f3b-af5d-f8868ba7969c" /> --- Fixes #10750 --------- Co-authored-by: Claude Opus 4.7 <[email protected]>
-
Jamil (10 Jul 26)
fix(portal): revoke responder authorizations on member removal (#14059) Removing a device from a static device pool only told the initiating side to stop. The removed device itself kept the authorizations that let peers reach it, honored them until they expired, and re-loaded them from init on reconnect. Deleting a pool member now also deletes the policy authorizations where the removed device is the responder. The device then receives reject_access and drops the stale access right away. Related: #11143 --------- Co-authored-by: Claude Opus 4.8 <[email protected]>
-
Jamil (10 Jul 26)
chore(portal): bump postgrex, plug (#14063)
-
dependabot[bot] (10 Jul 26)
build(deps): bump androidx.lifecycle:lifecycle-runtime-compose from 2.10.0 to 2.11.0 in /kotlin/android (#13890) Bumps androidx.lifecycle:lifecycle-runtime-compose from 2.10.0 to 2.11.0. --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jamil Bou Kheir <[email protected]> Co-authored-by: Claude Fable 5 <[email protected]>
-
dependabot[bot] (10 Jul 26)
build(deps): bump androidx.compose:compose-bom from 2026.06.00 to 2026.06.01 in /kotlin/android (#13996) Bumps androidx.compose:compose-bom from 2026.06.00 to 2026.06.01. [](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 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] (10 Jul 26)
build(deps): bump io.sentry:sentry-android from 8.43.2 to 8.46.0 in /kotlin/android (#14003) Bumps [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) from 8.43.2 to 8.46.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-java/releases">io.sentry:sentry-android's releases</a>.</em></p> <blockquote> <h2>8.46.0</h2> <h3>Behavioral Changes</h3> <ul> <li>Collections returned by scope (e.g. <code>getBreadcrumbs</code>, <code>getTags</code>, <code>getAttachments</code>) are shared state and should not be mutated. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5541">#5541</a>) <ul> <li>Previously, when going through <code>CombinedScopeView</code>, we were returning a copy where mutations didn't show up in the underlying scopes.</li> <li>This has now changed in order to reduce SDK overhead.</li> </ul> </li> <li><code>Date</code> objects returned by SDK data model getters are shared state and should not be mutated. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5603">#5603</a>) <ul> <li>Previously, these getters returned defensive copies for some date fields.</li> <li>This has now changed in order to reduce SDK overhead.</li> </ul> </li> </ul> <h3>Performance</h3> <ul> <li>Reduce writer buffer size from 8192 to 512 (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5544">#5544</a>)</li> <li>Remove redundant event map copies (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5536">#5536</a>)</li> <li>Optimize combined scope by adding an early return if only one scope has data (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5541">#5541</a>)</li> <li>Reduce model access overhead by avoiding defensive <code>Date</code> copies in SDK data model getters. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5603">#5603</a>)</li> <li>Reduce timestamp parsing and formatting overhead with Sentry-specific ISO-8601 handling. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5602">#5602</a>)</li> <li>Reduce JSON serialization overhead by creating the reflection serializer only when unknown-object fallback serialization is needed. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5601">#5601</a>)</li> <li>Reduce JSON serialization overhead by allocating reflection cycle-tracking state only when reflection serialization is used. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5600">#5600</a>)</li> <li>Reduce context serialization overhead by sorting key snapshots with arrays instead of temporary lists. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5599">#5599</a>)</li> <li>Reduce breadcrumb allocation overhead by creating the <code>Breadcrumb</code> data map only when data is added. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5598">#5598</a>)</li> <li>Reduce JSON serialization overhead by lowering the initial <code>JsonWriter</code> nesting stack size while preserving on-demand growth. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5591">#5591</a>)</li> <li>Reduce timestamp helper overhead by replacing unnecessary <code>Calendar</code> usage in <code>DateUtils</code> with direct <code>Date</code> creation. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5589">#5589</a>)</li> <li>Reduce Android startup overhead by using the default timezone directly on older devices or when no timezone info is available in the locale. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5587">#5587</a>)</li> </ul> <h2>8.45.0</h2> <h3>Features</h3> <ul> <li>On Android 15+ (API 35), the standalone <code>app.start</code> transaction now reports why the OS started the process via <code>app.vitals.start.reason</code> trace data (e.g. <code>launcher</code>, <code>broadcast</code>, <code>service</code>, <code>content_provider</code>), derived from <code>ApplicationStartInfo.getReason()</code>. You can search and group by this attribute in the Trace Explorer. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5552">#5552</a>)</li> </ul> <h3>Fixes</h3> <ul> <li>Use <code>System.nanoTime()</code> for cron check-in duration measurement to avoid incorrect durations from wall-clock adjustments (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5611">#5611</a>)</li> <li>Fix crash when <code>getHistoricalProcessStartReasons</code> is called from an isolated or wrong-userId process (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5597">#5597</a>)</li> <li>Release <code>MediaMuxer</code> when a replay segment has no encodable frames to avoid a resource leak (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5583">#5583</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>Bump Native SDK from v0.15.1 to v0.15.2 (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5610">#5610</a>) <ul> <li><a href="https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0152">changelog</a></li> <li><a href="https://github.com/getsentry/sentry-native/compare/0.15.1...0.15.2">diff</a></li> </ul> </li> </ul> <h2>8.44.1</h2> <h3>Fixes</h3> <ul> <li>Fix <code>FirstDrawDoneListener</code> leaking an <code>OnGlobalLayoutListener</code> per registration (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5567">#5567</a>)</li> </ul> <h3>Features</h3> <ul> <li>Add experimental <code>SentrySQLiteDriver</code> to <code>sentry-android-sqlite</code> for instrumenting <code>androidx.sqlite.SQLiteDriver</code> (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5563">#5563</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md">io.sentry:sentry-android's changelog</a>.</em></p> <blockquote> <h2>8.46.0</h2> <h3>Fixes</h3> <ul> <li>Session Replay: Fix network detail response body size being unknown for gzip-compressed responses (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5592">#5592</a>)</li> </ul> <h3>Behavioral Changes</h3> <ul> <li>Collections returned by scope (e.g. <code>getBreadcrumbs</code>, <code>getTags</code>, <code>getAttachments</code>) are shared state and should not be mutated. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5541">#5541</a>) <ul> <li>Previously, when going through <code>CombinedScopeView</code>, we were returning a copy where mutations didn't show up in the underlying scopes.</li> <li>This has now changed in order to reduce SDK overhead.</li> </ul> </li> <li><code>Date</code> objects returned by SDK data model getters are shared state and should not be mutated. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5603">#5603</a>) <ul> <li>Previously, these getters returned defensive copies for some date fields.</li> <li>This has now changed in order to reduce SDK overhead.</li> </ul> </li> </ul> <h3>Performance</h3> <ul> <li>Reduce writer buffer size from 8192 to 512 (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5544">#5544</a>)</li> <li>Remove redundant event map copies (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5536">#5536</a>)</li> <li>Optimize combined scope by adding an early return if only one scope has data (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5541">#5541</a>)</li> <li>Reduce model access overhead by avoiding defensive <code>Date</code> copies in SDK data model getters. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5603">#5603</a>)</li> <li>Reduce timestamp parsing and formatting overhead with Sentry-specific ISO-8601 handling. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5602">#5602</a>)</li> <li>Reduce JSON serialization overhead by creating the reflection serializer only when unknown-object fallback serialization is needed. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5601">#5601</a>)</li> <li>Reduce JSON serialization overhead by allocating reflection cycle-tracking state only when reflection serialization is used. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5600">#5600</a>)</li> <li>Reduce context serialization overhead by sorting key snapshots with arrays instead of temporary lists. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5599">#5599</a>)</li> <li>Reduce breadcrumb allocation overhead by creating the <code>Breadcrumb</code> data map only when data is added. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5598">#5598</a>)</li> <li>Reduce JSON serialization overhead by lowering the initial <code>JsonWriter</code> nesting stack size while preserving on-demand growth. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5591">#5591</a>)</li> <li>Reduce timestamp helper overhead by replacing unnecessary <code>Calendar</code> usage in <code>DateUtils</code> with direct <code>Date</code> creation. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5589">#5589</a>)</li> <li>Reduce Android startup overhead by using the default timezone directly on older devices or when no timezone info is available in the locale. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5587">#5587</a>)</li> </ul> <h2>8.45.0</h2> <h3>Features</h3> <ul> <li>On Android 15+ (API 35), the standalone <code>app.start</code> transaction now reports why the OS started the process via <code>app.vitals.start.reason</code> trace data (e.g. <code>launcher</code>, <code>broadcast</code>, <code>service</code>, <code>content_provider</code>), derived from <code>ApplicationStartInfo.getReason()</code>. You can search and group by this attribute in the Trace Explorer. (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5552">#5552</a>)</li> </ul> <h3>Fixes</h3> <ul> <li>Use <code>System.nanoTime()</code> for cron check-in duration measurement to avoid incorrect durations from wall-clock adjustments (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5611">#5611</a>)</li> <li>Fix crash when <code>getHistoricalProcessStartReasons</code> is called from an isolated or wrong-userId process (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5597">#5597</a>)</li> <li>Release <code>MediaMuxer</code> when a replay segment has no encodable frames to avoid a resource leak (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5583">#5583</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>Bump Native SDK from v0.15.1 to v0.15.2 (<a href="https://redirect.github.com/getsentry/sentry-java/pull/5610">#5610</a>) <ul> <li><a href="https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0152">changelog</a></li> <li><a href="https://github.com/getsentry/sentry-native/compare/0.15.1...0.15.2">diff</a></li> </ul> </li> </ul> <h2>8.44.1</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/getsentry/sentry-java/commit/8c43a107a007ae5e2aea365bdf434318784049d7"><code>8c43a10</code></a> release: 8.46.0</li> <li><a href="https://github.com/getsentry/sentry-java/commit/2ebf90a0da3127c7b3adee4a86fe3c142bc6fa26"><code>2ebf90a</code></a> perf(core): SDK Overhead Reduction (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5499">#5499</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/e0a2a6e63c9cf289a0d15f16b91b2ce19adf2fc6"><code>e0a2a6e</code></a> build: Remove redundant mavenCentral repository declarations (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5638">#5638</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/f082155e971b6ff724767cdc68f269f188f58d0a"><code>f082155</code></a> build: Remove redundant Java compatibility block from sentry-apollo-4 (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5633">#5633</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/fa825503d1a24bca46aa0f7a71b9d1a06ee00351"><code>fa82550</code></a> chore(deps): Bump dependencies associated with SentrySQLiteDriver (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5630">#5630</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/6bbdfbea7809761ded2735fc5a81acbab5182dc2"><code>6bbdfbe</code></a> chore(changelog): Add 8.43.3 hotfix (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5620">#5620</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/d735888152fb47be1e04654e453e37febe3a0b9d"><code>d735888</code></a> chore(android-sqlite): Update SQLite instrumentation documentation after 8.45...</li> <li><a href="https://github.com/getsentry/sentry-java/commit/6424f21f3573988056d194317e654ef11d605426"><code>6424f21</code></a> build: Remove redundant test source set declarations (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5624">#5624</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/2c01eff3d05e76446bc1264d9235077ce183fee6"><code>2c01eff</code></a> fix(changelog): Move app start reason to 8.45.0 (<a href="https://redirect.github.com/getsentry/sentry-java/issues/5625">#5625</a>)</li> <li><a href="https://github.com/getsentry/sentry-java/commit/2d654c0f0bc7f00250dc5583afcefd6ba7cfe6bf"><code>2d654c0</code></a> Merge branch 'release/8.45.0'</li> <li>Additional commits viewable in <a href="https://github.com/getsentry/sentry-java/compare/8.43.2...8.46.0">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 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] (10 Jul 26)
build(deps): bump the hilt group in /kotlin/android with 4 updates (#13985) Bumps the hilt group in /kotlin/android with 4 updates: [com.google.dagger.hilt.android](https://github.com/google/dagger), [com.google.dagger:hilt-android](https://github.com/google/dagger), [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) and [com.google.dagger:hilt-android-testing](https://github.com/google/dagger). Updates `com.google.dagger.hilt.android` from 2.59.2 to 2.60 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google/dagger/releases">com.google.dagger.hilt.android's releases</a>.</em></p> <blockquote> <h2>Dagger 2.60</h2> <h2>New features:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5165">#5165</a>: Support nullable type annotations when using the flag <code>-Adagger.nullableTypeAnnotations=enabled</code>. For more details see <a href="https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations">https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations</a>. (4bedb4b64)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5087">#5087</a>: When using the <a href="https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin">Hilt Gradle plugin</a>, you can now disable <a href="https://dagger.dev/dev-guide/compiler-options#fast-init">fastInit mode</a> from the command line, e.g. <code>-Pdagger.hilt.fastInit=false</code>. For more details see <a href="https://dagger.dev/hilt/flags#fast-init">https://dagger.dev/hilt/flags#fast-init</a>. (0f7642ba1)</li> <li>Introduced parameterless <code>@Binds</code> methods to explicitly bind <code>@Inject</code> constructors. For more details see <a href="https://dagger.dev/dev-guide/#parameterless-binds">https://dagger.dev/dev-guide/#parameterless-binds</a>. (4c81e9416)</li> </ul> <h2>Potential breaking changes:</h2> <ul> <li>When using the Hilt Gradle plugin, an error is now reported if a user sets a plugin-controlled flag (previously the plugin just ignored the user’s input). (a119ba68c)</li> <li>Multidex support is removed. minSDK for Hilt is now 23, matching AndroidX (<a href="https://issuetracker.google.com/380448311">https://issuetracker.google.com/380448311</a>) (1990bd1c4)</li> </ul> <h2>Bug fixes:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/1290">#1290</a>: Enabled Guava BetaApi checks (5b8b2bdbe)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5190">#5190</a>, <a href="https://redirect.github.com/google/dagger/issues/5180">#5180</a>, <a href="https://redirect.github.com/google/dagger/issues/5177">#5177</a>: Updated Kotlin version ton 2.3.21 (7daaec5a9)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5160">#5160</a>: Deferred ViewModelMetadata processing on error types or missing <a href="https://github.com/AssistedFactory"><code>@AssistedFactory</code></a> (59827c699)</li> <li>Fixes missing originating element attachments in a few Hilt processors to ensure correct incremental compilation tracking. (2930ca837)</li> <li>Fixes Dagger multibinding duplicate masking across Map components (compile-time validation) Adds strict compile-time detection for duplicate map multibinding keys across component boundaries. This is enabled via the <code>-Adagger.mapMultibindingDuplicateDetectionFix=ENABLED</code>. This option is <code>DISABLED</code> by default to maintain backward compatibility. See <a href="https://dagger.dev/dev-guide/compiler-options#map-multibinding-duplicate-detection-fix">Compiler Options</a> for more details. (504397ebe)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/dagger/commit/d9ccdc70e7f68cffcdad04f90463963bd6713043"><code>d9ccdc7</code></a> 2.60 release</li> <li><a href="https://github.com/google/dagger/commit/7451e3788d1f7944323f6dcad6e404274bba166c"><code>7451e37</code></a> Add dependenciesRequested to ProducerMonitor</li> <li><a href="https://github.com/google/dagger/commit/e820a704ca51606575dc35d78eedcfcfe24061c4"><code>e820a70</code></a> Refactor: Inline library sources directly within MembersInjectionValidationTest</li> <li><a href="https://github.com/google/dagger/commit/4bedb4b6417e61184a84070389fff453926b17c3"><code>4bedb4b</code></a> Support nullable type annotations with a flag.</li> <li><a href="https://github.com/google/dagger/commit/445e6f01f505a4e5b6dff8edb564b2c8205376e4"><code>445e6f0</code></a> Fix wording on ProducerMonitor methodStarting and ready javadocs</li> <li><a href="https://github.com/google/dagger/commit/5b8b2bdbed4b048087fad859aeced2539b04a1fd"><code>5b8b2bd</code></a> Enable Guava BetaApi checks in Dagger's Bazel build.</li> <li><a href="https://github.com/google/dagger/commit/639cd2b7dbc87414e463ec9519911fb3c77696c0"><code>639cd2b</code></a> Temporarily disable a few KSP tests before updating XProcessing artifacts.</li> <li><a href="https://github.com/google/dagger/commit/5988296e5bca4c2c7cae8e291c724b22d2adb35f"><code>5988296</code></a> Handle <code>RuntimeException</code>s in <code>DaggerSuperficialValidation</code> getMessage / trac...</li> <li><a href="https://github.com/google/dagger/commit/2227e7023b162f4889773b7d9b004e36b5b70cf2"><code>2227e70</code></a> Remove unused ProcessorErrors methods.</li> <li><a href="https://github.com/google/dagger/commit/7daaec5a969591650101a612d580eef93a65d59b"><code>7daaec5</code></a> Update Kotlin and KSP versions to 2.3.</li> <li>Additional commits viewable in <a href="https://github.com/google/dagger/compare/dagger-2.59.2...dagger-2.60">compare view</a></li> </ul> </details> <br /> Updates `com.google.dagger:hilt-android` from 2.59.2 to 2.60 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android's releases</a>.</em></p> <blockquote> <h2>Dagger 2.60</h2> <h2>New features:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5165">#5165</a>: Support nullable type annotations when using the flag <code>-Adagger.nullableTypeAnnotations=enabled</code>. For more details see <a href="https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations">https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations</a>. (4bedb4b64)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5087">#5087</a>: When using the <a href="https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin">Hilt Gradle plugin</a>, you can now disable <a href="https://dagger.dev/dev-guide/compiler-options#fast-init">fastInit mode</a> from the command line, e.g. <code>-Pdagger.hilt.fastInit=false</code>. For more details see <a href="https://dagger.dev/hilt/flags#fast-init">https://dagger.dev/hilt/flags#fast-init</a>. (0f7642ba1)</li> <li>Introduced parameterless <code>@Binds</code> methods to explicitly bind <code>@Inject</code> constructors. For more details see <a href="https://dagger.dev/dev-guide/#parameterless-binds">https://dagger.dev/dev-guide/#parameterless-binds</a>. (4c81e9416)</li> </ul> <h2>Potential breaking changes:</h2> <ul> <li>When using the Hilt Gradle plugin, an error is now reported if a user sets a plugin-controlled flag (previously the plugin just ignored the user’s input). (a119ba68c)</li> <li>Multidex support is removed. minSDK for Hilt is now 23, matching AndroidX (<a href="https://issuetracker.google.com/380448311">https://issuetracker.google.com/380448311</a>) (1990bd1c4)</li> </ul> <h2>Bug fixes:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/1290">#1290</a>: Enabled Guava BetaApi checks (5b8b2bdbe)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5190">#5190</a>, <a href="https://redirect.github.com/google/dagger/issues/5180">#5180</a>, <a href="https://redirect.github.com/google/dagger/issues/5177">#5177</a>: Updated Kotlin version ton 2.3.21 (7daaec5a9)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5160">#5160</a>: Deferred ViewModelMetadata processing on error types or missing <a href="https://github.com/AssistedFactory"><code>@AssistedFactory</code></a> (59827c699)</li> <li>Fixes missing originating element attachments in a few Hilt processors to ensure correct incremental compilation tracking. (2930ca837)</li> <li>Fixes Dagger multibinding duplicate masking across Map components (compile-time validation) Adds strict compile-time detection for duplicate map multibinding keys across component boundaries. This is enabled via the <code>-Adagger.mapMultibindingDuplicateDetectionFix=ENABLED</code>. This option is <code>DISABLED</code> by default to maintain backward compatibility. See <a href="https://dagger.dev/dev-guide/compiler-options#map-multibinding-duplicate-detection-fix">Compiler Options</a> for more details. (504397ebe)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/dagger/commit/d9ccdc70e7f68cffcdad04f90463963bd6713043"><code>d9ccdc7</code></a> 2.60 release</li> <li><a href="https://github.com/google/dagger/commit/7451e3788d1f7944323f6dcad6e404274bba166c"><code>7451e37</code></a> Add dependenciesRequested to ProducerMonitor</li> <li><a href="https://github.com/google/dagger/commit/e820a704ca51606575dc35d78eedcfcfe24061c4"><code>e820a70</code></a> Refactor: Inline library sources directly within MembersInjectionValidationTest</li> <li><a href="https://github.com/google/dagger/commit/4bedb4b6417e61184a84070389fff453926b17c3"><code>4bedb4b</code></a> Support nullable type annotations with a flag.</li> <li><a href="https://github.com/google/dagger/commit/445e6f01f505a4e5b6dff8edb564b2c8205376e4"><code>445e6f0</code></a> Fix wording on ProducerMonitor methodStarting and ready javadocs</li> <li><a href="https://github.com/google/dagger/commit/5b8b2bdbed4b048087fad859aeced2539b04a1fd"><code>5b8b2bd</code></a> Enable Guava BetaApi checks in Dagger's Bazel build.</li> <li><a href="https://github.com/google/dagger/commit/639cd2b7dbc87414e463ec9519911fb3c77696c0"><code>639cd2b</code></a> Temporarily disable a few KSP tests before updating XProcessing artifacts.</li> <li><a href="https://github.com/google/dagger/commit/5988296e5bca4c2c7cae8e291c724b22d2adb35f"><code>5988296</code></a> Handle <code>RuntimeException</code>s in <code>DaggerSuperficialValidation</code> getMessage / trac...</li> <li><a href="https://github.com/google/dagger/commit/2227e7023b162f4889773b7d9b004e36b5b70cf2"><code>2227e70</code></a> Remove unused ProcessorErrors methods.</li> <li><a href="https://github.com/google/dagger/commit/7daaec5a969591650101a612d580eef93a65d59b"><code>7daaec5</code></a> Update Kotlin and KSP versions to 2.3.</li> <li>Additional commits viewable in <a href="https://github.com/google/dagger/compare/dagger-2.59.2...dagger-2.60">compare view</a></li> </ul> </details> <br /> Updates `com.google.dagger:hilt-android-compiler` from 2.59.2 to 2.60 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android-compiler's releases</a>.</em></p> <blockquote> <h2>Dagger 2.60</h2> <h2>New features:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5165">#5165</a>: Support nullable type annotations when using the flag <code>-Adagger.nullableTypeAnnotations=enabled</code>. For more details see <a href="https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations">https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations</a>. (4bedb4b64)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5087">#5087</a>: When using the <a href="https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin">Hilt Gradle plugin</a>, you can now disable <a href="https://dagger.dev/dev-guide/compiler-options#fast-init">fastInit mode</a> from the command line, e.g. <code>-Pdagger.hilt.fastInit=false</code>. For more details see <a href="https://dagger.dev/hilt/flags#fast-init">https://dagger.dev/hilt/flags#fast-init</a>. (0f7642ba1)</li> <li>Introduced parameterless <code>@Binds</code> methods to explicitly bind <code>@Inject</code> constructors. For more details see <a href="https://dagger.dev/dev-guide/#parameterless-binds">https://dagger.dev/dev-guide/#parameterless-binds</a>. (4c81e9416)</li> </ul> <h2>Potential breaking changes:</h2> <ul> <li>When using the Hilt Gradle plugin, an error is now reported if a user sets a plugin-controlled flag (previously the plugin just ignored the user’s input). (a119ba68c)</li> <li>Multidex support is removed. minSDK for Hilt is now 23, matching AndroidX (<a href="https://issuetracker.google.com/380448311">https://issuetracker.google.com/380448311</a>) (1990bd1c4)</li> </ul> <h2>Bug fixes:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/1290">#1290</a>: Enabled Guava BetaApi checks (5b8b2bdbe)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5190">#5190</a>, <a href="https://redirect.github.com/google/dagger/issues/5180">#5180</a>, <a href="https://redirect.github.com/google/dagger/issues/5177">#5177</a>: Updated Kotlin version ton 2.3.21 (7daaec5a9)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5160">#5160</a>: Deferred ViewModelMetadata processing on error types or missing <a href="https://github.com/AssistedFactory"><code>@AssistedFactory</code></a> (59827c699)</li> <li>Fixes missing originating element attachments in a few Hilt processors to ensure correct incremental compilation tracking. (2930ca837)</li> <li>Fixes Dagger multibinding duplicate masking across Map components (compile-time validation) Adds strict compile-time detection for duplicate map multibinding keys across component boundaries. This is enabled via the <code>-Adagger.mapMultibindingDuplicateDetectionFix=ENABLED</code>. This option is <code>DISABLED</code> by default to maintain backward compatibility. See <a href="https://dagger.dev/dev-guide/compiler-options#map-multibinding-duplicate-detection-fix">Compiler Options</a> for more details. (504397ebe)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/dagger/commit/d9ccdc70e7f68cffcdad04f90463963bd6713043"><code>d9ccdc7</code></a> 2.60 release</li> <li><a href="https://github.com/google/dagger/commit/7451e3788d1f7944323f6dcad6e404274bba166c"><code>7451e37</code></a> Add dependenciesRequested to ProducerMonitor</li> <li><a href="https://github.com/google/dagger/commit/e820a704ca51606575dc35d78eedcfcfe24061c4"><code>e820a70</code></a> Refactor: Inline library sources directly within MembersInjectionValidationTest</li> <li><a href="https://github.com/google/dagger/commit/4bedb4b6417e61184a84070389fff453926b17c3"><code>4bedb4b</code></a> Support nullable type annotations with a flag.</li> <li><a href="https://github.com/google/dagger/commit/445e6f01f505a4e5b6dff8edb564b2c8205376e4"><code>445e6f0</code></a> Fix wording on ProducerMonitor methodStarting and ready javadocs</li> <li><a href="https://github.com/google/dagger/commit/5b8b2bdbed4b048087fad859aeced2539b04a1fd"><code>5b8b2bd</code></a> Enable Guava BetaApi checks in Dagger's Bazel build.</li> <li><a href="https://github.com/google/dagger/commit/639cd2b7dbc87414e463ec9519911fb3c77696c0"><code>639cd2b</code></a> Temporarily disable a few KSP tests before updating XProcessing artifacts.</li> <li><a href="https://github.com/google/dagger/commit/5988296e5bca4c2c7cae8e291c724b22d2adb35f"><code>5988296</code></a> Handle <code>RuntimeException</code>s in <code>DaggerSuperficialValidation</code> getMessage / trac...</li> <li><a href="https://github.com/google/dagger/commit/2227e7023b162f4889773b7d9b004e36b5b70cf2"><code>2227e70</code></a> Remove unused ProcessorErrors methods.</li> <li><a href="https://github.com/google/dagger/commit/7daaec5a969591650101a612d580eef93a65d59b"><code>7daaec5</code></a> Update Kotlin and KSP versions to 2.3.</li> <li>Additional commits viewable in <a href="https://github.com/google/dagger/compare/dagger-2.59.2...dagger-2.60">compare view</a></li> </ul> </details> <br /> Updates `com.google.dagger:hilt-android-testing` from 2.59.2 to 2.60 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android-testing's releases</a>.</em></p> <blockquote> <h2>Dagger 2.60</h2> <h2>New features:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5165">#5165</a>: Support nullable type annotations when using the flag <code>-Adagger.nullableTypeAnnotations=enabled</code>. For more details see <a href="https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations">https://dagger.dev/dev-guide/compiler-options#nullable-type-annotations</a>. (4bedb4b64)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5087">#5087</a>: When using the <a href="https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin">Hilt Gradle plugin</a>, you can now disable <a href="https://dagger.dev/dev-guide/compiler-options#fast-init">fastInit mode</a> from the command line, e.g. <code>-Pdagger.hilt.fastInit=false</code>. For more details see <a href="https://dagger.dev/hilt/flags#fast-init">https://dagger.dev/hilt/flags#fast-init</a>. (0f7642ba1)</li> <li>Introduced parameterless <code>@Binds</code> methods to explicitly bind <code>@Inject</code> constructors. For more details see <a href="https://dagger.dev/dev-guide/#parameterless-binds">https://dagger.dev/dev-guide/#parameterless-binds</a>. (4c81e9416)</li> </ul> <h2>Potential breaking changes:</h2> <ul> <li>When using the Hilt Gradle plugin, an error is now reported if a user sets a plugin-controlled flag (previously the plugin just ignored the user’s input). (a119ba68c)</li> <li>Multidex support is removed. minSDK for Hilt is now 23, matching AndroidX (<a href="https://issuetracker.google.com/380448311">https://issuetracker.google.com/380448311</a>) (1990bd1c4)</li> </ul> <h2>Bug fixes:</h2> <ul> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/1290">#1290</a>: Enabled Guava BetaApi checks (5b8b2bdbe)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5190">#5190</a>, <a href="https://redirect.github.com/google/dagger/issues/5180">#5180</a>, <a href="https://redirect.github.com/google/dagger/issues/5177">#5177</a>: Updated Kotlin version ton 2.3.21 (7daaec5a9)</li> <li>Fixes <a href="https://redirect.github.com/google/dagger/issues/5160">#5160</a>: Deferred ViewModelMetadata processing on error types or missing <a href="https://github.com/AssistedFactory"><code>@AssistedFactory</code></a> (59827c699)</li> <li>Fixes missing originating element attachments in a few Hilt processors to ensure correct incremental compilation tracking. (2930ca837)</li> <li>Fixes Dagger multibinding duplicate masking across Map components (compile-time validation) Adds strict compile-time detection for duplicate map multibinding keys across component boundaries. This is enabled via the <code>-Adagger.mapMultibindingDuplicateDetectionFix=ENABLED</code>. This option is <code>DISABLED</code> by default to maintain backward compatibility. See <a href="https://dagger.dev/dev-guide/compiler-options#map-multibinding-duplicate-detection-fix">Compiler Options</a> for more details. (504397ebe)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/dagger/commit/d9ccdc70e7f68cffcdad04f90463963bd6713043"><code>d9ccdc7</code></a> 2.60 release</li> <li><a href="https://github.com/google/dagger/commit/7451e3788d1f7944323f6dcad6e404274bba166c"><code>7451e37</code></a> Add dependenciesRequested to ProducerMonitor</li> <li><a href="https://github.com/google/dagger/commit/e820a704ca51606575dc35d78eedcfcfe24061c4"><code>e820a70</code></a> Refactor: Inline library sources directly within MembersInjectionValidationTest</li> <li><a href="https://github.com/google/dagger/commit/4bedb4b6417e61184a84070389fff453926b17c3"><code>4bedb4b</code></a> Support nullable type annotations with a flag.</li> <li><a href="https://github.com/google/dagger/commit/445e6f01f505a4e5b6dff8edb564b2c8205376e4"><code>445e6f0</code></a> Fix wording on ProducerMonitor methodStarting and ready javadocs</li> <li><a href="https://github.com/google/dagger/commit/5b8b2bdbed4b048087fad859aeced2539b04a1fd"><code>5b8b2bd</code></a> Enable Guava BetaApi checks in Dagger's Bazel build.</li> <li><a href="https://github.com/google/dagger/commit/639cd2b7dbc87414e463ec9519911fb3c77696c0"><code>639cd2b</code></a> Temporarily disable a few KSP tests before updating XProcessing artifacts.</li> <li><a href="https://github.com/google/dagger/commit/5988296e5bca4c2c7cae8e291c724b22d2adb35f"><code>5988296</code></a> Handle <code>RuntimeException</code>s in <code>DaggerSuperficialValidation</code> getMessage / trac...</li> <li><a href="https://github.com/google/dagger/commit/2227e7023b162f4889773b7d9b004e36b5b70cf2"><code>2227e70</code></a> Remove unused ProcessorErrors methods.</li> <li><a href="https://github.com/google/dagger/commit/7daaec5a969591650101a612d580eef93a65d59b"><code>7daaec5</code></a> Update Kotlin and KSP versions to 2.3.</li> <li>Additional commits viewable in <a href="https://github.com/google/dagger/compare/dagger-2.59.2...dagger-2.60">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Jamil (10 Jul 26)
chore(connlib): extract flow tracker into dedicated crate (#14052) Extracts the flow tracker out of the tunnel crate into a dedicated flow-tracker crate, as suggested in review on #14028. The tracker's spool test lived as a unit test inside the tunnel and pulled the flow-log writer in as a dev-dependency of the whole tunnel crate. That coverage is now an integration test of the tracker and writer together: one test guards the emit/writer field contract, and a new one drives the tracker like a Gateway and checks both halves of a flow's report reach the spool. The ingest token type moves along with the tracker since records carry it. The tunnel re-exports it from its messages module, so the message types and their users are unchanged. Related: #14028
-
Jamil (10 Jul 26)
chore(portal): log more info for unknown messages (#14053) After removing the `request_device_access` message we're getting a fair amount of messages inbound for this. It would be good to understand more context about the client(s) sending these.
-
Thomas Eizinger (10 Jul 26)
fix(telemetry): avoid dead lock during `start` (#14050) With the move to process-global telemetry state, we've introduced a potential deadlock: 1. Starting telemetry wants to log messages 2. Logging messages might go through the Sentry integration 3. The Sentry integration wants to attach telemetry state to each log 4. Logging the messages blocks To fix this and make it structurally impossible, we extract the global telemetry state into a submodule that only exposes `try_read` and `try_write` functions. Forcing a lock and blocking on it is therefore prevented at compile-time. The `telemetry::start` function is refactored to only hold these locks as short as possible.
-
Jamil (09 Jul 26)
fix(portal): relax replication poller cadence (#14051) Staging logs showed frequent "replication poll cycle failed" errors. The pollers ran every 250ms and 1s, so even a moment of pool contention, like reconnecting after a dropped cross-region connection, failed a cycle and logged an error. Changes now polls every 5 seconds and change logs every 30 seconds, cutting idle replication query volume by an order of magnitude. Dev keeps the fast intervals so live updates stay snappy locally. Related: firezone/infra#735 Co-authored-by: Claude Fable 5 <[email protected]>
-
Jamil (09 Jul 26)
feat(connlib): track gateway flows with token attribution (#13920) Replaces the Gateway's flow tracker with a role-agnostic core that the Client will reuse. Call sites record what they know into a thread-local while a packet is processed, and each finished flow is emitted as a tracing event for the flow-log-writer layer to spool. Attribution now comes from the portal's ingest token instead of fields on the messages. Tracking is on when the portal enables uploads or the --flow-logs flag is set, and off when both are off. Since the token is the sole source of attribution, it always rides into the tunnel so the --flow-logs log output stays attributed; the flow-log-writer layer's spool switch is only on when the portal enabled uploads, so nothing is spooled or persisted to disk otherwise. Related: #13966 Related: #13967 Related: #13968 --------- Co-authored-by: Claude Fable 5 <[email protected]>
-
Thomas Eizinger (09 Jul 26)
ci: expose iperf3 as a dedicated DNS resource (#14049) Reaching the iperf3 server through a DNS resource makes the gateway rewrite every packet of the flow, which is the path we need to put under constant load when benchmarking NAT translation. Resolution on the gateway works via the container alias on the dns_resources network, like for the other DNS resources of the test setup. Co-authored-by: Claude <[email protected]>
-
Thomas Eizinger (09 Jul 26)
fix(gui-client): time out waiting for graceful disconnect (#14048) When the user quits the app, we tell the tunnel service to disconnect and wait for `DisconnectedGracefully` before exiting so telemetry can be flushed. If the service never replies, the GUI waits forever and the app appears to hang on quit. We now arm a 5s timeout when entering the quitting state and exit anyway with a warning once it elapses. --------- Co-authored-by: Claude <[email protected]>
-
Jamil (09 Jul 26)
fix(portal): hold slot leadership outside a transaction (#14046) When the poller processes a batch of changes, it calls hooks. Some hooks open their own database transactions and roll them back on purpose. That is normal and fine on its own. The problem was how the poller held its leader lock: it kept one big transaction open around the whole batch. In Postgres, when a transaction nested inside another one rolls back, the outer transaction is ruined too. So one normal hook rollback ruined the poller's transaction, the whole batch failed, and the poller retried the same batch forever without ever moving forward. The fix is to not hold any transaction around the batch. The leader lock is now a session-level lock tied to one database connection, held for the length of the cycle. Hooks can roll back their own transactions freely. If the poller crashes mid-cycle, the connection dies and Postgres releases the lock on its own. Related: #14045 --------- Co-authored-by: Claude Fable 5 <[email protected]>
-
Jamil (09 Jul 26)
fix(portal): poll replication slots to support Entra auth (#14045) Azure Database for PostgreSQL rejects Entra token authentication on replication-protocol connections, so streaming logical replication was the last thing forcing the portal to keep a database password. The ChangeLogs and Changes consumers now poll their slots through the SQL logical decoding interface over ordinary pooled connections, which authenticate with Entra tokens like everything else. Polling also collapses the acknowledgement machinery into advancing the slot after each processed batch, replaces :pg leader election with a Postgres advisory lock, and makes the consumers testable under the Ecto sandbox. Related: #14037 --------- Co-authored-by: Claude Fable 5 <[email protected]>
-
Jamil (09 Jul 26)
fix(portal): take :configure opt for cluster strategy too (#14044) In #14037 we updated the main app connections to the DB to use Entra. However we also need to update the listen/notify connections the cluster strategy adapter uses to use entra auth too. This is done by taking the `:configure` parameter from the DB configuration as well.
-
Jamil (08 Jul 26)
chore(portal): remove remaining device pool TODOs (#14043) In the portal we had some legacy shims regarding device pools that needed to be cleaned up. These are now being removed in this PR to prepare for the GA release. All recent clients in the last 2 months have the updated API surface. Previous clients released during the PoC should not be affected since the legacy field `authorized_ipv4s` is not a required field.
-
Jamil (08 Jul 26)
feat(portal): add entra auth for postgres (#14037) Compliance requires us to use short-lived Entra auth tokens for DB access instead of the more traditional long-lived app credentials. We can do this quite readily by requesting a token each time a DB connection made using Ecto's built in facilities. Since Postgres only checks auth on connection establishment [1](https://www.postgresql.org/docs/current/protocol-flow.html) [2](https://learn.microsoft.com/en-us/answers/questions/2242405/automating-session-termination-for-expired-access), we simply need to refresh this token 5 minutes before it expires so that any reconnections always use a valid token. Note: this needs to be merged and deployed (and is safe to do so) BEFORE https://github.com/firezone/infra/pull/733 is applied
-
Jamil (08 Jul 26)
chore(portal): fold openid_connect into repo (#14023) Since we have no interest in maintaining a fork of this library, and since the spec is essentially "complete", it makes sense to vendor it into the repo. --------- Co-authored-by: Claude Fable 5 <[email protected]>
-
Jamil (08 Jul 26)
chore(portal): remove client/gateway sessions endpoints (#14022) The REST API exposed /client_sessions and /gateway_sessions endpoints for listing and showing raw session rows. These are superseded by the upcoming dedicated session_logs API, so remove them along with their OpenAPI schemas, JSON views, and tests. The underlying session tables and the WebSocket session-recording path are unchanged. Related: #13651 Co-authored-by: Claude Fable 5 <[email protected]>
-
Thomas Eizinger (08 Jul 26)
feat(connlib): enable GRO/GSO on the Linux TUN device (#14011) We read from and write to the Linux TUN device one IP packet at a time. For a data plane that moves a lot of small packets, that per-packet syscall — and the full traversal of the kernel network stack it triggers — is the single largest cost. Linux offers a way out: with `IFF_VNET_HDR` and `TUNSETOFFLOAD`, the kernel coalesces consecutive segments of the same flow into one large buffer on read (GRO) and splits a large buffer back into MTU-sized packets on write (GSO). A whole run of packets then crosses the TUN boundary in a single syscall, described by a small `virtio_net_hdr`. We enable the offloads when opening the device. On the read path, we split incoming super packets back into individual `IpPacket`s, fixing up the per-segment lengths, IPv4 IDs, TCP flags and checksums and completing the partial checksums that come with `TUN_F_CSUM`. On the write path, we coalesce same-flow packets into a single GSO write, using the packet-batch boundary from #14030 as the coalescing window and only merging packets that the kernel's own GRO would have merged anyway. The offloads we rely on (USO in particular) only landed in Linux 6.2, so we gate the whole thing behind a kernel-version check and keep exchanging plain packets on older kernels. A kernel that rejects a GSO write at runtime disables coalescing on the fly and falls back to per-packet writes. In a local benchmark, this roughly doubles single-stream TCP throughput through the tunnel; the kernel's own GRO/TSO on the surrounding interfaces then carries the coalesced packets through the rest of the stack. Related: #14030 Related: #14013 --------- Co-authored-by: Claude <[email protected]>
-
Jamil (08 Jul 26)
feat(portal): add api_request logs (#13973) Adds api_request logs, an audit stream recording each authenticated REST API request, captured by a RequestLog plug and exposed through the unified /logs endpoint as `type=api_request`. Based on #13651. Related: #13651 --------- Co-authored-by: Claude Opus 4.8 <[email protected]>
-
Jamil (08 Jul 26)
feat(portal): add per-policy flow log reporting toggle (#14031) - Adds a per-policy `flow_log_uploads_enabled` flag (default on), exposed as a "Flow log reporting" toggle on the policy forms and via the REST API, and always forced off for Internet Resource policies. - Ingest tokens are still always minted and now carry the flag as a claim: devices use it to decide whether to upload, and the ingest endpoint rejects uploads whose token disallows them. Since issued tokens are irrevocable, flipping the flag expires the policy's active authorizations so re-created flows pick up fresh tokens. - Gates the UI and the minted claim behind a new global `flow_logs` feature flag (enabled in seeds; the REST API field is not gated since the API is not public yet). - Fixes WAL decoding of boolean columns, which arrived as `t`/`f` text and silently failed Ecto casts in CDC hooks; without this, flag flips would have been undetectable. <img width="860" height="551" alt="Screenshot 2026-07-07 at 11 30 34 AM" src="https://github.com/user-attachments/assets/03abc2f3-7f3c-47bb-87c6-8c6507c9ff28" /> <img width="855" height="535" alt="Screenshot 2026-07-07 at 11 30 24 AM" src="https://github.com/user-attachments/assets/4febf148-bdeb-4fd7-87b6-dbf6ef1b14a0" /> --- Related: #13920 --------- Co-authored-by: Claude Fable 5 <[email protected]>
-
Jamil (08 Jul 26)
feat(portal): add session logs and unified /logs API (#13651) Adds session logs, an audit stream recording Client, Gateway, and Portal session creation. Each entry is written when the session is created and snapshots the connecting subject, so it survives later deletion of the actor, device, or token it references. Replaces the change_logs REST endpoint with a unified /logs endpoint that serves change, session, and flow reads, dispatched on a `type` parameter and on the event_id namespace nibble. Flow-log ingestion and storage already landed on main; this reuses that schema for the read side. Related: #13973 --------- Co-authored-by: Claude Opus 4.8 <[email protected]>
Firezone Website
Website
Zero Trust Access That Scales | Firezone
Replace your VPN with Firezone, an open-source zero trust access platform built on WireGuard®. Connect users to anything, anywhere. Try free today.
Redirects
Does not redirect
Security Checks
2 security checks failed (63 passed)
- Domain Recently Created
- Domain Very Recently Created
Server Details
- IP Address 66.33.60.129
- Location Walnut, California, United States of America, NA
- ISP Vercel Inc
- ASN AS16509
Associated Countries
-
US -
CA
Safety Score
Website marked as safe
100%
Blacklist Check
www.firezone.dev was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Firezone Reviews
More Self-Hosted Network Security
-
Powerful open source web content filter.
-
A hardened, versatile, state-of-the-art open source firewall based on Linux. Its ease of use, high performance and extensibility make it usable for everyone.
-
Widely used, open source firewall/router.
-
Network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole. Pi-Hole can significantly speed up your internet, remove ads and block malware. It comes with a nice web interface and a mobile app with monitoring features, it's open source, easy to install and very widely used.
-
A simple way to set up a home VPN on any Debian server. Supports OpenVPN and WireGuard with elliptic curve encryption keys up to 512 bit. Supports multiple DNS providers and custom DNS providers - works nicely along-side PiHole.
-
Another DNS server for blocking privacy-invasive content at its source. Technitium doesn't require much of a setup, and basically works straight out of the box, it supports a wide range of systems (and can even run as a portable app on Windows). It allows you to do some additional tasks, such as add local DNS addresses and zones with specific DNS records. Compared to Pi-Hole, Technitium is very lightweight, but lacks the deep insights that Pi-Hole provides, and has a significantly smaller community behind it.
-
Detect if you have a malware-infected computer on your network, and powerful network analysis framework and monitor.
About the Data: Firezone
API
You can access Firezone's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/firezone The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Firezone
Help your friends compare Self-Hosted Network Security, and pick
privacy-respecting software and services.
Share Firezone and Awesome Privacy with your network!