Commit Graph
24881 Commits
Author SHA1 Message Date
Lucas Manuel Rodriguez 00d340291c Mark ptr methods as deprecated (#46626)
Mostly to prevent AIs from picking them instead of using new (because
then the linters in CI complain).

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

## Summary by CodeRabbit

* **Chores**
* Deprecated internal pointer helper functions in favor of Go's standard
pointer allocation syntax. Updated test files throughout the codebase to
use the standard approach for consistency and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 10:43:18 -03:00
Noah Talerman 5f5c71df12 Update feature fest and unpacking to match reality (#46632)
- Today, this is how we're doing it
- Soon, Product Designers will own inbox triage for their respective
product/working group
2026-06-02 09:32:17 -04:00
Rajendra kadam 38d13b135c Skip policy_membership writes for unchanged values (#44191)
Implements the optimization described in
[#44191](https://github.com/fleetdm/fleet/issues/44191): inside
`RecordPolicyQueryExecutions`, fetch the existing `policy_membership`
rows for the incoming policies and narrow the UPSERT batch to only the
rows whose stored value differs from incoming. Steady-state rows are
skipped entirely.

The added SELECT is a small indexed lookup on `(host_id, policy_id)`;
the savings are on the writer side, which is the loadtest bottleneck.
2026-06-02 09:05:41 -04:00
Juan Fernandez 923d1a2e3d Fix FK constraint failure in RecordPolicyQueryExecutions when policy deleted mid-flight (#46587)
Fixes #40362

Use INSERT IGNORE in the sync path so that a policy deleted between
distributed query dispatch and result ingestion is silently skipped,
matching AsyncBatchInsertPolicyMembership which already handles this
race with the same approach.
2026-06-02 08:45:51 -04:00
Noah Talerman 7aabdb130e Delete .kilocode/skills/feature-request directory (#46605) 2026-06-02 07:43:32 -05:00
fleet-release eb79033e0a Update Fleet-maintained apps (#46621) 2026-06-02 07:43:01 -05:00
Juan Fernandez 18f1f10588 Make path traversal in Orbit more robust (#46570)
Make path traversal in Orbit more robust.
2026-06-02 07:33:09 -04:00
3a110e9c45 Add webinar image to landing page (#46376)
In order to improve conversion of traffic on landing page: Add the
webinar image asset and link it from the article metadata. Adds new PNG
at
website/assets/images/articles/webinar-beyond-the-hype-ai-device-management-800x450@2x.png
and inserts a meta tag (articleImageUrl) in the article header so the
post can reference the image. Also trims trailing whitespace on the
articleTitle meta tag.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-06-02 07:10:01 -04: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
Harrison RavazzoloandAllen Houchins dd93e8f806 Add DEX queries for Windows (#46607)
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-01 20:56:16 -05: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
Sam Pfluger 84b1f12017 Add 'Website - Swag request' to webhook options (#46617)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for website swag request contacts in webhook processing,
enabling the system to accept and validate requests from this new
contact source type.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 20:06:25 -05:00
Mike Thomas 8328e0e4bf Handbook - update whitepaper and webinar metatag instructions (#46615)
Updated whitepaper and webinar metatag instructions.
2026-06-02 09:30:44 +09:00
Victor Lyuboslavsky 56fe9ed6e1 Fixed the mdm_unenrolled activity not appearing in host details page (#46573)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46119 

New activities visible on host details page:
<img width="482" height="424" alt="image"
src="https://github.com/user-attachments/assets/8b8b33b2-c135-4061-b258-473fcc109d89"
/>

# 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**
* MDM unenrollment events now appear on the host activity timeline in
host details.

* **New Features**
* Host activity entries for MDM unenroll show platform- and actor-aware
messaging and appropriate action/icon visibility.

* **Tests**
* Added tests to verify rendering and messaging for various platforms
and actor presence.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 18:01:15 -05:00
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