Commit Graph
23632 Commits
Author SHA1 Message Date
Irena Reedy bb54bb407b Create technology-company.md (#44027) 2026-04-22 22:36:00 -05:00
Irena Reedy d5268176b9 Create observability-software-company.md (#44029) 2026-04-22 22:35:34 -05:00
Irena Reedy 35a2044d8e Create commerce-company.md (#44030) 2026-04-22 22:35:02 -05:00
Irena Reedy c71ee3f9f5 Create digital-bank-1.md (#44031) 2026-04-22 22:34:33 -05:00
RachelElysia 0db7c2b022 Fleet UI: Manage local accounts host details page followup (#44013) 2026-04-22 21:42:48 -04:00
Sam Pfluger cb35c5a92d Add domain to blocked list (#44026)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated email domain restrictions across multiple submission and
validation processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 20:31:42 -05:00
Dan Gordon d9b5502f25 Ak updateblog date (#44023) 2026-04-22 19:41:20 -05:00
Eric 2e762731dd Website: update forms inputs (#44024)
Changes:
- Added new fields to forms that deliver emails
- Updated the actions called by those forms to return a success response
if the new input is provided
- removed two routes for unused actions
- Removed the button from the deal registration success state
2026-04-22 19:05:31 -05:00
Ashish Kuthiala 9fe189a5c9 Update links in blog (#44022)
Added links
2026-04-22 16:27:02 -07:00
Noah Talerman d70d1afcd1 YAML reference: Remove required keys (#43856)
They're not all required anymore and we have good error messages for
when the required ones are missing:
https://fleetdm.slack.com/archives/C0ACJ8L1FD0/p1776784920625659
2026-04-22 18:00:14 -05:00
Steven Palmesano f6b77045be Move SCIM info for automatic deprovisioning from end user doc to Fleet user doc (#44000)
We put the SCIM information for Fleet users in the wrong doc.
2026-04-22 17:59:00 -05:00
Konstantin SykulevandMarko Lisica 7fa1341c73 Windows wipe failed acivitiy (#43795)
**Related issue:** Resolves #42290
# Checklist for submitter

If some of the following don't apply, delete the relevant line.
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops

## 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**
* Failed Windows MDM wipe attempts now create a tracked "Failed wipe"
activity showing the affected host and display name for visibility; UI
filter and activity feed now surface this type.

* **Bug Fixes**
* Improved detection and reporting of wipe result statuses so real
failures are reliably surfaced.
  * Duplicate failure responses are suppressed to avoid repeated alerts.

* **Tests**
* Added tests validating wipe-failure activity creation and related
control flows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-04-22 17:53:59 -05:00
Steven Palmesano 2f95183c08 Update server_settings documentation (#43839)
We
[updated](https://github.com/fleetdm/fleet/commit/02af994bb2b28faaf233cdc30a292b6cb33e37ca)
some references when we renamed queries to reports, but didn't update
them all.
2026-04-22 17:53:34 -05:00
Lucas Manuel Rodriguez f4735d078f Add missing documentation for VPP auto update GitOps fields (#43798)
Context:
https://fleetdm.slack.com/archives/C086V2QK76X/p1776137746758999.
2026-04-22 17:52:32 -05:00
johnjeremiahandAshish Kuthiala f17266c734 Adding background for virtual team email (#43689)
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-04-22 17:41:18 -05:00
9c174f5cd7 Add blog post: Supercharging endpoint management with AI assistants and event-driven automation (#44017)
## Summary

- Adds Part 3 of the 3-part article series on modern endpoint management
by Ashish Kuthiala (CMO)
- Covers AI assistants for translating intent to code, and event-driven
automation for onboarding, offboarding, compliance drift, and CVE
remediation
- Follows the same format and conventions as the existing Part 1
(`the-confidence-gap.md`) and Part 2
(`rethinking-endpoint-management.md`) articles
- Publish date: 2025-07-22

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1776892978826289)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-04-22 17:39:32 -05:00
Victor Lyuboslavsky 565b842d5e Fix handling of cross-team stale Windows MDM profiles after host movement (#43990)
Unreleased bug
- Added team scoping to LocURI protection for profile deletion.
- Addressed stale MDM profile rows when hosts transfer between teams.
- Improved test coverage for Windows MDM profile deletion scenarios.

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

# Checklist for submitter

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

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**
* Fixed Windows MDM profile deletion so devices moved between teams are
correctly cleaned up and receive removal commands, preventing stale
profile configurations from persisting.
* Added a regression test ensuring deletion of no-team profiles isn’t
blocked by leftover host-profile rows or by profiles in other teams.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 16:47:13 -05:00
fleet-releaseandmostlikelee 4099861ee2 Update Fleet-maintained apps (#44016)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
* Updated maintained applications database with latest versions: Google
Chrome 147.0.7727.117, Ollama 0.21.1, Teleport Connect 18.7.5, Teleport
Suite 18.7.5, Webex 46.4.0.34752, and Zed 0.233.5.

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

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-04-22 16:35:37 -05:00
Tim Lee 79da2f0028 Add RHEL OSV vulnerability scanning (#43377) 2026-04-22 15:34:23 -06:00
Tim Lee 9feb9c2be0 Fix Recovery Lock password desync on MDM re-enrollment (#43827) 2026-04-22 15:17:48 -06:00
RachelElysia c4b3089661 Fleet UI: Managed account > Host details page modal + Activity feeds (#43353) 2026-04-22 16:58:36 -04:00
Dan Gordon d5228acb27 Revise YouTube video upload guidelines (#43995)
Updated video upload instructions for clarity and SEO optimization.
2026-04-22 15:52:02 -05:00
Nico f5e9f7d05d Reopen SSO browser window if it hasn't been completed after an interval (#42645)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38230 

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

## Testing

- [x] Added/updated automated tests

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

Enrolled the host.
Closed initial SSO browser window.
Waited 5 minutes and completed SSO.


https://github.com/user-attachments/assets/e55409b0-9d9e-43c8-913a-837a0d58799c

<img width="1508" height="628" alt="Screenshot 2026-03-31 at 4 49 47 PM"
src="https://github.com/user-attachments/assets/0837d5d2-0e6b-4309-8b57-8dfb26d0b0ff"
/>
2026-04-22 17:07:14 -03:00
Magnus JensenandCopilot 8dbc73685f mark 12075 MDMErrorDomain as Profile not found (#43872)
An additional case spotted on iPhones like the 89 error code shown on
Mac.

That we want to see as a valid profile removal

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CommandUUID</key>
	<string>0c53ebff-93cf-4599-853c-db6b582ff929</string>
	<key>ErrorChain</key>
	<array>
		<dict>
			<key>ErrorCode</key>
			<integer>12075</integer>
			<key>ErrorDomain</key>
			<string>MDMErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>The profile “Fleet.WiFi” is not installed.</string>
			<key>USEnglishDescription</key>
			<string>The profile “Fleet.WiFi” is not installed.</string>
		</dict>
	</array>
	<key>Status</key>
	<string>Error</string>
	<key>UDID</key>
	<string>REDACTED</string>
</dict>
</plist>
```

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

* **Bug Fixes**
* Improved detection of "profile not found" cases in Apple MDM by
recognizing an additional error signature, reducing missed detections.
* **Tests**
* Added unit tests covering the new signature, negative cases, and mixed
error chains to ensure reliable behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-22 13:49:12 -06:00
Victor Lyuboslavsky ad2c47c419 Added an index on software.bundle_identifier (#43979)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43978 

# 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

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

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


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

## Summary by CodeRabbit

* **Chores**
* Optimized database performance for the app synchronization process by
adding an index to improve query efficiency and reduce CPU load on large
deployments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 14:30:43 -05:00
Ashish Kuthiala b44897c292 update date on blog (#43988)
update blog date
2026-04-22 14:24:26 -05:00
Carlo cf11ebefff Add VPP verify timeout for device endpoint (#43975)
Fixes #43957
2026-04-22 15:07:50 -04:00
Magnus JensenandCopilot 1365068858 Fix various DDM stuck remove/pending issues (#43382)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40322 (Second part)

# Checklist for submitter

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

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

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

## Testing

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

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

* **Bug Fixes**
* Cleans up orphaned pending Apple MDM profile removals so pending
remove rows no longer get stuck during batch processing.
* Fixes DDM status handling so remove operations are skipped/handled
based on the incoming update, preventing incorrect flips.
* Reconciler now self-heals stuck pending removal profiles across
batches.

* **Tests**
* Added unit tests covering cross-batch cleanup, orphaned pending
removes, and DDM status/reporting edge cases.

* **Documentation**
  * Updated changelog entry for DDM pending/remove fixes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-22 13:05:09 -06:00
Eric 1e2c3891e4 Website: exclude whitepaper articles from blog category page (#43980)
Closes: https://github.com/fleetdm/fleet/issues/43953

Changes:
- Updated the article category template page's view action to exclude
whitepaper articles from the "Blog" category
2026-04-22 13:42:16 -05:00
Sharon KatzandJuan Fernandez 0810d7a999 Allow saving policies with invalid SQL (#38348) (#43952)
<!--- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38348

## What this PR does

On the Policies create and edit pages, the "Save" button was getting
disabled whenever Fleet's SQL parser flagged the query as having a
syntax error. That was a problem because Fleet's parser has gaps --
plenty of valid osquery SQL gets flagged as "invalid", which blocked
admins from saving perfectly good custom queries.

This PR changes the Save button behavior on the Policies form to match
what Reports (formerly "Queries") already does: we still show the
"Syntax error. Please review before saving." message under the editor,
but the user can still click Save. An empty query still disables Save.

The actual code change is small -- one line in `PolicyForm.tsx`:

```diff
-      !!size(errors);
+      (!!errors.query && errors.query === EMPTY_QUERY_ERR);
```

Previously the button was disabled for any error (including syntax
errors). Now it's only disabled when the error is specifically the
empty-query error. This exactly mirrors the existing logic in
`EditQueryForm.tsx` for Reports.

I also imported `EMPTY_QUERY_ERR` from the shared validator and dropped
an obsolete `// @ts-ignore` on that import (the validator is now
TypeScript).

## Testing

All testing was done manually on macOS against a local Fleet dev server.
Jest suites run clean.

### Before the change (reproducing the bug)

1. Checked out `main`, ran the dev server.
2. Went to Policies, clicked "Add policy".
3. Pasted a query with a syntax error: `SELCT * FROM users;`.
4. Observed: error message "Syntax error. Please review before saving."
appears under the editor, and the Save button is **disabled** (greyed
out, not clickable). Same behavior when editing an existing policy.

### After the change (fix verified)

1. Checked out `bug_38348`, refreshed the browser (webpack watch picked
up the change).
2. Went to Policies, clicked "Add policy".
3. Pasted the same syntax-error query `SELCT * FROM users;`.
4. Observed: error message still shows, but the Save button is now
**enabled**. Clicking Save opened the "Save policy" modal; completing
the save wrote the policy with the user's exact SQL.
5. Edited the saved policy -- the same syntax-error SQL loaded, Save
remained enabled, edits saved successfully.
6. Cleared the SQL to empty -- error changed to "Query text must be
present" and Save went back to disabled. Good.
7. Ran the same flow on Reports (new and edit) to confirm no regression
-- behavior unchanged from before.

### Tests

-
`frontend/pages/policies/edit/components/PolicyForm/PolicyForm.tests.tsx`
-- 17/17 passing.
-
`frontend/pages/queries/edit/components/EditQueryForm/EditQueryForm.tests.tsx`
-- 15/15 passing (regression check).
- No new unit test was added for the syntax-error path; an existing TODO
in the test file documents why direct testing through react-ace is
awkward.

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`
(`changes/38348-allow-saving-invalid-sql`).
- [x] Input data is properly validated (N/A -- frontend-only, no new
SQL).
- [x] QA'd all new/changed functionality manually (see Testing section
above).


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

* **New Features**
* Policy forms now allow saving when the SQL has a syntax error; the
syntax-error message remains visible for correction.
* Saving is still blocked when the SQL/query is empty or only
whitespace.

* **Tests**
* Added regression tests verifying save behavior for empty and
syntactically invalid queries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Juan Fernandez <juan@fleetdm.com>
2026-04-22 14:22:33 -04:00
Jonathan Katz c2eb45f9a7 🤖 Fix GitOps leaving duplicate software installer rows (#43903)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43738 

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

- [x] 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

- Before the fix, switching from custom package to FMA via GitOps
created two software installer rows and duplicate setup experience
installers (the setup experience page said "2 software items will be
installed during setup" even though only one was selected.
- After the fix, switching from custom package to FMA via GitOps deleted
the old installer and left only one row with the correct FMA. In setup
experience, only one instance of the software was installed.
- Added a custom package (obsidian) and a policy with a software install
automation for it, then applied gitops and replaced obsidian with the
FMA version and the policy with the FMA slug, and it redirected the
policy to the new installer.
- Adding setup experience software will only set
`install_during_setup=1` on the active FMA, and not on installer rows
with `is_active=0`
<img width="1222" height="558" alt="image"
src="https://github.com/user-attachments/assets/ace5922a-63ec-4591-b615-1a8534a70805"
/>
<img width="1173" height="483" alt="image"
src="https://github.com/user-attachments/assets/05c7c718-4f4a-4549-bbf1-1e1d6dae75d0"
/>


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

* **Bug Fixes**
* Prevent duplicate installs by ensuring only active installers are
considered during setup; remove or replace custom installers when a
managed (fleet‑maintained) installer is added, repointing policies to
the active installer and canceling now-obsolete pending setup actions.
* **Tests**
* Added tests covering active-installer selection, custom→managed
installer replacement, policy repointing, display-name preservation, and
cancellation of pending setup activities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 13:48:56 -04:00
Noah Talerman b960dc5179 Fleet Desktop guide: Link to configuration profile (#43961)
- Profile makes it so the app opens on every login/restart
2026-04-22 12:36:41 -05:00
Noah Talerman 23fa879a9a New Kilo skill: Create a feature request (#43974) 2026-04-22 13:36:25 -04:00
johnjeremiah 8e44760776 Adding marketing labels and updating rituals (#43685)
Adds two marketing labels to the handbook for Marketing and also
includes the :mktg-ritual label to the automation

Closes: https://github.com/fleetdm/confidential/issues/15424

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

## Summary by CodeRabbit

* **Chores**
* Updated labeling configuration for marketing rituals to include an
additional organizational label, improving task categorization and
filtering capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 12:14:02 -05:00
40a97beee8 Add blog article: One console to rule them all: The case for unified endpoint management (#43919)
## Summary

- Adds a new blog article by Ashish Kuthiala: "One console to rule them
all: The case for unified endpoint management"
- The article makes the case for consolidated endpoint management over
fragmented point solutions, covering efficiency, cost, risk, and
security visibility arguments
- Published date set to 2025-07-21, categorized under "articles"

## Changes

-
`articles/one-console-to-rule-them-all-the-case-for-unified-endpoint-management.md`
- New blog article

---

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1776806237491349)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
Co-authored-by: Dan Gordon <daniel@fleetdm.com>
2026-04-22 12:13:30 -05:00
johnjeremiah 718c5b0393 Updating link to old event handout (#43960)
Updating link
2026-04-22 12:13:07 -05:00
Dante Catalfamo 2d3a790a10 Don't resend pending certificates (#43820)
**Related issue:** Resolves #37556
2026-04-22 13:08:59 -04:00
Luke Heath ca679561e5 Potential fix for code scanning alert no. 1537: Incorrect conversion between integer types (#43918) 2026-04-22 11:57:03 -05:00
Scott Gress 75d8102922 Update class on exceptions field to fix padding (#43927) 2026-04-22 11:53:31 -05:00
Eric 8cd2da576b Website: update homepage hero (#43958)
Changes:
- Added a [comma](https://fleetdm.com/handbook/company/writing#commas)
to the homepage hero

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

## Summary by CodeRabbit

* **Style**
  * Updated homepage headline text with improved grammar and clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 11:27:13 -05:00
Eric 275e21bcda Website: Update partners form, update action input validation (#43954)
Changes:
- Updated the input validation and added an invalidEmailDomain exit to
the deliver-deal-registration-submission and
deliver-partner-registration-submission actions
- Updated the input validation in the
deliver-whitepaper-download-request and deliver-webinar-access-request
actions
- Added error messages to the forms on the partners page for the added
exits
- Updated the `bannedEmailDomainsForCSRSigning` and
`bannedEmailDomainsForWebsiteSubmissions` config values

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

* **New Features**
* Blocked submissions from restricted email domains with a clear error
response and a prompt to use a work email.
* **Bug Fixes**
* Strengthened email-format and required-field validation across
registration and request forms.
  * Restricted partner registration type options to accepted values.
* **Chores**
  * Added a domain to the denylist used for website submissions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 11:02:06 -05:00
Martin AngersandCopilot 04c9abbdb6 Bugfix: fallback the script execution timeout from agent options to global if not set for team (#43911)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40952 

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

See
https://drive.google.com/file/d/1lot6KmliWmTpJ-paKyT_aI8GYq8PO71L/view?usp=drive_link


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

* **New Features**
* Script execution timeout now falls back to the global agent setting
when not explicitly defined at the team level, making timeout behavior
more predictable.

* **Tests**
* Added test coverage validating timeout resolution across various
team/global configuration scenarios to prevent regressions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-22 12:00:58 -04:00
Allen Houchins 051bf05958 Add Fleet Desktop login item profile (#43956)
Introduce a new macOS configuration profile to register
/Applications/Fleet Desktop.app as a managed login item so Fleet Desktop
auto-launches. Adds
it-and-security/lib/macos/configuration-profiles/fleet-desktop-login-item.mobileconfig
and includes it in it-and-security/fleets/workstations.yml limited to
hosts labeled "Macs with Fleet Desktop installed".
2026-04-22 10:55:28 -05:00
Victor Lyuboslavsky d79dc50883 Remove Win MDM "Status on a Status" from osquery perf (#43940)
Estimate ~5% load improvement.

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

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed MDM command handling in the performance testing agent to
properly skip duplicate status responses.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 10:42:31 -05:00
Luke Heath 73925b22be Add permissions to e2e-agent workflow and remove Slack notification if retries remaining (#43917) 2026-04-22 10:29:19 -05:00
Luke Heath 409433ff81 Fix unreleased bug where workstations is not selected on controls page (#43893) 2026-04-22 10:19:05 -05:00
fleet-releaseandmostlikelee 993039e5f8 Update Fleet-maintained apps (#43949)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-04-22 10:18:54 -05:00
Dan Gordon d457b69b99 Create IT-leaders-guide-to-Linux-device-management LP in French (#43946)
Create French version of the landing page for IT Leaders Guide to Linux
Device Management.

Currently points to English version of asset.

Some parts of pages are hard-coded in the page generation scripts as
English so still show as English.
2026-04-22 10:06:53 -05:00
melpike 96620f1c1f [Route] PSSO local account (#43781)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** #30674

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

## Summary by CodeRabbit

* **New Features**
* Added a new shortlink route for accessing PSSO local account setup
experience guides, enabling users to reach setup documentation through a
simplified URL path.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-22 08:18:15 -06:00
3dab32657c Update h2 font-size from 1.25rem (20px) to 1rem (16px) in Fleet UI (#43054)
## Summary

- Reduces h2 `font-size` from `$medium` (1.25rem / 20px) to `$small`
(1rem / 16px) across 6 component stylesheets in the Fleet UI frontend.
- set side-nav__container to `align-items` `flex-start` so it's
consistent in **Controls** and **Admin** pages with same layout.

## QA

- Verify h2 headings render at 16px (1rem) across the affected pages:
  - Section headers (global component)
  - Host query report table
  - Device user "Setting up your device" page
  - Windows automatic enrollment settings page
  - Software vulnerability details page
  - Software title details edit icon modal

---

Built for
[Mel](https://fleetdm.slack.com/archives/D0AKX7DJFCN/p1775487801759869)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: melpike <melpike.dev@gmail.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
2026-04-22 08:09:11 -06:00