Commit Graph
20869 Commits
Author SHA1 Message Date
Victor Lyuboslavsky 774595f32e Porting fix from micromdm/scep (#38638)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38579

Porting this fix from upstream:
https://github.com/micromdm/scep/commit/a8623d6b71c383ed448ededb834401a014961e61

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

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
  - QA'd the change manually using micromdm/scep
2026-01-22 13:34:53 -06:00
Robert Fairburn e0631aff76 Dogfood signoz (#38569) 2026-01-22 12:33:27 -06:00
RachelElysia e154caf2cb Remove host's VPP install rows when removing host (#38344) 2026-01-22 13:04:11 -05:00
Eric fd5d77a861 Website: Update query generator (#38643)
Changes:
- Fixed a bug in the query generator that prevented Linux and ChromeOS
queries from being displayed to users automatically.
2026-01-22 11:55:22 -06:00
Eric 16e8d48396 Website: update deliver-contact-form-message (#38640)
Changes:
- Updated the deliver-contact-form-message action to attempt to
create/update CRM records before it sends a contact form email.
2026-01-22 11:48:48 -06:00
George Karr 2d03130c46 Adding logic that follows expectation with bugs and sub-tasks to milestone close workflow (#38552) 2026-01-22 11:19:08 -06:00
d0cfba42be Update Fleet-maintained apps (#38633)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-01-22 10:33:02 -06:00
RachelElysia 36ef5d35a8 Fleet UI: Fixed hover color of links in error flash messages (#38634) 2026-01-22 11:25:21 -05:00
dependabot[bot] 7ec6096bc1 Bump lodash from 4.17.21 to 4.17.23 (#38614) 2026-01-22 10:14:22 -06:00
Noah Talerman ecf2d3ab7e Revise feature prioritization criteria (#38327)
Updated criteria for prioritizing new features to include labels for UX
improvements and product maturity goals.

DONE: @noahtalerman and @allenhouchins update [product maturity
assessment](https://fleetdm.com/handbook/company/product-maturity-assessment)
for 2026.
2026-01-22 10:08:00 -05:00
Brock Walters 3792b8bf83 Add Marketing Assets section to README (#38618)
Added a section for Marketing Assets to track created assets.
@Sampfluger88 Created per request from @akuthiala - thanks.
2026-01-21 22:16:18 -06:00
Sam Pfluger 794ed9b735 Add instructions for sending weekly KPI update (#38584)
Added a new section detailing the process for the Apprentice to send the
weekly KPI update in Slack, including steps for checking the KPI sheet,
copying the update, and scheduling the message.
2026-01-22 00:09:14 +00:00
Noah Talerman b4db8d5cf5 Product design handbook: Clarify guide updates during drafting (#38588)
Context:
https://fleetdm.slack.com/archives/C084F4MKYSJ/p1768936713202219
2026-01-21 17:58:01 -05:00
Eric 9126c66687 Website: Fix syncing state on "Talk to us" form (#38612)
Changes:
- Updated the "Talk to us" form to end the syncing state on the submit
button when the `deliver-talk-to-us-submission` action returns an error
response.
2026-01-21 16:50:18 -06:00
Noah Talerman 30674b6094 Fleet server configuration: Remove apple_scep_signer_allow_renewal_days (#38538)
- This config doesn't exist
2026-01-21 17:37:15 -05:00
fleet-releaseandmostlikelee f75e7d286a Update Fleet-maintained apps (#38605)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-21 16:21:38 -06:00
Martin Angers 462a2e39e5 Bugfix: apply a special-case for Xcode VPP app verification (#38539)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37290 

# Checklist for submitter

- [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)

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

Tested and all but the very last `InstalledApplicationList` MDM command
was sent with `ManagedOnly=false` and the VPP install transitioned to
`Verified`. It correclty sent the ManagedOnly=false right after it
received a ManagedOnly=true verification result without the Xcode
reported as "Installing".

Multiple QA passes here with screenshots (this and subsequent comments):
https://github.com/fleetdm/fleet/issues/37290#issuecomment-3778270822
2026-01-21 17:16:13 -05:00
Eric 65f313d153 Website: update clay webhook inputs and historical event helper (#38601)
Closes: https://github.com/fleetdm/fleet/issues/38500

Changes:
- Added support for a `relatedCampaign` input to the receive-from-clay
webhook.
- Updated the `create-historical-event` helper to set `relatedCampaign`
on new historical event records (if provided)
2026-01-21 16:11:57 -06:00
Ian Littman 2250d30a11 Bump dependencies to fix dep vulns in fleetd-chrome (#38465)
Lock file wasn't up to date. Ran `npm audit fix` and that dropped
packages that had already been removed from package.json (and updated
deps).
2026-01-21 16:10:57 -06:00
Jahziel Villasana-Espinoza b39a403d29 move deletion into block that only executes when the package itself changes (#38595)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38452 

Fixes the issue by moving a deletion of software display names into a
code block that will only execute IFF the software package _itself_ has
changed (e.g. a new package is uploaded, or the installer is deleted).
This keeps changes to important metadata such as the related scripts
from deleting the display name.

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

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-01-21 16:59:40 -05:00
Lucas Manuel Rodriguez 3927fb60f0 Fix TestVPPAppScheduledUpdates (#38603)
Fixing `TestVPPAppScheduledUpdates` on `main` (broken by the addition of
version checking when verifying VPP installs/updates).

Fix is about setting the VPP proxy versions data inside the sub-tests vs
only once in the main test (because each sub-test modifies the latest
version).
2026-01-21 16:34:03 -05:00
melpikeandRachael Shaw 2ecec2b0aa Clarify instructions for API-only user creation (#38387)
Rephrase instructions for creating API-only users for clarity.

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

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-21 15:19:06 -06:00
Steven Palmesano 897787b1ac Add link to our issue for SCIM support (#38460)
Re: https://fleetdm.slack.com/archives/C07MYE3KKPX/p1768331054297279
2026-01-21 15:17:33 -06:00
Allen Houchins 587eb5c048 Rename why-enterprise-linux-is-important-in-2026-md. to why-enterprise-linux-is-important-in-2026.md (#38598)
This is currently breaking builds.
2026-01-21 15:55:42 -05:00
tarikjhasan55 17be112ab6 Edit Go-To-Market groups Typo (#38587)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**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)
- [ ] 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))
2026-01-21 14:10:55 -06:00
Isabell Reedy 3be94d1853 Update CODEOWNERS to DRIs (#38589) 2026-01-21 14:04:02 -06:00
Isabell ReedyandSam Pfluger 7470f8bac5 Update custom.js maintainers (#38591)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-01-21 14:03:54 -06:00
Victor Lyuboslavsky d92e9a1058 Global observers and maintainers can now officially read user details (#38558)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38557

Here's the product approval:
https://github.com/fleetdm/fleet/issues/37806#issuecomment-3774833154

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

## 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**
* Global observers and maintainers are now officially allowed to read
user details via the app's authorization rules; read access is granted
while write/role-altering permissions remain unchanged.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-21 13:55:10 -06:00
Carlo ce07d51850 Only mark installed apps verified if version matches (#38368)
Fixes #32740 Fixes iDevice VPP apps showing as "installed" even when the device has an outdated version after clicking "Update".
2026-01-21 14:17:45 -05:00
Jonathan Katz d66b259306 Compare pkg-info bundle id with bundles in pkg parsing (#38577)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37710
Adds some logic to try to use the name/version/identifier from a bundle
that exactly matches the bundle identifier from the root pkg-info
element, if found. The loop continues even if that is found since
packageIDSet needs to be built.
# 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] 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)

- [x] QA'd all new/changed functionality manually
Tested against all installers from the google drive folder, prisma
access browser is the only package with changed metadata.
Before:
```
File: Prisma Access Browser-144.6.10.59-b070a3e0.pkg
- Name: 'PrismaAccessBrowserSoftwareUpdateAgent'
- Bundle Identifier: 'com.paloaltonetworks.PrismaAccessBrowserUpdater.Agent'
- Package IDs: 'com.paloaltonetworks.PrismaAccessBrowserUpdater,com.paloaltonetworks.PrismaAccessBrowserUpdater.Agent,com.talon-sec.Work,com.talon-sec.Work.framework,com.talon-sec.Work.framework.AlertNotificationService,com.talon-sec.Work.helper,com.talon-sec.Work.helper.plugin,com.talon-sec.Work.helper.renderer,org.sparkle-project.Downloader,org.sparkle-project.InstallerLauncher,org.sparkle-project.Sparkle,org.sparkle-project.Sparkle.Updater'
- Version: 144.6.10
```
After:
```
File: Prisma Access Browser-144.6.10.59-b070a3e0.pkg
- Name: 'Prisma Access Browser'
- Bundle Identifier: 'com.talon-sec.Work'
- Package IDs: 'com.paloaltonetworks.PrismaAccessBrowserUpdater,com.paloaltonetworks.PrismaAccessBrowserUpdater.Agent,com.talon-sec.Work,com.talon-sec.Work.framework,com.talon-sec.Work.framework.AlertNotificationService,com.talon-sec.Work.helper,com.talon-sec.Work.helper.plugin,com.talon-sec.Work.helper.renderer,org.sparkle-project.Downloader,org.sparkle-project.InstallerLauncher,org.sparkle-project.Sparkle,org.sparkle-project.Sparkle.Updater'
- Version: 144.6.10.59
```
2026-01-21 13:43:38 -05:00
Konstantin Sykulev 1330de8653 created mac vim mapping software transformer (#38333)
**Related issue:** Resolves #33005

# 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
2026-01-21 12:33:14 -06:00
fleet-releaseandmostlikelee 2aa9bb2e35 Update Fleet-maintained apps (#38568)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-21 12:19:25 -06:00
George Karr 68452b8a1d Adding changes for Fleet v4.79.1 (#38487) 2026-01-21 12:18:49 -06:00
Eric 425ee85279 Website: Update Fleet Premium trial page (#38580)
Closes: https://github.com/fleetdm/fleet/issues/38576

Changes:
- Updated the Fleet Premium trial page to display the trial license key
sent from the page's view action instead of displaying it from the `me`
variable set in the custom hook.
- Added a minimum height to the Fleet Premium trial page to prevent the
modal scrolling outside of the page's background
2026-01-21 11:44:09 -06:00
Ian Littman 67414fd8a7 Bump tar dep on fleetctl-npm to resolve CVE (#38578) 2026-01-21 11:25:36 -06:00
Irena ReedyandBrock Walters 7ef617f41b Create why-enterprise-linux-is-important-in-2026-md. (#38573)
Article written by Adrian, but to be published under Ashish's name.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-01-21 11:36:16 -05:00
Lucas Manuel Rodriguez a66befeb1f Fix update certs CI check (#38566)
Fix to only create a PR if there are changes, see
https://github.com/fleetdm/fleet/pull/38563.
2026-01-21 13:08:22 -03:00
Noah Talerman 23e8444e34 Feature request template (#38571) 2026-01-21 10:06:41 -06:00
Lucas Manuel Rodriguez 0b884a609d Update instructions to not use main for testing/building fleetd before push to edge (#38515) 2026-01-21 09:58:15 -06:00
Gabriel Hernandez 6bdebf5260 handle NotNow status from device so that it does not block the DEP setup experience flow (#38319)
**Related issue:** Resolves #37371

This is a quick change to handle the NotNow status from a mdm command
response from the device. We consider the task complete so that it will
not block the device releasing during the DEP setup experience.


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
2026-01-21 15:14:57 +00:00
Magnus Jensen 6b1d0a4b71 limit DEP cooldowns to sync limit and order by oldest first (#38535)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36770 

# 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
- [ ] QA'd all new/changed functionality manually - No as I don't have
the possibility of getting more than 200 devices in my instance, and
then also on cooldown, but test should do the trick here.
2026-01-21 09:25:55 -05:00
Magnus Jensen 6315d00d89 use new same scope learn more link for all three error messages (#38528)
Just a small change as per slack discussion
https://fleetdm.slack.com/archives/C03C41L5YEL/p1768923148269239
2026-01-21 09:25:45 -05:00
Juan Fernandez 1480ffa432 Alternative browser host gitops (#38516)
**Related issue:** Resolves #38096

The work required for this was done in
[here](https://github.com/fleetdm/fleet/pull/38409) - this just
adds/updates related tests. While QA'ing this I noticed a discrepancy
between the UI and the Figma specs, instead of opening a new PR, the
issue was patched here.
2026-01-21 10:12:48 -04:00
Eric 7759fa71f7 Website: Update values set in CRM helper (#38559)
Changes:
- Updated the "Source channel detail" and "Most recent channel detail"
values set in the update-or-create-contact-and-account helper to match
the updated accepted values
2026-01-20 18:47:18 -06:00
Isabell ReedyandSam Pfluger fcac359298 Handbook: org and responsibilities update (#38527)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-01-20 17:20:16 -07:00
Ashish KuthialaandSam Pfluger 48df078026 Add link to Fleet ideal customer profile document (#38501)
Added a link to the Fleet ideal customer profile and core personas
document.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**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)
- [ ] 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))

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-01-20 17:16:59 -07:00
Isabell Reedy 0eaef4e3e8 Update application process (#38353) 2026-01-20 17:16:34 -07:00
Ian Littman 20df8e18b9 🤖 Bump to the current version of the Heroku deploy GitHub action (#38468)
Zed + Opus 4.5; prompt: Update akhileshns/heroku-deploy to the latest
version.
2026-01-20 17:45:55 -06:00
Harrison Ravazzolo fa59f05e03 Update link for renew apns doc (#38550)
Fix for broken link in Fleet - resolves
https://github.com/fleetdm/fleet/issues/38545
2026-01-20 17:52:33 -05:00
Konstantin Sykulev 793f845e4a Differentiate between imp and Integrative Modeling Platform (#38396)
**Related issue:** Resolves #35192

# 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
2026-01-20 16:39:50 -06:00