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

---------

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

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

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


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

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

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

---

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

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

</details>

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

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

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

# Checklist for submitter

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

## Testing

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

No changes because it seems it's unreleased.

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

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

# Checklist for submitter

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

## Testing

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

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

#### Before


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

#### After


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

#### Test on Windows 11 desktop PC

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

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

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-27 09:44:24 -05:00
Noah Talerman d65d7e692d Self-service guide: Clarify why the page is hidden by default (#42076)
- Also clarify experience for different platforms
2026-03-27 09:38:10 -04:00
Noah Talerman 328d67958a Account-drive User Enrollment (#42490)
- Update guide based on conversations/learnings from `figali`:
https://fleetdm.slack.com/archives/C06GSN6HR6D/p1774541995096259
2026-03-27 09:37:32 -04:00
Noah Talerman cb337ae6ab Best practice macOS Tahoe migration (#42493)
Came up w/ this during fast track w/ `figali`
2026-03-27 09:37:09 -04:00
d0ab789e4f [Guide] update Windows MDM migration section (#41632)
Updated to shorten and remove techincal details that are available
inside the script (as comments).

Related to: #38985

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-03-27 14:24:37 +01:00
Lucas Manuel Rodriguez f559c6db79 Fix disk encryption key modal to not show stale key when switching between hosts (#42444)
Resolves: #42443

- [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-03-27 10:13:59 -03:00
NicoandLucas Manuel Rodriguez b42fc182fe Fix fleetd in-band upgrade on macOS hosts (#42187)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32126

# 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

- [ ] Added/updated automated tests

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

Steps:
- Have fleetd installed on the host.
- `make build` and re-run the server.
- Generate a new fleetd package: `./build/fleetctl package --type=pkg
--enable-scripts --fleet-desktop --fleet-url=<URL>
--enroll-secret=<SECRET>`
- Upload the newly-generated `fleet-osquery.pkg` to Host details >
Software > Library.
- Click `Install`.
- When the install finishes, verify that the UI says `Installed`:

<img width="1433" height="392" alt="Screenshot 2026-03-20 at 4 42 19 PM"
src="https://github.com/user-attachments/assets/ec78b63e-e5c7-4b27-acde-4e4f63f5f7b2"
/>

- Verified logs:

`/var/log/orbit/orbit.stderr.log` logs after successful upgrade:

```
2026-03-20T16:24:58-03:00 INF hash(orbit)=4ba4729515dc6923cf54eaca610c6dbded344941a10e552579c19676b7419bc5643e98fd8cf404d8ed2cd6168d7b756b2df56997ff41b51b520fa6456b407979
2026-03-20T16:24:58-03:00 INF hash(osqueryd)=9d2ab3eb30537e38c78a089ae28196d34afc436030bca10ae60a06fd20e344bc911ab0e036e8abb44e401809b6056a04aa9dddf00d90386a451fe55ca3a0ffe8
2026-03-20T16:24:58-03:00 INF hash(desktop)=9317a1617709492dec2cb2ff3821412e5061c402b1c7988f16a99faa81b2c8dffa1fb038d5fb8c4dae67e5545a577bbe6b1a8c13adb39453b2ba7bddfb36dafa
2026-03-20T16:24:58-03:00 INF orbit version: 1.53.1
2026-03-20T16:25:00-03:00 INF Found osquery version: 5.21.0
2026-03-20T16:25:12-03:00 INF token rotation is enabled
2026-03-20T16:25:14-03:00 INF Found fleet-desktop version: 1.53.1
2026-03-20T16:25:14-03:00 INF checking for custom mdm enrollment profile with end user email
2026-03-20T16:25:14-03:00 INF get custom enrollment profile end user email: profile not found
2026-03-20T16:25:14-03:00 INF orbitClient.GetServerCapabilities() map[end_user_email:{} escrow_buddy:{} linux_disk_encryption_escrow:{} macos_web_setup_experience:{} orbit_endpoints:{} setup_experience:{} token_rotation:{} web_setup_experience:{}]
2026-03-20T16:25:14-03:00 INF opening path="/opt/orbit/bin/desktop/macos/stable/Fleet Desktop.app"
2026-03-20T16:25:14-03:00 INF start osqueryd cmd="/opt/orbit/bin/osqueryd/macos-app/stable/osquery.app/Contents/MacOS/osqueryd --pidfile=/opt/orbit/osquery.pid --extensions_socket=/opt/orbit/orbit-osquery.em --logger_path=/opt/orbit/osquery_log --enroll_secret_env ENROLL_SECRET --tls_hostname=nicofleet.ngrok.io --enroll_tls_endpoint=/api/v1/osquery/enroll --config_plugin=tls --config_tls_endpoint=/api/v1/osquery/config --config_refresh=60 --disable_distributed=false --distributed_plugin=tls --distributed_tls_max_attempts=10 --distributed_tls_read_endpoint=/api/v1/osquery/distributed/read --distributed_tls_write_endpoint=/api/v1/osquery/distributed/write --logger_plugin=tls,filesystem --logger_tls_endpoint=/api/v1/osquery/log --disable_carver=false --carver_disable_function=false --carver_start_endpoint=/api/v1/osquery/carve/begin --carver_continue_endpoint=/api/v1/osquery/carve/block --carver_block_size=8000000 --tls_accept_gzip=true --tls_server_certs /opt/orbit/certs.pem --augeas_lenses /opt/orbit/lenses --force --flagfile /opt/orbit/osquery.flags --host-identifier uuid --database_path /opt/orbit/osquery.db"
2026-03-20T16:25:14-03:00 INF killing any pre-existing fleet-desktop instances
I0320 16:25:20.108963 1878142976 interface.cpp:137] Registering extension (com.fleetdm.orbit.osquery_extension.v1, 45937, version=, sdk=)
I0320 16:25:30.446642 194764992 eventfactory.cpp:156] Event publisher not enabled: endpointsecurity: EndpointSecurity is disabled via configuration
I0320 16:25:30.474906 194764992 eventfactory.cpp:156] Event publisher not enabled: endpointsecurity_fim: EndpointSecurity is disabled via configuration
I0320 16:25:30.475134 194764992 eventfactory.cpp:156] Event publisher not enabled: openbsm: Publisher disabled via configuration
I0320 16:25:30.475183 194764992 eventfactory.cpp:156] Event publisher not enabled: scnetwork: Publisher not used
I0320 16:25:30.475217 194764992 eventfactory.cpp:156] Event publisher not enabled: event_tapping: Publisher disabled via configuration
2026-03-20T16:27:14-03:00 INF received notification for software installers: [147149e7-2634-4b23-b724-aafc995e3f09] runner=installer
2026-03-20T16:27:14-03:00 INF processing installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
2026-03-20T16:27:14-03:00 INF fetching installer details installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
2026-03-20T16:27:14-03:00 INF about to download software installer from Fleet installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
2026-03-20T16:27:37-03:00 INF done downloading installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
2026-03-20T16:27:37-03:00 INF software installer downloaded installerID=147149e7-2634-4b23-b724-aafc995e3f09 installerPath=/tmp/3354102551/fleet-osquery.pkg runner=installer
2026-03-20T16:27:37-03:00 INF about to run install script installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
2026-03-20T16:27:40-03:00 INF install script exitCode=0 installerID=147149e7-2634-4b23-b724-aafc995e3f09 runner=installer
```

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-03-27 09:04:14 -03:00
Jorge Falcon 2d09916f60 Fix loadtest/infra docker_image resource (#42537)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves # N/A

- Resolves an issue that prevents some locally pulled docker images from
being pushed to ECR.
2026-03-27 01:17:37 -04:00
Luke Heath 042c163301 Clarify user story guidelines by removing optional clause (#42535) 2026-03-26 19:19:29 -05:00
Luke Heath 26d0dccc8e Fix fleetctl generate-gitops failing to include VPP fleet assignments (#42429) 2026-03-26 19:06:51 -05:00
Victor Lyuboslavsky 4e7c6f33a7 SyncML <Delete> Windows profiles (#42206)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33418 

Demo video: https://www.youtube.com/watch?v=gtsIYxmIOSo
Docs: https://github.com/fleetdm/fleet/pull/42269/changes

# 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] 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**
* Windows profiles now send SyncML <Delete> commands when profiles are
removed or hosts change teams, ensuring profile settings are removed
from devices like on macOS.
* Deletion is handled as a two-phase flow: pending removals are enqueued
and tracked instead of being immediately deleted.

* **Tests**
* Added/updated tests for delete-command generation, remove-status
mappings, and end-to-end removal reconciliation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-26 18:25:54 -05:00
534b1870c8 Add marketing responsibility and ritual for monitoring LinkedIn company page comments (#42525)
## Summary

- Updates the Slack channel reference from `#social-media-comments` to
`#linkedin-comments` in the marketing ritual, handbook responsibility
section, and team responsibilities page to match the actual channel name
(`C0AP1FM3ES2`).
- Adds an explicit responsibility to the Social Media Consultant role
(`@tombasgil`) for monitoring and responding to comments on company page
posts (e.g., LinkedIn), with a reference to the `#linkedin-comments`
Slack channel where tracked post comments are surfaced.

### Changes

| File | Change |
|------|--------|
| `handbook/marketing/marketing.rituals.yml` | Updated Slack channel
name to `#linkedin-comments` in the "Check LinkedIn comments" daily
ritual |
| `handbook/marketing/README.md` | Updated Slack channel name to
`#linkedin-comments` in the "Monitor and respond to LinkedIn comments"
responsibility section |
| `handbook/marketing/marketing-responsibilities.md` | Added company
page post comment monitoring responsibility to Thomas Basgil's Social
Media Consultant role |

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1774562241396389)
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: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-03-26 18:07:33 -05:00
Eric 428ab3e83a Website: add script to delete older HistoricalUsageSnapshot records (#42529)
Changes:
- Added a new script to the website: `cleanup-old-usage-statistics`, a
script that deletes `HistoricalUsageSnapshot` records stored in the
website's database that are older than 60 days.
2026-03-26 18:03:40 -05:00
jacobshandling 0c4e4e4673 Fix UI broken on main (#42524)
Fixes
https://github.com/fleetdm/fleet/pull/42504/changes#diff-7616ec5052d5650a10c334f3d7a211aaeaa39f99b3d41d666931ec1796fcbabbR317
2026-03-26 14:59:17 -07:00
Scott Gress 83d1b02d0a Remove generate-gitops warning about categories (#42514)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #30453

All the work for this was already done in
https://github.com/fleetdm/fleet/pull/32492. I verified that
`generate-gitops` outputs the expected categories, and that `gitops`
reads them back in correctly. This PR just removes the warning
2026-03-26 16:30:24 -05:00
RachelElysia f7f5664d82 FE: MDM Status Modal new API connections (#42504) 2026-03-26 16:51:57 -04:00
Eric e890981e1c Website: Move documentation pages into docs/ folder, rename scripts to script-library (#42510)
Changes:
- Moved documentation pages into the docs/ folder
- Updated routes, poicies, and importer.less
- Renamed the "scripts" page to "script-library" to be consistent with
the other landing pages for YAML documentation
- removed a stray console.log() in the new-licence page script
2026-03-26 15:32:48 -05:00
RachelElysia 1fa2e4fe09 FE: MDM Status Modal component updates only (#42496) 2026-03-26 16:30:53 -04:00
kilo-code-bot[bot]andkiloconnect[bot] a6c77efd4b Add LinkedIn comment monitoring responsibility and ritual to marketing handbook (#42498)
## Summary

- Adds a new **"Monitor and respond to LinkedIn comments"**
responsibility to the marketing handbook
(`handbook/marketing/README.md`) with a documented process for daily
LinkedIn comment monitoring, response, reposting, and SME escalation.
- Adds a new **"Check LinkedIn comments"** daily ritual to
`handbook/marketing/marketing.rituals.yml` with DRI set to `@tombasgil`
(Social Media Strategy and Management consultant).
- The new responsibility links to the
[#social-media-comments](https://fleetdm.slack.com/archives/C0AP1FM3ES2)
Slack channel for tracked post comments and documents Hootsuite as the
cataloguing tool.

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/C01ALP02RB5/p1774555088820749?thread_ts=1774539723.450349&cid=C01ALP02RB5)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-26 15:08:20 -05:00
jacobshandling 9c625ab3d5 Resend android cert to host - frontend, update profile API (#42297)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41541, #42293

- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-03-26 13:06:29 -07:00
Tim Lee e4b47391fb Frontend: Auto rotate recovery password (#42197) 2026-03-26 14:03:25 -06:00
1e3a157c49 Update Irena Reedy to Irena E. Reedy in marketing team table (#42475)
## Summary
- Updated "Irena Reedy" to "Irena E. Reedy" (added middle initial) in
the Team table on the marketing handbook page
(`handbook/marketing/README.md`).

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

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-03-26 14:56:03 -05:00
Jonathan Katz 6618282baa Use list FMA endpoint in generate-gitops to match FMAs by ID (#42483)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39842
Replaces the call to
`maintained_apps.FetchAppsList(context.Background())` which downloads
the apps.json list from github to the list Fleet-maintained apps
endpoint. This is so we can match apps by their Fleet-maintained app ID
instead of by name which can cause problems when a Windows FMA is
associated to a title with the wrong name (e.g. title is `7-Zip 23.01`
instead of the current FMA's name `7-Zip 25.01`).

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

- [x] QA'd all new/changed functionality manually
2026-03-26 15:52:28 -04:00
jacobshandlingandCopilot ee822eb207 Run prettier formatting on commit for frontend code (#42470)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* Configured pre-commit hooks to automatically format code before
commits are made.
* Integrated code formatting tooling into the development workflow for
JavaScript, TypeScript, and JSX files in the frontend.

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

- [x] Manual testing
- [x] Confirmed decent speed on a MBP M5 48g RAM
https://www.loom.com/share/0c803cbcca7f46579f44be9ec06e787e

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-26 12:41:13 -07:00
kilo-code-bot[bot]andkiloconnect[bot] 916a70bfaa Remove 'Creating contacts in the wild' section from GTM operations handbook (#42469)
## Summary

- Removes the "Creating contacts in the wild" subsection from the
Go-To-Market operations handbook page
(`handbook/company/go-to-market-operations.md`).
- No other content was modified; surrounding sections (Events, SWAG)
remain intact.

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1774543951111849)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-26 14:30:04 -05:00
Sam Pfluger b3b2152845 Revise LinkedIn comments tracking workflow and image (#42491) 2026-03-26 14:29:50 -05:00
Sam Pfluger 3dce11f74a Create GTM architecture page (#42489) 2026-03-26 12:24:02 -07:00
Eric addabc28bb Website: Update self-service Fleet premium license form (#42488)
Closes: https://github.com/fleetdm/confidential/issues/14516 

Changes:
- Added inputs for individual platforms to the license form on
/new-license
- Updated contact descriptions set by the receive-from-stripe webhook
- Updated supported intentSignal values in the createHistoricalEvent
helper
- Updated the create-quote action to update contact descriptions and
create a historical event
2026-03-26 14:23:05 -05:00
Steven PalmesanoandIan Littman be662b2c09 Display Android app ID when not found (#40553)
Resolves: #42141

Also updated the error messages for iOS to wrap the app name in quotes.

Requested by `customer-pingali`:

> Deploying Android apps via gitops, I’m running into this message:
```
[+] applying 52 app store apps for team Android - BYOD
Error: applying app store apps for team: "Android - BYOD": POST /api/latest/fleet/software/app_store_apps/batch received status 422 Validation Failed: Couldn't add software. The application ID isn't available in Play Store. Please find ID on the Play Store and try again.
```
> I’ll double-check them, but it would be great for your customers if
you’d specify which app ID isn’t found.

# Checklist for submitter

## Testing

- [x] Added/updated automated tests

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-03-26 14:02:27 -05:00
Tim LeeandClaude Opus 4.5 1aef647195 Backend: Auto rotate recovery lock passwords (#42084)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41670 

# 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

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



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

* **New Features**
* Automatic recovery lock password rotation for Mac devices—passwords
now rotate 1 hour after being viewed or accessed via the API, enhancing
security.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 12:12:41 -06:00
jacobshandling a74901ea5d Codify pattern to disable form submit buttons when invalid (#42329) 2026-03-26 10:23:43 -07:00
RachelElysia ad2dcd47fe Fleet UI: Fix icon color and other styling nits (#42457) 2026-03-26 13:15:57 -04:00
Victor Lyuboslavsky e9fe5eb489 Increased Apple retry from 1 to 3. (#42331)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42327 

We're not doing Windows because we're missing the failed activity for
Windows profiles, which we do have for Apple.

The actual code change is small. This PR is mostly test changes.

## Demo video and docs

https://www.youtube.com/watch?v=YKNguaQQs_E
https://github.com/fleetdm/fleet/pull/42332/changes

# Checklist for submitter

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

## Testing

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

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

## Summary by CodeRabbit

* **Improvements**
* Apple device configuration profiles (macOS, iOS, iPadOS) now
automatically retry failed deliveries up to 3 times instead of once.
* Windows configuration profiles maintain their existing single retry
limit.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-26 11:29:20 -05:00
fleet-releaseandallenhouchins 85cc7c7a0c Update Fleet-maintained apps (#42458)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-26 11:09:09 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 9bd3b89d93 Website: Change 'Reduce agent sprawl' to 'Reduce sprawl' on homepage (#42434)
## Summary
- Changed the bottom CTA heading on the homepage from "Reduce agent
sprawl" to "Reduce sprawl" in `website/views/pages/homepage.ejs`.

## Changes
Single text change at line 1474 of the homepage template.

---

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

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-26 10:50:34 -05:00