Commit Graph
25251 Commits
Author SHA1 Message Date
Jonathan Katz 89b2a5e470 Change self-service categories GitOps to not require dedicated key (#47439)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

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

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

- [ ] 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.
- [ ] Timeouts are implemented and retries are limited to avoid infinite
loops
- [ ] 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


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

* **New Features**
* Batch software installer and app-association endpoints now return the
list of referenced self-service categories.
* Category fields support an “omit when unset” JSON behavior so omitted
vs empty categories are distinguishable.

* **Bug Fixes**
* Improved category validation (trim + case-insensitive dedupe) and
GitOps reconciliation to remove unused categories.

* **Chores**
* GitOps schema simplified: no separate top-level
self_service_categories; categories are defined inline with packages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 16:19:11 -04:00
Tim Lee 6c342a1625 Refetch certs on macOS RemoveProfile ack for ACME profiles (#46867) 2026-06-11 13:59:04 -06:00
RachelElysia 95514a904c Fleet UI: Unreleased bug fixes to command palette (unsupported screen size, hide fleet picker fleets based on page, add fleet picker empty state) (#47345) 2026-06-11 15:47:54 -04:00
github-actions[bot]andlucasmrod f83394cd12 Update versions of fleetd components in Fleet's TUF [automated] (#47450)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2026-06-11 16:44:13 -03:00
Carlo 6735479a5d Make ctxerr treat 4xx errors as client errors (#47415)
**Related issue:** Resolves #45855
2026-06-11 15:42:35 -04:00
Lucas Manuel Rodriguez 4d82562686 Add the documentation for the special semantics of command_line_flags agent setting (#47416)
Resolves #47412.

Document the special semantics of `command_line_flags` agent settings.
2026-06-11 16:12:58 -03:00
Lucas Manuel RodriguezandCopilot Autofix powered by AI 17af991894 Fix fleet admin permissions with multi-fleet users. (#47423)
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

<img width="2119" height="774" alt="Screenshot 2026-06-11 at 11 45
58 AM"
src="https://github.com/user-attachments/assets/1b940649-e1fe-4162-bb22-d9eb73401f47"
/>

## 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**
* UI now disables actions for users outside an admin’s full scope,
showing tooltips; column config now respects the current user.
* Added a permission helper to determine if one user can manage all
teams of another.
* Server-side authorization tightened to deny team-admin actions when
coverage of the target’s teams is incomplete.

* **Tests**
* Added comprehensive tests for multi-team and mixed-role permission
scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-11 16:02:19 -03:00
Allen Houchins 21e1ffdf3b Add macOS Fleet-maintained apps (D) (#47401)
Adds 43 Fleet-maintained app(s) whose cask token starts with 'D':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.


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

* **New Features**
* Added support for 40+ new macOS applications (e.g., DaisyDisk,
Dangerzone, DarkModeBuddy, DataSpell, Deezer, DuckDuckGo, and many more)
so users can discover, install, update, and remove them via the
platform.
* Added application-specific installer/uninstaller behaviors to improve
safe installs and clean removals.
* Added UI icons for all newly supported applications for clearer visual
identification.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 13:50:43 -05:00
Allen Houchins becf170eef Update Webex macOS install script and refs (#47445)
Add a new macOS installer script
(ee/maintained-apps/inputs/homebrew/scripts/webex_install.sh) that
handles dmg extraction, quitting/relaunching the app, backing up
existing /Applications/Webex.app, and removing stale Webex upgrade
bundles. Update the homebrew input (webex.json) to reference the new
install script path and update the darwin output
(ee/maintained-apps/outputs/webex/darwin.json) to point to the new
install_script_ref (d105863f) which contains the new script content.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #47440
2026-06-11 13:19:56 -05:00
Mike McNeil d8c2d6cbc3 Contact source tweaks w/ Sam (#47441) 2026-06-11 12:27:49 -05:00
Isabell ReedyandIrena Reedy 2febf63cef Update event DRI (#47413)
Co-authored-by: Irena Reedy <irena@fleetdm.com>
2026-06-11 12:42:45 -04:00
CarloandRachelElysia 5e50276023 Expand security considerations in frontend patterns doc (#46866)
Per the TODO items from our 5/21 FE sync

---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
2026-06-11 12:25:36 -04:00
fleet-releaseandallenhouchins 26c7b8def2 Update Fleet-maintained apps (#47433)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
  * Updated Granola app versions to 7.319.1 for macOS and Windows
  * Updated Hive app macOS version to 1.1.27
  * Updated RightFont macOS version to 10.0.1

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-11 11:18:30 -05:00
Scott GressandCopilot Autofix powered by AI 6f43df7305 Add custom hooks to frontend patterns doc (#46397)
As per our discussion of
https://gist.github.com/sgress454/1e956cbaa2cea3d70c25fc14d4cbc4e7 and
the TODO item in
https://docs.google.com/document/d/1cuAP-HWcu0KoK5bMmNsax-0-H819OW2y50DUVYoICX4/edit?tab=t.0,
this adds a custom hooks section to our patterns doc.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-11 11:18:14 -05:00
Allen Houchins bba5d11426 Add macOS Fleet-maintained apps (P) (#47375)
Adds 55 Fleet-maintained app(s) whose cask token starts with 'P':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.

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

* **New Features**
* Added support for 40+ macOS applications to the software catalog
(productivity, utilities, browsers, developer tools — e.g., Pacifist,
Pale Moon, Paletro, Pastebot, PDF Expert, PixelSnap, Plex, Proton apps,
and more).

* **New Icons**
* Added app icons for the newly listed applications so they appear in
the Software page.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 11:15:59 -05:00
Allen Houchins 289938438c Add Logi Tune as a macOS FMA (#47399)
Add support for Logi Tune: include a Homebrew input manifest and
install/uninstall scripts, add a transformer to override the installer
URL to Logitech's enterprise PKG (and set SHA256 to "no_check"), and
register the app in outputs. Also add darwin output refs with version,
installer URL and embedded script refs, update apps.json to list Logi
Tune, and add a frontend icon component + PNG asset and icon map entry.
The PKG override is used because the Homebrew DMG contains a GUI-only
installer without a silent mode; version is still sourced from Homebrew.



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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added Logi Tune application support on macOS, including installation,
removal, and visual identification in the software catalog.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 10:49:26 -05:00
Scott Gress ae3ff6081c Fix issue exporting CSV when "agent" field is present (#47125)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #47085 

# Details

When "Agent" columns is visible in the hosts table, using the "export"
feature caused a 400 because there's no "Agent" field in the struct with
a `csv` tag. This PR fixes the issue by exporting both osquery and orbit
version columns in the CSV, which are the constituent fields that make
up "Agent".

# Checklist for submitter

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

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

## Testing

- [ ] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
- [X] on main, got the 400 trying to export hosts list with the "Agent"
column present
- [X] on this branch, exporting with "Agent" present results in the
"osquery version" and "orbit version" columns in the exported CSV.

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

- [X] Confirmed that the fix is not expected to adversely impact load
test results
- [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

* **Bug Fixes**
* Improved hosts CSV export: empty and selection-only columns are
excluded and the display-only "agent" column is replaced by the actual
backend version fields, yielding cleaner, more accurate exports.
* **Tests**
* Added automated test to verify the CSV export requests the correct
columns and prevents download-side side effects.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 10:23:08 -05:00
fleet-releaseandallenhouchins c3eec08835 Update Fleet-maintained apps (#47428)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
  * Updated Recut to version 4.4.5
  * Updated Reminders Menubar to version 2.0.0
  * Recategorized Remote Buddy as a Productivity tool

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-11 09:42:53 -05:00
fleet-releaseandallenhouchins 963c1cf6f6 Update Fleet-maintained apps (#47424)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Updates**
* SF Symbols support updated to version 8.0 with new installer package
configuration and enhanced version compatibility checks.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-11 09:31:13 -05:00
Konstantin Sykulev eac5e73a6c Used user idp card data for android device name (#47346)
**Related issue:** Resolves #41053

## Testing

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

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

- [x] Confirmed that the fix is not expected to adversely impact load
test results
- [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

* **Bug Fixes**
* Improved Android device display-name resolution and formatting: SCIM
end-user full name → IdP full name → hardware model; applies to existing
and newly enrolled devices and formats names like "Alice's iPhone" when
a fullname is available.
* **Tests**
* Expanded test coverage for display-name precedence and fallbacks;
added mocks so enrollment, status, app install, and re‑enrollment flows
run when SCIM/IdP data is absent.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 09:30:20 -05:00
Allen HouchinsandCopilot Autofix powered by AI 71901c4959 Add macOS Fleet-maintained apps (R) (#47370)
Adds 38 Fleet-maintained app(s) whose cask token starts with 'R':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.

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

* **New Features**
* Added support for 38+ new macOS apps (Radio Silence → RunJS) across
Productivity, Developer Tools, Security, and Utilities.
* Added installer/update manifests for these apps so they appear in app
listings and can be installed/updated.
* Added new app icons for all newly supported apps to improve UI display
and recognition.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-11 09:29:55 -05:00
Magnus Jensen 0274e7e5e5 log mandatory software update (#47409)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #47410

Quick win PR

# Checklist for submitter


## Testing
- [ ] QA'd all new/changed functionality manually _No, it's hard to
test, and depends on Apple's (undocumented) conditions for required
updates_


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

* **New Features**
* Apple MDM now detects and records when devices require mandatory
software updates during enrollment.
* Enrollment logging enhanced to capture device identifiers and software
update status when a mandatory update is present.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 16:15:45 +02:00
fleet-releaseandallenhouchins c1a5a6942c Update Fleet-maintained apps (#47421)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
* Updated version metadata for 40+ maintained applications across macOS
and Windows platforms, including installer URLs and integrity checksums.
* Refreshed version constraints and detection logic to match latest
releases.
* Updated uninstall scripts where necessary to target correct
application versions.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-11 09:14:43 -05:00
Lucas Manuel Rodriguez cf6a8a29c0 Fix command line flags in agent settings UI (#47414)
Resolves #47412.

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

## Testing

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

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

* **Bug Fixes**
* Agent settings editor now renders empty or null command-line flags
visibly (instead of hiding them), preserving their clearing behavior for
host-level settings.

* **Tests**
* Added tests to validate YAML output and formatting for command-line
flags, missing keys, and related edge cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 11:13:08 -03:00
Allen Houchins 9fd4da8f44 Remove Dell Display Manager app (#47420)
Delete Dell Display Manager from the codebase: remove winget input (app
definition) and installer/uninstaller scripts, remove the app's outputs
(windows.json) and its entry in ee/maintained-apps/outputs/apps.json,
and remove the frontend icon component and image. Also update the icons
index to drop the import and mapping for "dell display manager".
2026-06-11 08:45:52 -05:00
Nico 1a2b691ddb Policies: Include/Exclude label targeting on edit policy page (#33441) (#47354)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46583

Figma:
https://www.figma.com/design/0F1sw63SuYaKVWlcL7mnc6/-33441-Policies--Custom-targets-with-%22Include-any%22-and-%22Exclude-any%22?node-id=5319-2300&t=Fszpf83KhcZ7ViWh-0

## Testing

- [x] Added/updated automated tests

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

Note: selecting `Exclude All` will fail since BE doesn't support it yet.
Will be tackled as part of
https://github.com/fleetdm/fleet/issues/46582.


https://github.com/user-attachments/assets/12316264-b5b0-4588-b714-8f0aea11c604




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

## Summary by CodeRabbit

* **New Features**
* Added support for excluding labels when targeting policy hosts,
enabling more granular control over which hosts receive specific policy
configurations.

* **Refactor**
* Streamlined label-targeting state management and UI components for
improved performance and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 10:18:05 -03:00
Nico b4c32d279e Policies: Include/Exclude label targeting in Save policy modal (#33441) (#47213)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46583 

Figma:
https://www.figma.com/design/0F1sw63SuYaKVWlcL7mnc6/-33441-Policies--Custom-targets-with-%22Include-any%22-and-%22Exclude-any%22?node-id=5303-5687&t=Fszpf83KhcZ7ViWh-0

# 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

Note: policy creation will fail if more than one inclusion/exclusion
option is provided. This will be addressed as part of
https://github.com/fleetdm/fleet/issues/46582 (we'll relax that check to
make sure we can accept a combination).



https://github.com/user-attachments/assets/9cfbcbca-54ce-4978-8248-7d550f18785b



https://github.com/user-attachments/assets/16138fb1-da7c-4838-8819-f370bf7072c1

Empty state:

<img width="850" height="628" alt="Screenshot 2026-06-10 at 11 30 45 AM"
src="https://github.com/user-attachments/assets/141c4d26-e464-4ae1-b6ed-94d24a640e1c"
/>



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

* **New Features**
* Add optional "exclude all" label targeting for policies
(labels_exclude_all) and tab-based Include/Exclude targeting UI.

* **Improvements**
* In-modal navigation to add new labels; Custom targeting requires at
least one selected label to enable Save.
* Payloads now include include/exclude label fields when using Custom
targeting.

* **Tests**
  * Updated modal tests to cover exclude-tab label selection.

* **Style**
  * Improved empty-state border styling in label selector.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 10:00:30 -03:00
Sam Pfluger 64df0a89fa Add weekly 'Talk to us' Calendly check (#47404)
QA'd all new/changed functionality manually

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

* **Chores**
* Added a weekly ritual "Check Talk to us Calendly links" (effective
2026-06-12) to ensure demo booking links are working; includes automated
issue creation for any problems and a placeholder for additional
documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 13:19:17 +01:00
kilo-code-bot[bot]andkiloconnect[bot] 976ce88c50 Add 'Why preserve large free blocks on calendars?' to handbook (#47397)
## Summary

- Adds a new section to `/handbook/company/why-this-way.md` explaining
why Fleet team members should preserve large free blocks on their
calendars.
- Covers key recommendations: maximize "free" availability for
customer-facing scheduling, avoid "Swiss cheese" calendars, keep
recurring habits marked as "free" longer in Reclaim, and book 30-minute
breaks instead of 15-minute ones.
- Notes that Reclaim's ability to choose "free" vs "busy" for habits is
available on both free and premium tiers, so all team members can use
this regardless of plan.
- Includes concrete examples illustrating how work blocks and fragmented
calendars hurt booking availability.
- Adds a FAQ section addressing common questions about personal blocks
(childcare), high external call volume, and short bathroom breaks.
- Grounds the guidance in Fleet's principle of optimizing for the
customer experience.

---

Built for [Mike
McNeil](https://fleetdm.slack.com/archives/C01BQKMTJNR/p1781150656608139?thread_ts=1781148849.359729&cid=C01BQKMTJNR)
by [Kilo for Slack](https://kilo.ai/slack)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-11 13:18:15 +01:00
Magnus Jensen 557def9c83 add default fleet for BYOD Apple migration (#47161)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45595 

# Checklist for submitter

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

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

- [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.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

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

## Release Notes

* **New Features**
* Enabled BYOD fleet enrollments with default team assignment capability
* Added enrollment challenge tracking and management for ADUE device
registrations
* Implemented secure enrollment URL token generation for enrollment
flows

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 13:57:52 +02:00
Victor Lyuboslavsky b4dcea8a82 Improved Windows MDM reconciler (#47071)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45635 

Moved profile reconciler work from SQL to code, similar to what Apple
MDM team did last sprint.

The Windows MDM loadtest for 40 profiles with 30K hosts looks much
better.

```
  ┌──────────────────────────┬─────────────────────────────────────────┬───────────────────────────────────────────┐
  │                          │            Pre-fix baseline             │                This branch                │
  ├──────────────────────────┼─────────────────────────────────────────┼───────────────────────────────────────────┤
  │ Transfer wall time       │ ~40–42 min                              │ ~15.5 min                                 │
  ├──────────────────────────┼─────────────────────────────────────────┼───────────────────────────────────────────┤
  │ Per work tick            │ 215–257s (host-finding query dominated) │ ~48s (host-finding gone; now bulk writes) │
  ├──────────────────────────┼─────────────────────────────────────────┼───────────────────────────────────────────┤
  │ Ticks > 30s (work ticks) │ ~all                                    │ ~all (16/17, ~48s)                        │
  ├──────────────────────────┼─────────────────────────────────────────┼───────────────────────────────────────────┤
  │ Pacing governor          │ the host-finding query                  │ the 2000-host delivery cap + 30s interval │
  └──────────────────────────┴─────────────────────────────────────────┴───────────────────────────────────────────┘
```

The writer spikes briefly to 16 AAS, but has CPU headroom, so I'd say we
can claim to support 40 profies on 30K hosts.

```
  ┌───────────────┬───────────────┬───────────────────────────┬───────────────────────────────────────┐
  │   Instance    │ CPU avg / max │ DBLoad avg / max (4 vCPU) │     Read / Write / Commit latency     │
  ├───────────────┼───────────────┼───────────────────────────┼───────────────────────────────────────┤
  │ writer -two   │ 67.9% / 74.9% │ 4.84 / 16.0               │ 0.28ms / 2.07ms / 10.6ms (max 12.2ms) │
  ├───────────────┼───────────────┼───────────────────────────┼───────────────────────────────────────┤
  │ reader -one   │ 46.1% / 52.7% │ 1.19 / 5.0                │ 1.59ms / — / —                        │
  ├───────────────┼───────────────┼───────────────────────────┼───────────────────────────────────────┤
  │ reader -three │ 65.4% / 70.1% │ 1.77 / 5.0                │ 1.72ms / — / —                        │
  └───────────────┴───────────────┴───────────────────────────┴───────────────────────────────────────┘

```

# Checklist for submitter

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

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

## Testing

- [x] Added/updated automated tests
- [x] 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

* **Refactor**
* Reworked Windows MDM reconciliation to a snapshot-based, batched
drain-loop, improving responsiveness and reducing database load during
large profile operations.

* **Performance / Reliability**
* Windows MDM profile changes now reach hosts faster; large team-wide
profile additions/removals (including host transfers) complete more
quickly with lower DB impact.

* **Chore / Configuration**
  * Added tunables to control per-tick delivery caps and scan budgets.

* **Tests**
* Expanded end-to-end and property tests for install/remove, team/label
gating, and multi-window drain behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 07:03:28 +01:00
Allen Houchins f47544c840 Add macOS Fleet-maintained apps (H) (#47402)
Adds 20 Fleet-maintained app(s) whose cask token starts with 'H':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.
2026-06-10 23:47:19 -05:00
Allen Houchins 4fca9b2a36 Add PPPC Utility as a macOS FMA (#47400)
Add Jamf PPPC Utility to maintained apps: create input metadata
(homebrew token), add app entry to apps list, and provide darwin output
with version 2.0.0, installer URL, sha256, and installer/uninstaller
script refs. Also add frontend SVG icon, update icon index, and include
the app PNG asset. This integrates PPPC Utility into the installer
catalog and UI under the Developer tools category.
2026-06-10 23:07:32 -05:00
Allen Houchins a28d7a6f16 Add macOS Fleet-maintained apps (#) (#47396)
Adds 5 Fleet-maintained app(s) whose cask token starts with a digit:
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.
2026-06-10 22:27:58 -05:00
Allen Houchins 7348d0d37c Add macOS Fleet-maintained apps (I) (#47392)
Adds 12 Fleet-maintained app(s) whose cask token starts with 'I':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.
2026-06-10 22:12:01 -05:00
Noah Talerman d01a670700 Remove performance note for IdP variable in API docs (#47379)
- @noahtalerman: We shipped the improvement
2026-06-10 18:03:52 -05:00
Noah Talerman 4e1279b403 API: Rename "live query" => "live report" (#47378) 2026-06-10 18:03:16 -05:00
40fa1a73b8 Clarify mdm.allow_all_declarations + include estimate of when all declarations will be available OOB (#47217)
<img width="890" height="349" alt="Screenshot 2026-06-10 at 9 35 13 AM"
src="https://github.com/user-attachments/assets/13c26c9f-38ce-4d1f-95c3-4b22044bb9c2"
/>

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-06-10 18:02:32 -05:00
Noah Talerman dc72445a11 Add tips for fleet renaming and YAML configuration (#46857)
"General reference" was awkward at the top and language felt too stuffy.
I like "Tips"
2026-06-10 17:59:44 -05:00
Allen Houchins c00b0fcc5f Add macOS Fleet-maintained apps (E) (#47373)
Adds 21 Fleet-maintained app(s) whose cask token starts with 'E':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.

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

## Summary by CodeRabbit

* **New Features**
* Added support for 20+ macOS applications including productivity tools,
utilities, communication apps, and development software with automated
installation, updating, and removal capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 17:13:21 -05:00
Eric d3e5656a52 Website: update deal registration form on partners page (#47227)
Closes: https://github.com/fleetdm/fleet/issues/47185

Changes:
- Updated the options for the "Estimated number of devices" input on the
deal registration form on the /partners page.

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

* **New Features**
* In the deal registration modal, the "Estimated number of devices"
dropdown now uses an updated field label and consolidates prior
lower-range choices into a single "500–1,000" option.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 16:35:29 -05:00
Allen HouchinsandCopilot Autofix powered by AI 83a31ea818 Add macOS Fleet-maintained apps (B) (#47360)
Adds 34 Fleet-maintained app(s) whose cask token starts with 'B':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries.

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

* **New Features**
* Added 34 new applications to the platform including Background Music,
Balsamiq Wireframes, Bambu Studio, Bitwig Studio, BoltAI, and others.
  * Added visual icons for all new applications.
* Expanded macOS application management with installer and uninstaller
support for each new app.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-10 16:35:02 -05:00
Jordan MontgomeryandCopilot Autofix powered by AI c686f574fe Make the plist parser slightly more tolerant (#47371)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

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

No changes file, already covered

- [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.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary 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

* **Bug Fixes**
* Improved compatibility with multiple Apple plist format versions for
more reliable file handling.
* Strengthened validation of plist inputs to reduce false positives and
improve security.
* Adjusted early bounds checking so very short or malformed plist files
are handled more robustly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-10 17:31:46 -04:00
Ashish Kuthiala c60f436654 Create shadow-ai-is-already-on-your-fleet.md (#47374)
blog by Allen Houchins
2026-06-10 14:02:28 -07:00
Noah Talerman a372cb5972 Renaming: Audit logs (#46563)
- @noahtalerman: Field descriptions show only the new names. JSON
  examples show both old and new keys for backwards compatibility.
- Part of the following issue:
  - https://github.com/fleetdm/fleet/issues/41419
2026-06-10 15:59:04 -05:00
Gray Williams 98983c337a Fixes broken links in managing-chrome-with-fleet.md (#47093)
Links to the solutions folder weren't quite as expected, resulting in
404's
2026-06-10 16:41:09 -04:00
Steven Palmesano 6c9444865f Add android_enabled_and_configured to GitOps docs (#45810) 2026-06-10 15:27:19 -05:00
Lucas Manuel Rodriguez 99136d48ae Update docs windows hosts filtering (#45884)
Resolves #45711 (the bug was in Android, Windows filtering works but
this explains how to)
2026-06-10 15:22:06 -05:00
Victor Lyuboslavsky edea4ad059 Modal spacing and wording (#47312)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #47239 

Unreleased bug fixes.

- [ ] QA'd all new/changed functionality manually
2026-06-10 21:17:37 +01:00
Victor Lyuboslavsky b897301871 Setup experience policy checks copy changes (#47297)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45309 

# Checklist for submitter

## Testing

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


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

## Summary by CodeRabbit

* **Chores**
  * Refactored internal code organization for improved maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 21:16:51 +01:00