Commit Graph
24486 Commits
Author SHA1 Message Date
Scott Gress d7fa35e417 Implement roaring bitmaps for historical data collection (#45709)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45715 

# Details

This PR refactors the way the charts module stores historical data to
use the [roaring bitmap](https://github.com/RoaringBitmap/roaring)
package instead of saving raw bitmaps. See [this
blurb](https://github.com/RoaringBitmap/roaring#how-does-roaring-compares-with-the-alternatives)
to learn how roaring compresses data, but TL;DR for our purposes it
represents a huge improvement especially for larger deployments where
host ID numbers may be very large. In testing, some data was reduced
96%.

The majority of the changes in this PR are straight swapping of types
from `[]byte` to `*roaring.Bitmap` in vars and function signatures, and
updating the internals of our bit math helpers to use roaring methods
instead of native AND and OR methods. I've tried to comment on all
functional changes.

Since the charts have been shipped already, so there will be data in the
wild in the prior "dense" format, the code still handles dense bitmaps
on _read_, but will always _write_ roaring bitmaps. The majority of the
data will therefore have turned over within 30 days on its own, but I
plan on a follow-up PR that will transform open rows when the cron runs
so that we should be guaranteed to turn over completely within 30 days.

# Checklist for submitter

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

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

- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.

## Testing

- [X] Added/updated automated tests
- Tests updated to accommodate the new format, and existing unchanged
tests act as proof against regression
- [X] QA'd all new/changed functionality manually
- Using a tool that dumps the `host_scd_data` rows data into a JSON file
(with the keys being entity_id+data and the values being host IDs on
that date), compared the data from main branch and this and confirmed
they're identical
- With a host count of ~9000, some of which have IDs of over 1,000,000,
the data storage requirements were:
     * 82,558,976 bytes for dense
     * 2,867,200 for roaring (a 96% decrease)

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

- [X] Confirmed that the fix is not expected to adversely impact load
test results
  - should hugely improve
- [X] Alerted the release DRI if additional load testing is needed

## Database migrations

- [X] Checked schema for all modified table for columns that will
auto-update timestamps during migration.


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

## Summary by CodeRabbit

* **New Features**
* Implemented roaring bitmaps in historical data collection to optimize
bitmap handling for chart data aggregation
* Added encoding support to bitmap storage schema for flexible data
representation

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-19 09:34:29 -05:00
Noah Talerman 6b129e811d Update link text from 'ABM' to 'Apple Business' (#45788)
For the following quick win:
- https://github.com/fleetdm/fleet/issues/44831
2026-05-19 10:33:18 -04:00
Allen Houchins 3e33b4cfc9 Fix 'patched' SQL queries in FMA outputs (#45794)
Correct the 'patched' SQL predicates across many
ee/maintained-apps/outputs/*.json files by moving the version_compare
condition into the subquery's WHERE clause and removing the extra
parentheses. This normalizes the NOT EXISTS checks so installed-version
detection works as intended for both macOS and Windows app outputs.
2026-05-19 09:20:42 -05:00
Lucas Manuel Rodriguez 5ce6dc97ca Ignore WiX CVEs (#45790)
Fixes the following warnings:
https://github.com/fleetdm/fleet/actions/runs/26081772268.

Run using this branch:
https://github.com/fleetdm/fleet/actions/runs/26100260311

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

## Summary by CodeRabbit

* **Documentation**
* Added security vulnerability assessments for nine CVEs, confirming
they do not impact wix as the vulnerable code paths are not executed in
the application.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-19 11:01:57 -03:00
Noah Talerman e4e706bba1 Dashboard widgets: Update disable checkbox copy (#45144)
- Make them more explicit
2026-05-19 09:28:33 -04:00
fleet-releaseandallenhouchins d11401f6a7 Update Fleet-maintained apps (#45786)
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 versions for multiple maintained apps: Blender
(5.1.1→5.1.2), Postman (12.11.0→12.11.2), and Warp stable release
* Enhanced application lifecycle management for Claude, Discord,
Transmit, and Zotero with improved system cleanup procedures
* Updated installation metadata and checksums across macOS and Windows
platforms

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-19 08:22:33 -05:00
Mike Thomas ea013d062d Fix broken image in brand handbook (#45779)
Fixes a broken image in the brand handbook
2026-05-19 08:57:18 -04:00
Mike Thomas 9dd097c3f2 Update writing.md (#45780)
Fixed a typo.
2026-05-19 14:31:01 +09:00
Mike Thomas 744181af93 Add temporary landing page process to the handbook (#45778)
This PR adds the company process for temporary landing pages to the
handbook.

For now, I have included it in the writing handbook, since this is where
we document processes for publishing content on the website. I plan to
separate these topics at a later date.
2026-05-19 13:54:36 +09:00
Mike McNeil 5a0e0539aa Website: Make parlance match other pages (#45777)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Updated the comparison table mode switch labels on the homepage for
improved clarity. Mobile switch options now read "IT engineers" and
"CISOs"; desktop switch options now read "For IT engineers" and "For
CISOs".

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 22:27:13 -05:00
fleet-releaseandallenhouchins 53650a5a7e Update Fleet-maintained apps (#45775)
Automated ingestion of latest Fleet-maintained app data.

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

## Summary by CodeRabbit

* **Chores**
  * Updated Claude to 1.7196.3 (macOS, Windows).
  * Updated CLion to 2026.1.2 (macOS).
  * Updated Discord (macOS 0.0.391, Windows 1.0.9238).
  * Updated Draw.io to 30.0.2 (macOS).
  * Updated Elgato Stream Deck to 7.4.2 (macOS).
  * Updated Microsoft Teams to 26106.2113.4690.1073 (macOS).
  * Updated RustRover to 2026.1.2 (macOS).
  * Updated Zoom (macOS 7.0.5.81138, Windows 7.0.38856).

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

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

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-05-18 20:32:42 -05:00
Dan Gordon 6b97260790 Publish linux article software management and self service (#45774)
Publish linux article software management and self service
2026-05-18 19:47:28 -05:00
Eric 52e0ed4639 Website: fix typo on /linux-management (#45773)
Changes:
- Fixed a typo on the /linux-mangement page

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

## Summary by CodeRabbit

* **Bug Fixes**
* Corrected a typo in the website's marketing content related to the
Linux devices section.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 19:10:51 -05:00
dependabot[bot] d1b11974a1 Bump ws from 8.20.0 to 8.20.1 in /tools/fleet-slackbot (#45770) 2026-05-18 19:04:57 -05:00
Mike ThomasandEric ae25184467 Handbook - brand guidelines (#45563)
Created a handbook page to document brand guidelines.

- Added brand.md in the Company handbook folder.
- Intent is to have a dedicated page for brand-related content that can
grow and be easily seen by and shared with contributors, rather than
buried in the communications page.
- Added example brand images.
- Adjusted handbook image width


https://github.com/user-attachments/assets/ead7e92a-9a21-4438-895d-a93103086e37

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-05-18 18:24:34 -05:00
Mike McNeil ea6832cbc0 tweak to remove confusing capitalization thing (#45762) 2026-05-18 17:50:34 -05:00
Mike McNeilandEric 0fe76a07eb Website: Update pricing.ejs - "IT engineers" (#45727)
Fleet is for both "IT engineers" and "IT admins", let's be inclusive in
the other direction to avoid confusion when placed side by side with
"For CISOs"


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

* **UI Updates**
* Reordered pricing mode options so the IT option appears before
Security.
  * Updated IT option label text to better reflect its audience.
* Adjusted pricing-mode switch styling and responsive positioning so the
selected option aligns correctly across screen sizes.

<!-- review_stack_entry_start -->

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

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

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-05-18 17:36:07 -05:00
Eric 6a48b9eb7b Update Okta SSO hook in fleet agent downloader app (#45761)
Changes:
- Updated the OktaSSO hook in the fleet agent downloader app to not run
for requests missing a session

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

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed Okta SSO error handling to properly manage requests processed
without session support, improving authentication reliability for
certain request types.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 17:35:24 -05:00
Eric 13ac73b65d Website: update Stripe webhook (#45758)
Changes:
- Updated the receive-from-stripe webhook to handle
`customer.subscription.updated` type events sent by Stripe when a
subscription's number of hosts is changed in the Stripe UI.
2026-05-18 17:34:44 -05:00
Victor Lyuboslavsky d051cf082b Close stale fleetie-initiated issues. (#45530)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #45700 

Not a product change. This PR will allow us to run the workflow
manually. After ~2 weeks, if there are no issues, we'll make it
automatic.

## 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**
* Added automated workflow to identify and close stale issues created by
Fleet team members, with dry-run capability and operation limits.
* Added system to build and maintain a deduplicated list of Fleet team
member handles from GitHub organization and repository history.

* **Tests**
* Added comprehensive test suites for stale issue management and handle
list generation with mock GitHub API interactions and boundary condition
coverage.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 17:33:12 -05:00
Dan Gordon 9dfe159d60 Publish linux tech article #3 in series (#45745) 2026-05-18 17:32:37 -05:00
Noah Talerman 3618b0c810 API reference: Fix headers (#45701)
<img width="256" height="393" alt="Screenshot 2026-05-18 at 10 43 35 AM"
src="https://github.com/user-attachments/assets/59770a53-a4ee-4811-8363-3fa75b88943f"
/>
2026-05-18 17:30:58 -05:00
Noah Talerman c18096f779 API reference: Bulk hosts w/ 10k hosts and 10 configuration profiles (#45708)
- @noahtalerman: We saw [performance
issues](https://github.com/fleetdm/fleet/issues/44656#issuecomment-4478731163)
w/ transferring 10k+ hosts at once.
- Potential performance improvements coming soon:
  - https://github.com/fleetdm/fleet/issues/45650
  - https://github.com/fleetdm/fleet/issues/45635
  - https://github.com/fleetdm/fleet/issues/45657
2026-05-18 17:30:13 -05:00
Noah Talerman f17026b27a Revise Linux support details in FAQ (#45760)
Updated Linux support section with relevant notes and removed redundant
information.
2026-05-18 17:18:34 -05:00
Eric 87589e1291 Website: Update sitemap (#45751)
Changes:
- Added pages in the landing-pages folder and two article category pages
to the sitemap.

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

## Summary by CodeRabbit

* **Chores**
* Added whitepapers and webinars pages, along with additional landing
pages to the sitemap for broader site coverage.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 16:36:41 -05:00
George KarrandCopilot Autofix powered by AI 4d0534a48d Adding my device link on host details page with backend logic to generate it if needed (#45659)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43895 

# Checklist for submitter

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

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [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

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

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

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

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))


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

* **New Features**
* Self-service install/uninstall activities now render in passive voice,
omit an actor name, and include a “(self-service)” marker across feeds
* Global admins see a "My device" button on host user cards that opens
the end‑user device page in a new tab; the link is refreshed/generated
as needed
* Device page and browser tab header show the end‑user's name when
available (fallback: "My device")

* **Tests**
* Added/updated coverage for self‑service activity rendering and the "My
device" flow

<!-- review_stack_entry_start -->

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

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

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-18 16:05:44 -05:00
RachelElysia 1e27473b5a Fleet UI: Update report and policies empty states (#45064) 2026-05-18 16:32:03 -04:00
Sharon KatzandClaude Opus 4.6 15a4b16939 Fix disk encryption table horizontal scroll at narrow viewports (#45736)
Closes #43637

## Summary

- Adds `min-width: 0` to `.side-nav__card-container` so the flex child
can shrink below its content width, enabling horizontal scroll on data
tables inside the side-nav layout at narrow viewports.

## Root cause

`.side-nav__container` uses `display: flex`, and its child
`.side-nav__card-container` has `width: 100%` but no `min-width`
override. Flex children default to `min-width: auto`, which prevents
them from shrinking below their content width. This means `overflow-x:
auto` on `.data-table__wrapper` never activates because the parent chain
stretches to fit the table content instead of constraining it.

## Changes

**`frontend/pages/admin/components/SideNav/_styles.scss`** -- added
`min-width: 0` to `.side-nav__card-container`.

## Manual testing

- [x] Built and ran Fleet server locally (`make fleet && ./build/fleet
serve --dev --dev_license`)
- [x] Navigated to **Controls > Disk encryption**
(https://localhost:8080/controls/os-settings/disk-encryption?fleet_id=2)
- [x] Enabled disk encryption for the team and confirmed the table
rendered
- [x] Resized browser to smallest supported viewport width
- [x] **Before fix:** table columns were squished/truncated with no
horizontal scrollbar
- [x] **After fix:** horizontal scrollbar appeared and table content
scrolled correctly
- [x] Verified other pages using the SideNav component (e.g., Settings)
were not affected

## Unit tests

- [x] Ran all related frontend test suites (`SideNav`, `DiskEncryption`,
`TableContainer`) -- 39 tests, all passing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

* **Style**
* Fixed side navigation layout to properly handle content overflow and
enable horizontal scrolling when navigation items exceed available
space.
* **Documentation**
* Added note: Disk Encryption > Disk encryption table now supports
horizontal scrolling on narrow viewports.

<!-- review_stack_entry_start -->

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

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-18 16:26:08 -04:00
dependabot[bot] 1c945df915 Bump brace-expansion from 5.0.5 to 5.0.6 in /tools/fleetctl-npm (#45732) 2026-05-18 14:06:11 -05:00
Dan Gordon 8dab17e69a Fix header sizes and titles in linux inventory article (#45733)
Fix header sizes and titles in linux inventory article.
2026-05-18 13:31:27 -05:00
Sharon KatzandClaude Opus 4.6 fd7c87e20a Add pr-approvals Claude Code skill (#45725)
## Summary
- Adds a `/pr-approvals` skill to `.claude/skills/` so all fleeties can
use it
- Quickly identifies who is blocking a PR merge by checking CODEOWNERS
(blocking) vs custom.js DRI (non-blocking)
- Usage: ask Claude "who needs to approve this PR?" or run
`/pr-approvals <number>`

## Test plan
- [x] Tested against PR #45696 (correctly identified @lukeheath as the
only blocker for openspec files)
- [x] Tested against PR #45663 (correctly identified failing CI, no
reviewer blocking)
- [x] Tested against PR #42435 (correctly identified missing @fleetdm/go
approval)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-18 13:46:35 -04:00
cc47d75e49 Update website footer navigation links (#45731)
## Summary

- Swap "Integrations" and "Support" between footer sections: "Support"
now appears under Solutions, "Integrations" now appears under
Documentation
- Remove "Orchestration" link from the footer entirely
- Add new "Downloads" link (pointing to `/download`) under the
Documentation section

## Changes

**Solutions section:**
- Removed "Orchestration"
- Removed "Integrations"
- Added "Support"

**Documentation section:**
- Removed "Support"
- Added "Integrations"
- Added "Downloads" (`/download`)

---

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

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2026-05-18 12:46:08 -05:00
Tim Lee bbfbea8de2 Cert renewal for non-proxied SCEP and ACME (Phase 1 + Phase 2) (#45696) 2026-05-18 11:41:02 -06:00
Lucas Manuel Rodriguez 9e7781a004 Update enrolling activities and preserve osquery display name (#45697)
Resolves #36417.

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

## Manual tests performed

 MDM enrollment first, then fleetd enrollment (checked both activities
match serial and display name is preserved).
 fleetd enrollment first, then MDM enrollment (checked both activities
match serial and display name is preserved).

<img width="520" height="383" alt="activities_mdm_macos_enrollment"
src="https://github.com/user-attachments/assets/35c74612-ad80-4245-bfd9-20a3dc5e78bb"
/>

 Enrolled ABM iPad.

<img width="599" height="65" alt="Screenshot 2026-05-18 at 10 57 23 AM"
src="https://github.com/user-attachments/assets/b7ad552b-82af-4606-a860-361eedb97483"
/>

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

* **New Features**
* Enrollment activities now show device serial numbers alongside host
display names, avoid duplicating the serial if already included, and
fall back to serial/generic messaging when no display name is available.
* Fleet enrollment entries no longer show an actor prefix, matching
other enrollment activity items.

* **Bug Fixes**
* Display names set by prior fleetd enrollment are preserved and no
longer overwritten during MDM enrollment.

* **Tests**
* Added and relaxed activity-feed tests covering enrollment message
variants.

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 14:33:10 -03:00
Juan Fernandez e1512dacc9 Fix nil-pointer panic in Android Enterprise Pub/Sub endpoint (#45520)
Fixes #45520 

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

## Testing

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

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

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

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

<!-- review_stack_entry_start -->

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

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

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

## Summary by CodeRabbit

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

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

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

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

## Summary by CodeRabbit

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

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

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

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

This PR includes the following changes:

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

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




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

## Summary by CodeRabbit

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

<!-- review_stack_entry_start -->

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

<!-- review_stack_entry_end -->

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

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

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

## Testing

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

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

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

<!-- review_stack_entry_start -->

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

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

Date: 12-05-2026

---------

Co-authored-by: Dan Gordon <daniel@fleetdm.com>
2026-05-18 04:19:43 -07:00