Commit Graph
25260 Commits
Author SHA1 Message Date
Luke Heath 87ee896bdb Website: Add dashboard vulnerability exposure article (#46485) 2026-06-11 17:36:00 -05:00
Eric c81284eea2 Website: Update error handler in http config (#47467)
Related to: https://github.com/fleetdm/fleet/issues/47385


Changes:
- updated the `onBodyParserError` error handling function in the
website's http config to return a 408 response when skipper throws a
`EUNFNTEX` error.
2026-06-11 17:34:29 -05:00
fleet-releaseandallenhouchins 17d80dc654 Update Fleet-maintained apps (#47460)
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 metadata and version definitions for 25+
applications, including Android Studio, Arc, Audacity, Beeper, Claude,
DuckDuckGo, Proton Mail Bridge, Warp, WhatsApp, and others.
* Updated installer URLs and integrity checksums to reflect the latest
available versions.
  * Adjusted application categorization for several tools.

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-06-11 17:12:02 -05:00
Luke Heath 267865010d Drop contents: write to read in release workflows (#47236) 2026-06-11 17:01:00 -05:00
Eric fee63bba51 Website: Update user routing in deliver-talk-to-us-submission action (#47457)
Related to: https://github.com/fleetdm/confidential/issues/16303

Changes:
- Added a new Salesforce helper: getTerritoryUserId, a helper that
returns the ID of the Salesforce user associated with a provided
location (state, country, city)
- Updated the deliver-talk-to-us-form-submission action to send ICP
users to one of five different Calendly events based on their company's
headquarters location.
- Updated the get-enriched helper to include company headquarters
information when enriching a user.
2026-06-11 16:37:37 -05:00
Rachael Shaw f3034ab1de Revert "[API] Add multiple custom packages for the same software title in the same fleet" (#47464)
Reverts fleetdm/fleet#46890

(Accidentally merged this to `main`, PR should have been to 4.89
according to the milestone)
2026-06-11 16:30:31 -05:00
Victor Lyuboslavsky 2c8b21a782 Defer Windows MDM profile removals via pending-delete retention (#47156)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #46993 

Requires #47071 to merge first

Loadtest shows reduction of batch delete of 40 profiles for 30K hosts
down to ~3.9 seconds.

# 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

## Database migrations

- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

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

## Release Notes

* **Bug Fixes**
* Resolved timeout issues when removing large numbers of Windows
configuration profiles from teams with many hosts.

* **New Features**
* Windows profile deletions now process asynchronously in the
background, enabling faster API responses and consistent behavior with
profile delivery operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 22:27:15 +01:00
Allen HouchinsandCopilot Autofix powered by AI 6c35495a95 Add macOS Fleet-maintained apps (F) (#47403)
Adds 32 Fleet-maintained app(s) whose cask token starts with 'F':
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 apps (e.g., Fantastical, Far2L, Farrago,
Fastmail, Framer, Franz, FreeFileSync, Focusrite Control 2).
* App icons added to the software catalog for improved visual browsing.

* **Chores**
* Added packaged installer/uninstaller metadata and scripted
install/uninstall flows for the new apps to simplify management and
upgrades.
<!-- 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:15:52 -05:00
Marko Lisica 6ab205e15d [API] Add multiple custom packages for the same software title in the same fleet (#46890)
Related to:

- #28108
2026-06-11 16:08:13 -05:00
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