Commit Graph
22588 Commits
Author SHA1 Message Date
Brock Walters fdcc382d8a Update software-self-service.md (#41878)
added current platform-specific support.
2026-03-18 09:48:15 -04:00
05f2daad4b Add 'Registered for a conference' intent signal (#41919)
## Summary

- Adds `'Registered for a conference'` to the `intentSignal` `isIn`
array in three files:
- `website/api/helpers/salesforce/create-historical-event.js` — between
`'Signed up for Fleet event'` and `'Engaged with Fleetie at event'`
- `website/api/controllers/webhooks/receive-from-clay.js` — between
`'Signed up for Fleet event'` and `'Engaged with Fleetie at event'`
-
`website/api/helpers/salesforce/update-or-create-contact-and-account.js`
— added to the `isIn` array
- This replaces the incorrect approach in PR #41918, which added the
signal to the handbook markdown table instead of the code where intent
signals are validated.

---

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1773789580384389?thread_ts=1773788922.891409&cid=D0AF8QFBVHB)
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-18 08:21:50 -05:00
Dale Ribeiro bd8c7dbda1 Fix Customer Support Engineer listing in README (#41828) 2026-03-18 12:51:39 +00:00
Tim Lee 18f364b176 Add recovery password empty state (#41929) 2026-03-18 06:02:15 -06:00
Tim Lee 3833496d26 Show recovery lock password if available (#41924) 2026-03-18 06:01:27 -06:00
Irena ReedyandAshish Kuthiala ab19bed790 Create open-source-technology-company.md (#41927)
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-03-18 00:37:56 -05:00
Irena Reedy c72c7f88b6 Tiles for case studies (#41925) 2026-03-17 23:43:11 -05:00
kilo-code-bot[bot]andkiloconnect[bot] cd54e6dc86 Add pricing page cards and comic book illustrations to logos page (#41813)
## Summary

- Adds the three pricing page card images (Free, Premium, Custom) to the
fleetdm.com/logos page
- Adds comic book style illustrations to the logos page, including both
base versions and captioned variants
- Images are displayed attractively in a grid with minimal text — no
stage labels or setup flow framing

### Changes
- `website/views/pages/press-kit.ejs`: Added two new sections ("Pricing
page cards" and "Comic book illustrations") following the existing page
layout pattern, with images only and minimal generic alt text

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

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-18 11:47:39 +09:00
Allen Houchins 0dc53ec2c3 Switch dogfood SSO to Okta and add metadata URL (#41900)
Add DOGFOOD_OKTA_METADATA_URL to the dogfood GitOps workflow environment
and update SSO configuration to use Okta. it-and-security/default.yml:
change end_user_authentication.entity_id to fleet-end-users and org SSO
entity_id to fleet-admins, set idp_name to Okta for both, remove inline
metadata values, and point metadata_url to $DOGFOOD_OKTA_METADATA_URL.
This centralizes IdP metadata retrieval via a secret URL.
2026-03-17 21:27:33 -05:00
bd4db05e79 Add sampfluger88 as maintainer for Clay webhook and Salesforce helpers (#41922)
## Summary

- Adds `sampfluger88` to `githubRepoMaintainersByPath` for
`website/api/controllers/webhooks/receive-from-clay.js`
- Adds `sampfluger88` to `githubRepoMaintainersByPath` for
`website/api/helpers/salesforce`

These are new entries in the maintainers mapping in
`website/config/custom.js`, ensuring that changes to the Clay webhook
controller and Salesforce helper files are auto-approved for
`sampfluger88`.

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1773792660524399)
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-17 19:37:06 -05:00
Sam Pfluger 886be1c8c3 Add 'go-to-market' to issue template assignments (#41920) 2026-03-17 19:00:59 -05:00
Marko Lisica 3756a8e901 [Guide] Automatically renew certificates deployed from custom SCEP CA on Windows (#41854)
Related to:

- #32746
2026-03-17 17:36:31 -05:00
f8e1623179 Add orbit/fleetd version detection and support both singular/plural version fields in bug tagging workflow (#41268)
Updates the auto-tag-unreleased-bugs workflow to improve version
detection and handling.

## Changes Made

- **Orbit/Fleetd Version Detection**: Added support for detecting Orbit
and Fleetd versions in addition to Fleet server versions. The workflow
now checks `**Orbit version**:` and `**Fleetd version**:` fields (case
insensitive) and validates them against orbit-v* tags.

- **Optimized API Calls**: The workflow now only fetches the data it
needs:
  - Fetches releases only when checking Fleet server versions
  - Fetches tags only when checking Orbit/Fleetd versions
  - This reduces unnecessary GitHub API calls and improves performance

- **Singular/Plural Field Support**: Updated regex patterns to match
both "version" and "versions" in issue templates (e.g., `**Fleet
version**:` and `**Fleet versions**:`). This handles variations in issue
template formatting where either singular or plural forms may be used.

- **Pagination Support**: Both `listReleases` and `listTags` API calls
now use `github.paginate()` to fetch all results instead of just the
first 100. This ensures older Orbit/Fleetd versions or Fleet versions
won't be misclassified as unreleased when they exist beyond the first
page of results.

- **Fixed 4.x Handling**: Corrected the logic for handling "4.x" version
strings (which represent all 4.x versions). The check now occurs before
the empty versions check, preventing issues reporting only "4.x" from
being incorrectly tagged as unreleased.

## Testing

-  Verified regex patterns match both singular and plural forms for
Fleet, Orbit, and Fleetd version fields
-  Confirmed the workflow correctly parses versions from various issue
formats
-  Tested that API optimization only fetches releases or tags based on
which version types are present
-  Verified pagination logic fetches all releases and tags, not just
first 100
-  Tested 4.x handling logic correctly treats it as released

The changes maintain backward compatibility with existing issue formats
while adding support for Orbit/Fleetd version detection, handling
template variations, and ensuring comprehensive version checking through
pagination.

---------

Co-authored-by: anthropic-code-agent[bot] <242468646+Claude@users.noreply.github.com>
Co-authored-by: iansltx <472804+iansltx@users.noreply.github.com>
Co-authored-by: lukeheath <2495927+lukeheath@users.noreply.github.com>
2026-03-17 17:32:01 -05:00
Tim Lee cc02191ae2 Rotate recovery lock password (#41833) 2026-03-17 16:28:25 -06:00
kilo-code-bot[bot]andkiloconnect[bot] 5444c8b705 Double the Quote column width in Fleet Customer Testimonials table (#41904)
## Summary
- Adds a `min-width: 500px` inline style to the "Quote" column header in
the Fleet Customer Testimonials table on the marketing-assets handbook
page.
- This makes the Quote column approximately twice as wide as it
currently renders by default, giving the longer testimonial quotes more
readable space.
- No other columns or content are changed.

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

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-17 16:55:02 -05:00
kilo-code-bot[bot]andKilo Code 18b4faa9e5 Fix CVE-2025-2857: Add Windows Firefox update policy and maintained app (#41882)
## Summary

- Adds a Windows Firefox update policy (`update-firefox.yml`) to detect
outdated Firefox installations vulnerable to CVE-2025-2857
- Adds Firefox as a Fleet-maintained app for Windows workstations
(`firefox/windows`) for self-service installation/update
- Registers both the policy and maintained app in `workstations.yml`

## CVE-2025-2857: Firefox Sandbox Escape on Windows

[CVE-2025-2857](https://nvd.nist.gov/vuln/detail/CVE-2025-2857) is a
**critical** sandbox escape vulnerability in Mozilla Firefox on Windows.
Following the Chrome sandbox escape (CVE-2025-2783), Firefox developers
identified a similar pattern in Firefox's IPC code where a compromised
child process could cause the parent process to return an
unintentionally powerful handle, leading to a sandbox escape.

**Affected versions:**
- Firefox < 136.0.4
- Firefox ESR < 128.8.1
- Firefox ESR < 115.21.1

**Only affects Firefox on Windows.** Other operating systems are
unaffected.

## What was changed and why

The Fleet-maintained Firefox app is already at version 148.0.2 (well
beyond the fix), and macOS workstations already had both an update
policy and software package configured. However, **Windows workstations
had no Firefox update policy or maintained app** — meaning there was no
mechanism to:

1. **Detect** Windows hosts running vulnerable Firefox versions
2. **Remediate** by offering an updated Firefox via self-service

This PR closes that gap by:

1. **`it-and-security/lib/windows/policies/update-firefox.yml`** — New
policy that queries the Windows `programs` table to flag any host with
Firefox < 148.0.2 (uses `LIKE 'Mozilla Firefox%'` and `NOT LIKE '%ESR%'`
to match standard Firefox installations, matching the pattern used in
other Windows update policies)
2. **`it-and-security/fleets/workstations.yml`** — Adds the policy
reference under Windows policies, and adds `firefox/windows` to
`fleet_maintained_apps` for self-service browser installation on x86
Windows hosts

---

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

Co-authored-by: Kilo Code <kilo-bot@kilo.ai>
2026-03-17 16:45:10 -05:00
Allen Houchins d2893a8fe3 Update CVSSv3 to CVSSv4 in security documentation (#41814) 2026-03-17 16:28:50 -05:00
Eric 38d89d6637 Website: Remove release section in GitHub webhook (#41898)
Changes:
- Commented out the section of the GitHub webhook that handles "release"
webhook events. The Zapier automation triggered by the webhook has been
turned off.
2026-03-17 16:19:27 -05:00
Tim Lee e28cc2f861 Add recovery lock password status (#41322) 2026-03-17 15:15:04 -06:00
Ashish Kuthiala 8f0f3449fd Add customer testimonials section to marketing assets (#41901)
Added a section for Fleet customer testimonials with quotes from various
companies, highlighting their experiences and feedback on using Fleet.
This section aims to showcase the effectiveness and satisfaction of
Fleet's device management solutions.
2026-03-17 16:13:55 -05:00
Noah Talerman 9c9961e9e5 GitOps: Link to Fleet's catalog (#41861) 2026-03-17 15:43:49 -05:00
Magnus Jensen 6e181ca5ac reset MDM enrollment if SCEP renewal but awaiting configuration (#41881)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves unreleased bug found in QA

# Checklist for submitter

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

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-03-17 15:31:08 -05:00
Victor Lyuboslavsky f01cf0e4e3 Docs: Run multiple independent Fleet dev servers in parallel (#41868) 2026-03-17 15:22:50 -05:00
github-actions[bot]andallenhouchins 379eeb8754 Update 1Password policy versions (#41869)
This PR automatically updates both 1Password macOS version policy and
Safari version policy for dogfood.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-17 15:00:05 -05:00
Sam Pfluger 1227279b65 Update title to be correct (#41889) 2026-03-17 14:46:45 -05:00
Eric b4cd1d0425 Website: Update accepted intentSignal values in createHistoricalEvent helper (#41884)
Changes:
- updated the accepted `intentSignal` values in the
createHistoricalEvent helper
2026-03-17 14:32:11 -05:00
Noah Talerman 7d2374fcba Clarify default fleets (#41777) 2026-03-17 15:30:46 -04:00
Lucas Manuel Rodriguez 5dc7f00fcd Add patch policies to software filtered policies (#41839)
Bug found while developing a policy related feature.

<img width="1872" height="426" alt="Screenshot 2026-03-17 at 12 30
55 PM"
src="https://github.com/user-attachments/assets/a97c52fe-5a60-4acf-920f-07622d54f56f"
/>
2026-03-17 16:30:38 -03:00
Lucas Manuel Rodriguez 8e9bc79a5e Add support for Windows to conditional access policies (#41830)
Resolves #41476
([Figma](https://www.figma.com/design/Su6nBw3Oi3VtGrQaIcK1cU/-38041-Entra-conditional-access--Windows?node-id=0-1))

I added a changes file in the first PR, so no need to add one here.

<img width="1096" height="1119" alt="Screenshot 2026-03-17 at 12 36
36 PM"
src="https://github.com/user-attachments/assets/a18ded0c-a5d5-4b56-9bf8-944566603088"
/>

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
2026-03-17 16:30:21 -03:00
Martin Angers 8c85ef8ad3 Bugfix: properly enqueue compatible setup experience items for arch/omarchy linux (#41778) 2026-03-17 15:04:33 -04:00
EricandLucas Manuel Rodriguez 5a266bfaca Website: Update Microsoft proxy endpoint to support windows devices (#41780)
For: https://github.com/fleetdm/fleet/issues/39489

Changes:
- Updated the `update-one-devices-compliance-status` Microsoft proxy
endpoint to support compliance status updates for Windows devices
enrolled in Entra.

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-03-17 13:03:32 -05:00
Sarah Gillespie cf55313461 Validate Apple OS version only for modified platform settings (#41759) 2026-03-17 11:03:53 -05:00
NicoandClaude Sonnet 4.6 b89cc578ca Add disk_space fleetd table for accurate macOS disk space reporting (#41575)
**Related issue:** Resolves #36799, Sub-task: #41556

# Checklist for submitter

- [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), JS
inline code is prevented especially for url redirects

## Testing

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

<img width="924" height="278" alt="Screenshot 2026-03-16 at 10 46 38 AM"
src="https://github.com/user-attachments/assets/313b6650-a849-4bc2-ba14-a62d3d13b60c"
/>
<img width="1441" height="300" alt="Screenshot 2026-03-16 at 10 46
44 AM"
src="https://github.com/user-attachments/assets/915cfd26-168f-4621-bcf5-6c26c40e5faf"
/>
<img width="1923" height="788" alt="Screenshot 2026-03-16 at 10 54
04 AM"
src="https://github.com/user-attachments/assets/62356a3e-84fe-4561-b7ad-0a35c9db3b2a"
/>
<img width="2529" height="483" alt="Screenshot 2026-03-16 at 10 47
02 AM"
src="https://github.com/user-attachments/assets/4dc51073-2c24-4934-bd9d-c5ee648d5ae1"
/>

Tested that with latest released fleetd (1.53.0), we still ingest the
available disk space. There's about 5% difference in the UI vs in the
macOS "Get Info" dialog (expected, since we use the old query, now
called `disk_space_darwin_legacy`):

<img width="267" height="306" alt="Screenshot 2026-03-17 at 8 47 22 AM"
src="https://github.com/user-attachments/assets/73fc1eef-a32c-4d8d-a9ca-13980885f8fe"
/>
<img width="883" height="407" alt="Screenshot 2026-03-17 at 8 47 33 AM"
src="https://github.com/user-attachments/assets/98851b9b-82a8-4ac8-af5c-dbb878f85fad"
/>
<img width="159" height="127" alt="Screenshot 2026-03-17 at 8 47 40 AM"
src="https://github.com/user-attachments/assets/209f784a-29a8-4af5-b95d-0f9bd59917c9"
/>

Also tested running with vanilla osquery by stopping fleetd and then
running osquery manually (adding the `--allow_unsafe` flag). Result is
same as above, `disk_space_darwin_legacy` is used:

<img width="1152" height="418" alt="Screenshot 2026-03-17 at 8 59 23 AM"
src="https://github.com/user-attachments/assets/2b34d23d-61de-4ec1-8d1c-2d3ddb682d11"
/>
<img width="893" height="414" alt="Screenshot 2026-03-17 at 8 59 28 AM"
src="https://github.com/user-attachments/assets/d28ee8fb-08c5-434f-abfa-3825b27ac73b"
/>



## Summary

- Adds a new macOS-only fleetd table `disk_space` that uses
`NSURLVolumeAvailableCapacityForImportantUsageKey` to report available
disk capacity including purgeable storage — matching what macOS shows in
Finder's "Get Info" dialog.
- Adds a new `disk_space_darwin` detail query that uses the new table
(with Discovery, so it only runs on hosts with fleetd ≥ 1.54.0).
- Restricts the existing `disk_space_unix` query to Linux only (darwin
was removed since the new query handles it).
- Adds schema documentation for the new table.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 12:59:17 -03:00
Mitch Francese bb091361d9 Add Tor Browser as a Fleet-maintained app (#41551)
Adds Tor Browser as a Fleet-maintained app for macOS only.

## Changes

- **macOS**: Homebrew cask `tor-browser`, DMG installer, bundle
identifier `org.torproject.torbrowser`
- Icon sourced from the official Tor Project GitHub at 128x128
- Added to `apps.json` catalog in alphabetical order

**Note:** Windows support was dropped. Tor Browser for Windows uses a
portable installer that installs to `%LOCALAPPDATA%` (not `C:\Program
Files`), which is outside the scope of what Fleet's CI validator and
Windows install validation can detect. macOS-only is the correct scope
for this app.

## Test plan

- [ ] Verify `go run cmd/maintained-apps/main.go
--slug="tor-browser/darwin"` produces valid output
- [ ] Confirm icon renders correctly in the software catalog UI
- [ ] Confirm macOS install/uninstall scripts work on a test device
2026-03-17 10:56:20 -05:00
Mitch Francese 7df3ce25a2 Add Charles Proxy as a Fleet-maintained app (#41550)
## Summary

Adds [Charles Proxy](https://www.charlesproxy.com/) as a
Fleet-maintained app for macOS.

Charles is an HTTP proxy, monitor, and reverse proxy that lets
developers view all HTTP and HTTPS traffic between their machine and the
internet. It's commonly used for debugging, testing, and network
analysis.

- macOS: DMG installer via Homebrew cask `charles`, bundle ID
`com.xk72.Charles`
- Windows: Not included — the WinGet package (`XK72.Charles`) uses an
`appx` installer type, which is not supported by Fleet's winget ingester

## Test plan

- [ ] Install Charles on a macOS host via Fleet self-service and confirm
it installs to `/Applications/Charles.app`
- [ ] Confirm `SELECT 1 FROM apps WHERE bundle_identifier =
'com.xk72.Charles';` returns a result after installation
- [ ] Uninstall Charles via Fleet and confirm the app is removed
- [ ] Confirm the Charles icon appears correctly in the Fleet UI
software catalog
- [ ] Run `go run cmd/maintained-apps/main.go --slug="charles/darwin"
--debug` and confirm no errors
2026-03-17 10:55:29 -05:00
Mitch Francese 878c93dfb3 Add Krita as a Fleet-maintained app (#41549)
Adds Krita (free and open-source digital painting application) as a
Fleet Maintained App for macOS and Windows.

## Changes

- **macOS**: Homebrew cask `krita`, DMG installer, bundle ID
`org.kde.krita`
- **Windows**: WinGet `KDE.Krita`, NSIS EXE installer with custom silent
install/uninstall scripts
- Icon generated from KDE official icon (128x128 PNG), added to icon
index
- Both platforms added to `apps.json` alphabetically (after Keka, before
LastPass)

## Testing

- macOS ingester ran successfully: `go run cmd/maintained-apps/main.go
--slug="krita/darwin" --debug`
- Windows ingester ran successfully: `go run cmd/maintained-apps/main.go
--slug="krita/windows" --debug`
- Output files generated: `ee/maintained-apps/outputs/krita/darwin.json`
and `windows.json`

## Related issue

Add Krita FMA
2026-03-17 10:54:25 -05:00
NicoandCopilot Autofix powered by AI b0a3c8a90c Save logo URL for dark and light backgrounds during setup (#41823)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39082 

# 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


https://github.com/user-attachments/assets/51ede24f-3317-455a-8995-fd50e9281a47

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-17 12:35:36 -03:00
NicoandCopilot Autofix powered by AI 5c4445e1dc Allow typing whitespaces on Settings > Integrations > SSO > End users form (#41817)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40715

# 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



https://github.com/user-attachments/assets/98d6cc51-06b5-4120-86de-65d3f6dbf359

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-17 12:35:25 -03:00
Victor Lyuboslavsky 02e8d474e2 Use swap table pattern and batch delete to improve DB access patterns for vuln cron (#41729)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41664

Switching `kernel_host_counts` to the established swap pattern. Reduce
load on the DB writer by moving the large read to the DB reader.

Do `CleanupSoftwareTitles` in batches. With a single large
select/delete, it took > 16 minutes. In batches, it took ~1.5 minutes in
loadtest with 100K hosts.

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

## Testing

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

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

- [x] Alerted the release DRI if additional load testing is needed

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

* **Performance Improvements**
* Added indexing and a batched swap/insert flow to speed up
vulnerability-related queries and lower maintenance contention.
* Batched cleanup of orphaned records to reduce long-running delete
operations.

* **Reliability**
* Migration removes a legacy constraint to simplify data maintenance and
avoid migration failures.
* Scheduled vulnerability refresh now runs more atomically to reduce
disruption.

* **Tests**
* Updated assertion logic to improve test clarity for host-count
verification.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-17 10:34:52 -05:00
Lucas Manuel Rodriguez 3a223ca939 Windows conditional access: Ingest device_id from Windows devices (#41822)
Resolves #41475

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

## Testing

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

- [X] QA'd all new/changed functionality manually
2026-03-17 12:33:39 -03:00
Mitch Francese f7a8d4d503 Add Arduino IDE as a Fleet-maintained app (#41547)
## Summary

- Adds Arduino IDE (macOS only) as a Fleet maintained app using Homebrew
cask `arduino-ide`
- Bundle identifier: `cc.arduino.IDE2`, installer format: DMG, version
2.3.8
- Includes app icon, install/uninstall scripts, catalog entry, and icon
component

## Test plan

- [ ] Install Arduino IDE via Fleet on a macOS device and verify it
launches
- [ ] Uninstall Arduino IDE via Fleet and verify the app and user data
are removed
- [ ] Verify the Arduino IDE icon renders correctly in the software
catalog UI
- [ ] Confirm the entry appears alphabetically in the software catalog
(after Archaeology, before Asana)

Relates to #
2026-03-17 10:20:21 -05:00
Magnus Jensen 190652cc65 up default limit for software batch (#41827)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** None

Based on a Slack thread from a customer, this endpoint seems like it was
missed

# Checklist for submitter

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

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

## Testing

- [x] QA'd all new/changed functionality manually
2026-03-17 10:20:09 -05:00
0af8547280 Update Fleet-maintained apps (#41829)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-17 10:18:28 -05:00
Brock Walters a8bcb52995 Update and rename owning-your-linux-destiny-with-open-source.md to da… (#41811)
…ta-and-endpoint-sovereignty-owning-your-destiny.md

Merged Adrian's changes.
2026-03-17 10:06:17 -05:00
Scott GressandIan Littman 30632040b1 Fix addFleetMaintainedAppEndpoint to accept fleet_id param (#41805)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41771

# Details

Solves two issues in 4.82:

1. The `fleet_id` param in `POST /software/fleet_maintained_apps` wasn't
being read, causing all FMAs using that param to be added to fleet ID 0
(unassigned aka No Team)
2. We were logging deprecation warnings for body params even if the
topic was turned off, meaning Fleet would generate deprecation warnings
in certain cases that users wouldn't be able to fix.

# 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
Added unit tests for the decoder since it's got one-off logic in it
- [X] QA'd all new/changed functionality manually
  - [X] Added an FMA to a fleet successfully using `fleet_id`
- [X] Added an FMA to a fleet successfully using `team_id` and saw
deprecation warning
  - [X] Added an FMA to "Unassigned" successfully using `fleet_id=0`
  - [X] Added an FMA to "Unassigned" successfully using `team_id=0`
- [X] Added an FMA to "Unassigned" successfully with no `fleet_id` or
`team_id` param (this seems like a bug but it's existing behavior)

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-03-17 09:59:03 -05:00
Carlo 91b15a70c7 Update pull request template for input validation checklist (#41373)
Expand the validation checklist to include validation of untrusted data in shell scripts.
2026-03-17 10:52:54 -04:00
Tim Lee 012147ab85 Recovery lock password activities (#41529) 2026-03-17 08:48:23 -06:00
RachelElysia 2b75dafaa9 Fleet UI: Update link cell truncation to remove white space (#41809) 2026-03-17 10:26:53 -04:00
9715ee9825 Fix missing margin on GitOps info banner in Add Custom Packages page (#41819)
Resloves: #41820

## Summary
- Adds `1.5rem` vertical margin to the GitOps mode info banner on the
**Software > Add Software > Custom Packages** page
- Uses an instance-level `className` prop
(`software-custom-package__gitops-banner`) and a page-scoped SCSS rule,
following existing codebase patterns for instance-specific spacing
- Does **not** modify the shared `InfoBanner` component styles

## Changes
-
`frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareCustomPackage/SoftwareCustomPackage.tsx`
— Added `className` prop to the GitOps `InfoBanner` instance
-
`frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareCustomPackage/_styles.scss`
— Added `&__gitops-banner` rule with `margin: 1.5rem 0`

---

Built for [Marko
Lisica](https://fleetdm.slack.com/archives/D0AFA3M07AP/p1773750050662559?thread_ts=1773749619.263099&cid=D0AFA3M07AP)
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: RachelElysia <rachel@fleetdm.com>
2026-03-17 14:34:08 +01:00
Marko Lisica fadb6382ee [Guide] Fix typos in certificates guide (#41752)
Fixed bunch of typos
2026-03-17 09:28:33 -04:00