Commit Graph
24867 Commits
Author SHA1 Message Date
Victor Lyuboslavsky 1072c852e8 Added support for validating Microsoft Entra v2 access tokens (#46416)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46388 

Video demo: https://www.youtube.com/watch?v=t3yuGh0kwP8
Docs PR: https://github.com/fleetdm/fleet/pull/46483

# 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`.
- [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

## Database migrations

- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.

## New Fleet configuration settings

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

- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- [x] 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)
- [x] 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)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled

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

* **New Features**
* UI to add/remove Entra application (client) IDs for Windows automatic
enrollment; add/delete modals and list management.

* **Enhancements**
  * Activity feed entries for added/removed Entra client IDs.
* Entra client ID allowlist surfaced in GitOps and persisted config;
client IDs normalized (trim/lowercase) and de-duplicated.

* **Documentation**
* Note: from July 1, 2026 new on‑prem Windows MDM apps receive Entra v2
tokens with aud = client ID; v1 tokens remain supported.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 17:58:51 -05:00
fleet-release cdb2eca40b Update Fleet-maintained apps (#46602) 2026-06-01 17:41:24 -05:00
Andrey Kizimenko 332f53f1b8 Reduce test plan boilerplate noise in story template (#46572)
Every story issue inherited ~14 generic test-plan checkboxes (UI, API,
GitOps, Permissions) plus TODO placeholders, regardless of whether they
applied. The result was that most issues carried large blocks of
uncurated boilerplate, making it hard to see which checks were actually
relevant and adding visible noise to every story.

This restructures the Test plan section into a hybrid format:
- Keep "Core flow" and "Edge cases" visible, with Edge cases retaining a
required QA TODO slot so every story has a curated entry point.
- Move the UI, API, GitOps, and Permissions checklists into a single
commented block headed by a visible nudge. Authors un-comment only the
sections that apply, so the rendered issue shows only relevant checks
instead of orphan headers.

It also expands suggested coverage with three new sections (commented by
default):
- Premium gating: confirm premium-only features are blocked on both the
frontend and backend, not just hidden in the UI.
- Upgrade / data migration: confirm behavior on upgraded servers (not
just fresh installs) and that data migrates/rolls back safely.
- Feature in isolation (MDM / platform independence): confirm
cross-platform or Apple-MDM-independent features work without Apple MDM
configured. This addresses a recurring bug class where features break
when Apple MDM is off — e.g. #44801 (end user auth on
Windows/Linux-only), #44194 (team BitLocker enable when Apple MDM off),
and #46283 (host OS settings API with only Android MDM).
2026-06-01 18:21:55 -04:00
Sharon Katz 7fb464abc4 Clean up policy query to use parameter binding for platform filter (#46604)
## Summary
- Refactored the conditional access policy query to use `CONCAT('%', ?,
'%')` with a bound parameter instead of string concatenation for the
platform `LIKE` clause, consistent with how other queries in this file
handle string filters.

## Test plan
- [ ] Verify conditional access policy lookup still returns correct
results for macOS/Windows hosts.
- [ ] Confirm no regression in policy filtering behavior.

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

## Summary by CodeRabbit

* **Chores**
* Improved platform filtering in conditional access policy queries to
enhance query reliability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 18:15:02 -04:00
Lucas Manuel Rodriguez 75e932e614 Fix typo (#46589) 2026-06-01 17:11:44 -05:00
Andrey Kizimenko f778ed5c50 Add ritual for checking new hardware & OS releases (#46568) 2026-06-01 16:23:38 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 1221b66c70 Add Fleet for CIOs slide deck link to handbook (#46598)
## Summary
- Adds the Google Slides link for the "Fleet for CIOs" deck to the Slide
Decks section in the Go-To-Market operations handbook page, replacing
the previous "work in progress" placeholder.

## Changes
- `handbook/company/go-to-market-operations.md`: Updated the "Fleet for
CIOs" bullet from a WIP placeholder to an active link pointing to the
slide deck.

---

Built for [Chaz
Maclaughlin](https://fleetdm.slack.com/archives/D0AHH0ZEMLY/p1780344948342509?thread_ts=1779381980.385179&cid=D0AHH0ZEMLY)
by [Kilo for Slack](https://kilo.ai/slack)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-01 15:39:24 -05:00
Konstantin Sykulev a0bc6a110a Updating android docs (#46600) 2026-06-01 15:35:43 -05:00
Konstantin Sykulev dbc9cdc9c8 Updating android mdm readme (#46098) 2026-06-01 15:30:06 -05:00
Konstantin Sykulev 19f14c1c8c Corrected configuration profiles endpoint handler (#46580)
**Related issue:** Resolves #46283

# 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.

## 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

* **Bug Fixes**
* Fixed an error in the "Get host's OS settings" API so it no longer
fails when only Android MDM is enabled.
* Configuration profiles endpoint now correctly responds when Android or
Windows MDM is the active platform, in addition to Apple MDM.

* **Tests**
* Added tests covering configuration profiles behavior across Apple,
Windows, and Android MDM configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 15:23:20 -05:00
Mason Buettner 6abc217c76 Update enable-scripts-macos.sh to conditionally set ORBIT_ENABLE_SCRIPTS variable (#46100)
Check if the `ORBIT_ENABLE_SCRIPTS` plist variable exists and set or add
it accordingly in the plist.

Prior to this change, if the variable was not already present on the
host, the script would fail to set the variable.

This change also sets the `plist_path` variable, which was missing in
the original script.

# Checklist for submitter

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

- [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] QA'd all new/changed functionality manually

## fleetd/orbit/Fleet Desktop

- [x] 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))
- [x] Verified that fleetd runs on macOS, Linux and Windows


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

* **Chores**
* Improved macOS setup script to more reliably configure the launchd
environment variable: it now detects whether the variable exists before
updating or adding it, handles errors silently during probes, uses a
single plist path variable instead of a hardcoded path, and ensures the
service is restarted with the updated configuration.

<!-- 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/46100?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 16:17:50 -04:00
Dale Ribeiro cf20e45c50 Fix typo in GitOps migration documentation (#43823) 2026-06-01 16:11:02 -04:00
Adam BaaliandClaude fd42134a0f YellowKey: drop wrapper (#46432)
Removes docs/solutions/windows/scripts/install-yellowkey-extension.ps1
(thin wrapper that fetched Allen's upstream installer) and updates the
policy's run_script.path to install-windows-yellowkey-extension.ps1, the
canonical filename in allenhouchins/fleet-extensions. Users drop Allen's
installer (with its canonical name) into their GitOps scripts directory;
the policy references it directly.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** #46360



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

## Summary by CodeRabbit

* **Documentation**
* Updated Windows YellowKey osquery Fleet policy documentation with
revised script references and remediation instructions for hosts that
fail to load the extension.

* **Chores**
* Removed obsolete installation script; installation procedures have
been consolidated for improved clarity and maintainability.

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

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-01 16:10:33 -04:00
Steven Palmesano 3b54b0eca6 Show tooltip for long model names on Hosts page (#46579)
While testing for #46482, I noticed that the model name on the Hosts
page is truncated, but a tooltip doesn't show on hover. This felt
inconsistent, since the Host details page truncates the model and does
show a tooltip.

# Checklist for submitter

## Testing

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

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

* **Bug Fixes**
* Improved display of hardware model information in the hosts management
table with better text truncation and tooltip support for enhanced
readability.
* Adjusted column styling to ensure consistent width and reliable
tooltip behavior for long hardware model names.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 14:37:09 -05:00
Luke Heath be56fd5df4 Add CODEOWNERS entry for package-lock.json (#46592) 2026-06-01 13:45:11 -05:00
Andrew Mellor eced0f21c2 Update label_membership_type description in YAML docs (#46546)
Missing text found during document review

- [x] QA'd all new/changed functionality manually
2026-06-01 13:44:53 -05:00
Luke Heath cb2f3826c3 Rename job in GitHub Actions workflow (#46590) 2026-06-01 13:40:51 -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
Steven Palmesano b993da7967 Use new MDM status on hosts page and show tooltip; show "Not supported" for Linux (#46377)
**Related issue:** Resolves #46066

# Checklist for submitter

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


## Testing

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

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

* **Bug Fixes**
* Corrected MDM status label in the hosts table so enrollment states
display accurately.
* Fixed platform handling so "Not supported" appears appropriately for
Chrome and Linux hosts.

* **New Features**
* Added a hover tooltip on the MDM status in the hosts table to show
additional context.

* **Style**
* Improved tooltip text wrapping to keep status names on a single line.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 13:16:56 -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
Noah TalermanandDan Gordon 30430058fb 4.86.0 release article: Tweak/shorten language (#46551)
- @noahtalerman: I forgot to push these changes before the release
article went live.

---------

Co-authored-by: Dan Gordon <daniel@fleetdm.com>
2026-06-01 12:41:41 -05:00
Eric b6b5b415a1 Website: Regenerate package-lock.json (#46455)
Changes:
- Regenerated the website's package-lock.json by running `npm update`
2026-06-01 12:05:55 -05:00
Mike McNeilandEric 53139842f4 Website: Heading looks weird without tabs (#46413)
<img width="1048" height="205" alt="image"
src="https://github.com/user-attachments/assets/8f72da4d-d898-41ec-94bd-79f747eedda5"
/>


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

* **Documentation**
* Reorganized pricing table: device-related features are now grouped
under "Device management" for clearer, more consistent categorization.
* **Bug Fixes**
* Pricing page grouping updated so the new category displays correctly.
* **Chores**
* Build/validation updated to accept the "Device management" category,
preventing misclassification during site builds.

<!-- 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/46413?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: Eric <eashaw@sailsjs.com>
2026-06-01 11:38:55 -05:00
Juan Fernandez 0922a8bdb9 Fix Fleet Desktop KDE detection on hybrid Linux installs
Fixes #45963 

isKDE() previously matched loginctl's Desktop metadata field, which can
falsely report KDE on hosts that have kde-plasma-desktop installed
alongside another, detect the live plasmashell process owned by the
logged-in GUI user instead.
2026-06-01 12:25:12 -04:00
George Karr 03b84104c9 Create ~/.fleet on first make serve (#46521)
## Summary
- `make serve` writes to `~/.fleet/last-serve-invocation` in both
branches of its main recipe (save-invocation when `FORWARDED_ARGS` is
set, default-seed when it's empty), but neither branch creates the
`~/.fleet` directory first.
- On a fresh machine the redirect fails with `No such file or directory`
and the target aborts before `./build/fleet` is ever invoked.
- Adds a single `mkdir -p ~/.fleet` to the recipe so both branches have
a directory to write into.

## Test plan
- [x] On a machine without `~/.fleet`, `make serve` previously failed
with `No such file or directory`; with this patch it creates the
directory, seeds the default invocation, and starts fleet.
- [x] On a machine with an existing `~/.fleet/last-serve-invocation`,
behavior is unchanged (`mkdir -p` is a no-op).

## Follow-ups (not in this PR)
- The `RESET` branch (`make serve RESET=1`, line 180) uses `touch
~/.fleet/last-serve-invocation && rm ...` which has the same gap on a
fresh machine. Worth fixing in a follow-up if anyone hits it.
- The `SHOW` branch (line 170) handles missing files via `$?` and
gracefully no-ops, so it's fine.

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

## Summary by CodeRabbit

* **Chores**
* Improved build process reliability by ensuring required directories
are properly initialized.

<!-- 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/46521?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 11:14:17 -05:00
Mike McNeilandEric aa90c87521 Website: Workspace ONE no longer supports on-prem (EOL 2027) (#46490)
- Update homepage.ejs

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

* **Style**
* Updated the "Cloud or self-host" comparison on the homepage: the
Omnissa (WS1) option now shows a red "x" icon instead of the phrase
"On‑prem discouraged" in both desktop and mobile tables for clearer,
more consistent visuals.

<!-- 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/46490?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: Eric <eashaw@sailsjs.com>
2026-06-01 10:49:10 -05:00
Victor Lyuboslavsky 76b0134b7b Added endpoint to fleetdm.com proxy (#46107)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41683 

fleetdm.com for Android commands:

https://developers.google.com/android/management/reference/rest/v1/enterprises.devices/issueCommand

# Checklist for submitter

## Testing

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

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

* **New Features**
* Added a new API endpoint to issue commands to Android Enterprise
managed devices with secure authentication, enterprise/device
validation, dynamic command parameters, management-status checks, and
clear error responses for rate limits, unmanaged devices, and auth
failures.
* Exposed a new Cloud SDK method to invoke the device-command endpoint
from browser/server clients.

<!-- 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/46107?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 10:32:48 -05:00
Magnus Jensen ddcf246fbb Fix local admin account link in release article (#46562) 2026-06-01 10:22:31 -05:00
Konstantin Sykulev f619655a61 Certificate template duplicate name error (#46414)
**Related issue:** Resolves #44821

# 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.

## Testing

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



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

* **Bug Fixes**
* Fixed inline validation to show duplicate certificate name errors even
when the conflicting certificate is on a different page.
* Improved server-side error handling during certificate creation to
better detect name conflicts and present clearer, focused feedback on
the Name field.

<!-- 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/46414?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 10:01:47 -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
Lucas Manuel Rodriguez 9032883b47 Fix fleetctl get fleets to use source of truth (DB) for software (#46480)
Resolves #44970 (1/2).

---

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [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

* **Bug Fixes**
* `fleetctl get fleets` / `get teams` now display software and setup
experience from authoritative software endpoints.
* Preserve literal setup_experience fields (avoid erroneous macos_setup
renames) when applying and when transmitting JSON for software entries.
* **Tests**
* Added regression tests and test helpers to ensure
software/setup_experience are sourced correctly and to prevent nil
panics in related tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 11:41:34 -03: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
Juan Fernandez 66667c3248 Fix S3 carve cleanup never running and panic on empty carves (#43045) (#46462)
Resolves #43045 

Fixed a bug where the carve cleanup cron job called the MySQL
implementation instead of the S3-aware implementation on S3-configured
deployments, meaning expired carves were never marked as expired in S3.
Also fixed a panic in S3 carve cleanup that occurred when there were no
non-expired carves.
2026-06-01 10:11:49 -04:00
Lucas Manuel Rodriguez e2011f2a90 Ignore fleetctl CVEs (#46558)
Fixes:
https://github.com/fleetdm/fleet/actions/runs/26741879404/job/78807631340.

Run: https://github.com/fleetdm/fleet/actions/runs/26758445243



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

## Summary by CodeRabbit

* **Documentation**
* Added vulnerability exploitability statements for CVE-2026-42496 and
CVE-2026-8376.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 10:55:31 -03: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
Victor LyuboslavskyandLucas Manuel Rodriguez 8a28b83b00 Redis host cache optimizations (#46458)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46338 

Changes load tested (osquery load test).
<img width="1532" height="282" alt="image"
src="https://github.com/user-attachments/assets/9eb38629-918e-4e05-bc0b-e2ae22e8b148"
/>
<img width="1414" height="937" alt="image"
src="https://github.com/user-attachments/assets/1b90afd3-087c-452e-939f-b495df3e59c8"
/>


# 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

* **Performance Improvements**
* Extended host cache retention period from 60 seconds to 180 seconds to
improve overall cache efficiency and hit rates.
* Optimized host cache invalidation strategy to eliminate unnecessary
reverse-index lookups, significantly reducing database reader load and
Redis CPU consumption.

* **Tests**
* Added test coverage for host update cache invalidation edge cases to
ensure proper behavior.

<!-- 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/46458?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: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-06-01 08:12:50 -05:00
Luke Heath 774e1e7352 Cherry-pick #45742: Adding changes for Fleet v4.86.0 (#46506) 2026-06-01 08:09:33 -05:00
Dan Gordon 2c1267501d Add video link to release announcement (#46526) 2026-06-01 08:08:32 -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