Commit Graph
24452 Commits
Author SHA1 Message Date
Juan Fernandez e1512dacc9 Fix nil-pointer panic in Android Enterprise Pub/Sub endpoint (#45520)
Fixes #45520 

The Pub/Sub status-report and enrollment handlers dereferenced
device.HardwareInfo before any nil check, so a payload from Google's
Android Management API with hardwareInfo omitted panicked the request
goroutine.
2026-05-18 13:29:45 -04:00
Lucas Manuel Rodriguez 18671eba94 Move HostDetailResponse type to server/fleet/ (#45718)
Resolves #45220 (one of several PRs).

## Testing

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

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

* **Refactor**
* Consolidated and standardized host detail response handling across
server and CLI, aligning host/device and MDM flows for more consistent
behavior.

* **Tests**
* Updated integration tests to reflect the standardized host detail
response format.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45718?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 14:06:38 -03:00
Eric 64135163e4 Website: Fix overflowing text on orchestration page. (#45722)
Changes:
- Fixed text overflowing outside of the page's container on the
/orchestration page

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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved responsive design on mobile devices—testimonial videos, hero
text, and feature text now scale fluidly while maintaining appropriate
maximum widths on smaller screens.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45722?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 11:48:02 -05:00
RachelElysia ed14b49692 Fleet UI: Fix extra margin causing scroll (#45706) 2026-05-18 12:32:58 -04:00
Lucas Manuel Rodriguez 44f284cd71 Remove testing dependency in server/config/config.go (#45703)
Resolves #45220.

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

## Summary by CodeRabbit

* **Chores**
* Internal improvements to configuration management with no user-facing
changes.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45703?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 13:28:56 -03:00
Juan Fernandez b0d429ef69 Fix SAML JIT login failing when role attributes have empty values (#42874)
Fixes #42874

Empty, whitespace-only, and missing `FLEET_JIT_USER_ROLE_*` SAML
attribute values are now treated as `null` (ignored) instead of
returning an error, matching the literal `"null"` workaround.
2026-05-18 12:13:19 -04:00
Dan Gordon 6553a53b90 Add Linux tech article #2 in the series (#45707)
Add article on choosing supported Linux distributions for organizations
2026-05-18 10:36:58 -05:00
Dan Gordon 5b899e6588 publish Linux tech article #1 in series (#45702)
publish article: linux desktop inventory and viz
2026-05-18 10:36:36 -05:00
Mike Thomas 9675eb7022 /infrastructure-as-code - update modern change management and infrastructure as code feature image 3 (#45692)
Resolves https://github.com/fleetdm/confidential/issues/15646

This PR includes the following changes:

- Updates (and reduces size) of the modern change management image and
add that image to the /infrastructure-as-code hero image instead of the
yaml example.
- Update infrastructure-as-code-feature-image-3 (closes
https://github.com/fleetdm/confidential/issues/15646)
2026-05-18 10:36:08 -05:00
Mike Thomas 39b39274e8 Update deployment architecture diagram (#45691)
Closes https://github.com/fleetdm/confidential/issues/15858

- Update deployment architecture diagram
2026-05-18 10:34:53 -05:00
johnjeremiah e8ff0b1a42 Set campaign member status for form-based contacts (#45427)
Add a list of form-based contact sources and set
Most_recent_campaign_member_status__c to 'Registered' when contactSource
matches any of them. This marks contacts originating from website
contact forms, webinars, gated docs, and related sources as registered.
The change includes an eslint-disable-line camelcase comment for the
Salesforce field name.




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

## Summary by CodeRabbit

* **Bug Fixes**
* Enhanced contact registration tracking to automatically set
appropriate campaign status when contacts are registered through
form-based sources such as webinars.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45427)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 10:52:39 -04:00
Sam Pfluger c07ed9020b Add Why send LinkedIn comments to Unthread? (#45438)
Add Why send LinkedIn comments to Unthread? 
Move LinkedIn comment, share, mention response to CS
2026-05-18 15:38:54 +01:00
Lucas Manuel Rodriguez fef357ceb6 Move testing_utils.go to testing_utils_test.go for SCEP tests (#45619)
Resolves #45220

Here's one example why this is a good idea.

On `main`, the fleet production binary contains a private key used for
testing:
```
$ strings ./build/fleet | rg "BEGIN RSA TESTING"
proto3-----BEGIN RSA TESTING KEY-----
```
And it's gone when using this branch:
```
$ strings ./build/fleet | rg "BEGIN RSA TESTING"
<empty>
```

## Testing

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

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

* **Chores**
* Reorganized and centralized SCEP test helpers and servers for
certificate enrollment tests.
* Added embedded HTML fixtures to better emulate SCEP/NDES admin
responses (cache/full, permissions, password).
* Standardized UTF‑16 handling for test responses and improved test
server response handling.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45619?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 11:04:00 -03:00
Noah Talerman 2842c1b9aa fleetctl installs (#45552)
https://fleetdm.com/download
2026-05-18 09:56:24 -04:00
fleet-release 6d42f1e467 Update Fleet-maintained apps (#45698) 2026-05-18 08:29:17 -05:00
GrowthX-TeamandDan Gordon 55d1000d0e New article: Security compliance monitoring for multi-platform environments (#45294)
New Article by Team GrowthX

Date: 12-05-2026

---------

Co-authored-by: Dan Gordon <daniel@fleetdm.com>
2026-05-18 04:19:43 -07:00
Dan Gordon ce60f437d4 Fix description formatting in BYOD security article (#45685)
LESS than 150 chars, NOT 150 chars. . .  #$%&#@%$
2026-05-17 21:59:46 -05:00
fleet-releaseandallenhouchins 49313fe400 Update Fleet-maintained apps (#45684)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

## Updates

* Updated DBeaver Community to version 26.0.5 with new installation
files and verification checksums
* Updated Windsurf to version 2.3.9 with new installation files and
verification checksums

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45684?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-17 21:42:31 -05:00
Dan Gordon eb1422ae4d fix long description and author (#45683)
description was 1 char too long keeping it from showing up. Also fixed
author and pub date.
2026-05-17 21:11:11 -05:00
GrowthX-TeamandDan Gordon ed21df48d7 New article: ZTNA vs VPN: choosing the right access model for your organization (#45031)
New Article by Team GrowthX

Date: 08-05-2026

---------

Co-authored-by: Dan Gordon <daniel@fleetdm.com>
2026-05-17 17:36:27 -07:00
GrowthX-Team dd86dc9486 New article: Building a BYOD security program that holds up across platforms (#45512)
New Article by Team GrowthX

Date: 14-05-2026

cc @danbgordon
2026-05-17 16:27:40 -07:00
fleet-release 622233ea70 Update Fleet-maintained apps (#45680) 2026-05-17 07:34:02 -05:00
fleet-releaseandallenhouchins ad5bb8a49e Update Fleet-maintained apps (#45673)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

## Release Notes

* **Chores**
* Updated application version metadata for Camtasia (26.1.2.16723),
Claude (1.7196.1), ExpressVPN (14.1.1.13156), Linear (1.30.2), and
Postman (12.10.6).

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45673?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-16 07:55:48 -05:00
fleet-releaseandallenhouchins 860a7de320 Update Fleet-maintained apps (#45666)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Updates**
* Updated version catalogs for Claude Desktop (macOS and Windows),
Tailscale, Teleport Connect, Teleport Suite, and Warp to recognize and
support newer application versions.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45666?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-15 21:46:35 -05:00
Dan Gordon 2392953a60 reassign dhruv articles to the security blog (#45668) 2026-05-15 20:17:53 -05:00
Ashish Kuthiala 9e18836b83 update marketing assets (#45667) 2026-05-15 17:37:43 -07:00
Ashish Kuthiala be184b4514 Dhruv blog 2 - mcp (#45665) 2026-05-15 17:28:51 -07:00
Eric 07d84b14c0 Website: add article category page for webinars (#45660)
Closes: https://github.com/fleetdm/confidential/issues/15702

Changes:
- Added /webinars, an article category page for webinar articles
- Added a link to the /webinars to the sidebar on the article category
pages.
- Removed webinar articles from the "Blog" category

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added a dedicated Webinars section with a new navigation link in the
articles sidebar.
* Webinars are now displayed separately from other article content
types.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45660?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 17:55:50 -05:00
fleet-releaseandallenhouchins 9c6039e665 Update Fleet-maintained apps (#45652)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
* Updated application version definitions for Microsoft Edge (macOS) to
148.0.3967.70
* Updated application version definitions for Tailscale (Windows) to
1.98.2

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45652?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-15 16:18:17 -05:00
Allen Houchins 98f82ce19f Wrap FMA exists query in parens to fix OR precedence in patched policy (#45647)
## Summary

- `pkg/patch_policy/GenerateQueryForManifest` now wraps the
caller-supplied exists query in an inner set of parentheses before
appending the trailing `AND version_compare(...) < 0` clause. Without
the wrap, any `OR` in the exists body binds *after* the appended `AND`
(SQL precedence: `AND` > `OR`), producing an incorrect `patched` query.
The bug is currently only observable on `codex-cli` (uses `path = ... OR
path LIKE ...`) but would silently break any future FMA whose exists
query contains `OR`.
- All FMA outputs regenerated via `cmd/maintained-apps`. For AND-only
exists queries (the vast majority of existing FMAs), the new patched SQL
is semantically identical to the previous form — just with extra parens
around the WHERE body. `codex-cli/windows.json`'s OR clause is now
correctly grouped.
- `docker-desktop` is unchanged: its patched SQL is constructed inline
in the homebrew ingester at
[ingester.go:198-201](https://github.com/fleetdm/fleet/blob/claude/compassionate-merkle-afbd8a/ee/maintained-apps/ingesters/homebrew/ingester.go#L198-L201)
and bypasses the generator.

### Heads-up: upstream version drift bundled in

The regeneration also pulled in a handful of upstream version bumps that
landed since the last FMA run. These are real upstream changes, not
generator artifacts:

| App | Platform | Old → New |
|---|---|---|
| Figma | windows | 126.3.12 → 126.4.9 |
| GoLand | darwin | 2026.1.1 → 2026.1.2 |
| IntelliJ IDEA | darwin | 2026.1.1 → 2026.1.2 |
| RubyMine | darwin | 2026.1.1 → 2026.1.2 |
| Zed | darwin | 1.2.5 → 1.2.6 |

If you'd prefer these isolated from the paren-only change, let me know
and I'll split the PR.

### Code changes

- [pkg/patch_policy/patch_policy.go](pkg/patch_policy/patch_policy.go):
added `(` to `templateStart` and `)` to `templateEnd{Darwin,Windows}` so
`GenerateQueryForManifest` emits `... NOT EXISTS ((<before>) AND
version_compare(...) < 0);`.
-
[pkg/patch_policy/patch_policy_test.go](pkg/patch_policy/patch_policy_test.go):
updated existing expectations and added an OR-precedence case mirroring
codex-cli's exists query.
-
[ee/maintained-apps/ingesters/homebrew/ingester_test.go](ee/maintained-apps/ingesters/homebrew/ingester_test.go):
updated the generic `Patched` assertion (docker-desktop's hardcoded
expectation is unchanged — it bypasses the generator).
- 282 regenerated files under `ee/maintained-apps/outputs/**/*.json`.

## Test plan

- [x] `go test ./pkg/patch_policy/...` passes (incl. new OR case).
- [x] `go test ./ee/maintained-apps/...` passes.
- [x] `go vet ./pkg/patch_policy/... ./ee/maintained-apps/...` clean.
- [x] `cmd/maintained-apps` runs end-to-end with no errors against the
live Homebrew/winget APIs (with `NETWORK_TEST_GITHUB_TOKEN` set).
- [x] `git diff` audited: every diffed `patched` line on
`outputs/**/*.json` is a paren-only delta; non-`patched` deltas confined
to the 5 upstream version bumps listed above.
- [x] `docker-desktop/darwin.json` unchanged after regeneration.
- [ ] CI green.
2026-05-15 15:49:30 -05:00
Luke Heath 1e22a583eb Add /release-retro skill for working group retros (#45642) 2026-05-15 14:48:21 -05:00
Noah Talerman 8987129e61 Managed app configuration (#45614)
<img width="550" height="364" alt="Screenshot 2026-05-15 at 12 36 16 PM"
src="https://github.com/user-attachments/assets/75cf1547-483b-4ad2-89af-41914949b987"
/>
2026-05-15 15:34:16 -04:00
Luke Heath 326436cb14 Skip website/config/custom.js in Trivy secret scan (#45621) 2026-05-15 14:24:52 -05:00
Luke Heath a63af8c7ff Handbook: clarify dogfood deploy coordination (#45613) 2026-05-15 14:23:34 -05:00
Lucas Manuel Rodriguez b3464452a1 Update docs for API-only users (#45606)
Resolves #42888
2026-05-15 15:14:19 -04:00
Eric 5a0b17bac5 Website: Update landing pages folder and routes (#45632)
Changes:
- Moved the files for four pages (linux-management, basic-comparison,
deployment, and gitops-workshop) out of the landing pages folder.
- Added policies for the moved pages
- Updated the URLs for pages in the landing pages folder to be prefixed
with /lp/, and added redirects that preserve query strings when
redirecting users.
- Created a section in the routes configuration for landing pages

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

* **New Features**
* Implemented /lp/* landing-page paths with 301 redirects from legacy
URLs (query strings preserved).
* Added public access exceptions so selected marketing pages are
reachable without login.

* **Refactor**
* Reorganized routing and page templates to move several pages out of
the previous landing-pages area into dedicated page paths.
* Updated included page scripts and style imports to match the
reorganized pages.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45632)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 14:04:45 -05:00
9afdb43567 Add Codex CLI as a Windows FMA (#42397)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added comprehensive support for managing Codex CLI (OpenAI's coding
agent) on Windows systems, including automated installation,
uninstallation, and verification that installed binaries match expected
versions
* Integrated Codex CLI icon component into the software interface for
improved visual identification and enhanced user experience when
managing this application

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/42397)

<!-- review_stack_entry_end -->

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

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 13:20:10 -05:00
Victor LyuboslavskyandLuke Heath 19de907416 Windows setup experience: UI and BYOD fixes (#45331)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38785 

- UI changes per Figma and latest product guidelines
- Do not cancel setup experience during BYOD (when critical software
install fails)
- Allow a host to rerun setup experience even if it has been in Fleet
for over 24 hours
- This fixes a bug where a host is wiped but not deleted from Fleet, and
then it doesn't run setup experience.

# Checklist for submitter

## Testing

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

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

* **New Features**
* Improved Windows re-enrollment detection to better handle BYOD
scenarios, preventing unintended cancellation of pending setup steps for
recently re-enrolled devices.
* Added a fallback lookup for unlinked Windows enrollments to improve
enrollment matching.

* **Bug Fixes**
* Clarified cancellation activity messages to note when users are asked
to restart after install failures.
* Updated Windows install copy and tooltips based on enrollment status.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45331)

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

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-05-15 13:13:16 -05:00
George Karr 9416a81124 gkarr 44008 setup experience (#45202)
- **Adding vpp users table**
- **Adding ManagedAppleID to HostMDM tables to pull when installing vpp
apps to a BYOD user enrolled device**
- **Adding user create vpp apis**
- **Updating install application to support user enrolled devices**
- **Handling already installed gracefully**
- **Adding provision user logic**
- **Adding logic to associate assets on install**
- **Add license managemnt logic**
- **Adding self service ui**
- **Adding setup experience support**
- **Adding setup experience flow**
- **Fix issue with fleet's docker image in k8s environments (#44373)**
- **Changing how the appleid is captured to use idp mdm users**


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

* **New Features**
* Account-based User Enrollment (iOS/iPadOS) supports VPP and in‑house
.ipa installs, including self‑service installs.
* Enrollment now applies the selected Setup experience automatically for
user‑enrolled hosts.
* Installs and license associations are scoped to account user
associations (user‑scoped installs).

* **Bug Fixes**
* Improved error messaging for license/association failures (including
per‑user device cap cases).
  * Mobile UI: self‑service now shows user‑enrolled iOS/iPadOS apps.
* “Already installed” install results are treated as acknowledged
successes.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45202)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 12:35:26 -05:00
Lucas Manuel Rodriguez fa0b8de739 Fix post-merge after refactor of test utilities (#45616)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
  * Updated internal testing infrastructure for GitOps mode validation.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45616)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 14:11:18 -03:00
Ashish Kuthiala ff36a4cf7a Update marketing assets with new web page entries (#45615)
Add new web pages
2026-05-15 11:51:03 -05:00
Mike Thomas 2d535bf5ec Align the README with Fleet's current positioning (#45218)
Resolves https://github.com/fleetdm/confidential/issues/15906

Rewrite README to align with Fleet's current positioning.

Key changes:
- Rewrote "What's it for?" to lead with MDM, remove company names, and
avoid osquery terminology
- Moved "Is it any good?" above "Lighter than air" so readers see
production credibility and capabilities before philosophy
- Restructured "Is it any good?" subsections to reflect top buying
reasons and align with
[why-fleet?](https://fleetdm.com/docs/get-started/why-fleet)
- Consolidated Chat section with link to fleetdm.com/support
- Removed Twitter/X Follow badge from Contributing
- Removed "The landscape of IT and cybersecurity" tagline from
Contributing
- Toned down "What's next?" opener
- Moved tagline below the image
- ~6% shorter overall, while adding substance (741 → ~720 words)
2026-05-15 11:44:33 -05:00
Isabell Reedy c1fb377803 Update job title (#45610) 2026-05-15 11:31:15 -05:00
Lucas Manuel Rodriguez 1f496781a2 Rename and move testing_utils.go from schedule and orbit tests (#45609)
Resolves #45220 (one of many small PRs, we are close)

## Testing

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

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

## Summary by CodeRabbit

* **Tests**
* Refactored test infrastructure for scheduling components to use
centralized test utilities.

---

**Note:** This release contains no user-facing changes. All
modifications are internal testing and code organization improvements.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45609)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 13:23:58 -03:00
Scott Gress c77d1b4ff4 allow gitops mode to be set in yaml (#45537)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45330

# 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
so many
- [X] QA'd all new/changed functionality manually
  - [X] was able to set gitops mode to enabled via `fleetctl gitops`
- [X] attempting to set gitops mode w/out repository_url in `fleetctl
gitops` failed w/ helpful error
- [X] attempting to set gitops mode w/ invalid repository_url in
`fleetctl gitops` failed w/ helpful error
- [X] attempting to set gitops exceptions in `fleetctl gitops` failed w/
helpful error
  - [X] was able to unset gitops mode via `fleetctl gitops`
- [X] leaving `gitops:` blank in `fleetctl gitops` left the mode
untouched (it would retain its previous value)

## 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`
it is not, but it's not a requirement here and leaving it out is a no-op
- [x] 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)
it is not, nor should it be, as that would clear gitops mode on every
customer currently using it
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled
n/a, you still need to be able to do gitops mode in the UI


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

* **New Features**
  * GitOps mode and repository URL can now be set via GitOps YAML.

* **Bug Fixes**
* Server preserves existing GitOps settings during config updates;
requires repository URL when enabling and rejects unsupported exceptions
in GitOps YAML.

* **Tests**
* Added tests covering apply behavior, YAML validation, activity
emission on mode changes, and license-restricted rejection on free tier.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45537)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 11:21:10 -05:00
Victor Lyuboslavsky dc9d3d18c6 Added invariant that MDMProfileSpecsMatch cannot contain duplicate path entries (#45489) 2026-05-15 11:14:48 -05:00
Allen Houchins 6cdb5b89e1 Update Camtasia uninstall script (#45603)
Improve Camtasia uninstall handling by updating trash() to glob-expand
target paths (using compgen), iterate matches (preserving spaces), and
move each found file/symlink to the user's Trash with unique
timestamp+rand+index suffixes. If no matches are found the script now
reports the path doesn't exist. Also update darwin.json to point to the
new uninstall script ref (252f6f0e) and include the updated script
content in the refs section.
2026-05-15 10:43:35 -05:00
fleet-releaseandallenhouchins 07412d0241 Update Fleet-maintained apps (#45608)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
  * Updated SAP Privileges to version 2.5.3.
  * Updated PyCharm to version 2026.1.2.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45608)

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-15 10:43:16 -05:00
johnjeremiah 1ee3aca004 Update marketing ops: attribution & SFDC mapping (#45543)
Clarify attribution framework and SFDC implementation: fix typos and
wording, distinguish first-touch vs converting-touch behavior, and add
detailed SFDC field mapping for Contact/Lead and Opportunity records.
Document the automation flow that derives L1/L2 from campaign codes,
stamps first-touch, adds campaign members, and copies Most Recent values
into Opportunity Converting fields on creation. Also standardize
campaign examples/naming, correct table headers (Psystage legacy) and
picklist name (Marketing_Email_Status__c), and tidy miscellaneous
examples and status definitions.
2026-05-15 10:42:52 -05:00
Allen Houchins 8c9f56f2ec Add XCreds as a macOS FMA (#45404)
Register XCreds as a maintained app: add Homebrew cask (Casks/xcreds.rb)
and API/input JSON, add app metadata
(ee/maintained-apps/inputs/homebrew/xcreds.json), and include outputs
(apps.json and outputs/xcreds/darwin.json) with installer/uninstall
scripts and checks. Also add frontend icon component and asset
(XCreds.tsx, app-icon-xcreds-60x60@2x.png) and wire the icon into the
icons index mapping.
2026-05-15 10:34:13 -05:00