Commit graph

22947 commits

Author SHA1 Message Date
RachelElysia
6557086c71
FE 🧹: Remove purple banner code and default to grey (#42649) 2026-03-30 11:17:39 -04:00
Allen Houchins
4c4aa1d4c5
Cleanup temp installer files after download (#42463)
Ensure downloaded installer files are removed after validation. Add
cleanupInstaller to remove the installer file (ignoring missing files
and logging failures). Propagate a downloaded installer path from
DownloadMaintainedApp (signature now returns the TempFileReader, the
saved file path, and error), write the installer into cfg.tmpDir and set
INSTALLER_PATH in cfg.env. Call cleanupInstaller on error paths and
after successful validation to avoid leftover temp files.
2026-03-30 10:14:36 -05:00
fleet-release
9da1d79be9
Update Fleet-maintained apps (#42648)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-30 10:09:33 -05:00
Ian Littman
18c97abf5a
Use display name when applicable for Android config change updates (#42626)
Resolves #42383. Re-roll of #42384 using the relevant helper function.

# 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

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

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

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Enhanced Android software configuration success notifications to
dynamically display the actual software display name, replacing
previously static messaging. This improvement provides users with more
specific and personalized feedback when confirming successful software
configurations, improving clarity and reducing potential confusion when
managing multiple software installations or updates on their Android
devices.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-30 09:51:12 -05:00
Jahziel Villasana-Espinoza
028ff2adf6
add missing validation for scripts, tests (#42424)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41500 

# 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
2026-03-30 10:13:03 -04:00
Victor Lyuboslavsky
d84beaa43f
Windows profile delete fixes (#42495)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42452

- Editing a Windows profile to remove LocURIs now deletes those LocURIs
- Removing a shared LocURI from one profile would NOT delete it even
though another profile still uses it.
- Loadtest fixes (batching, etc.)
- Ordering commands by created to make sure a new profile AFTER a delete
doesn't get deleted.

# Checklist for submitter

## 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**
* Added profile change detection to identify and remove LocURIs when
Windows profiles are edited.

* **Bug Fixes**
  * Improved error logging when profile payload operations fail.
  * Enhanced pending command ordering for consistent processing.
* Optimized profile deletion to prevent orphaned configurations across
multiple profiles.

* **Tests**
* Added integration tests validating Windows profile edits with
multi-part removals and shared LocURI protection.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-30 08:57:34 -05:00
Scott Gress
e54ea7b3ad
Add GitOps exceptions UI to Change Management settings (#42348)
**Related issue:** Resolves #42182 

# 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 <a
href="https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files">Changes
files</a> for more information.
will add to last PR

## Testing

- [X] Added/updated automated tests
- [X] Added `ChangeManagement.tests.tsx` with unit/integration tests
covering:
- Exceptions checkboxes render correctly from config for new install
(only Enroll secrets checked) and migrated instances (Labels and Enroll
secrets checked)
- Form save sends the correct `gitops.exceptions` payload via
`configAPI.update`
- Form validation shows error when GitOps mode is enabled but no repo
URL is provided
    - Non-premium tier renders the premium feature message
- [X] QA'd all new/changed functionality manually
- [X] verified that Labels and Secrets are checked for pre-existing
(migrated) instance
  - [X] verified that only Secrets is checked for new instance
- [X] verified that changing the settings in the UI and saving persists
the `gitops.exceptions` config as expected

<img
src="https://github.com/user-attachments/assets/095c538c-68aa-4179-b4b1-fd5878c0a2b0">




## Summary by CodeRabbit

* **New Features**
* Added GitOps exceptions configuration in Change Management settings
with toggles for Labels, Software, and Enroll Secrets, enabling granular
control over exception flags.

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/fleetdm/fleet/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sgress454 <553428+sgress454@users.noreply.github.com>
2026-03-30 08:57:03 -05:00
Scott Gress
f1bad72003
Use new multiplatform keys on the front end (#41763)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41601 

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

## Details

This PR updates the front end to use the following renamed API keys:

* bootstrap_package -> macos_bootstrap_package
* manual_agent_install -> macos_manual_agent_install
* enable_release_device_manually -> apple_
enable_release_device_manually
* script -> macos_script
* macos_setup -> setup_experience
* macos_settings -> apple_settings
* custom_settings -> configuration_profiles
* macos_setup_assistant -> apple_setup_assistant

It also ensures that consumers of the "get fleet config" API pull from
the `.fleet` property rather than `.team`, so that they can use all of
the newly renamed response fields.

## Summary by CodeRabbit

* **Refactor**
* Restructured Mobile Device Management configuration for Apple devices,
reorganizing setup experience, bootstrap package, and device
configuration field organization.
* Updated filter terminology and query parameters throughout device
management interfaces, improving how users filter and navigate Apple
device settings.
* Enhanced configuration field naming conventions for better clarity and
maintainability across device management features.

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

# 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

  ---
  Manual Test Plan

  Prerequisites

  - Fleet server with MDM enabled (macOS at minimum)
  - At least one macOS host enrolled in Fleet MDM
  - A team configured with setup experience settings

  ---
  1. Manage Hosts — Filters

- [X] macOS settings filter:
  - Go to Hosts > Manage Hosts
  - Filter by macOS settings status (e.g. Pending, Verified, Failed)
  - Verify the filter applies and hosts list updates
  - Check that the URL contains apple_settings=<status>
- Copy the URL, paste it in a new tab — verify the filter is still
applied
- Manually edit the URL to use macos_settings=<status> instead — verify
it still works (backward compat)
- Clear the filter pill — verify both apple_settings and macos_settings
are removed from the URL

- [X] Bootstrap package filter:
  - Filter by bootstrap package status
  - Verify the URL contains macos_bootstrap_package=<status>
- Manually edit the URL to use bootstrap_package=<status> — verify it
still works
  - Clear the filter pill — verify both params are removed

  ---
  2. Setup Experience (Controls Page)

- [X] Bootstrap package:
  - Go to Controls > Setup experience for a team
  - Upload a bootstrap package — verify it appears in the table
- Toggle the "manual agent install" advanced option on/off — verify it
saves
  - Delete the bootstrap package — verify it's removed
- In the bootstrap package table, click "View all hosts" link for a
status row — verify it navigates to Manage Hosts with
macos_bootstrap_package in the URL

- [X] End user authentication:
  - Toggle end user authentication on/off for a team and for "No team"
  - Verify the toggle reflects the saved state after page reload

- [X] Setup assistant:
  - Upload a setup assistant profile
- Verify the "release device manually" toggle works for both a team and
"No team"

- [X] Install software:
- Verify the "require all software" checkbox reflects the correct saved
state for both team and "No team"
2026-03-30 08:56:21 -05:00
dependabot[bot]
82c3983939
Bump github.com/antchfx/xpath from 1.2.2 to 1.3.6 (#42633)
Bumps [github.com/antchfx/xpath](https://github.com/antchfx/xpath) from
1.2.2 to 1.3.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/antchfx/xpath/releases">github.com/antchfx/xpath's
releases</a>.</em></p>
<blockquote>
<h2>v1.3.6</h2>
<p>Merged PR:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/120">#120</a>(<a
href="https://github.com/mislav"><code>@​mislav</code></a>) - Fix
<code>last()</code> predicate on grouped expr.</li>
</ul>
<p>Fixed:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/121">#121</a></li>
</ul>
<h2>Release v1.3.5</h2>
<p>Merged PR:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/117">#117</a>(<a
href="https://github.com/mislav"><code>@​mislav</code></a>)- fix
<code>ancestor::</code> axes with position predicate.</li>
</ul>
<p>Fixed:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/113">#113</a> -
(fix <code>string()</code> function)</li>
</ul>
<h2>v1.3.4</h2>
<p>Merged PR:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/107">#107</a>(<a
href="https://github.com/Mrflatt"><code>@​Mrflatt</code></a>) - supports
Regexp feature in <code>replace()</code> function</li>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/111">#111</a>(<a
href="https://github.com/wjc4"><code>@​wjc4</code></a>) - Improve
<code>getHashCode</code> performance</li>
</ul>
<p>Fixed:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/109">#109</a></li>
</ul>
<h2>v1.3.3</h2>
<p>fix non-English predicate query <a
href="https://redirect.github.com/antchfx/xpath/issues/106">#106</a></p>
<h2>v1.3.2</h2>
<p>New Features:</p>
<ul>
<li>Supports Unicode chars for Non-English (PR <a
href="https://redirect.github.com/antchfx/xpath/issues/100">#100</a>)</li>
</ul>
<p>Bug Fixed:</p>
<ul>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/101">#101</a></li>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/102">#102</a></li>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/104">#104</a></li>
</ul>
<h2>v1.3.1</h2>
<ul>
<li>Merged PR <a
href="https://redirect.github.com/antchfx/xpath/issues/97">#97</a>.</li>
<li>Allows node-set numeric operator <code>+</code>, <code>-</code>,
<code>mod()</code>.<a
href="4b4638b370</a></li>
<li><a
href="https://redirect.github.com/antchfx/xpath/issues/98">#98</a>,
Remove the duplicate element filter <a
href="5481aef473</a></li>
</ul>
<h2>v1.3.0</h2>
<ul>
<li>fixes <a
href="https://redirect.github.com/antchfx/xpath/issues/93">#93</a></li>
</ul>
<h3>New features:</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="afd4762cc3"><code>afd4762</code></a>
fix <a
href="https://redirect.github.com/antchfx/xpath/issues/121">#121</a></li>
<li><a
href="a8ced8f559"><code>a8ced8f</code></a>
Merge PR <a
href="https://redirect.github.com/antchfx/xpath/issues/120">#120</a></li>
<li><a
href="c92c3ebebb"><code>c92c3eb</code></a>
Fix last() predicate on grouped expressions</li>
<li><a
href="3cbab9750e"><code>3cbab97</code></a>
Merge PR <a
href="https://redirect.github.com/antchfx/xpath/issues/119">#119</a></li>
<li><a
href="02c01b0b40"><code>02c01b0</code></a>
Fix chained predicates on ancestor axis</li>
<li><a
href="511abd57bc"><code>511abd5</code></a>
Merge PR <a
href="https://redirect.github.com/antchfx/xpath/issues/117">#117</a></li>
<li><a
href="060b154934"><code>060b154</code></a>
Fix positional predicate for the &quot;ancestor&quot; axis</li>
<li><a
href="8d50c252d8"><code>8d50c25</code></a>
fix <a
href="https://redirect.github.com/antchfx/xpath/issues/112">#112</a>,<a
href="https://redirect.github.com/antchfx/xpath/issues/113">#113</a></li>
<li><a
href="b9e198da9f"><code>b9e198d</code></a>
Merge PR <a
href="https://redirect.github.com/antchfx/xpath/issues/111">#111</a></li>
<li><a
href="fcb882bece"><code>fcb882b</code></a>
improve getHashCode by removing fmt.Sprintf</li>
<li>Additional commits viewable in <a
href="https://github.com/antchfx/xpath/compare/v1.2.2...v1.3.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/antchfx/xpath&package-manager=go_modules&previous-version=1.2.2&new-version=1.3.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/fleetdm/fleet/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-30 10:44:31 -03:00
Noah Talerman
121625638f
/enroll page: Update copy (#42602)
- We use "BYO mobile" instead of "corporate mobile":
https://docs.google.com/document/d/1aVZ_eAiUjq1pdltR5ckwcbOXKB0DMzmboWZlegqJXDk/edit?tab=t.0
- Decided to just go with "mobile" because that's more familiar to end
users
- Context:
https://fleetdm.slack.com/archives/C03C41L5YEL/p1774377975564699
2026-03-30 09:44:21 -04:00
Noah Talerman
c2a9b83510
Lock/wipe guide (#42601)
Fleet uses EACS
2026-03-30 09:43:38 -04:00
melpike
c8cb7bfa2a
Move renew abm token instructions to guide (#42589)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Related to
https://github.com/fleetdm/fleet/issues/42512

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-03-30 07:26:38 -06:00
Lucas Manuel Rodriguez
0b4e5cdc89
Fix copy/paste on schema (#42643)
Fixes a bug introduced in
https://github.com/fleetdm/fleet/pull/42569/changes
2026-03-30 10:23:37 -03:00
Lucas Manuel Rodriguez
d8588ed790
Bump macadmins version and add macos_thermal_pressure and macos_soc_power tables (#42569)
**Related issue:** Resolves #42530

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

## 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))
2026-03-30 10:04:12 -03:00
Scott Gress
7db99c7801
Fix test-packaging.yml action (#42570)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42573

Fixes failing test by replacing no-longer-supported `--no-quarantine`
option with manually turning off quarantine for Wine.

Successful run here:
https://github.com/fleetdm/fleet/actions/runs/23661332211

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-03-30 09:25:07 -03:00
fleet-release
3793777c8d
Update Fleet-maintained apps (#42636)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-29 20:27:18 -05:00
fleet-release
04471cef6a
Update Fleet-maintained apps (#42627)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-28 21:36:14 -05:00
Marko Lisica
fb975a7de7
Add warning banner for Android web apps requiring Google Chrome (#42598)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42047

# 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:
2026-03-28 15:35:45 -05:00
RachelElysia
9bfef5dec3
Fleet UI: Remove incorrect copy (#42586)
## Issue
Closes #40683 

## Description
- Removed from 2 modals that were rendering it

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-03-28 15:27:28 -05:00
kilo-code-bot[bot]
f4a2e3aac8
Update marketing handbook: remove middle initial from Irena Reedy's name (#42616)
## Summary
- Remove middle initial "E." from Irena Reedy's name in the Marketing
handbook Team table

Built for [Irena
Reedy](https://fleetdm.slack.com/archives/D0APYC9R9SL/p1774663433994189)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-28 14:40:37 -05:00
dependabot[bot]
1c9ba1a514
Bump path-to-regexp from 8.3.0 to 8.4.0 in /tools/fleet-slackbot (#42623)
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from
8.3.0 to 8.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pillarjs/path-to-regexp/releases">path-to-regexp's
releases</a>.</em></p>
<blockquote>
<h2>8.4.0</h2>
<p><strong>Important</strong></p>
<ul>
<li>Fix <a
href="https://www.cve.org/CVERecord?id=CVE-2026-4926">CVE-2026-4926</a>
(<a
href="https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-j3q9-mxjg-w52f">GHSA-j3q9-mxjg-w52f</a>)</li>
<li>Fix <a
href="https://www.cve.org/CVERecord?id=CVE-2026-4923">CVE-2026-4923</a>
(<a
href="https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-27v5-c462-wpq7">GHSA-27v5-c462-wpq7</a>)</li>
</ul>
<p><strong>Fixed</strong></p>
<ul>
<li>Restricts wildcard backtracking when using more than 1 in a path (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/pull/421">pillarjs/path-to-regexp#421</a>)</li>
</ul>
<p><strong>Changed</strong></p>
<ul>
<li>Dedupes regex prefixes (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/pull/422">pillarjs/path-to-regexp#422</a>)
<ul>
<li>This will result in shorter regular expressions for some cases using
optional groups</li>
</ul>
</li>
<li>Rejects large optional route combinations (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/pull/424">pillarjs/path-to-regexp#424</a>)
<ul>
<li>When using groups such as <code>/users{/delete}</code> it will
restrict the number of generated combinations to &lt; 256, equivalent to
8 top-level optional groups and unlikely to occur in a real world
application, but avoids exploding the regex size for applications that
accept user created routes</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34cb451dda"><code>34cb451</code></a>
8.4.0</li>
<li><a
href="22a967901a"><code>22a9679</code></a>
Reject large optional route combinations (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/424">#424</a>)</li>
<li><a
href="8881a88930"><code>8881a88</code></a>
Byte optimization (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/423">#423</a>)</li>
<li><a
href="43669ac637"><code>43669ac</code></a>
Dedupe regex prefixes (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/422">#422</a>)</li>
<li><a
href="48646547da"><code>4864654</code></a>
Restrict repeated wildcard backtracking (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/421">#421</a>)</li>
<li><a
href="05a5a97370"><code>05a5a97</code></a>
Remove dependabot config (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/404">#404</a>)</li>
<li><a
href="5b635cd1bd"><code>5b635cd</code></a>
Remove <code>package-lock.json</code> (<a
href="https://redirect.github.com/pillarjs/path-to-regexp/issues/407">#407</a>)</li>
<li>See full diff in <a
href="https://github.com/pillarjs/path-to-regexp/compare/v8.3.0...v8.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=path-to-regexp&package-manager=npm_and_yarn&previous-version=8.3.0&new-version=8.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/fleetdm/fleet/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 14:39:30 -05:00
kilo-code-bot[bot]
181bc1b778
Update marketing handbook: remove middle initial from Irena Reedy (#42618)
## Summary
Removes middle initial 'E.' from Irena Reedy's name in the marketing
handbook Team table.

Built for [Irena
Reedy](https://fleetdm.slack.com/archives/D0APYC9R9SL/p1774664048458209)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-28 01:12:58 -05:00
Allen Houchins
e728fd3d5e
Add GCPW as a Windows FMA (#42619)
This pull request adds support for the "Google Credential Provider for
Windows" application to the maintained apps system, including its
metadata, installation logic, and user interface icon. The changes
ensure that the app is properly recognized, categorized, and visually
represented in the frontend.

**New application support:**

- Added metadata for "Google Credential Provider for Windows" in
`winget` input, including identifiers, architecture, installer type, and
default category.
- Added output configuration for the app, specifying version, detection
query, installer/uninstaller scripts, installer URL, and SHA256 hash.
- Registered the app in the main `apps.json` output with a description
and platform information.

**Frontend/UI updates:**

- Added a new React SVG icon component for "Google Credential Provider
for Windows" in the software page.
- Registered the new icon in the icons index and mapped the app name to
the icon in the `SOFTWARE_NAME_TO_ICON_MAP`.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR13)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR317)
2026-03-27 21:52:08 -05:00
Jordan Montgomery
302ad3df7a
Insert hmwp and windows command entries at once (#42566)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42544 

This inserts the commands into the windows command queue in batches
along with the host_mdm_windows_profile entries. corresponding host
profile entries are inserted in the same batch as the command queue
entry so that if a host checks in very quickly after, its profile
doesn't get overwritten by the reconciler during the "update" pass at
the end.

This isn't easily reproducible locally, but will run a loadtest as soon
as possible

# 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] 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] 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
- [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 Windows MDM device profile management with more efficient
batch processing for command delivery and profile updates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-27 22:17:34 -04:00
Rachael Shaw
579801bdfb
GitOps docs: Clarify how to use labels_include_any with policies (#42612)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves
https://github.com/fleetdm/fleet/issues/38113
2026-03-27 18:00:08 -05:00
Eric
0414f30d24
Website: Update case study links on customers page. (#42571)
Closes: https://github.com/fleetdm/fleet/issues/42043

Changes:
- Updated the customers page to only show 12 case study links by
default, and to include a "Load more" button that shows 12 more case
study card links when clicked.
- Renamed the files for the customers page (testimonials » customers)
2026-03-27 17:21:57 -05:00
burakmetealtinisik35
73d9c4f85a
Typo Fix "Bug" to "Bugs" (#42460)
<!-- 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), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [ ] 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-03-27 16:46:43 -05:00
Dante Catalfamo
581cae309a
Update how google drive fma version is created (#42270)
**Related issue:** Resolves #40751
2026-03-27 16:54:22 -04:00
Dante Catalfamo
f55eb085f0
make sure to reset fleet challenge when resending android cert (#42550)
**Related issue:** Resolves #41542
2026-03-27 16:51:54 -04:00
Scott Gress
6598b608b7
Enforce GitOps exceptions (#42191)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42180 

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

* **New Features**
* Enhanced GitOps exception handling for labels, secrets, and software
with clearer enforcement and omission semantics.
* Server-side prefetch of team software so omitted team software can
preserve existing installers during validation.
* Presence flags track whether top-level keys (labels, secrets,
software) were provided versus omitted.

* **Behavior Changes**
* Omitted vs empty sections are now distinguished: omission can mean
“no-op” or “delete-all” depending on exception settings.
* GitOps YAML can define and manage labels directly; validations now
reject YAML that includes keys marked as excepted.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

# 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
    * **Labels**
- [ ] Validated that with label exceptions off, omitting `labels:` key
from default.yml clears all global labels
- [ ] Validated that with label exceptions off, omitting `labels:` key
from a fleet .yml clears all labels for that fleet
- [ ] Validated that with label exceptions off, setting empty `labels:`
key from default.yml clears all global labels
- [ ] Validated that with label exceptions off, setting empty `labels:`
key from a fleet .yml clears all labels for that fleet
- [ ] Validated that with label exceptions on, omitting `labels:` key
from default .yml leaves existing global labels as-is
- [ ] Validated that with label exceptions on, omitting `labels:` key
from a fleet .yml leaves existing labels as-is
- [ ] Validated that with label exceptions on, setting `labels:` key on
default .yml generates an error
- [ ] Validated that with label exceptions on, setting `labels:` key on
a fleet .yml generates an error
- [ ] Validated that with label exceptions on, a policy using
`labels_include_any` referencing an existing label succeeds without
`labels:` key
- [ ] Validated that with label exceptions on, a query using
`labels_include_any` referencing an existing label succeeds without
`labels:` key
- [ ] Validated that with label exceptions on, an MDM profile using
`labels_include_any` referencing an existing label succeeds without
`labels:` key
- [ ] Validated that with label exceptions on, a software package using
`labels_include_any` referencing an existing label succeeds without
`labels:` key (requires software exceptions off)
- [ ] Validated that with label exceptions on, an app store app using
`labels_include_any` referencing an existing label succeeds without
`labels:` key (requires software exceptions off)
- [ ] Validated that with label exceptions on, a fleet maintained app
using `labels_include_any` referencing an existing label succeeds
without `labels:` key (requires software exceptions off)
    * **Secrets**
- [ ] Validated that with secrets exceptions off, omitting `secrets:`
key from default.yml clears all global secrets
- [ ] Validated that with secrets exceptions off, omitting `secrets:`
key from a fleet .yml clears all secrets for that fleet
- [ ] Validated that with secrets exceptions on, omitting `secrets:` key
from default .yml leaves existing global secrets as-is
- [ ] Validated that with secrets exceptions on, omitting `secrets:` key
from a fleet .yml leaves existing secrets as-is
- [ ] Validated that with secrets exceptions on, setting `secrets:` key
on default .yml generates an error
- [ ] Validated that with secrets exceptions on, setting `secrets:` key
on a fleet .yml generates an error
    * **Software**
- [ ] Validated that with software exceptions off, omitting `software:`
key from no-team.yml/unassigned.yml clears all software for "no team"
- [ ] Validated that with software exceptions off, omitting `software:`
key from a fleet .yml clears all software for that fleet
- [ ] Validated that with software exceptions off, setting empty
`software:` key on a fleet .yml clears all software for that fleet
- [ ] Validated that with software exceptions off, setting empty
`software:` key on no-team.yml/unassigned.yml clears all software for
"no team
- [ ] Validated that with software exceptions on, omitting `software:`
key from a fleet .yml leaves existing software as-is
- [ ] Validated that with software exceptions on, setting `software:`
key on a fleet .yml generates an error
- [ ] Validated that with software exceptions on, omitting `software:`
key from no-team.yml/unassigned.yml leaves existing software as-is for
"no team"
- [ ] Validated that with software exceptions on, setting `software:`
key on no-team.yml/unassigned.yml generates an error
- [ ] Validated that with software exceptions on, a policy using
`install_software.hash_sha256` referencing an existing package succeeds
without `software:` key
- [ ] Validated that with software exceptions on, a policy using
`install_software.app_store_id` referencing an existing VPP app succeeds
without `software:` key
- [ ] Validated that with software exceptions on, a patch policy using
`fleet_maintained_app_slug` referencing an existing FMA succeeds without
`software:` key
- [ ] Validated that with software exceptions on,
`setup_experience.software` referencing existing software succeeds
without `software:` key (server-side validation fallback)
- [ ] Validated that with software exceptions on, omitting `software:`
from no-team.yml/unassigned.yml preserves existing no-team software
- [ ] Validated that with software exceptions on, a policy in
no-team.yml/unassigned.yml using `install_software.hash_sha256`
referencing existing no-team software succeeds without `software:` key
For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
I don't think so. There is a bit of overhead when this feature is used
since we have to fetch software from the server, but it would be done in
a specific test, so even if there is an impact it should affect existing
load testing, only new, specific tests.
2026-03-27 15:38:08 -05:00
jacobshandling
293b4342a4
Remove husky-based pre-commit formatting (#42582)
Undoes https://github.com/fleetdm/fleet/pull/42470, which overwrites
local git hook configuration
2026-03-27 13:21:06 -07:00
jacobshandling
6741b0f17b
Add flash on success (#42585)
- [ ] QA'd all new/changed functionality manually
2026-03-27 13:19:00 -07:00
Jonathan Katz
573298cd93
Python script support: update scripts article (#41873)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** #38793

---------

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-03-27 16:01:39 -04:00
Noah Talerman
3e64ac093c
Recovery Lock password: Update copy (#42574)
- @noahtalerman: "at" is more accurate than "by" because my
understanding is that the password will never be rotated before the
shown time. That's when the command goes out.
2026-03-27 15:52:17 -04:00
Noah Talerman
55de586df9
Starter library matches fleets in fleetctl new templates (#42554)
For the following task:
- https://github.com/fleetdm/fleet/issues/41409
2026-03-27 14:37:05 -05:00
Victor Lyuboslavsky
544d2a4731
ADR: Attribute naming conventions for logs, traces, and metrics (#41818)
We are planning to productize OTEL for our on-prem customers. This makes
our on-prem offering more attractive against our competition. As part of
our on-prem story, we need to make telemetry a first-class experience.

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-03-27 13:48:15 -05:00
RachelElysia
36d03596f4
Fleet UI: MDM Status modal (#42379) 2026-03-27 14:43:26 -04:00
Noah Talerman
158d968136
Vulnerability coverage (#42497)
Currently, Fleet doesn't support CVEs for Debian or Fedora packages. OS
(kernel CVEs) are supported

For the following bug:
- https://github.com/fleetdm/fleet/issues/40230
2026-03-27 14:37:41 -04:00
Andrew Mellor
27f2be9eb3
Update product-groups.md (#42547) 2026-03-27 12:53:37 -05:00
Lucas Manuel Rodriguez
9d17411e99
Add login step to Docker to CI actions (#42563)
Attempt to fix
https://github.com/fleetdm/fleet/actions/runs/23655325832/job/68910927037.

Test runs: 
- https://github.com/fleetdm/fleet/actions/runs/23658042653
- https://github.com/fleetdm/fleet/actions/runs/23658172713
- https://github.com/fleetdm/fleet/actions/runs/23658225164
- https://github.com/fleetdm/fleet/actions/runs/23658253426
- https://github.com/fleetdm/fleet/actions/runs/23658300785
2026-03-27 14:18:29 -03:00
Luke Heath
3f70b7219f
Add Fleet slackbot to tools directory (#42163) 2026-03-27 12:07:27 -05:00
dependabot[bot]
915feb9868
Bump github.com/russellhaering/goxmldsig from 1.4.0 to 1.6.0 (#42009)
Bumps
[github.com/russellhaering/goxmldsig](https://github.com/russellhaering/goxmldsig)
from 1.4.0 to 1.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/russellhaering/goxmldsig/releases">github.com/russellhaering/goxmldsig's
releases</a>.</em></p>
<blockquote>
<h2>v1.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li><strong>Security:</strong> Fix possible signature validation bypass
caused by loop variable capture in <code>validateSignature</code>
(GHSA-479m-364c-43vc)</li>
<li>Bump minimum Go version to 1.23</li>
<li>Bump <code>github.com/beevik/etree</code> to v1.6.0</li>
<li>Add fuzz tests for XML signature validation and
canonicalization</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/russellhaering/goxmldsig/compare/v1.5.0...v1.6.0">https://github.com/russellhaering/goxmldsig/compare/v1.5.0...v1.6.0</a></p>
<h2>v1.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump dependencies</li>
<li>Update GitHub workflows</li>
<li>Security hardening by <a
href="https://github.com/ahacker1-securesaml"><code>@​ahacker1-securesaml</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/russellhaering/goxmldsig/compare/v1.4.0...v1.5.0">https://github.com/russellhaering/goxmldsig/compare/v1.4.0...v1.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="878c8c615f"><code>878c8c6</code></a>
Apply go fix ./...</li>
<li><a
href="db3d1e31f7"><code>db3d1e3</code></a>
Fix loop variable capture bug in validateSignature</li>
<li><a
href="4f576b89ac"><code>4f576b8</code></a>
Bump dependencies</li>
<li><a
href="79c29ee3ed"><code>79c29ee</code></a>
Rename FuzzValidate to FuzzValidateXML to avoid name collision</li>
<li><a
href="ac7bf745b9"><code>ac7bf74</code></a>
Add fuzz tests for XML signature validation and canonicalization</li>
<li><a
href="a5805dfad9"><code>a5805df</code></a>
Bump github/codeql-action from 2.13.4 to 3.28.17 (<a
href="https://redirect.github.com/russellhaering/goxmldsig/issues/155">#155</a>)</li>
<li><a
href="7dac9ec3b2"><code>7dac9ec</code></a>
Update GitHub Workflow</li>
<li><a
href="1bf54ca740"><code>1bf54ca</code></a>
Bump dependencies</li>
<li><a
href="e1c8a5b89d"><code>e1c8a5b</code></a>
Refactor to help eliminate potential vulnerabilities:</li>
<li><a
href="2ac5490a24"><code>2ac5490</code></a>
Refactor .verifyCertificate to obtain the certificate from an identifier
from...</li>
<li>Additional commits viewable in <a
href="https://github.com/russellhaering/goxmldsig/compare/v1.4.0...v1.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/russellhaering/goxmldsig&package-manager=go_modules&previous-version=1.4.0&new-version=1.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/fleetdm/fleet/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 13:38:04 -03:00
Dan Tsekhanskiy
6853b51f5e
Fixed script package size validation to use saved script limit (#42481)
**Related issue:** Resolves #42480

Script packages (`.sh`, `.ps1`) are persisted server-side in the
`script_contents` table, but `addScriptPackageMetadata` validates them
with `ValidateHostScriptContents(scriptContents, false)`, enforcing the
unsaved script limit (10K characters) instead of the saved limit (500K
characters).

This one-line fix changes `false` to `true`, allowing script packages up
to 500K characters, consistent with other saved scripts.

# Checklist for submitter

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

## Testing

- [x] Added/updated automated tests
- [ ] QA'd all new/changed functionality manually
2026-03-27 11:12:04 -05:00
Lucas Manuel Rodriguez
5890c87b74
Fixed fetch /config loop in calendar integration (#42526)
Resolves #42436

No changes because it seems it's unreleased.

- [X] QA'd all new/changed functionality manually
2026-03-27 12:58:43 -03:00
Eric
d6b6ddbaff
Handbook: document whitepaper article category and required meta tags (#42517)
Closes: https://github.com/fleetdm/fleet/issues/42431

Changes:
- Updated the "Article meta tags" section of the writing page in the
handbook to document the "whitepaper" category and required meta tags
for whitepaper articles
2026-03-27 10:34:46 -05:00
Lucas Manuel Rodriguez
9106da00ad
Add Github token to fleetctl preview CI test (#42551)
Fixes
https://github.com/fleetdm/fleet/actions/runs/23629057662/job/68824172559.
2026-03-27 12:29:03 -03:00
Nico
521593aa61
Fix: Missing guide: How to try Windows MDM (fleetctl preview) (#42451)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32773

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

I ran `./build/fleetctl preview --preview-config-path
./tools/osquery/in-a-box`. Not sure if this is the standard way of
running `fleetctl preview`.

#### Before


https://github.com/user-attachments/assets/d1aef9e4-83fe-4e8e-8ec9-91b6258caefa

#### After


https://github.com/user-attachments/assets/67937211-0d7c-421a-99ba-e10842c503b3

#### Test on Windows 11 desktop PC

```
$ go build -o fleetctl.exe .\cmd\fleetctl
$ .\fleetctl.exe preview --preview-config-path .\tools\osquery\in-a-box
```

<img width="650" height="256" alt="1"
src="https://github.com/user-attachments/assets/9072010a-2182-4a10-a30b-c7a10bb1a76e"
/>
<img width="884" height="304" alt="2"
src="https://github.com/user-attachments/assets/322e3f66-4543-4a38-90ad-29be3df22863"
/>
2026-03-27 12:15:35 -03:00
Noah Talerman
e3c8bbea71
Copy update: Add patch policy (#42277)
Feedback from Allen to clarify that adding a patch policy isn't
enforcing remediation. You go somewhere else to do that.
2026-03-27 11:01:27 -04:00
fleet-release
ad46aaf0a2
Update Fleet-maintained apps (#42549)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-27 09:44:24 -05:00
Noah Talerman
d65d7e692d
Self-service guide: Clarify why the page is hidden by default (#42076)
- Also clarify experience for different platforms
2026-03-27 09:38:10 -04:00