Commit Graph
2147 Commits
Author SHA1 Message Date
fleet-releaseandallenhouchins 5fe78d1b04 Update Fleet-maintained apps (#46817)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated IntelliJ IDEA for macOS to version 2026.1.3, including updated
installer artifact and checksum.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-04 10:13:02 -05:00
Allen Houchins 591a86f17d Add multiple Windows FMAs (#46794)
Add Winget input manifests for multiple maintained apps (Amazon DCV
client/server, Dell Command Update, Dell Display Manager, Lenovo Dock
Manager, Microsoft Remote Help, Nessus Agent, Plantronics Hub, Power
Automate, PowerToys, and RStudio). Include corresponding
install/uninstall PowerShell helper scripts under
ee/maintained-apps/inputs/winget/scripts and add Windows output metadata
(versions, installer URLs, checksums, installer/uninstaller refs) under
ee/maintained-apps/outputs/*/windows.json. Also update
ee/maintained-apps/outputs/apps.json to reflect the new entries. These
additions enable automated install/uninstall and fleet management for
the new Winget-backed apps.
2026-06-04 09:39:13 -05:00
fleet-releaseandallenhouchins 02efe071c2 Update Fleet-maintained apps (#46810)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated application version metadata for 14 apps across Windows and
macOS platforms, including AWS CLI, Claude, CleanMyMac, Google Drive,
Notepad++, Ollama, Postman, Signal, Snagit, Zed, and Zen Browser with
latest installer URLs and integrity checksums.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-04 08:15:35 -05:00
Jordan Montgomery 356caea6fd 42508 Rename abm to ab in API (#46657)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42508 

Renames abm/apple_business_manager to ab/apple_business in API and
fleetctl. Uses existing renameto logic with a slight twist: added
"inline" option to handle cases particularly where a single object tree
has renames in multiple versions so that we don't break backwards
compatibiility since the default behavior when you have multi-level
renames is a new/old split at the top level

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Canonical Apple Business (AB) API endpoints and CLI:
/api/v1/fleet/ab_tokens, /api/v1/fleet/mdm/apple/ab_public_key, plus new
fleetctl get mdm-ab and fleetctl generate mdm-ab
  * New GitOps/config key: mdm.apple_business
* Admin UI updated to show Apple Business tokens with fleet-based
associations and updated labels

* **Deprecations**
* Legacy ABM endpoints, CLI aliases, and config keys remain supported
but emit deprecation warnings pointing to the new AB equivalents
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-03 14:58:17 -04:00
fleet-releaseandallenhouchins 77154f4224 Update Fleet-maintained apps (#46743)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated maintained application versions: Opera to 132.0, Prisma
Browser to 149.10.3.53, Stats to 2.12.16, Tor Browser to 15.0.15, and
Visual Studio Code to 1.123.0 with corresponding installer URLs and
integrity checksums.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-03 12:02:12 -05:00
Harrison RavazzoloandAllen Houchins c5e9c4d4d2 Add SF Symbols as a macOS FMA (#46738)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added SF Symbols application support for macOS with automated version
detection and comprehensive installation/uninstall management
capabilities.
* Integrated SF Symbols icon component to the software catalog user
interface for improved visual identification and user experience.
* SF Symbols is now registered as a managed application with
Productivity category classification.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-03 11:43:39 -05:00
Harrison Ravazzolo 9f5d31f966 Add VirtualBuddy as a macOS FMA (#46734)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added VirtualBuddy application to the supported software catalog for
macOS (Apple Silicon compatible).
* Users can now discover, install, and manage VirtualBuddy with
automated installation and uninstallation capabilities.
* Version 2.1 is available with integrated app icon and security
verification.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-03 10:51:43 -05:00
Andrew Mellor d7d9a96aa3 Add combined include/exclude label targeting for MDM profiles (API and GitOps) (#46437)
**Related issue:** Resolves #45180

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* MDM profiles can combine label inclusion (include-all/include-any)
with exclusion (exclude-any) so you can target hosts by labels while
excluding specific labeled hosts.
* Profile validation now enforces a single include-mode and explicitly
rejects any label used in both include and exclude lists.

* **Bug Fixes**
* Deleting a label that’s referenced by an MDM configuration profile or
declaration is blocked and returns an error to prevent broken targeting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-03 15:24:33 +01:00
fleet-releaseandallenhouchins 62fa533515 Update Fleet-maintained apps (#46721)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated 8x8 Virtual Office macOS application metadata from version
8.33.2 to 8.34.1, including updated installer package and verification
checksum.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-03 09:18:06 -05:00
fleet-releaseandallenhouchins 790bfa8368 Update Fleet-maintained apps (#46709)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated application package definitions for 14 software applications
including 8x8 Work, AWS CLI, Chrome Remote Desktop, Claude, DBeaver
Community, Duo Desktop, Genesys Cloud, GitHub Desktop, GitKraken, Google
Chrome, Ollama, and Postman to their latest available versions with
corresponding installers and checksums.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-03 08:43:08 -05:00
fleet-releaseandallenhouchins 1ba5e0540e Update Fleet-maintained apps (#46695)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated managed application packages to their latest versions across
macOS and Windows platforms. Includes version updates for 1Password,
Android Studio, AWS CLI, Camtasia, Claude, Cursor, Discord, Docker, Duo
Desktop, Figma, Firefox, GitKraken, Google Chrome, Gemini, Granola,
iTerm2, JetBrains Toolbox, Loom, Microsoft Office applications, Miro,
NordPass, Notion, RustDesk, and WhatsApp installations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-02 20:15:09 -05:00
Victor Lyuboslavsky fa7d928235 Remove unenroll pending and add Android COBO wipe to Free (#46653)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41683 

Unenroll/wipe Android on Fleet Free:
https://www.youtube.com/watch?v=JvsD3WBcDgE

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Android Lock, Wipe, and Clear passcode commands supported; Lock and
Clear for both personal (BYO) and company-owned (COBO) devices, Wipe for
COBO only.
  * Android COBO Wipe exposed in Fleet Free (UI and API).

* **Bug Fixes**
* Personal Android unenroll now removes only the work profile (personal
data preserved) and no longer shows a transient “wiping” status in the
UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 18:59:13 -05:00
Nico a335b3e6d4 Fix VPP API retry recursion causing server OOM (#46659)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46656

`server/mdm/apple/vpp.do` retried transient Apple errors by **calling
itself recursively**, with the rate-limit branch nesting `retry.Do`
inside `retry.Do`.

This change replaces the recursion with a single retry loop (respecting
the prior 1 initial attempt + 3 retries), closes each response before
retrying, honors Apple's `Retry-After` capped at 30s so that a
multi-minute value can't block a synchronous request, and threads
`context` through the VPP calls so the backoff is cancellable. The retry
timings are otherwise unchanged from before.

Following @sgress454 suggestion, I considered routing this through the
shared `retry.Do` helper (a single attempt wrapped in `retry.Do` + an
error filter) but figured out that:
- retry.Do` owns its own wait schedule and its error filter returns an
outcome enum rather than a duration, so it can't honor Apple's
per-response `Retry-After` value.
- also, I'd have to change the `retry` package to receive an extra `ctx`
param so that the backoff is context-aware (which IMHO is more blast
radius than this incident fix should carry).

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

**What was verified.** The new automated test cannot run against `main`
(the fix changes the VPP function signatures and adds the retry knobs),
so to confirm the actual failure mode I checked out `main` and ran a
small repro that drives the VPP client against an Apple endpoint that
always returns the rate-limit error. On `main`, the call **never
returns** — `do()` recurses without bound — and the repro times out:

```
--- FAIL: TestReproUnboundedRecursionOnMain (10.00s)
    zz_repro_main_test.go:30: AssociateAssets did NOT return within 10s — unbounded retry recursion in do() on main
FAIL
FAIL	github.com/fleetdm/fleet/v4/server/mdm/apple/vpp	10.642s
```

On this branch the same scenario returns a bounded error promptly. That
behavior is covered by the new `TestDoRetryIsBoundedAndNonRecursive`
(bounded rate-limit retries, `Retry-After` honored-but-capped, and
context cancellation), and the full `server/mdm/apple/vpp` package
passes.
**I did not perform an end-to-end QA against a live Apple endpoint**.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Fixed a server out-of-memory crash that occurred when Apple VPP API
repeatedly returned transient errors during VPP operations, including
app installs, user registration, and license seat releases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 16:18:02 -03:00
fleet-releaseandallenhouchins 880d751b3f Update Fleet-maintained apps (#46629)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Chores
* Updated package metadata and versioning for maintained applications
(Grammarly Desktop, Granola, Krita, Miro, Opera) to enable proper
release tracking.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-02 11:20:18 -05:00
Magnus Jensen a4d1cfab1f CSUD: Add validation for OS Update profiles and OS updates being configured (#46545)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45282

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Deploy custom OS update configuration profiles for Apple
(macOS/iOS/iPadOS) and Windows; tracks and enforces one custom OS‑update
profile per scope.

* **Improvements**
* Prevent changing OS update settings when a custom profile exists;
returns guidance to remove the custom profile first.
* Batch upload now detects OS‑update payloads and enforces license
requirements.
  * UI error handling surfaces API-specific messages.
* FileVault control separated from OS updates and gated behind a
configurable flag/license.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 17:28:58 +02:00
fleet-release eb79033e0a Update Fleet-maintained apps (#46621) 2026-06-02 07:43:01 -05:00
5955a6f594 43116 fix Fedora wipe btrfs snapshots (#45704)
**Related issue:** Resolves #43116

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Fedora/Linux wipe now removes Btrfs snapshots (including read-only)
before wiping so snapshots won’t persist.

* **UI**
* Linux-specific guidance and external links added to wipe dialogs and
wiped/failed-wipe activity items; wipe status tags suppressed for Linux
hosts.
* Activity entries include host platform to enable platform-specific
messaging.

* **Tests**
* Updated tests to cover Linux-specific wipe messaging, links, and
activity payloads.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-06-02 10:14:02 +01:00
fleet-releaseandallenhouchins 8356f9d988 Update Fleet-maintained apps (#46616)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated ChatGPT Desktop to version 1.2026.119
  * Updated Genesys Cloud to version 2.50.28
  * Updated GitHub Desktop to version 3.5.12
  * Updated Notion to version 7.20.0
  * Updated Tailscale to version 1.98.5

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 20:41:40 -05:00
fleet-release cdb2eca40b Update Fleet-maintained apps (#46602) 2026-06-01 17:41:24 -05:00
fleet-releaseandallenhouchins 94812e37da Update Fleet-maintained apps (#46586)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated Grammarly Desktop macOS package from version 1.167.1 to
1.167.2 with new installer URL and verification checksum.
* Updated NordVPN macOS package from version 10.3.0 to 10.3.1 with new
installer URL and verification checksum.
* Updated Sourcetree macOS package from version 4.2.17 to 4.2.18 with
new installer URL and verification checksum.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 13:22:02 -05:00
Allen Houchins f96004c704 Revert "Support default pkg install script when cask lacks pkg artifact and URL override is used" (#46574)
Reverts fleetdm/fleet#45893

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved application installation for 1Password, Slack, and Zoom by
implementing graceful application shutdown before installation and
automatic restart after completion.
* Enhanced installation reliability by simplifying application lifecycle
management during package updates, reducing potential conflicts from
running applications during installation processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 13:08:30 -05:00
Allen Houchins 698c99dd00 Add Adobe Acrobat Pro as a Windows FMA (#43829)
Add Winget support for Adobe Acrobat Pro: new input JSON,
install/uninstall PowerShell scripts, and Windows output manifest (with
script refs and installer metadata). Rename Homebrew input and apps
listing to "Adobe Acrobat Pro" and add a Windows entry to apps.json.
Improve winget ingester to try version directories in descending order,
skip grouping dirs that don't contain expected manifests, fetch and
unmarshal installer and locale manifests with better logging and error
handling, and return a clear error when no valid version manifest is
found.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for Adobe Acrobat Pro on Windows with automated install
and uninstall capabilities.

* **Bug Fixes**
* Improved version handling during app installation to try multiple
candidate versions if needed.
  * Enhanced error messaging for app uninstall validation.

* **Updates**
* Standardized Adobe Acrobat Pro product naming across platforms for
consistency.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/43829?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 09:54:34 -05:00
Allen Houchinsandcopilot-swe-agent[bot] 9f46c846f4 Support default pkg install script when cask lacks pkg artifact and URL override is used (#45893)
Support installer_format="pkg" even when the Homebrew cask describes no
pkg artifact by installing the downloaded package at $INSTALLER_PATH.
Adds caskHasPkgArtifact and InstallPkgFromInstallerPath, and updates
installScriptForApp to use quit/track and relaunch helpers around a
direct installer call when appropriate. Includes unit tests for both
code paths. Removes per-app install script files and clears
install_script_path from input JSONs; updates output refs for 1Password,
Slack and Zoom to the new consolidated scripts.

**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [ ] Timeouts are implemented and retries are limited to avoid infinite
loops
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [ ] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Enhanced Homebrew application installation with improved error
detection and app lifecycle handling during package updates.
* **Chores**
* Consolidated custom installer logic into centralized system; removed
redundant installation configurations.
* **Tests**
  * Added test coverage for package installation scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-01 09:52:06 -05:00
fleet-releaseandallenhouchins 7d30ecee90 Update Fleet-maintained apps (#46561)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
* Improved Amazon WorkSpaces macOS uninstall behavior for better file
cleanup operations
  * Updated Google Gemini macOS version support to 1.63.12.361

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 09:27:59 -05:00
Harrison RavazzoloandAllen Houchins 71a82d078d macOS FMA - Amazon WorkSpaces (#46536)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added Amazon WorkSpaces support on macOS (version 5.32.0.6080) with
installation and uninstallation workflows.
  * App now appears in the apps list for macOS.

* **Documentation**
* Updated Amazon WorkSpaces description for the existing Windows entry.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 08:40:06 -05:00
Harrison RavazzoloandAllen Houchins e7bf5e60ae Windows FMA - Amazon WorkSpaces (#46304)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added Amazon WorkSpaces support on Windows: app listing, version
entry, installer/uninstaller metadata, and a UI icon.

* **Improvements**
* Relaxed input validation to allow comma (,) and ampersand (&)
characters in query filters.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46304?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 08:31:55 -05:00
fleet-releaseandallenhouchins 75dee678e4 Update Fleet-maintained apps (#46547)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated Cursor macOS (ARM64) maintained-app definition to version
3.6.31 with updated installer download source and verification checksum.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 08:31:43 -05:00
fleet-releaseandallenhouchins 4b040630ca Update Fleet-maintained apps (#46544)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Enhanced Windows uninstall reliability by improving how Zed is
identified in the system registry, transitioning from broad pattern
matching to exact matching for more consistent and reliable uninstall
operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-31 23:31:27 -05:00
Allen Houchins 846e51cbdb Use pkg installer for Privileges (#46542)
Switch the homebrew input for corp.sap.privileges to use an
installer_format of "pkg" instead of "dmg". Update the darwin output to
reference a new install script (67ca5549 -> 7a7e7893) that installs the
.pkg directly (removes the hdiutil attach/copy flow used for DMGs) while
preserving the app quit/relaunch logic. No other metadata or checksum
changes.
2026-05-31 23:21:38 -05:00
Harrison RavazzoloandAllen Houchins a3296468de Windows FMA - Zed (#46538)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added Zed support for Windows package management (new Windows package
entry and metadata for v1.4.4).
* Implemented silent install and uninstall flows for Windows with
automated handling of running processes.
* Added registry-based uninstall detection and robust exit-code handling
for reliable deployments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-05-31 23:21:18 -05:00
Allen Houchins 29004c2871 Remove Messenger as a macOS FMA (#46541)
Delete Messenger-maintenance and UI assets: remove Homebrew input
(ee/maintained-apps/inputs/homebrew/messenger.json), macOS output data
(ee/maintained-apps/outputs/messenger/darwin.json) and the Messenger
entry in ee/maintained-apps/outputs/apps.json. Also remove the frontend
icon component and its import/mapping
(frontend/pages/SoftwarePage/components/icons/Messenger.tsx and related
index.ts updates). Cleans up packaging metadata and UI references for
Messenger.
2026-05-31 23:13:45 -05:00
fleet-releaseandallenhouchins 82065d9568 Update Fleet-maintained apps (#46540)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-31 23:00:51 -05:00
Allen Houchins 937c6bc9d2 DMG install script use yes and update scripts (#45895)
Pipe `yes` into `hdiutil attach` to auto-accept DMG license prompts,
make attach failures exit, and ignore detach failures. Add a unit test
to verify the DMG extract commands. Remove per-app install script files
and corresponding install_script_path entries from inputs, and update
outputs to reference consolidated install scripts that track/relaunch
running apps after installation (updated install_script_ref hashes).


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved DMG installation handling with automatic license prompt
acceptance
* Enhanced app state management during installation to preserve running
state and relaunch post-install

* **Bug Fixes**
  * Added error handling for failed DMG mount operations

* **Tests**
  * Added test coverage for DMG extraction improvements

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45895?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-31 21:08:19 -05:00
Allen Houchins 0ce8ecabcd Support glob expansion in trash() (#46287)
Enhance the trash() implementation to detect glob patterns in the target
path, expand them, and move each matched file into the user's .Trash
with a timestamp and random suffix. If no matches are found the function
logs that the pattern doesn't exist.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Trash utility now supports glob patterns (`*`, `?`, `[]`) to remove
multiple matching files at once.
* Each trashed item receives a unique suffix to avoid filename
collisions.
* Per-file removal messages shown; a clear notification is printed when
a pattern matches no files.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46287?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-31 21:08:00 -05:00
fleet-releaseandallenhouchins 72d914844e Update Fleet-maintained apps (#46537)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated application version metadata for Adobe DNG Converter (18.3.2),
Bitwarden (2026.5.0), DBeaver Community (26.1.0), Power BI Desktop, and
Rectangle (0.96).

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-31 21:05:13 -05:00
Rémi Desmonetanddesmonet 1f934e122b Add RustDesk as a macOS FMA (#46429)
Addition of RustDesk to the Fleet-Maintained apps list.

Product information: https://rustdesk.com/
Homebrew formula: https://formulae.brew.sh/cask/rustdesk#default

Thanks!

@allenhouchins

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* RustDesk is now available as a managed application on macOS with
installation, update, and removal capabilities
* Application metadata and configuration integrated into the managed
apps catalog
* RustDesk icon added to the software interface for proper
identification and display

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46429?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: desmonet <desmonet@m3332.local>
2026-05-29 22:38:45 -05:00
Rémi DesmonetandAllen Houchins 1fb63c524b Adding Cycling74 Max as Fleet-maintained apps (#46333)
Addition of Cycling '74 Max to the Fleet-Maintained apps list.

Product information: https://cycling74.com/products/max
Homebrew formula: https://formulae.brew.sh/cask/cycling74-max

Thanks!

@allenhouchins 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added support for Max (Cycling ’74) on macOS: installer and
uninstaller workflows, version checks, and a new app icon in the
catalog.
* **Bug Fixes**
* Improved shell-quoting for paths (handles spaces and apostrophes) to
make install/uninstall scripts more robust.
* **Tests**
* Added tests validating shell-quoting and generated uninstall script
syntax.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46333?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-05-29 22:09:05 -05:00
fleet-releaseandallenhouchins a561c2c3af Update Fleet-maintained apps (#46514)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
* Bitwarden Windows updated to version 2026.5.0 with new installer and
integrity verification checksums.
* Cryptomator Windows installer now executes with elevated privileges
for improved system compatibility and reliability.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46514?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 20:57:47 -05:00
ffb9d876a1 FMA - Another Redis Desktop Manager (#46495)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Another Redis Desktop Manager support has been added with full
installation, update, and uninstallation capabilities for both macOS and
Windows operating systems.
* Integrated application icon, branding, and user interface components
throughout the platform for easy identification and seamless
integration.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46495?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-29 20:41:49 -05:00
3a0904cd79 FMA - Cryptomator (#46497)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Cryptomator is now available as a managed security app for macOS and
Windows.
* Added platform-specific install, upgrade, and uninstall workflows for
both OSes.
  * App metadata and distribution records added for macOS and Windows.
* **UI**
* Integrated a Cryptomator icon in the application interface for
improved visibility.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46497?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-29 20:38:57 -05:00
Harrison RavazzoloandAllen Houchins 06b3176042 Windows FMA - Android Studio (#46505)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Android Studio support for Windows is now available, adding a Windows
app entry and a specific Windows release version (2025.3.4.7).
* Install/uninstall now run non-interactively and include improved
detection of existing installations and version checks for safe
upgrades.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46505?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-05-29 20:38:38 -05:00
fleet-releaseandallenhouchins a44781d24e Update Fleet-maintained apps (#46509)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated installer metadata for AWS CLI (Windows), ChatGPT Atlas
(macOS), Cursor (macOS), Keka (macOS), and Microsoft Teams (macOS) with
new version numbers, installer URLs, and integrity checksums to reflect
the latest releases.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46509?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 20:13:26 -05:00
Harrison RavazzoloandAllen Houchins cf4d869906 FMA - Chrome remote desktop (#46484)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Chrome Remote Desktop is now supported on Windows with integrated
package management. Users can discover, install, and manage the
application directly through the platform with full tracking and
automatic update capabilities. The application includes proper UI
branding and Windows installation integration.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46484?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 16:59:04 -05:00
Harrison Ravazzolo fbfcf5fd98 Windows FMA - Mattermost (#46479)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added Windows platform support for Mattermost v6.0.4, including MSI
installer with automated deployment and uninstall capabilities,
integrity verification, and upgrade management.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46479?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-29 16:57:11 -05:00
fleet-releaseandallenhouchins 16f32379d8 Update Fleet-maintained apps (#46492)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated Cursor Windows to version 3.6.21
  * Updated Loom macOS to version 0.351.1
  * Updated Todoist macOS to version 9.28.0
  * Updated Todoist Windows to version 9.28.0

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46492?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 16:55:44 -05:00
Jordan Montgomery 032246d20d Fixing broken test(cert expired) (#46475)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves # None - Regenerating a cert to fix tests

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Replaced SCEP test CA certificates and associated encrypted
private-key test fixtures used by automated tests.
* **Chores**
* CI workflow path filters updated so changes to test data now trigger
test runs.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46475?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-29 15:10:02 -04:00
Harrison RavazzoloandAllen Houchins 4504b11792 Windows FMA - Burp Suite Community (#46423)
Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-05-29 10:26:23 -05:00
fleet-releaseandallenhouchins c00f442d55 Update Fleet-maintained apps (#46451)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated Microsoft Edge to version 148.0.3967.96
  * Updated Postman to version 12.12.6
  * Updated Visual Studio Code to version 1.122.1 (Windows and macOS)

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46451?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 09:52:54 -05:00
fleet-releaseandallenhouchins 7695d6c434 Update Fleet-maintained apps (#46449)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated Joplin Windows installation and uninstallation scripts for
version 3.6.14.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46449?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 09:25:53 -05:00
Harrison RavazzoloandAllen Houchins 44b9891602 FMA - VSCodium for Windows and macOS (#46426)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added VSCodium support for macOS and Windows platforms with full
installation and uninstallation capabilities.
* Added VSCodium icon to the application interface for improved visual
identification.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46426?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-29 09:24:38 -05:00