Commit Graph
17759 Commits
Author SHA1 Message Date
Victor Lyuboslavsky c7e17c8066 Fix flaky host identity test. (#31446) 2025-07-31 19:49:02 +02:00
Konstantin Sykulev ba18664446 Fixing whatsapp FMA app version (#31119)
Fixes #31185

whatsapp prefixes their version with '2.'. Either this ia a platform
code or some less relevant bit we can drop. It is fairly consistent when
looking through version history.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [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] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-31 12:16:44 -05:00
Gabriel Hernandez eb7b07bc46 update manage host table to not include serial number cell for personally devices enrolled in mdm (#31448)
quick change to host table to show "Not supported" for the serial number
cell for persaonl devices enrolled in mdm.

I've pulled out the check if a host is a personal device enrolled in mdm
and have used this where needed.
2025-07-31 18:07:38 +01:00
Noah Talerman e767146ae3 My device page: Change copy under "Updates" (#31449)
For the following unreleased bug:
- #31414
2025-07-31 12:29:38 -04:00
Noah Talerman af47ab191e Engineering handbook: Eng-initiated stories skip confirm and celebrate (#31461) 2025-07-31 12:29:21 -04:00
Noah Talerman 940ca5fd15 UI copy tweak: New label page (#31425)
- IdP labels are macOS only but Fleet isn't clear about this. Address
the confusion from Fleeties and customers/users:
  - https://github.com/fleetdm/fleet/issues/31285
  - https://fleetdm.slack.com/archives/C02A8BRABB5/p1753886293561879
2025-07-31 12:25:13 -04:00
Magnus Jensen 57566301e1 Wait for expected profiles to be sent before releasing device (#31381)
This PR addresses the concern of potentially being able to release a
device before any profile is sent, and the check thinking there is no
pending. It addresses both the release worker, but also the orbit setup
experience endpoint, even though that is less likely.

_Checked the query against my host on dogfood where it took 0.1 seconds,
with the single host._

fixes: #31143 

_I also ended up putting my main test in a new file
`integration_mdm_release_worker_test.go` and decided not to do fancy
setup, as there is only one test so no recurring things, and based on
our retro talk also moved the setup experience related tests inside of
`integration_mdm_dep_test.go` into their separate file
`integration_mdm_setup_experience_test.go`_

# 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

- [ ] QA'd all new/changed functionality manually (No, since this one is
hard to reproduce, but instead wrote an integration test before doing
the change to verify the behaviour.)
2025-07-31 17:50:57 +02:00
Konstantin Sykulev 4f10a4865c Forcing chrome to uninstall and no new powershell window (#31367)
Related to https://github.com/fleetdm/fleet/issues/27756
and https://github.com/fleetdm/fleet/pull/31118

NoNewWindow prevents powershell from opening a new window when starting
the process.
force-uninstall bypasses Chrome's confirmation dialog

Fixes were discovered when working on
https://github.com/fleetdm/fleet/pull/31210

# Checklist for submitter

## Testing

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

## Manual Testing
regression test Chrome Windows FMA (#27756)
2025-07-31 09:50:13 -05:00
Rachael Shaw 9719a406ef Remove experimental note from "Enroll hosts" guide (#31434)
https://github.com/fleetdm/fleet/issues/28714 specifies removing this as
part of the doc changes.
2025-07-31 10:23:20 -04:00
Ian Littman a87c17aa03 Reapply "[orbit] prevent deb package installs from hanging (#31269)" (#31439) (#31442)
This reverts commit be97428247, as we want
this on `main`.
2025-07-31 08:20:47 -05:00
Gabriel Hernandez 24e7934646 dont show os updates page for users who are not global admin or the team admin (#31410)
fixes #25367 

this doesnt show the os updates page for users who are not global admins
or the current team admin. we also redirect users to the os settings
page if they try to navigate to the os updates page and dont have
permission

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] QA'd all new/changed functionality manually
2025-07-31 12:04:06 +01:00
Jorge Falcon f637cfadac AWS Reference Architecture MySQL verison update (#31369)
- Bumping MySQL version `8.0.mysql_aurora.3.07.1` ->
`8.0.mysql_aurora.3.08.2`
2025-07-30 23:42:43 -04:00
Ian Littman be97428247 Revert "[orbit] prevent deb package installs from hanging (#31269)" (#31439)
This reverts commit 20519adb0b so we have
time to repro/QA it without blocking the fleetd release.
2025-07-30 20:17:06 -05:00
TobiusBB 8fdf17a8a6 Handbook; Capitalization fix (#31433) 2025-07-30 17:46:43 -05:00
Rachael Shaw 1f2a9829ce Update description for fleetctl run-script (#31348)
For [#30597](https://github.com/fleetdm/fleet/issues/30597)

# 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 table schema to confirm autoupdate
- [ ] 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))
2025-07-30 17:32:53 -05:00
Eric 1f11196b67 Website: Update body parser error handling. (#31427)
Closes: https://github.com/fleetdm/fleet/issues/31418

Changes:
- Updated the body parser middleware to return a 403 response if a
multi-part request is sent to a URL that could be for a static asset.
2025-07-30 16:47:56 -05:00
Marko Lisica cb4f1e447a Guide update: custom OS settings (#31355)
We had duplicate section for user scoped profiles.

Besides that, removed the section where we mention that we'll work soon
on #30043 as we decided that we'll document that it's necessary to
re-enroll manually enrolled hosts.

Related to:
- #30043
2025-07-30 16:36:09 -04:00
Jordan Montgomery 3b4f38d45c Add Github Action to create issues when there are new MS MDM Protocol Changes to Review (#31424)
The impetus for this was #31232 . Some MDM migrations and enrollments
broke because MDM Enrollment Protocol changes snuck in that we didn't
see

Now within 24h of Microsoft publishing changes to the MDM or MDE2
protocols we will get a github issue to review them

See #31423 for an example

# Checklist for submitter

## Testing


- [x] QA'd all new/changed functionality manually
2025-07-30 16:18:37 -04:00
Eric e3f173cc34 Website: Batch API requests to host details endpoints in Vanta script (#31422)
Related to: https://github.com/fleetdm/fleet/issues/30993

Changes:
- Updated the `send-data-to-vanta` script to limit the number of API
requests sent to host details endpoints at once.
2025-07-30 15:01:13 -05:00
Jordan Montgomery 0b7167b37c Recreate nano_view_queue with explicit collation and SQL SECURITY INVOKER (#31388)
Fixes #28573 
Fixes #31141 

I don't know of a good way to add automated tests for this unfortunately
- there is no easy way that I can see in our tests to really reproduce
either of these issues

Manual testing can be done for 31141 by creating a different user,
recreating the nano_view_queue as that user using the old query(i.e.
without SQL SECURITY INVOKER), and then deleting the user, seeing that
the nano_view_queue gets busted(i.e. no queries can be run against it),
then doing this migration or even just running the new query and
verifying that the nano_view_queue can be queried again.

# Checklist for submitter

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


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

## Database migrations

- [x] Checked table schema to confirm autoupdate
- [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.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
2025-07-30 15:26:19 -04:00
Konstantin Sykulev 68c3ade0b2 Removed fleet secret validation during gitops dry runs (#31402)
Fixes #30853

Install and uninstall scripts that contain fleet secrets do not need to
be validated in the `batchSetSoftwareInstallersEndpoint` during gitops
dry runs. These secrets are already validated on the gitops side.

# 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
2025-07-30 13:12:39 -05:00
Jordan Montgomery f048df9d60 Add MS-MDE2 Request/Enrollment version 7.0 to allowlist to fix Windows enrollments (#31412)
Fixes #31232

The Microsoft documentation does not directly address
RequestVersion/EnrollmentVersion 7.0 in the allowed versions lists but
grepping the MS-MDE2 protocol docs for EnrollmentVersion finds a few
references related to Federated Authentication and this specifically
seems to be a changeset introduced for AzureAD/Intune related features
and does not impact how we do enrollments, as best I can tell.

# 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] 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
2025-07-30 11:53:27 -04:00
Victor Lyuboslavsky 34c45b256f Host identity cert renewal (#31372)
For #30476

Contributor doc updates: https://github.com/fleetdm/fleet/pull/31371

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

## 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] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [x] 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**
* Automated certificate renewal is now supported, including
proof-of-possession for enhanced security.
* Certificate renewal can be triggered when the existing certificate is
within 180 days of expiration.
* Dynamic configuration of certificate validity period via environment
variable.
  * Improved TPM hardware integration for certificate management.

* **Bug Fixes**
* Enhanced error handling and logging for TPM device closure and
certificate operations.

* **Tests**
* Extended integration tests to cover certificate renewal flows, host
deletion, and TPM-based scenarios for improved reliability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-30 16:46:36 +02:00
Noah Talerman ae2d452146 New role: Technical Product Designer (#31411)
- Emphasize technical skills/responsibilities
2025-07-30 09:36:47 -05:00
Jahziel Villasana-Espinoza 0c161382ce add some g-software docs (#31270)
# Checklist for submitter

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

## Testing
- [x] QA'd all new/changed functionality manually
2025-07-30 10:27:22 -04:00
Gabriel Hernandez 774dfb8b80 add service discovery endpoint test (#31373)
added a quick test for the service discovery endpoint
2025-07-30 11:43:03 +01:00
Victor Lyuboslavsky 50d20c8ffe Added renewal info to TPM contributor docs. (#31371)
Fixes #30476
2025-07-30 07:24:52 +02:00
Victor Lyuboslavsky 761169afb4 Move 31286 changes file. (#31327)
Moved #31286 changes since this is a packaging change (part of
fleet/fleetctl release) and not part of orbit release.
2025-07-30 07:24:43 +02:00
Allen Houchinsandallenhouchins bb4c137bd7 Update macOS version number to 15.6 (#31405)
Co-authored-by: allenhouchins <allen@fleetdm.com>
2025-07-29 19:32:43 -05:00
Juan Fernandez eac86a1224 Added new orbit config flag. (#31332)
For #31065 

Added new orbit config flag 'EnableBitLockerPINProtectorConfig' set iff Disk encryption is enforced and the RequireBitLockerPIN server config flag is set.
2025-07-29 19:22:36 -04:00
5b68247c14 Activity feed: Surface team_id and team_name in policy and query activities (#28394)
fix #27689
# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (added in the
comment)
- [x] Manual QA for all new/changed functionality

output ss
![Screenshot 2025-04-20
100928](https://github.com/user-attachments/assets/b62c1370-18e6-4d0f-a8ab-3a3d2d2084c7)
![Screenshot 2025-04-20
101101](https://github.com/user-attachments/assets/4f052242-d4c0-4027-afef-37f8d29991fc)

Noticed that editing a global policy doesn't generate an edited_policy
activity log in my local environment, while it does in others.
Investigated the gap and shared findings in the issue thread for further
clarification(in https://github.com/fleetdm/fleet/issues/27689)

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-07-29 17:57:21 -05:00
Noah Talerman 7e32d49765 API for contributors (#31248)
- Make the callout about these endpoints being internal
(UI/fleetctl/Fleet Desktop uses them) more prominent.
- Why? So customers/users that find themselves in this doc have hard a
time missing it.
2025-07-29 17:32:26 -05:00
Noah Talerman c807b4173f API reference: Add missing link (#31230)
Context:
https://github.com/fleetdm/fleet/pull/31200#discussion_r2226730130
2025-07-29 17:25:25 -05:00
Ian Littman beba3278d9 Fix docs to refer to "hash_sha256" as field name on software packages (#31175)
This matches the implementation (and a version of the spec that I
thought got merged).
2025-07-29 17:24:41 -05:00
Onasis MunroandEric fd3baa5732 Update testimonials.yml (#31392)
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-07-29 14:14:36 -05:00
Josh Roskos 86b07e20f0 Update linux-disk-encryption-end-user.md (#31249)
- Noted that Fleet generates a new encryption key and the original one
does still remain under step #3 after a customer noted inconsistencies
in our docs.
- The statement was taken from our enforce-disk-encryption article.
2025-07-29 15:13:44 -04:00
fb7bcc1335 Reference docs: what happens when you change the Fleet web address (#30999)
- @noahtalerman: I think changing the Fleet web address means you'll
have to re-enroll all your hosts.
- We have a [feature
request](https://github.com/fleetdm/fleet/issues/29878) to add this copy
to the UI but I think we want to get this in the docs ASAP

---------

Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-29 14:10:04 -05:00
Dan Fuhry 20519adb0b [orbit] prevent deb package installs from hanging (#31269) 2025-07-29 12:41:39 -06:00
@cdcme 314bbb0e8e Update go-to-market-groups.md (#31394)
Removed an errant ;
2025-07-29 13:33:31 -05:00
Ian Littman 96479c5731 Bump container for fleetctl preview GH Action (#31389)
22.04 has been removed as of today so we're currently skipping fleetctl
preview testing.
2025-07-29 13:25:41 -05:00
Victor Lyuboslavsky d1992aa983 Added integration test for TPM. (#31315)
For #31048

This change includes some refactoring of orbit code. No functional
changes. Moved non-Linux-specific code from `securehw_linux.go` to
`securehw_tpm.go` so that tests on any platform can use it.

There are no server changes impacting the upcoming 4.72 release. Just
tests.

# Checklist for submitter

## Testing

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

## fleetd/orbit/Fleet Desktop

- [x] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows


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

## Summary by CodeRabbit

* **New Features**
* Introduced a new TPM 2.0-based secure hardware interface, enabling
creation, loading, and management of ECC keys within a TPM device.
* Added support for both standard and RFC 9421-compatible HTTP
signatures using TPM-backed keys.

* **Bug Fixes**
  * Improved error handling and resource management for TPM operations.

* **Tests**
  * Added comprehensive unit tests for TPM key file loading scenarios.
* Introduced integration tests using a simulated TPM device to validate
end-to-end secure hardware and SCEP workflows.

* **Chores**
  * Updated dependencies for enhanced compatibility and security.
  * Modernized build constraints for improved maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-29 20:21:09 +02:00
RachelElysia cd82898b79 Fleet UI: Refetch polling reset timeout reset after every new poll (4.72 Unreleased bug fix) (#31328) 2025-07-29 13:36:24 -04:00
Ian Littman 9be1eb727d Document existing install_during_setup parameter on batch software contributor endpoints (#31162)
This was implemented in Fleet v4.59.0 but docs weren't updated to
reflect changes.
2025-07-29 11:35:23 -05:00
Gabriel HernandezandRachael Shaw d53f8f5f12 add doc about unpopulated idp user fields if host is restarted (#31322)
related to #29157 

Adding a quick doc update to mention that the idp user info will not be
populated to the create account screen during setup experience if the
host is restarted during mdm enrollment

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-29 11:27:39 -05:00
Jorge Falcon 9618d72b54 Loadtesting MySQL engine_version update (#31351)
- MySQL engine version bumped from 8.0.mysql_aurora.3.07.1 ->
8.0.mysql_aurora.3.08.2
2025-07-29 12:02:49 -04:00
Noah TalermanandSam Pfluger e0155db4b4 New role: Product Designer (#31275)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-07-29 10:21:57 -05:00
Ian LittmanandJahziel Villasana-Espinoza 89ca35c66b Switch vulns cron false positive clear to clear vulns based on when the vulns run started, rather than based on periodicity (#31364)
Fixes #26404.

This means that for long vulns runs vulns will stick around longer, so
we don't wind up nuking vulns that were added earlier in the run, and in
cases where the vulns run takes less than 2h we'll see vulns clear
cleanly more quickly.

# 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

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

---------

Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
2025-07-29 10:14:14 -05:00
Dan FuhryandGeorge Karr c423b0b7c8 Fix DigiCert One guide (#31179)
- Add missing step of selecting "Trust Lifecycle" from the dropdown on
the first page when creating a service user.
- Fixed inconsistent deep links: some linked to the demo portal, others
linked to the main portal. Updated all links to go to the main portal.
- Fixed typos.

---------

Co-authored-by: George Karr <georgekarrv@users.noreply.github.com>
2025-07-29 08:38:22 -05:00
Dan Fuhry 60b3b514c2 [fleetctl] api command: support request body, including file uploads (#30806)
Add the capability to build a request body with `fleetctl api`,
including uploading files.

Example command to upload a software package:

```sh
fleetctl api --debug -X POST -F team_id=0 -F 'software=@./server/service/testdata/software-installers/ruby.deb' software/package
```

Unit tests are included for both simple POST requests and file uploads.

Closes #21754.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [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] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-29 08:15:23 -05:00
Noah Talerman 33062791e4 Story template (#31340) 2025-07-29 07:41:39 -05:00