Commit graph

2922 commits

Author SHA1 Message Date
Magnus Jensen
f555071a76
add assign license section to windows autopilot doc (#40416)
Update to Windows autopilot doc that includes assigning a license to
your Microsoft 365 user
2026-02-26 09:49:58 -05:00
Marko Lisica
3a032b5e8f
Fix broken link in YAML docs (#40411) 2026-02-25 17:55:38 -06:00
Noah Talerman
4258e62fa3
FAQ: Mac Admins osquery extension support (#40014)
It's not clear what version and what tables Fleet supports:
https://fleetdm.slack.com/archives/C052K2LAMCP/p1771342324651109
2026-02-23 14:44:09 -06:00
Katheryn Satterlee
9e4a907f98
Fix typo in commands link and update API example (#40206)
Moved team_id in Batch update configuration profiles endpoint example
from request body to the request url.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-23 13:42:32 -06:00
Magnus Jensen
b0cc88858b
Add contributor documentation on configuring Windows Autopilot (#40295)
Follow up doc update from my PoC work, to make it easier for others next
time.
2026-02-23 11:48:02 -05:00
Noah Talerman
4c3a3e09a2
Move "Refetch host by token" to public API (#40017)
- Users/customers use it:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770941203226819?thread_ts=1770936601.691019&cid=C050XE4CQNA
- Rename this to "Fleet Desktop" token
2026-02-23 10:28:19 -06:00
Brock Walters
6455f4ec86
Delete docs/solutions/macos/policies/openclaw-detection.policies.yml (#40249)
Moved to all dir.
2026-02-22 18:12:00 -05:00
Brock Walters
a54ac3fa70
Create openclaw-detection.queries.yml (#40250)
moved from macos
2026-02-22 18:11:39 -05:00
Brock Walters
807ff40c1e
Delete docs/solutions/macos/queries/openclaw-detection.queries.yml (#40251)
Moved to all dir.
2026-02-22 18:11:12 -05:00
Brock Walters
4e059f7fae
Create openclaw-detection.policies.yml (#40248)
Moving these to all dir because they apply to multiple OS. Will change
links in article.
2026-02-21 14:22:27 -05:00
Ian Littman
7b59252eee
Clarify that we push vuln *feed* fixes, not vuln fixes, without a release (#40238) 2026-02-20 19:18:37 -06:00
Rachael Shaw
8822747d36
Preview of v4.81.0 doc changes (#38211)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.81.0

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: kitzy <kitzy@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
2026-02-20 17:45:47 -06:00
Brock Walters
abe588456a
Create openclaw-detection.policies.yml (#40209)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 16:10:06 -05:00
Brock Walters
e3647853bd
Create openclaw-detection.queries.yml (#40210)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 15:42:17 -05:00
Rachael Shaw
ee3ce0e624
API docs: "Device token" -> "Fleet Desktop token" (#40193)
To be consistent with naming in @noahtalerman's PR:
https://github.com/fleetdm/fleet/pull/40017
2026-02-20 13:22:55 -05:00
Steven Palmesano
c303f7f0e6
Windows scripts update (#40107)
- Add install ChatGPT script.
- Update turn on MDM script with some changes from the script above.

I tested the turn on MDM script after making these updates.
2026-02-19 13:58:10 -06:00
Connor Hughes
2863b8cf6d
Update SSO configuration steps in documentation (#39970)
Added steps for enabling SSO for a test user in Entra.

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

# Checklist for submitter

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

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

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

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

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

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-18 17:01:01 -06:00
Jordan Montgomery
f5b706ea8d
Add callout for module build failures (#39965)
Reading docs as part of oncall responsibilities and was reminded of
[this
discussion](https://fleetdm.slack.com/archives/C019WG4GH0A/p1771252998086309)
in Slack by Martin which referenced a recent JS module change that broke
`make generate` until developers ran `rm -rf node_modules`, so I added a
callout in the FAQ for it since I think this has happened a few times in
the past year
2026-02-18 16:56:01 -06:00
kiloconnect[bot]
6b3809fb7b
Add 'Disable Wi-Fi auto-join' macOS script to scripts library (#39813)
## Summary

Adds a new pre-baked script to the
[fleetdm.com/scripts](https://fleetdm.com/scripts) library: **Disable
Wi-Fi auto-join** for macOS.

## Changes

- Added a new entry to `docs/scripts.yml` in the macOS section
- The script disables auto-join for a specified Wi-Fi SSID using
`networksetup` and `PlistBuddy`/`defaults write`
- Based on [Alan Siu's
approach](https://www.alansiu.net/2026/01/22/scripting-disabling-auto-join-for-wi-fi-networks/)

## How to test

1. Build the website static content and verify the new script appears on
the /scripts page
2. Verify the script slug doesn't collide with existing scripts

---

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1770980976219219?thread_ts=1770980373.078179&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: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-18 15:32:28 -06:00
Noah Talerman
efc67f8d09
Remove automation for audit-logs.md (#39937)
- Instead, changes to activity will be specified as a PR to
`audit-logs.md` in the reference doc release branch just like API and
YAML (GitOps) changes
2026-02-18 09:16:57 -05:00
melpike
f437c13f19
Update Chrome security warning instructions (#39978) 2026-02-17 16:18:37 -06:00
Tim Lee
a3bafe8818
Jetbrains override query (#39800) 2026-02-17 08:00:36 -07:00
Noah Talerman
495daf1006
API reference: How to filter hosts by platform (#39418)
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:54:08 -06:00
Noah Talerman
5430f8760f
API reference: Document what we know about "NotNow" (#39412)
- Document what we know about "NotNow"
- Context:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770244126667719?thread_ts=1769555555.606569&cid=C050XE4CQNA

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:45:41 -06:00
Rachael Shaw
8c33922230
Revert "[Audit logs] Start and end activities: macOS setup experience and MDM migration" (#39875)
Accidentally merged PR to auto-generated docs instead of closed
2026-02-13 16:40:07 -06:00
Noah Talerman
ff502671d7
[Audit logs] Start and end activities: macOS setup experience and MDM migration (#39728)
Audit log changes for the following story:
- #29729

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 16:39:26 -06:00
Noah Talerman
3b800a5cfd
fleetctl apply: Remove custom_settings if you don't want to touch profiles (#39790)
For the following bug:
- https://github.com/fleetdm/fleet/issues/37950
2026-02-13 09:33:37 -05:00
Marko Lisica
690802eef8
Update self-service web clip template (#39750)
Updated web clip template to match what we do in dogfood, except it's
using Fleet logo as an icon.

I also created a base64 icon as a single line to improve readability.

I removed the "full screen" option, so self-service now opens in the
default browser. This way, if a customer uses Jira or a similar tool as
the organization support URL, they don't need to re-authenticate.
2026-02-13 10:37:24 +01:00
Victor Lyuboslavsky
518cd746b9
Added Okta conditional access testing docs (#39804)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39227

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-12 17:51:53 -06:00
Lucas Manuel Rodriguez
50ad7edf6a
Uncomment MySQL supported versions in the FAQ (#39760)
**Related issue:** https://github.com/fleetdm/fleet/issues/39694
2026-02-12 16:48:24 -06:00
Steven Palmesano
573bf877fe
Create troubleshooting guide for users (#37774)
@ddribeiro After talking with Noah about troubleshooting and logs, I
thought it would be good if we created a user-facing guide for
troubleshooting. Our CSEs frequently send the same troubleshooting
information to customers when they report issues. We can empower
customers with one resource that they can work through, reducing the
significant amount of time in back-and-forth steps sent over Slack.

Also, we've talked about pulling the "Finding fleetd logs" section out
of the [Enroll hosts](https://fleetdm.com/guides/enroll-hosts) guide.
Perhaps when this is complete, we can link to this document from that
guide.

This certainly doesn't contain everything! Please bring the CSEs in to
flesh this out since they're in the day-to-day and have much more
knowledge regarding this than I do.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-12 14:34:54 -06:00
Steven Palmesano
ca599be859
Use cameraAccess instead of cameraDisabled, which is deprecated (#39751)
Tested and confirmed that this works.
2026-02-12 15:19:24 -05:00
Noah Talerman
10299bd85b
Contributor docs: Link to community PR process (#39555) 2026-02-12 12:43:09 -06:00
Adam Baali
f2f1f66d11
Add Windows MDM migration troubleshooting scripts and guide (#39548)
Closes #38916
Related: #34993, #33985, fleetdm/confidential#13228

## Changes

**Article update** (`articles/windows-mdm-setup.md`)
- Adds "Migrating from another MDM solution" subsection under **Manual
enrollment** with overview of common migration issues and links to
remediation scripts

**New scripts** (`docs/solutions/windows/scripts/`)
- `reset-mdm-enrollment-flag.ps1` — Resets MmpcEnrollmentFlag blocking
MDM status after migration
- `remove-stale-mdm-enrollment-records.ps1` — Clears orphaned enrollment
GUIDs, AAD discovery cache, and MS DM Server cache
- `fix-workplace-join-configuration.ps1` — Re-enables
Automatic-Device-Join task and configures Workplace Join policies
- `remove-unreachable-wsus-configuration.ps1` — Removes unreachable WSUS
server config that breaks Windows Update

## Context

Customers migrating Windows hosts from Intune to Fleet have been hitting
recurring enrollment issues, MDM status stuck on "Off," enrollment
errors (`0x80190190`, `0x8018000a`), and Windows Update breakage from
leftover RMM agents. These scripts consolidate the workarounds from
multiple customer engagements into self-serve remediation that can be
deployed via **Controls > Scripts**.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-02-11 15:20:26 +01:00
Rachael Shaw
d124acc493
Document how to change label name without clearing membership (#39443)
See https://github.com/fleetdm/fleet/issues/38947
2026-02-10 17:08:03 -06:00
Noah Talerman
59cff14a91
API reference: List hosts includes last_opened_at (#39573)
- When `populate_software=true`
- This came up in GitHub here:
https://github.com/fleetdm/fleet/issues/38645#issuecomment-3863021910
2026-02-10 17:07:30 -06:00
Marko Lisica
50d6dd2652
Remove 'fleet_maintained' field from policy and software endpoints (#39605)
This field doesn't exist. Probably accidentally merged.
2026-02-10 17:07:12 -06:00
Steven Palmesano
32e06e9488
Default type is dynamic (#39580)
Also change platform -> type.

Discussed in #38868.
2026-02-10 17:06:49 -06:00
Victor Lyuboslavsky
fe24ff1d67
Fixed a bug where certain macOS app names could be ingested as empty strings due to incorrect ".app" suffix removal. (#39563)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34620

# Checklist for submitter

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

## Testing

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


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

## Summary by CodeRabbit

## Bug Fixes
* Fixed an issue where macOS app names could become empty after removing
the ".app" extension. The app name extraction logic now correctly
handles edge cases, ensuring app names are properly ingested without
empty values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 13:03:23 -06:00
Victor Lyuboslavsky
ac508b9a40
Added contributor docs for SigNoz. (#39402)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-09 15:28:28 -06:00
Magnus Jensen
a187842260
always send webhook while device is unmanaged for MDM migration (#39416)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38322 

This PR utilizes the ping/status ticker that sees if the device is
Unmanaged (aka. not enrolled from a Fleet server perspective), if the
Migrate to Fleet flow before had set the `mdm_migration.txt` file, but
somehow not successfully unenrolled the device, we now keep sending it
if you trigger the modal again.

We wait 90seconds after start, so at most the user can go through the
flow every 90s, but the server has a hard limit on at most one webhook
every 3m, but still it means the user can wait a bit and retry and still
see the webhook gets sent now.

_PS: Updated the old migration test to go from 1,5m to ~2s execution
time with parallel and configurable waitForUnenrollment time (to allow
test to set lower values)

# 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

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

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
2026-02-09 14:08:54 -05:00
Adam Baali
e62f451e9d
Fix command_line_flags placement in agent configuration docs (#39546)
## Changes

Fixes incorrect YAML example in
`docs/Configuration/agent-configuration.md` where `command_line_flags`
was shown nested under `config:` instead of at the top level.

**File changed:** `docs/Configuration/agent-configuration.md`

## What was wrong

The example in the `## config` section showed `command_line_flags`
indented under `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  command_line_flags: #  WRONG - nested under config
    verbose: true
    ...
  decorators:
    ...
```

This is incorrect and causes the following error when applied via
`fleetctl apply` for team YAML files:

```
Error: applying teams: POST /api/latest/fleet/spec/teams received status 400 Bad Request: 
"command_line_flags" should be part of the top level object
```

## Correct placement

Per the original implementation in
[#7377](https://github.com/fleetdm/fleet/issues/7377),
`command_line_flags` must be a **top-level key** under `agent_options`,
at the same level as `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  decorators:
    ...
  yara:
    ...
command_line_flags: #  CORRECT - top level, sibling of config
  verbose: true
  ...
```

This is consistent with:
- The [Configuration files
docs](https://fleetdm.com/docs/configuration/configuration-files) which
correctly show `command_line_flags: {}` at the top level
- Issue #7377 which states: *"The overrides setting does not accommodate
command_line_flags, which is why it is only allowed at the top-level
(and not inside config or every override)"*
- The overrides section of the same page which notes: *"the
command_line_flags key is not supported in the overrides"*

## Related issues
- Closes: https://github.com/fleetdm/confidential/issues/14206
- Closes: https://github.com/fleetdm/confidential/issues/14207

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-09 12:16:31 -06:00
Noah Talerman
14158b2b68
GitOps reference: No label_membership_type (#39556)
- Currently defaults to empty manual label:
https://github.com/fleetdm/fleet/issues/38868
2026-02-09 11:25:44 -06:00
Jahziel Villasana-Espinoza
4a5de5c386
oncall doc updates (#39517) 2026-02-09 10:43:27 -05:00
Juan Fernandez
4657a6979e
Add activity for modified enroll secrets (#39292)
Resolves #36755 

When an user edits (add, updates or deletes) an enroll secret, then a
global activity should be generated.
2026-02-07 09:21:10 -04:00
Noah Talerman
67a78314d7
YAML reference: For packages, add via UI and copy hash_sha256 (#39434)
- This is we added ability to add a package via the UI in GitOps mode
2026-02-06 16:00:37 -05:00
Steven Palmesano
6a3578ce46
Update Jamf API endpoints (#39146)
Discussed at
https://macadmins.slack.com/archives/C0214NELAE7/p1769719765777279
- The endpoints for marking a device as unmanaged and sending an
unmanage command were deprecated and no longer work. The endpoint for
looking up a device by serial number was also deprecated, so I've
proactively updated it.
- The whole story is now refactored and simplified.
- Also fixed a link in the `tines` README.
2026-02-06 13:58:40 -06:00
Steven Palmesano
3b562c2ffb
Fix Apple's spelling errors (#39464)
stving -> string
PayloamVersion -> PayloadVersion
PaylpadRemovalDisallowed -> PayloadRemovalDisallowed

Originally reported at
https://macadmins.slack.com/archives/C0214NELAE7/p1770365345839839

Looks like we just copied from [Apple's
example](https://developer.apple.com/documentation/devicemanagement/install-profile-command),
which has the errors.
2026-02-06 13:37:40 -06:00
Magnus Jensen
bce4c4afae
remove old Windows MDM PoC tool (#39473)
This PR cleans up an old tool/windows-mdm-poc, that we no longer use or
rely on.

It is also an effort to minimze inline dependencies when unused.
2026-02-06 13:55:16 -05:00
Victor Lyuboslavsky
b0f4318fb9
Added OTEL contributor docs (#39285)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-05 07:21:27 -06:00
Juan Fernandez
2935236802
False negative vulnerability for Adobe Acrobat Reader DC (#39131)
Resolves #35366 

The false negative was caused by a mismatch in product name translation
for `acrobat_reader_dc`. The resolution required platform-specific logic
to accurately identify the "Document Cloud" (DC) variants.
2026-02-05 07:20:16 -04:00
Noah Talerman
cc038aefbb
Update configuration-for-contributors.md (#39355) 2026-02-04 15:14:39 -06:00
Noah Talerman
996f5d450f
JIT guide: Simplify language (#39306)
Users sometimes missing the step "Create user and sync permissions on
login": https://github.com/fleetdm/fleet/issues/38438
2026-02-04 11:32:12 -06:00
Rachael Shaw
d401334d4c
Clearer callout clarifying hostname is not the same as display name (#39274) 2026-02-03 17:03:29 -06:00
Martin Angers
9dd41214f4
Update contributor API docs to add optional custom display name and icon for setup experience software (#39262)
Docs changes for https://github.com/fleetdm/fleet/pull/39223
2026-02-03 16:43:09 -06:00
Adam Baali
e51561914b
Add Windows SCEP profile with Exec support and $FLEET_VAR_HOST_HARDWARE_SERIAL for Okta certificate enrollment (#39204)
This pull request updates the Okta Verify on Windows SCEP configuration
documentation and profile to simplify deployment with Fleet and reduce
manual steps. The changes make the process more reliable by
standardizing variable usage, improving instructions, and automating
certificate enrollment.

**Key improvements and changes:**

**Documentation and workflow simplification:**
- The guide in
`articles/enable-okta-verify-on-windows-using-a-scep-configuration-profile.md`
was rewritten for clarity and to reflect the new automated approach.
Manual editing of XML and scripts is no longer needed; Fleet-managed
variables and secrets now handle all required values. Steps for
gathering prerequisites, deploying, verifying, and renewing certificates
are streamlined, and troubleshooting guidance is expanded.

- The subject name in the certificate is now set to use the hardware
serial (`$FLEET_VAR_HOST_HARDWARE_SERIAL`) instead of the host UUID,
improving uniqueness and traceability.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL77-R89](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L77-R89))

**Secret management and security:**
- The configuration profile now references Fleet secrets
(`$FLEET_SECRET_OKTA_SCEP_URL`, `$FLEET_SECRET_OKTA_SCEP_CHALLENGE`,
`$FLEET_SECRET_OKTA_CA_THUMBPRINT`) directly, removing the need for
manual substitution and reducing risk of misconfiguration.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

**Automated certificate enrollment:**
- An `<Exec>` command is added to the XML profile to automatically
trigger SCEP enrollment upon deployment, further reducing manual
intervention. ([docs/solutions/windows/configuration-profiles/install
Okta attestation certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

These changes make the Okta Verify SCEP configuration for Windows much
easier to deploy and maintain, with improved automation and clearer
instructions.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-03 16:47:53 +01:00
Noah Talerman
d6a98764aa
New Fleet instances: New best practice teams (#39181)
- All new Fleet Premium instances get new best practice teams
- Remove policies, queries, and scripts to simplify
2026-02-03 09:36:57 -05:00
Rachael Shaw
dafc8f6752
Preview of v4.80.0 doc changes (#37193)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.80.0

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-02 17:41:37 -06:00
Noah Talerman
09b52289b1
YAML reference: FLEET_VAR_HOST_HARDWARE_SERIAL is supported on Windows (#39193)
@rachaelshaw: I want to see how this change got lost.

Shipped in #34364
2026-02-02 15:43:33 -06:00
Jordan Montgomery
951552ea74
Add MDM Bug checklist (#39058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38223

Retrospective action item from a prior sprint. Do we want to link this
somewhere like the bug template or is it enough to share it with our
customer-facing employees?

---------

Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-02 13:56:38 -05:00
Steven Palmesano
5df6a89b0a
Add Suppress iWork Upgrade Prompt (#39052) 2026-01-30 09:18:31 -05:00
Dale Ribeiro
9b532c9936
Solutions folder script name cleanup (#38951) 2026-01-29 20:39:20 -05:00
Noah Talerman
4a2b6f7007
Supported host operating systems (#39026)
Fleet doesn't test Red Hat Enterprise Linux 10

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-29 17:27:58 -06:00
Steven Palmesano
b1ce6b9d41
Move Entity ID note above screenshot (#38952)
A customer just commented that it would be more relevant if this note
block for the Entity ID was above the screenshot, since it goes with the
preceding paragraph.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-29 11:49:48 -06:00
Josh Roskos
a38ca21d2d
Add downloadCloudflareWARP.ps1 (#38933)
Created for `customer-calabria`. Installs Cloudflare WARP and adds
variables for common organization configuration options.
```
# Define variables
$downloadUrl = "https://downloads.cloudflareclient.com/v1/download/windows/ga"
$tempDir = $env:TEMP
$installerPath = Join-Path $tempDir "Cloudflare_WARP.msi"
$organization = "your-team-name"   # Replace with your Cloudflare Zero Trust organization name
$serviceMode = "1dot1"             # Gateway with DoH mode (options: warp, 1dot1, proxy, postureonly, tunnelonly)
$autoConnect = 2                   # Auto-reconnect after N minutes (0 = indefinite off, 1-1440 = minutes)
$displayName = "display-name"      # Organization display name in WARP GUI
$onboarding = $false               # Show privacy policy screens on first launch
$switchLocked = $true              # Prevent users from manually disabling WARP
```
2026-01-28 15:25:40 -05:00
Marko Lisica
009f019307
Update Android MDM documentation with localhost note (#38840) 2026-01-28 13:50:53 -06:00
Victor Lyuboslavsky
bed1b5763c
Added Go style guide with an exception for package names. (#38888)
From Jan 27, 2026 Backend sync.
2026-01-27 16:31:43 -06:00
Steven Palmesano
6a0471c120
Keep Entity ID consistent (#37936)
Users run into issues when trying to configure SSO, because we use
Entity ID three different ways in our docs.
2026-01-27 16:12:23 -06:00
Steven Palmesano
97d8ba4e23
Remove extraneous setup_experience (#38799) 2026-01-27 16:11:16 -06:00
Marko Lisica
b8c342d5c0
Explain what is enrollment ID for personal hosts (#38829) 2026-01-27 16:10:42 -06:00
Noah Talerman
658926aacc
GitOps reference (#38862)
- Ran into this when dogfooding
2026-01-27 16:09:26 -06:00
Victor Lyuboslavsky
83624c0b57
ADR-0008: Migrate from go-kit/log to slog (#38751) 2026-01-26 15:50:31 -06:00
Victor Lyuboslavsky
9702bf2928
Updated modular monolith architecture README with the patterns uncovered so far (#38533) 2026-01-26 15:25:55 -06:00
Noah Talerman
0c3293dd3c
API reference: Human friendly docs for API endpoints that take multipart/form-data (#37674)
- During Product office hours on 2025-12-23, we learned that no one on
the call knew what the current request body format was for API endpoints
that take `multipart/form-data`
- We think the updated format is more friendly for humans who are using
curl/Postman
- We later learned that this the current format is the raw request
(formatted by a browser or curl command)
- Also update "form" to "body" in the "Parameters" table. We learned
that the form data is actually part the body. Postman's UI shows this.
2026-01-26 15:22:24 -05:00
Marko Lisica
560a4ee14d
Update Android version requirement to 14 (#38712)
We officially support the last two major versions. The latest version is
Android 16, and the most recent stable version was released six months
ago.
2026-01-26 11:54:03 -06:00
kitzy
501f72e02e
Pin MySQL and Redis images in docker-compose.yml (#38759) 2026-01-25 14:09:30 -08:00
Katheryn Satterlee
37fec8d655
Update query for Fleet osquery policy (#38456)
The policy currently returns a value in both a good and bad state.
Updated to use `SELECT 1`
2026-01-25 16:04:07 -05:00
Katheryn Satterlee
0b6d7149ee
Upload Import IdP users Tines workflow (#38701)
Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2026-01-23 12:03:30 -06:00
Noah Talerman
30674b6094
Fleet server configuration: Remove apple_scep_signer_allow_renewal_days (#38538)
- This config doesn't exist
2026-01-21 17:37:15 -05:00
melpike
2ecec2b0aa
Clarify instructions for API-only user creation (#38387)
Rephrase instructions for creating API-only users for clarity.

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

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-21 15:19:06 -06:00
Steven Palmesano
897787b1ac
Add link to our issue for SCIM support (#38460)
Re: https://fleetdm.slack.com/archives/C07MYE3KKPX/p1768331054297279
2026-01-21 15:17:33 -06:00
Jonathan Katz
902b5a5d6a
Contributor API docs update (#38517)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37264 
Adds a fleet maintained app example with the new `slug` field in the
response for `/software/batch/:request_uuid` from #38497
See the PR above for an explanation on why this was added.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-01-20 14:57:15 -05:00
Martin Angers
9db733a5dc
Clarify when the browser field is included, along with the extension_for field (#38494)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #31519
2026-01-19 16:08:25 -06:00
Noah Talerman
c1e2b637f9
API and YAML reference: Add missing interval field for policy automations (#38382)
How we learned we were missing these:
https://github.com/fleetdm/fleet/pull/38325#discussion_r2691714596

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-01-16 15:19:21 -06:00
Jordan Montgomery
7943fb5666
Update MDM instructions in design QA considerations (#38371)
Clarified MDM design considerations for testing Android, Windows, and
Apple MDM to make us think about turning off all MDMs (ref #38369)
2026-01-15 09:54:02 -06:00
Martin Angers
6879afdbfb
Fix activity docs via code generation (#38340) 2026-01-14 16:37:46 -06:00
Rachael Shaw
bcf5ebd019
Preview of v4.79.0 doc changes (#35930)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.79.0

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Steven Palmesano <3100993+spalmesano0@users.noreply.github.com>
Co-authored-by: Carlo <1778532+cdcme@users.noreply.github.com>
2026-01-14 14:47:06 -06:00
jacobshandling
bbef36a0b7
Compute, ingest, persist, and serve .app bundle executable hashes and paths (#38118) 2026-01-14 09:18:35 -08:00
Dale Ribeiro
ae7cfeb754
Fix typo in MDM Migration section of README (#38258) 2026-01-13 18:11:55 -06:00
Ian Littman
ba0d13f5ee
Update VPP guide to mention custom apps (#38019)
Guide for #32461.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-13 16:46:58 -06:00
Noah Talerman
9df18acc79
YAML reference: Some macos_setup keys are cross-platform (#37680)
- Document which keys are supported on which platforms.
- Separate feature request to come up with a cross-platform name for
`macos_setup` is here: https://github.com/fleetdm/fleet/issues/33059
2026-01-13 15:39:31 -06:00
Konstantin Sykulev
b728d7a075
Adjusted certificate rest api docs with more details about auth header (#38134)
**Related issue:** #35198

Making the docs clearly specify what node key and bearer do to the api
responses.
2026-01-12 15:45:22 -06:00
Noah Talerman
e132c758a8
API reference: Cleanup (#38190)
- Acronym was mentioned twice
2026-01-12 14:48:25 -06:00
Scott Gress
3907243881
Rename auto-update keys (#38100)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33391

## Testing

- [X] Added/updated automated tests
there's a number of tests for this, if they still pass we're in good
shape
- [X] QA'd all new/changed functionality manually
I tested the front-end successfully, and saw an auto-update go through
on an ipad. Also verified that the activity metadata is correct.
2026-01-12 11:08:26 -06:00
Victor Lyuboslavsky
e67a415c2b
Moving Android certificates docs. (#37622)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37580
2026-01-09 09:27:44 -06:00
kitzy
4ab5874e25
Document service provider metadata for SSO (#37457)
Added section on service provider metadata for SSO configuration.

Resolves [#12947](https://github.com/fleetdm/confidential/issues/12947)

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-08 11:19:04 -06:00
Rachael Shaw
ca2fa91477
API docs: Fix parameter type (#37956)
Looks like a copy/paste issue we never caught
2026-01-06 17:35:19 -06:00
Rachael Shaw
091c8bbbd3
API docs: Typo fix (#37954)
Additional query parameters use `&` instead of `?`
2026-01-06 17:02:10 -06:00
Noah Talerman
5b41bb4c53
API reference: GET /commands default page length and sort (#37899)
These undocumented defaults cause confusion:
https://github.com/fleetdm/fleet/issues/32785#issuecomment-3715226225
2026-01-06 11:14:31 -06:00
Scott Gress
e35684268d
Add auto-update schedule to software activity updates (#37715)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35458

# Details

This PR adds new metadata to the `ActivityEditedAppStoreApp` activity
relating to the app's auto-update schedule. The data will be included
with every `ActivityEditedAppStoreApp` activity regardless of whether
the values changed. I have an open question about this on the [activity
docs
PR](https://github.com/fleetdm/fleet/pull/36534/changes#r2648884183).

One functional change to note here is that the act of recording the
activity has been moved up a level into the endpoint code, because the
activity now contains metadata from two different service methods (one
that updates the VPP app, and one that creates the auto-update
schedule).

# Checklist for submitter

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

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

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
2026-01-06 10:52:26 -06:00
Nico
19113d22be
Add Testing NATS logging local development docs (#37759)
**Related issue:** Resolves #37854 

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
Adds instructions on how to set up a NATS server locally to use as a log
destination.
Follow-up of https://github.com/fleetdm/fleet/pull/36527.
2026-01-06 09:11:58 -03:00
Eric Busto
b6d19de0d9
Add support for publishing logs to NATS. (#36527)
**Related issue:** Resolves
[34890](https://github.com/fleetdm/fleet/issues/34890)

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

## New Fleet configuration settings
Looking at other log destinations, I couldn't find anything relevant in
GitOps. Please let me know if I missed something, however.

## fleetd/orbit/Fleet Desktop
I've tested this on both Linux and MacOS.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: nulmete <nicoulmete1@gmail.com>
2026-01-06 09:10:32 -03:00
Allen Houchins
cc50ede021
Typo fix (#37872)
This pull request makes a minor update to the `docs/scripts.yml` file,
standardizing the formatting of a script step's name for consistency.
2026-01-05 15:28:43 -06:00
Steven Palmesano
cb4e418f4c
API-Only -> API-only (#37751) 2026-01-05 11:42:23 -06:00
Noah Talerman
f2f1c13f38
[YAML reference] Simplify language for hash_sha256 (#37852) 2026-01-05 10:54:07 -06:00
Steven Palmesano
aa56063553
Format SQL query for readability (#37753)
Sorry for having so many PRs on this one!

Thank you again for correcting my original formatting. I was looking
over this more and wanted to improve how it appears on the site for
better readability.
2026-01-05 10:53:28 -06:00
Lucas Manuel Rodriguez
2dafd11355
Rollback Entra legacy 'device ID' ingestion (#37687)
Resolves #37686.

Rolling back the detail query change in
527c2230e9.
The test in the original commit was not related to the change so I kept
it as it was added to make sure order of processing of query results.

I tested the ingested device ID matches the one in Entra and that Yes/No
compliant functionality works as expected.

- [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
2026-01-05 13:28:43 -03:00
Steven Palmesano
6080ca6a1e
Add FDA pre-approval for fleetd (#37781) 2026-01-05 09:35:36 -05:00
Steven Palmesano
424ae271c8
Tines reorg (#37731)
Resolves #34967.
2025-12-29 13:04:49 -06:00
Steven Palmesano
239c1fd62b
Solutions symlinks (#37732)
Documentation and one symlink created.

Also, moved an existing profile in the iOS directory and updated the
relevant article that links to it.
2025-12-29 12:42:56 -06:00
Noah Talerman
c0c54ca1f8
API docs typo: Change labels and configuration fields to body (#37656) 2025-12-23 14:06:55 -06:00
Noah Talerman
e1aded2e49
Use "array" instead of "string[]" (#37655)
To be consistent
2025-12-23 14:04:29 -06:00
Magnus Jensen
8cf232513e
Small updates to MDM overview (Contributing docs) (#37609)
As part of the on-call responsibilities, I looked over the MDM overview,
and did some small updates/changes.
2025-12-22 17:05:29 -04:00
Marko Lisica
59f318c77a
Clarify platform filter description in API docs (#36618)
Related to:

- #34072
2025-12-22 12:58:20 -06:00
Jonathan Katz
5750e4393a
Docs change: GET setup_experience/software allows comma separated values (#37499)
**Related issue:** #35554 

Ability to add multiple `platform` values is added to "List setup
experience software" (`GET api/v1/fleet/setup_experience/software`) in
PR #37468. This change is similar to how `platform` can be set in the
"List software" endpoint (`GET /api/v1/fleet/software/titles`).

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2025-12-22 13:25:19 -05:00
Rachael Shaw
45b162f940
Preview of v4.78.0 doc changes (#35929) 2025-12-19 17:07:58 -06:00
Steven Palmesano
f955f233ec
Fix dashes so the formatting will show correctly on GitHub (#37492)
Sorry for opening another PR on this! Not sure how, but some weird
dashes snuck in and it threw off the formatting.

Screenshots of the rich text before and after below.

<img width="1049" height="276" alt="Screenshot 2025-12-18 at 12 19 15"
src="https://github.com/user-attachments/assets/1fefafda-0b94-4f20-a39a-ace4fa874457"
/>
<img width="1077" height="322" alt="Screenshot 2025-12-18 at 12 20 38"
src="https://github.com/user-attachments/assets/ef7274d2-501a-4394-8c34-78a9a30c43c2"
/>
2025-12-19 09:43:55 -06:00
Steven Palmesano
0ae3392a4a
Rename Android config profiles for consistency (#37486)
The file names should describe what they do, not the policies that they
use inside.
2025-12-19 09:43:38 -06:00
George Karr
f616261f59
Add engineering spec review checklist (#37333)
For #33200
2025-12-18 18:00:39 -06:00
Allen Houchins
0703dc5e35
Add 2 new app categories: 🔐 Security and 🛠️ Utilities (#37098)
This pull request adds support for two new software categories,
"Security" and "Utilities", across the application. The changes ensure
these categories are available in the database, frontend type
definitions, UI elements, documentation, and are fully tested in both
migration and integration test suites.

**Database and Migration Updates:**
* Added "Security" and "Utilities" entries to the `software_categories`
table and updated initial data in `schema.sql`.
* Introduced a new migration
(`20251210000000_AddSecurityAndUtilitiesCategories.go`) to insert/remove
these categories, with an accompanying test to verify migration
behavior.
[[1]](diffhunk://#diff-57da59e73fff8f2ffccd167299027899614281c591b79715b7000bed0e9d8516R1-R31)
[[2]](diffhunk://#diff-5e6db34b45e83ec5cf2b9cb41e4bfd4ee934f456dd9c0ae4313a448d39319c72R1-R28)

**Frontend and Documentation Updates:**
* Updated the `SoftwareCategory` type and category lists to include
"Security" and "Utilities", ensuring they appear in the UI and are
selectable.
[[1]](diffhunk://#diff-4297079e443d574eb530c70ef48de3cab80e56f783c7b395d58c31c29be6bb0eL77-R79)
[[2]](diffhunk://#diff-405dcd4f0bd6881e4b20a75212467d13c143ddc486b5c9d29ed9035033c32361R25-R26)
* Added documentation for the new categories in `yaml-files.md`.

**Testing Enhancements:**
* Added and updated tests to verify the new categories are displayed and
handled correctly in both frontend and backend integration tests.
[[1]](diffhunk://#diff-d151ee297fdaf54f8ea7027bc46de12247c43406b464265f24ade5a49cb19e49R210-R211)
[[2]](diffhunk://#diff-bbd0c5a6bc2f9a24e633031d4c6a3f5b0be7cbfe78ef1b56cdf9a7a2c32e21e2R19358-R19365)
[[3]](diffhunk://#diff-2bd8ca2ddaad7aac0c438a2afd76a26872378249f757c9c81a31005d0e57cf1fR18447-R18460)
2025-12-18 13:26:50 -06:00
Steven Palmesano
ccc75121b1
Add best practices to Solutions (#37489)
So we don't forget.
2025-12-18 12:08:56 -06:00
Magnus Jensen
991ddc8cb3
remove product group guides mentions in contributing docs (#37325)
I was just browsing around and saw the concept of product group guides
is gone, so just cleaning up some old links
2025-12-18 09:42:47 -06:00
Steven Palmesano
819ae07d3d
Improve Windows migrate to Fleet notification (#37310)
This version shows the notification every five minutes, has a custom
title, runs in the user context, and has a more detailed message since
we no longer have the 255 character limit.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-12-17 15:35:44 -06:00
Steven Palmesano
f9c15047cf
Fix script reference (#37148)
Forgot to update the reference in the policy.
2025-12-17 15:35:33 -06:00
Rachael Shaw
01746ed6ab
Docs: Clarify expected GitOps file extension (#37422)
Related to:
+ https://github.com/fleetdm/fleet/issues/30161
+ https://github.com/fleetdm/fleet/issues/36212
2025-12-17 14:36:41 -06:00
Konstantin Sykulev
c39a5b2e2d
Adds activities for certificate templates (#36903)
**Related issue:** Resolves #36701

# Checklist for submitter

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)
- [x] QA'd all new/changed functionality manually

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

## Summary by CodeRabbit

* **New Features**
* Added activity tracking for Android certificate template edits and
deletions via GitOps.

* **Chores**
* Updated certificate template batch operations to track which teams
were affected by changes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-17 11:08:40 -06:00
Luke Heath
37420f62e7
Change API endpoint from POST to GET for Android token (#37368) 2025-12-17 10:56:29 -06:00
Magnus Jensen
5065843ec9
Update incorrect teams VPP gitops description (#37061)
Clarify the behavior of the 'teams' field in VPP configuration.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-12-16 14:31:10 -06:00
George Karr
aca85c6cd4
Mention load testing for 3rd party integrations (#37357) 2025-12-16 14:15:32 -06:00
Victor Lyuboslavsky
af55ec2db8
Modular monolith README (#37186) 2025-12-15 18:04:29 -06:00
kitzy
5e95a5eb4a
Remove port 8220 from docker-compose configuration (#37004)
This port is not actually needed.

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-12-15 10:27:09 -05:00
Jake Stenger
2a5629248c
For Github issue: 13323 (#36840)
[Github issue:
13323](https://github.com/fleetdm/confidential/issues/13323#event-21368586679)
2025-12-12 10:17:28 -08:00
Scott Gress
9e12e3cb72
Add activities for enabling/disabling "update new hosts to latest" (#37089)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37088

# Details

This just adds the new activities for use in the API handler and the
front-end. I neglected to include this in the spec so I'm putting up a
quick PR to keep from adding to the back-end ticket scope.

# Checklist for submitter

No checklist items apply here; it just needs to implement what's laid
out in https://github.com/fleetdm/fleet/pull/35777/files.

---------

Co-authored-by: Juan Fernandez <juan@fleetdm.com>
2025-12-12 11:04:36 -06:00
Steven Palmesano
147814405d
Add Wi-Fi profile example (#37177) 2025-12-12 08:26:47 -06:00
Luke Heath
3a183e6772
Add PR review to daily standup, remove incoming bug triage (#37090) 2025-12-11 15:31:51 -06:00
Steven Palmesano
7530a0a55c
Remove link to "Get host's Google Chrome profiles" (#37132)
This doesn't exist any more
2025-12-11 12:34:32 -06:00
Sarah Gillespie
d619746ebf
Ingest Windows host certificates via osquery (#36771) 2025-12-11 09:53:41 -06:00
Noah Talerman
9267541860
Releasing Fleet steps: Wrong Helm chart (#37051) 2025-12-10 14:53:10 -06:00
Ian Littman
fe2a9a867e
Swap minio to rustfs (#36851)
Resolves #36909.

# Checklist for submitter

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

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

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually
2025-12-10 10:03:48 -06:00
Rachael Shaw
ffcf314a3c
YAML indentation fix in query library (#37022)
Follow-up from https://github.com/fleetdm/fleet/pull/36994
2025-12-09 16:06:18 -06:00
Josh Roskos
a9807ec904
Update Get MCP client configurations query (#36638)
Updating:
https://fleetdm.com/queries/get-mcp-client-configurations#query-detail
Reference:
https://fleetdm.slack.com/archives/C062D0THVV1/p1764781232122449

cc: @karmine05
2025-12-09 14:23:53 -06:00
Steven Palmesano
e7291062ec
Add CrowdStrike Falcon System Extension policy (#36994) 2025-12-09 14:16:35 -06:00
Jonathan Katz
b8d2ba371e
Update replica db setup and guide (#36918)
**Related issue:** Resolves #35937
Changes:
- Fix `make db-replica-setup`
- mention the tool in
`docs/contributing/getting-started/testing-and-local-development.md`.
2025-12-08 17:07:04 -05:00
Steven Palmesano
7fb0ab105a
Windows MDM migration notification (#36525)
Related to https://github.com/fleetdm/confidential/issues/12925

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-12-08 14:10:46 -06:00
Josh Roskos
ed17e84d05
Update SSO configuration paths in documentation (#36894)
Updates from customer call today: 
  - Updated image to reference `Fleet users` callback URL
  - Updated *Fleet configuration* instructions for UI changes
2025-12-08 14:04:49 -06:00
Victor Lyuboslavsky
103d537dc5
Change status to delivered in flowchart. (#36800)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36795
2025-12-08 10:07:32 -06:00
Victor Lyuboslavsky
321ed1dc12
Update MySQL versions we test with to 8.4.7 and 9.5.0 (#36803)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36801

Test and docs changes only.

Passing 8.4.7 tests in this workflow run:
https://github.com/fleetdm/fleet/actions/runs/19978256106/job/57299389148
2025-12-08 09:12:05 -06:00
Steven Palmesano
6defeec1b9
Fix broken scep_proxy references (#36777) 2025-12-05 17:32:55 -06:00
Allen Houchins
78b4655555
Typo fix (#36730)
`self-service` is not a valid key. This should be `self_service`.
2025-12-05 17:31:30 -06:00
Victor Lyuboslavsky
b1062296c5
ADR-0007: Pilot activity bounded context (#35402) 2025-12-05 17:19:33 -06:00
Steven Palmesano
d70d8f0731
Add various restrictions profiles for Android (#36607)
Related to #34732
2025-12-05 15:32:37 -06:00
Victor Lyuboslavsky
372c29b07c
Updated Android certificates flowchart (#36538)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34856
2025-12-05 08:12:02 -06:00
Josh Roskos
7117e6dede
Updated okta-idp-setup.png to reference correct URL (#36647)
Came up during customer interaction, updated screenshot to show what we
also include in the comment box below.
2025-12-04 16:38:27 -06:00
Noah Talerman
13fab1b5f6
MDM_ENABLE_CUSTOM_OS_UPDATES_AND_FILEVAULT is not production ready (#36674) 2025-12-04 16:37:46 -06:00
Marko Lisica
5137f6b6cd
Remove params from activities API (#36687)
This is pushed to 4.78
2025-12-04 16:02:10 -06:00
kitzy
58e254f1e4
Add Docker Compose deployment guide and configuration files (#36507)
- Add comprehensive Docker Compose deployment guide article
- Add docker-compose.yml with Fleet, MySQL, and Redis services
- Add env.example template with configuration options
- Include TLS setup options for both reverse proxy and direct TLS
- Add troubleshooting and production considerations

Resolves #33774
2025-12-04 12:11:59 -05:00
Victor Lyuboslavsky
ccd66921e7
Updating golangci-lint to 2.7.1 (#36678)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32999

And fixing newly flagged lint issues.
2025-12-04 10:45:50 -06:00
Rachael Shaw
25191f3054
Preview of v4.77.0 doc changes (#35924)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.77.0

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Noah Talerman <noahtal@umich.edu>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Janis Watts <184028114+jmwatts@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Carlo <1778532+cdcme@users.noreply.github.com>
2025-12-02 17:24:15 -06:00
Steven Palmesano
e6a5aafd1f
Change "ad-hoc" to "ad hoc" (#36549)
These are two (Latin) words, they should not be hyphenated. Found
because I was trying to use command + f to search for "ad hoc," since
that's the proper spelling.
2025-12-02 15:55:43 -06:00
Martin Angers
5a8e2774bf
Feature branch: Android Setup Experience support (#35951)
Feature branch for
https://github.com/fleetdm/fleet/issues/33761#issuecomment-3548996114


---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
2025-12-02 12:27:20 -05:00
Rachael Shaw
cb621bdfef
[UPDATED] #31719 API/YAML design (Add custom package that only contains a script) (#33648) 2025-11-26 16:43:31 -06:00
Steven Palmesano
41a933ff52
Add Linux desktop environment support to docs (#35770)
I'm not 100% sure if these are the supported desktop environments, but I
figured this PR would kick off the discussion.

Brought up during a call with `customer-cisneros`: [Gong
snippet](https://us-65885.app.gong.io/call?id=6065255196915724079&highlights=%5B%7B%22type%22%3A%22SHARE%22%2C%22from%22%3A654%2C%22to%22%3A1079%7D%5D)

[Here's](https://wiki.archlinux.org/title/Desktop_environment) the list
of desktop environments that the customer mentioned on the call to
highlight the fragmentation of the Linux world. 😆

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-11-26 12:38:28 -06:00
Marko Lisica
23b60d79d5
[Docs bug] team_id is not required (#36269)
Clarified the description of the 'team_id' parameter in the API
documentation. If not set default is no team
2025-11-26 12:23:52 -06:00
Harrison Ravazzolo
22034d7983
remove duplicate smallstep section from yaml reference (#36339)
Dupe blocks of code
2025-11-26 12:23:24 -06:00
Steven Palmesano
a2327f84af
Add initial Android configuration profiles (#36227) 2025-11-25 15:32:43 -06:00
Jahziel Villasana-Espinoza
8aeb5e3dac
add display name to missing spots (#36219)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35654 Resolves #36194

# Checklist for submitter

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

## 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
2025-11-24 18:20:39 -05:00
George Karr
8ab356a666
Fix links in Configuration README (#35538) 2025-11-24 17:11:16 -06:00
Marko Lisica
598d4babf8
Document research for Android agent app (#35094)
Related to:
- #34856
2025-11-24 12:10:40 +01:00
Scott Gress
c40f189321
Update instructions for installing golangci-lint in dev environments (#36125)
Updates the testing-and-local-development to reference the
`golangci-lint` version as of
https://github.com/fleetdm/fleet/issues/33251.
2025-11-21 10:14:15 -06:00
Steven Palmesano
03e8a35854
Fix link to Download bootstrap package (#35300) 2025-11-20 11:16:44 -06:00
Magnus Jensen
e4fbc4fb6e
Fix table of content links on Rest API page (#35348)
Fixes the outdated MDM link, and adds the missing top-level links.

_The notation for integrations `#integrations-1`, is to take the second
occurence of integrations, as we have another integrations title in the
update webhook configuration._

I can see this doesn't affect the website (or shouldn't) since it uses
it's own way to generate the TOC, but will help for manually browsing
the markdown.
2025-11-20 11:16:20 -06:00
Rachael Shaw
65fdb6ae40
API Docs: Add missing parameter in "Update configuration" (#36025)
`integrations` section was there but not linked in the main parameters
table.
2025-11-19 16:32:10 -06:00
Noah Talerman
521e8be95e
[API reference] Fix broken link (#35953) 2025-11-18 16:24:17 -06:00
Jordan Montgomery
64adfc1116
Remove new PUT endpoint, update docs for POST (#35820)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35309 docs changes

For more context see
https://fleetdm.slack.com/archives/C019WG4GH0A/p1763137466439419

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-11-18 12:03:49 -06:00
Noah Talerman
6e635e7888
Delete Entra modal: Update instructions (#35874)
Deleting Microsoft Entra ID doesn't unblock end users. Instead, to
unblock, the IT admin has to disable the "Conditional Access" policy in
Entra.

Context: https://github.com/fleetdm/fleet/pull/35632/files#r2524534037
2025-11-18 06:45:24 -08:00
Victor Lyuboslavsky
a87a460de3
API changes for Okta conditional access (#35632) 2025-11-17 19:25:34 -06:00
Graham Williams
33510dc40c
Add Ubuntu Advantage Query to Library (#35680)
Adds the Ubuntu Advantage policy to the policy library that checks to see
if the file exists, and that it is attached, and expiry date has not
passed.

This can be used in combination with a script automation running `pro
attach <tokenID>`, with a tokenID configured in Fleet Variables. E.g:
`pro attach $FLEET_SECRET_UBUNTUPRO` for remediation.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-11-17 10:04:16 +00:00
Noah Talerman
85cca255bf
Add setup_experience to example YAML (#35780)
- Clarify that `setup_experience` can be used for `app_store_apps` and
`fleet_maintained_apps`
2025-11-15 13:01:51 -05:00
Jordan Montgomery
98452d4827
[API/YAML] Docs for new setup experience script PUT endpoint (#35736)
API changes for #35309 

Also updates bug notes to call out fixed version.

Related PR #35651

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-11-14 17:47:34 -05:00
Rachael Shaw
a074498668
API design: #33758 (OS vulnerabilities bug) (#33533)
> This PR to be left in draft until bug is brought into a sprint, at
which point we'll close and re-open to the correct release branch.

Changes for the following bug:
+ https://github.com/fleetdm/fleet/issues/33758

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-11-14 16:58:00 -05:00
Janis Watts
ecf5c789aa
Update yaml-files.md (#35765)
Proposing that we update this language to match what actually happens if
you add a VPP app using an adamID (all platforms with that adamID are
added, along with any settings like self service categories, setup
experience, labels, etc.)
2025-11-14 13:11:11 -05:00
Marko Lisica
daae2c1c06
Update MySQL support details in Reference Architectures (#35706)
Added information about supported database setups and resource
provisioning for multiple Fleet instances.

Related to:

- #35400

We got a community member trying to install Fleet in a way we don't
test, but it's not explicitly documented that we don't support that way.
2025-11-14 11:28:44 -05:00
Jordan Moore
01298afe9c
REST API Human-device mapping table of contents correction (#35718)
Corrected REST API Documentation table of contents so that the `Update
human-device mapping` heading linked to the right location in the
document and the heading in the table of contents matches the actual
heading.
2025-11-13 17:58:36 -05:00
jacobshandling
926cdc6da0
Manually update & delete host IdP mappings (#35325)
**Related issue:** Resolves #34222 


[Demo](https://drive.google.com/file/d/1MyLlyUW8Qoad_3_FLwiMhMBbb8wJNwGk/view?usp=drive_link)

<img width="1504" height="986" alt="Screenshot 2025-11-10 at 4 45 48 PM"
src="https://github.com/user-attachments/assets/9ee80fd3-c9e7-4712-b150-11ac08c70db6"
/>

# 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/`, 
## Testing
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-11-13 09:05:40 -08:00
Mitch Francese
542e8ff259
Update links to example configuration profiles (#35420)
Fixing broken links in the article to point to absolute paths.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-11-12 15:08:18 -05:00
Noah Talerman
15f5880638
[YAML reference] Clarify variable (#34956)
IdP username is an email
2025-11-11 18:01:11 -05:00
Noah Talerman
f684118edd
YAML reference (#35546)
- Fleet supports payload-free packages for Linux (`.sh`) and Windows
(`.ps1`)
- `.ipa` coming in 4.77
2025-11-11 14:15:11 -05:00
Rachael Shaw
3135e9a0a7
#30117 API/YAML design: Require all software installs during macOS setup experience (#33016)
User story:

+ #30117
2025-11-11 10:04:05 -05:00
Rachael Shaw
86b80e28ed
Documentation v4.76.0 (#34943)
Documentation changes for the 4.76 release
2025-11-11 09:30:14 -05:00
Ian Littman
f91aa591b0
Target Redis 6 everywhere rather than a mix of 5 and 6 (#35373)
Redis 5 has been EOL for a few years, and didn't get updates for the
latest high-severity CVEs. We're already using 6 in most places
(fleetctl preview, recommended reference architectures, managed cloud
environments) so it's safe to set 6 as the new minimum.

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-11-10 17:05:44 -06:00
Luke Heath
56c997983a
Update release workflow documentation with tag examples (#35290) 2025-11-10 13:14:56 -06:00
Rachael Shaw
480a73c669
Move setup experience bug message (#35393) 2025-11-08 13:19:18 -06:00
Rachael Shaw
9cc3b8f0ba
Docs: Add messaging about 🪲 #35309 (#35392)
Add caveat to macOS setup experience and GitOps docs re: 🪲 #35309
<img width="828" height="306" alt="Screenshot 2025-11-08 at 1 05 11 PM"
src="https://github.com/user-attachments/assets/ca6a04f6-bea6-4863-839e-65a004bad932"
/>
2025-11-08 13:11:06 -06:00
jacobshandling
acb563337e
Ingest, store, consider in unique_identifier, and serve upgrade_codes for Windows software (#34786)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33907 

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

## Testing

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

## 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.~ N/A
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).


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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Windows software inventory now includes upgrade code data for better
software identification and tracking.

* **Chores**
* Database schema updated to support upgrade code storage for software
titles and inventory records.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-07 15:33:31 -08:00
Noah Talerman
8f3888ff0f
Fleet release note template: Supported fleetctl (#35298) 2025-11-06 16:03:28 -06:00
Ian Littman
f1c3f02dac
Update host foreign vitals IdP guide + related tweaks (#35229)
Fixes #32072.

Biggest changes are in the foreign vitals IdP (SCIM) guide:

* Moved Android from "coming soon" to live (true as of 4.75)
* Moved Okta-specific troubleshooting under the Okta section
* Moved "Other IdPs" into its own top level section instead of partway
through the Google section (looks like the result of a bad merge)
* Added a link to the labels guide where relevant
* Various minor clarity/grammar fixes based on running through the
process end-to-end with Okta


Additionally:

* Clarity fixes on labels docs
* Noted in contributing docs the existence of the Okta Integrator Free
plan for E2E testing SSO/SCIM flows
2025-11-05 13:55:49 -06:00
Dave Siederer
c61ea7e5cd
Create aws-ec2-mac-setup.sh (#35217)
Script to run during the first launch of an AWS EC2 Mac instance to make
it easier to set up the Amazon Machine Image (AMI). Uses data from
https://github.com/aws-samples/amazon-ec2-mac-mdm-enrollment-automation/blob/main/Secret_SecretsManager_CF.yaml
that the AWS instance accesses at runtime.

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-11-05 12:51:24 -05:00
Steven Palmesano
41335e1ce7
Correct Create package to Add package (#35175) 2025-11-05 11:42:39 -06:00
Jahziel Villasana-Espinoza
621012356f
software display names: API support (#35182)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33778

# Checklist for submitter

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-11-05 12:03:30 -05:00
Dante Catalfamo
f06e6fc582
Gitops docs changes for #34689 (#35015) 2025-11-04 16:27:36 -05:00