Commit Graph
23043 Commits
Author SHA1 Message Date
Scott Gress 34e0ace5f6 fix policy software vpp automations (#42400)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42399

# 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
- [X] Added a policy with a VPP software automation, confirmed that
`generate-gitops` output an `app_store_id` for the policy
- [X] Verified that FMA and custom package automations still output
correctly from `generate-gitops`
- [X] Verified that `fleetctl gitops` ingested the policies +
automations correctly.
2026-03-25 15:10:40 -05:00
Lucas Manuel Rodriguez 3135a5d1bd Update osquery schema and flags to 5.22.1 (#42364) 2026-03-25 16:44:03 -03:00
Nico 726badaf10 Bugfix: User management table has row key collision when user and invite share the same ID (#42396)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42311

- Fixes ID collision on Users table (causing users to not be rendered
when an existing user's ID matches an invited user's ID).
- Fixes total users count.
- Fixes `isResettingCurrentUser` check.

# 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

#### Before

- ID collision caused the admin user to not be rendered on the table
(see the user with Invite pending which has id=1 as the admin does).
- Notice that we have a total of 3 users counting the response from
`users` and `invites` endpoints.

<img width="2557" height="477" alt="Screenshot 2026-03-25 at 2 46 31 PM"
src="https://github.com/user-attachments/assets/833b07f5-a0ce-4f15-94bf-79040bd03dba"
/>
<img width="2555" height="722" alt="Screenshot 2026-03-25 at 2 46 26 PM"
src="https://github.com/user-attachments/assets/5707ab37-b060-40b4-913f-864b2254076d"
/>

#### After

- All users showing.
- Updated count to reflect the sum of users + invited users above the
table.

<img width="1358" height="432" alt="Screenshot 2026-03-25 at 2 53 24 PM"
src="https://github.com/user-attachments/assets/2a995e78-0ae8-4846-a8b1-b35edd61cb02"
/>
2026-03-25 16:34:59 -03:00
Allen Houchins 1d8e3506a3 Update battery-health-check.yml (#42401) 2026-03-25 13:57:51 -05:00
kilo-code-bot[bot] dc5f0d9f11 Update live results tooltip copy to use 'from' instead of colon (#41691)
- @noahtalerman: For the following quick win:
  - https://github.com/fleetdm/fleet/issues/41690
2026-03-25 14:52:32 -04:00
George Karr a4b5e56591 Adding changes for Fleet v4.82.1 (#41842) 2026-03-25 13:50:24 -05:00
George Karr 62c68a2200 Adding changes for Fleet v4.81.3 (#41871) 2026-03-25 13:10:26 -05:00
Konstantin Sykulev 8eaecfc9e1 OSV artifact generation for use in vulnerabilities repository (#42203)
**Related issue:** Resolves #41571

**Full Artifacts:**
Ubuntu 14.04: 901 KB
Ubuntu 16.04: 2.0 MB
Ubuntu 18.04: 4.3 MB
Ubuntu 20.04: 5.9 MB
Ubuntu 22.04: 5.6 MB
Ubuntu 24.04: 1.7 MB
Ubuntu 24.10: 4.4 KB
Ubuntu 25.04: 6.0 KB
Ubuntu 25.10: 207 KB

**Total Size:**
All artifacts (full + deltas): 31 MB (was 54 MB)
Full artifacts only: ~20 MB (was ~27 MB)
Delta artifacts: ~11 MB (was ~27 MB)

## 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 a vulnerability data processor that scans OSV JSON inputs,
aggregates per-Ubuntu-version artifacts, supports inclusive/exclusive
version filters, and can emit optional “today”/“yesterday” delta
artifacts.
* Added a repository sync-and-change-detection tool that generates
de-duplicated lists of CVE-related files changed today and yesterday.
* Processor expands certain package names (e.g., emacs) into additional
package entries for broader coverage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-25 13:02:26 -05:00
kilo-code-bot[bot]andkiloconnect[bot] d9f7a593d7 Fix h2 heading color on Windows automatic enrollment page (#41835)
## Summary

- Remove incorrect `color: $ui-fleet-black-75` override on `h2` elements
in the Windows automatic enrollment page
(`/settings/integrations/automatic-enrollment/windows`)
- Section headings ("MDM URLs", "Entra tenants") now inherit the global
heading color (`$core-fleet-black` / `#192147`) instead of the muted
body text color (`$ui-fleet-black-75` / `#515774`)
- This aligns the Windows page with the `SectionHeader` component
pattern and all other MDM settings pages in the Fleet UI

## Details

The `_styles.scss` for the Windows automatic enrollment page had an
explicit `color: $ui-fleet-black-75` on `h2` elements, which overrode
the global heading color set in `_global.scss` (`h1, h2, h3 { color:
$core-fleet-black; }`). This made the section headings appear in the
subdued gray color meant for body text rather than the darker color used
for all other headings across the settings UI.

### Changes
-
`frontend/pages/admin/IntegrationsPage/cards/MdmSettings/WindowsAutomaticEnrollmentPage/_styles.scss`:
Removed `color: $ui-fleet-black-75` from `h2` rule

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

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-25 11:59:50 -06:00
kilo-code-bot[bot]andkiloconnect[bot] e9e3ad8564 Add battery health check policies for macOS and Windows workstations (#42388)
## Summary

- Adds a **macOS battery health check** policy that verifies the battery
health is "Good" and condition is "Normal" using the osquery `battery`
table's macOS-specific `health` and `condition` columns.
- Adds a **Windows battery health check** policy that verifies the
battery's full charge capacity remains above 80% of its designed
capacity using the osquery `battery` table's `max_capacity` and
`designed_capacity` columns.
- References both new policies in the **Workstations** team config
(`it-and-security/fleets/workstations.yml`).
- **Desktop computers (no battery) automatically pass** both policies.
The queries use a `NOT EXISTS` pattern so that devices returning zero
rows from the `battery` table are not treated as failures.

## Changes

| File | Description |
|------|-------------|
| `it-and-security/lib/macos/policies/battery-health-check.yml` | New
macOS battery health policy |
| `it-and-security/lib/windows/policies/battery-health-check.yml` | New
Windows battery health policy |
| `it-and-security/fleets/workstations.yml` | Added policy references
for both platforms |

## Testing

- Policy queries validated against the [osquery `battery` table
schema](https://github.com/fleetdm/fleet/blob/main/schema/tables/battery.yml).
- macOS query: `SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM battery WHERE
health != 'Good' OR condition != 'Normal');`
- Windows query: `SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM battery WHERE
designed_capacity > 0 AND CAST(max_capacity AS REAL) / designed_capacity
<= 0.80);`

### Expected behavior

| Scenario | Result |
|----------|--------|
| Laptop with healthy battery | PASS |
| Laptop with unhealthy battery | FAIL |
| Desktop (no battery / zero rows) | PASS |

---

Built for [Allen
Houchins](https://fleetdm.slack.com/archives/D0AFASNBZMW/p1774454193574469?thread_ts=1774453340.076579&cid=D0AFASNBZMW)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-25 11:23:49 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 43054daeec Add Closed Lost opportunity ownership transitional policy to sales playbook (#42389)
## Summary
- Adds the new "Closed Lost opportunity ownership transitional policy"
to the sales playbook under Rules of engagement, alongside existing
policies.
- This policy allows AEs to retain ownership of up to 5 Closed Lost
opportunities (at PoV stage or later) for 120 days from the later of
Closed Lost date or territory assignment date, given the shift to a
territory-based model.

Built for [Chaz
MacLaughlin](https://fleetdm.slack.com/archives/D0AHH0ZEMLY/p1774454144158589)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-25 11:12:04 -05:00
Ian Littman fcc380b227 Remove Documentation() method for the one activity that includes it as we don't do that anymore (#42347) 2026-03-25 11:06:06 -05:00
Scott GressandNoah Talerman 249cb76be8 Update fleetctl new readme (#42236)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41345

Updates the README.md generated from `fleetctl new` to include
instructions on how to deploy to GitHub / Gitlab.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-03-25 10:43:45 -05:00
Rachael Shaw 8a70c44a82 Fix link to "Fleets" guide (#42377)
+ rename guides/teams.md to guides/fleets.md
+ add redirect for backwards compatibility
2026-03-25 11:21:07 -04:00
Allen Houchins d9a4aa6440 Cleaning up duplicate policies (#42382) 2026-03-25 10:15:11 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 4dfba017c4 Enable calendar integration for Windows 1Password and Firefox update policies (#42381)
## Summary

- Enables `calendar_events_enabled: true` for the **Windows - 1Password
up to date** and **Windows - Firefox up to date** policies on the
Workstations team.
- Updates the `description` and `resolution` text to match the pattern
already used by the macOS counterparts, referencing the scheduled
maintenance window and calendar.

This mirrors the calendar integration that was previously enabled for
the macOS 1Password and Firefox update policies.

---

Built for [Allen
Houchins](https://fleetdm.slack.com/archives/D0AFASNBZMW/p1774451322610839)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-25 10:14:49 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 80f6c9069f Enable Claude install during setup experience for Workstations team (#42378)
## Summary

- Adds `setup_experience: true` to the `claude/darwin` Fleet-maintained
app entry in the Workstations team, so Claude is automatically installed
during the macOS setup experience for new device enrollments.
- Adds `setup_experience: true` to the `claude/windows` Fleet-maintained
app entry in the Workstations team, so Claude is automatically installed
during the Windows setup experience for new device enrollments.

## Changes

Only `it-and-security/fleets/workstations.yml` is modified. Two lines
added — one `setup_experience: true` for each platform's Claude entry
under `fleet_maintained_apps`.

Built for [Allen
Houchins](https://fleetdm.slack.com/archives/D0AFASNBZMW/p1774450304000589)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-25 10:06:23 -05:00
Jonathan Katz 0d15fd6cd6 Override patch policy query (#42322)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41815
### Changes
- Extracted patch policy creation to `pkg/patch_policy`
- Added a `patch_query` column to the `software_installers` table
- By default that column is empty, and patch policies will generate with
the default query if so
- On app manifest ingestion, the appropriate entry in
`software_installers` will save the override "patch" query from the
manifest in patch_query

# 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.
- [ ] 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)

- [ ] QA'd all new/changed functionality manually
- Relied on integration test for FMA version pinning

## Database migrations

- [x] 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.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
2026-03-25 10:32:41 -04:00
Allen Houchins a1860a9185 Add fleet-gitops slash command for Claude Code (#42326)
## Summary

- Adds `.claude/commands/fleet-gitops.md`, a new slash command
(`/fleet-gitops`) for Claude Code users working in the `it-and-security`
folder
- Mirrors the existing Kilocode skill
(`/.kilocode/skills/fleet-gitops/SKILL.md`) with the same validation
rules for osquery queries, configuration profiles
(Apple/Windows/Android), software management, DDM declarations, and CVE
remediation
- Command is explicitly invoked only — does not auto-trigger, so it has
zero impact on the engineering team's normal Claude usage

## Test plan

- [ ] Verify `/fleet-gitops` is available as a slash command in Claude
Code when opened in this repo
- [ ] Confirm the command correctly sets context for GitOps work
(queries, profiles, software, DDM)
- [ ] Confirm no change to existing engineering commands (`/review-pr`,
`/test`, `/fix-ci`, etc.)
2026-03-25 09:26:40 -05:00
Sharon Katz 5e54b86796 Improve fleetd agent release docs (#42359)
Add documentation for the full agent release process. 
Fleetd is composed of several components released through different
channels, and the handbook only linked to TUF. This adds references to
Android (Google Play), Chrome extension (Google Admin), and TUF version
tracking, with links to the relevant release guides for each.
2026-03-25 10:20:04 -04:00
Allen Houchins 4895c75de9 Cleaning up scripts (#42371) 2026-03-25 09:12:56 -05:00
github-actions[bot]andallenhouchins 2b09d00818 Update Safari policy version (#42366)
This PR automatically updates the Safari version policy for dogfood.

The changes were generated automatically by the
[dogfood-automated-policy-updates
workflow](https://github.com/fleetdm/fleet/actions/workflows/dogfood-automated-policy-updates.yml).

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-25 08:47:22 -05:00
dependabot[bot] 7d1865399e Bump github.com/nats-io/nats-server/v2 from 2.12.3 to 2.12.6 (#42338)
Bumps
[github.com/nats-io/nats-server/v2](https://github.com/nats-io/nats-server)
from 2.12.3 to 2.12.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nats-io/nats-server/releases">github.com/nats-io/nats-server/v2's
releases</a>.</em></p>
<blockquote>
<h2>Release v2.12.6</h2>
<h2>Changelog</h2>
<p>Refer to the <a
href="https://docs.nats.io/release-notes/whats_new/whats_new_212">2.12
Upgrade Guide</a> for backwards compatibility notes with 2.11.x.</p>
<h3>Go Version</h3>
<ul>
<li>1.25.8</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>golang.org/x/crypto v0.49.0 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7953">#7953</a>)</li>
<li>github.com/nats-io/jwt/v2 v2.8.1 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7960">#7960</a>)</li>
<li>golang.org/x/sys v0.42.0 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7923">#7923</a>)</li>
<li>golang.org/x/time v0.15.0 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7923">#7923</a>)</li>
</ul>
<h3>CVEs</h3>
<ul>
<li>Fixes CVE-2026-33216, CVE-2026-33217, CVE-2026-33215 (affecting
systems using MQTT)</li>
<li>Fixes CVE-2026-33246 (affects systems using leafnodes and service
imports)</li>
<li>Fixes CVE-2026-33218 (affects systems using leafnodes)</li>
<li>Fixes CVE-2026-33219 (affects systems using WebSockets)</li>
<li>Fixes CVE-2026-33223, CVE-2026-33222 (affects systems using
JetStream)</li>
<li>Fixes CVE-2026-33248 (affects systems using mutual TLS)</li>
<li>Fixes CVE-2026-33247 (affects systems providing credentials on the
command line)</li>
<li>Fixes CVE-2026-33249 (affects systems where client publish
permissions should be restricted)</li>
</ul>
<h3>Improved</h3>
<p>General</p>
<ul>
<li>Non-WebSocket leafnode connections can now be proxied using HTTP
CONNECT (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7781">#7781</a>)</li>
<li>The <code>$SYS.REQ.USER.INFO</code> response now includes the
friendly nametag of the account and/or user if known (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7973">#7973</a>)</li>
</ul>
<p>JetStream</p>
<ul>
<li>The stream peer-remove command now accepts a peer ID as well as a
server name (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7952">#7952</a>)</li>
</ul>
<p>MQTT</p>
<ul>
<li>Protocol compliance has been improved, including more error handling
on invalid or malformed MQTT packets (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7933">#7933</a>)</li>
</ul>
<h3>Fixed</h3>
<p>General</p>
<ul>
<li>Client connections are no longer registered after an auth callout
timeout (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7932">#7932</a>)</li>
<li>Improved handling of duplicate headers</li>
<li>A correctness bug when validating relative distinguished names has
been fixed</li>
<li>Secrets are now redacted correctly in trace logging (<a
href="https://redirect.github.com/nats-io/nats-server/issues/7942">#7942</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nats-io/nats-server/commit/0e0639058e0d2d8fce0cc34941f9897da152ab32"><code>0e06390</code></a>
Release v2.12.6</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/f593d279dadfbe8228c532ef21216a2b4b84cf4b"><code>f593d27</code></a>
Cherry-picks for 2.12.6 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/61">#61</a>)</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/9f904de022cb441444dc14fc5b0251b140fa1dae"><code>9f904de</code></a>
[FIXED] Incomplete route pool on premature pong</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/b5101921e22a149ea8e23e725d04bf0a85893a48"><code>b510192</code></a>
[FIXED] Avoid stalling read loop on leafnode
ErrMinimumVersionRequired</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/53941c24a17589c51aff5235991e77357fec2a0c"><code>53941c2</code></a>
Report the account and user name in USER.INFO request</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/1ab002ab2b6b8057ca2897e60cf7a8b3194d3eed"><code>1ab002a</code></a>
[IMPROVED] Support HTTP proxy connection from leaf nodes also for
TCP</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/8b6408239fedc487d20fb73626f77689c70c5766"><code>8b64082</code></a>
Release v2.12.6-RC.3</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/e6ab7e9541583932608965ff3d815e323b152e42"><code>e6ab7e9</code></a>
Cherry-picks for 2.12.6-RC.3 (<a
href="https://redirect.github.com/nats-io/nats-server/issues/59">#59</a>)</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/9f4d96076caa4b4af2911b6391c04e35e76ea1b6"><code>9f4d960</code></a>
Make the deduplication window actually work for deduplication for
sourcing</li>
<li><a
href="https://github.com/nats-io/nats-server/commit/304e18402b566a211c9721c9f39eebba65153574"><code>304e184</code></a>
Remove FIXME about auth callout nonce</li>
<li>Additional commits viewable in <a
href="https://github.com/nats-io/nats-server/compare/v2.12.3...v2.12.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/nats-io/nats-server/v2&package-manager=go_modules&previous-version=2.12.3&new-version=2.12.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-25 09:45:56 -03:00
Noah Talerman b9b1b90206 Enroll secrets modals: Update copy for "All fleets" and "Unassigned" (#42346)
For the following quick win:
- https://github.com/fleetdm/fleet/issues/40590
2026-03-25 09:22:47 -03:00
github-actions[bot]andlucasmrod 5cbff57d03 Update versions of fleetd components in Fleet's TUF [automated] (#42365)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2026-03-25 07:52:46 -03:00
Lucas Manuel RodriguezandJuan Fernandez ccd50ed791 Use http.MaxBytesReader on the raw body and on the gzip decode output (#42265)
- [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

---------

Co-authored-by: Juan Fernandez <juan-fdz-hawa@users.noreply.github.com>
2026-03-25 06:27:58 -03:00
Marko Lisica 968ac3a9d7 Rename custom settings to configuration profiles (#41250)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #29657

# Checklist for submitter

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

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

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-03-25 10:07:53 +01:00
Mike Thomas bd6b4c696c Removed em dash from homepage copy (#42361)
-  Removed em dash from homepage copy
2026-03-25 15:25:20 +09:00
Sam Pfluger 8309060b0a Update Eventbrite to Salesforce campaigns data model (#42355)
closes https://github.com/fleetdm/confidential/issues/14806
2026-03-25 00:02:28 -05:00
kilo-code-bot[bot]andkiloconnect[bot] a1ded814f3 Add FileVault and BitLocker disk encryption policies for Workstations team (#42340)
## Summary

- Adds a new **macOS - FileVault enabled** policy that checks whether
FileVault disk encryption is enabled on macOS devices by querying
`filevault_status` for an active status.
- Adds a new **Windows - BitLocker enabled** policy that checks whether
BitLocker disk encryption is enabled on the C: drive of Windows devices
by querying `bitlocker_info` for protection status.
- Both policies are added to the Workstations team configuration in
`workstations.yml`, placed alongside the existing disk encryption check
policies.
- Updated the resolution text for both policies to indicate that
settings should be automatically applied via MDM and to direct users to
#help-it for assistance.
- Changed resolution phrasing from "If you're still seeing this issue"
to "If you're still failing this policy" for both policies.

## Changes

| File | Change |
|------|--------|
| `it-and-security/lib/macos/policies/filevault-enabled.yml` | New
policy file for macOS FileVault check |
| `it-and-security/lib/windows/policies/bitlocker-enabled.yml` | New
policy file for Windows BitLocker check |
| `it-and-security/fleets/workstations.yml` | Added references to both
new policy files |

Built for [Allen
Houchins](https://fleetdm.slack.com/archives/D0AFASNBZMW/p1774388430297229?thread_ts=1774386241.477189&cid=D0AFASNBZMW)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-24 20:45:50 -05:00
github-actions[bot]andallenhouchins af1dc1dc3c Update macOS policy versions (#42356)
This PR automatically updates macOS version policies, 1Password macOS
version policy, and Safari version policy for dogfood.

The changes were generated automatically by the
[dogfood-automated-policy-updates
workflow](https://github.com/fleetdm/fleet/actions/workflows/dogfood-automated-policy-updates.yml).

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-24 20:44:30 -05:00
George Karr 8db6768b64 Add instructions for enabling merge commits (#42313) 2026-03-24 20:14:50 -05:00
kilo-code-bot[bot]andkiloconnect[bot] ab82030fb3 Add 'Why no project management function?' to handbook (#42354)
## Summary
- Adds a new "Why no project management function?" section to the "Why
this way?" handbook page.
- Explains that functional managers at Fleet own the flow of work for
their teams, thinking about output like a factory and taking direct
responsibility over results.
- References Andy Grove's *High Output Management*, Eliyahu Goldratt's
*The Goal* and *The Phoenix Project* (with Audible links), and Sid
Sijbrandij's writings during his time as CEO of GitLab (with a link to
the GitLab handbook).

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1774395518585529?thread_ts=1774395316.916289&cid=D0AFASLRHNU)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-24 16:41:03 -07:00
kilo-code-bot[bot]andkiloconnect[bot] 4e521ca300 Update homepage copy for 'See reality clearly' section (#42350)
## Summary

- Updates the copy in the "See reality clearly" section of the Fleet
homepage
- Changes "Run live queries, generate reports, and export logs." to "Run
live reports, collect data, and export logs."

## Changes

**File:** `website/views/pages/homepage.ejs` (line 128)

| Before | After |
|--------|-------|
| Run live queries, generate reports, and export logs. | Run live
reports, collect data, and export logs. |

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1774392594786109)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-24 18:02:31 -05:00
Mike Thomas 4e8709ff2e Upload new image for "see reality clearly" section of the homepage (#42291)
- Updated image
- Increase dimensions for better quality render
2026-03-24 17:59:59 -05:00
Konstantin Sykulev a599889152 Improved cpe deterministic matching (#42325)
**Related issue:** Resolves #41644

There are two cases that exist in the cpe database where this generic
logic could not be applied.

django from python_packages:
gofiber:django
djangoproject:django

npm from npm_packages:
microsoft:npm
npmjs:npm

These will require individual cve overrides that is outside the scope of
this task.

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

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

## Summary by CodeRabbit

* **Bug Fixes**
* Enhanced CPE (Common Platform Enumeration) matching to reduce
non-deterministic vendor selection when multiple vendors exist for the
same software product. The algorithm now incorporates software ecosystem
information to ensure more accurate and consistent vulnerability
resolution across package types.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-24 17:48:02 -05:00
Jahziel Villasana-Espinoza 2e6ffa747d fix usage of query params in host software endpoint (#42302)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41631 

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

## 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-24 17:53:19 -04:00
Lucas Manuel Rodriguez 8b3674bc55 Fix CVE fleetdm/fleet alerts (#42314)
Fixes
https://github.com/fleetdm/fleet/actions/runs/23476076250/job/68309012488.

Runs:
- https://github.com/fleetdm/fleet/actions/runs/23498265614
2026-03-24 17:38:46 -03:00
Lucas Manuel Rodriguez 3aa63d804b Fix fleetdm/wix warnings (#42312)
Fixes
https://github.com/fleetdm/fleet/actions/runs/23475951459/job/68308629296.

Runs:
- https://github.com/fleetdm/fleet/actions/runs/23497560995 (remote)
- https://github.com/fleetdm/fleet/actions/runs/23497590149 (local)
2026-03-24 17:38:33 -03:00
Rachael ShawandJacob Shandling 40df80f848 Update "Add hosts" modal copy (#41517)
Follow-up to https://github.com/fleetdm/fleet/pull/41055

---------

Co-authored-by: Jacob Shandling <jacob@shandling.dev>
2026-03-24 15:35:26 -05:00
Gray WilliamsandMitch Francese 330842209b Fix typo under pricing faq (#42319)
Fix typo under the pricing faq entry

Co-authored-by: Mitch Francese <2227948+tux234@users.noreply.github.com>
2026-03-24 15:14:02 -05:00
Noah Talerman c48e13896a Config for contributors reference (#42303)
- Make experimental `allow_all_declarations` use language that's
consistent w/ the FileVault/OS updates experimental config
2026-03-24 15:13:50 -05:00
RachelElysia 3c300e92b8 Fleet UI: Add max height to dropdowns that can be infinitely long (#42317) 2026-03-24 14:41:26 -04:00
0128279fd5 Add open position: 🚀 Customer Support Engineer (APAC) (#42320)
## Summary
- Adds a new open position entry for "🚀 Customer Support Engineer
(APAC)" to `handbook/company/open-positions.yml`
- Based on the existing (commented-out) Customer Support Engineer
template, with the same department, hiring manager, OTE,
responsibilities, and experience requirements

## Changes
- `handbook/company/open-positions.yml`: Added new active position entry
for Customer Support Engineer (APAC)

---

Built for [Isabell
Reedy](https://fleetdm.slack.com/archives/D0AEGJCGJR0/p1774371863364109)
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: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2026-03-24 17:16:16 +00:00
Jonathan Katz c10df65288 Software documentation updates (#42164)
A few small changes to the Contributing documentation as part of oncall
responsibility.
2026-03-24 12:39:47 -04:00
9cd09f933e Add article: Enroll MacBook Neo at scale with Fleet zero-touch enrollment (#42210)
## Summary

- Adds a new article covering how to use Fleet and Apple Business
Manager to enroll large numbers of MacBook Neos with zero-touch
enrollment
- References and quotes Jonny Evans' Computerworld article on MacBook
Neo as the Mac's potential "iPhone moment" in the enterprise
- Provides practical guidance for IT teams planning a large-scale
MacBook Neo rollout, including ABM setup, enrollment configuration,
GitOps workflows, and ongoing fleet management

## Changes

- New file:
`articles/enroll-macbook-neo-at-scale-with-fleet-zero-touch.md`

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1774111597501669?thread_ts=1774105884.042939&cid=D0AFASLRHNU)
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: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-03-25 01:03:37 +09:00
3a6aab622f Update Firefox to 149.0 for Workstations team (#42315)
## Summary

- Updates Firefox from 148.0.2 to 149.0 (released March 23, 2026) across
the Workstations team configuration
- Updates macOS custom package download URL to Firefox 149.0
- Updates macOS and Windows version-check policies to enforce version >=
149.0

## Changes

| File | Change |
|---|---|
| `it-and-security/lib/macos/software/mozilla-firefox.yml` | Updated
package URL from 148.0.2 to 149.0 |
| `it-and-security/lib/macos/policies/update-firefox.yml` | Updated
version check from 148.0.2 to 149.0 |
| `it-and-security/lib/windows/policies/update-firefox.yml` | Updated
version check from 148.0.2 to 149.0 |

## Notes

- Firefox on Windows uses the Fleet-maintained app (`slug:
firefox/windows`), which is managed by the Fleet catalog and will
auto-update when the catalog is refreshed
- Firefox on macOS uses a custom package URL since the existing pattern
uses a `.pkg` installer
- Both macOS and Windows already have self-service enabled and
corresponding update policies with calendar event enforcement (macOS)

Built for [Allen
Houchins](https://fleetdm.slack.com/archives/D0AFASNBZMW/p1774366778146629)
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: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-24 10:50:53 -05:00
Marko Lisica 6cd80d3c51 [Docs] VPP is not returned in fleetctl get config if set via UI or API (#42071)
Related to:

- #39641
2026-03-24 16:17:34 +01:00
Lucas Manuel Rodriguez 4f59eaceea Add ignores for CVE-2026-0861 in bomutils (#42292)
Resolves
https://github.com/fleetdm/fleet/actions/runs/23476296008/job/68309683127.

Run: 
- https://github.com/fleetdm/fleet/actions/runs/23487678187
- https://github.com/fleetdm/fleet/actions/runs/23487670926
2026-03-24 12:10:49 -03:00
Lucas Manuel Rodriguez ec9610bcea Fix security warnings on fleetdm/fleetctl (#42276)
Fixes: https://github.com/fleetdm/fleet/actions/runs/23424438962

New runs: 
- Local: https://github.com/fleetdm/fleet/actions/runs/23463124995.
- Remote: https://github.com/fleetdm/fleet/actions/runs/23463145956.
2026-03-24 12:10:29 -03:00