Commit Graph
21220 Commits
Author SHA1 Message Date
Rachael Shaw fac6ca5f2a Add ellipsis to cut-off placeholder text in search fields (#39112)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves
https://github.com/fleetdm/fleet/issues/39171

#### Before
<img width="324" height="174" alt="Screenshot 2026-01-30 at 5 35 46 PM"
src="https://github.com/user-attachments/assets/5969b815-ce94-4835-936e-f8ce27427caa"
/>

#### After
<img width="331" height="179" alt="Screenshot 2026-01-30 at 5 34 58 PM"
src="https://github.com/user-attachments/assets/18fcb458-acb9-4041-b347-1b1f5d18b2a2"
/>


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

## Testing

- [x] QA'd all new/changed functionality manually
2026-02-04 13:28:00 -06:00
Jonathan Katz 707f71c14d Put Android profiles in pending immediately on upload (#39330)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35613
Android profiles will now show up in the UI as "pending" immediately on
a profile upload, to match Apple profiles behavior. Previously, you
would have to wait until the `mdm_android_profile_manager` cron job for
them to show up and actually install them.
This could cost a little bit of performance, but is the existing
behavior for Apple profiles.
# 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] 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:
- Adding an Android profile adds it to null in
host_mdm_android_profiles, which makes it show up as “pending”
immediately in the UI. When `mdm_android_profile_manager` runs it sets
them to pending in the database instead of null.
- Deleting a profile will also cause all profiles to become pending
immediately.
2026-02-04 14:18:06 -05:00
fleet-releaseandallenhouchins 0f815423f6 Update Fleet-maintained apps (#39326)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-04 12:59:44 -06:00
Jonathan Katz 67127fdba5 Reverify Android profiles that previously failed (#39025)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35659
Adds profiles that failed before to the list of profiles that get
reverified on an Android device's status report.

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

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] 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
2026-02-04 13:08:22 -05:00
Konstantin Sykulev 92db8e1b28 Fixed certificate auth serialization (#39287)
**Related issue:** Resolves #39158 / #39308

# 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] QA'd all new/changed functionality manually
2026-02-04 11:54:53 -06:00
Sam Pfluger 2561ea0354 Create SMB AE role (#39291) 2026-02-04 17:48:57 +00:00
Noah Talerman 996f5d450f JIT guide: Simplify language (#39306)
Users sometimes missing the step "Create user and sync permissions on
login": https://github.com/fleetdm/fleet/issues/38438
2026-02-04 11:32:12 -06:00
Eric af9190cffa Website: Update layout of desktop navigation menus (#39327)
Changes:
- Updated the padding and alignment of links in the header navigation
menus to match wireframes
2026-02-04 11:31:46 -06:00
Raiven Williams ffb411eab2 Bettapizaa added testimonial from Ghost (#39111) 2026-02-04 11:25:39 -06:00
Harrison RavazzoloandAllen Houchins 7d255556e3 FMA: Extensis Connect Fonts (#39315)
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-04 11:12:02 -06:00
Noah Talerman fa4b7426f1 End user /enroll page for macOS: Download button should have semi-bold font weight (#39301)
For the following quick win: 
- https://github.com/fleetdm/fleet/issues/39300
2026-02-04 11:51:47 -05:00
RachelElysia 277a7b35c3 FE: Fix test description (#39159) 2026-02-04 10:25:03 -05:00
Marko Lisica 59666ba92f Clarify 'Turn off MDM for specific hosts' in permissions 2026-02-04 09:54:06 -05:00
Steven Palmesano 0b29720612 Update roadmap (#39283) 2026-02-04 09:52:47 -05:00
Steven Palmesano 02ceb1e694 Pricing page improvements (#39208)
Discussed at:
https://fleetdm.slack.com/archives/C062D0THVV1/p1767794299951279
2026-02-04 09:44:37 -05:00
Rachael Shaw b2b589a8cf Permissions docs for custom variables (#39286)
Missing doc change from #29235
2026-02-04 09:42:45 -05:00
Jordan MontgomeryandMagnus Jensen 7e5eab3cea Add migration to update host_certificates_template UUID column size (#39172)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38914 

Updates the column on host_certificate_templates to match hosts

# Checklist for submitter

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

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


## Database migrations

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

Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-04 09:25:19 -05:00
Jahziel Villasana-Espinoza dbfbdcc322 only refetch location data if iDevice is locked (#39241)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39215 

# 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
2026-02-04 09:23:44 -05:00
RachelElysia 4fdea91a7a Fleet UI: Add Software > FMA table - Add platform and status filter (#37805) 2026-02-04 09:16:11 -05:00
RachelElysia b1d0a5c2da End user UI: Update logo loading spinner styling (#39234) 2026-02-04 09:09:30 -05:00
Carlo 5c340b5285 Surface Google err message for policy failures after retries (#38923)
Fixes #36333
2026-02-04 08:16:29 -05:00
Lucas Manuel Rodriguez 23e0b8054e Add note around linux trivy (#39100) 2026-02-04 06:56:32 -03:00
Victor Lyuboslavsky 8e07f166d8 Created kitlog adapter wrapping slog (#38890)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38889 

# Checklist for submitter
- [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

* **New Features**
* Structured logging with selectable JSON/text output and optional trace
correlation (trace_id, span_id).
* Backward-compatible output (ts timestamp, lowercase levels) and
adapter to interoperate with existing logging calls.

* **Refactor**
* Simplified logger initialization and centralized slog-based logging
infrastructure.

* **Tests**
* Extensive tests and a test handler for logging behavior, formats,
levels, and trace injection.

* **Chores**
  * Added package-level dependency check for the logging package.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 20:37:17 -06:00
dependabot[bot] 65163e3bd7 Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /tools/fleetctl-npm (#39263)
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@isaacs/brace-expansion&package-manager=npm_and_yarn&previous-version=5.0.0&new-version=5.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/fleetdm/fleet/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 18:03:26 -06:00
Copilotandiansltx b7440e8d7f Add automated workflow for tagging aging bugs (#39284)
Automates bug triage by tagging issues based on age: `~old bug` for bugs
≥180 days, `~aging bug` for bugs ≥90 days.

Relates to #39155.

## Changes

**New workflow: `.github/workflows/tag-aging-bugs.yml`**
- Runs daily at 8:06 UTC via cron, supports manual dispatch
- Dry run mode (default: false) logs actions without modifying labels
- Two-pass processing:
  1. Bugs ≥180 days: adds `~old bug`, removes `~aging bug` if present
  2. Bugs ≥90 days without either label: adds `~aging bug`
- Uses github-script with pagination for scalability
- Follows repo patterns (harden-runner, proper permissions)

# Checklist for submitter

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

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

<!-- START COPILOT CODING AGENT SUFFIX -->



<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

> Add a GitHub Actions workflow that runs daily at 8:06am UTC, and can
be manually dispatched. In that workflow, retrieve all issues labelled
`bug` created >= 180 days ago that don't include the `~old bug` tag,
then for each bug add the `~old bug` tag and remove `~aging bug` if it
is applied. Then retrieve all issues labelled `bug` created >= 90 days
ago that has neither `~aging bug` nor `~old bug` tags, and add the
`~aging bug` tag. Include a dry run workflow parameter, default off,
that logs rather than setting the label.


</details>



<!-- START COPILOT CODING AGENT TIPS -->
---

💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: iansltx <472804+iansltx@users.noreply.github.com>
2026-02-03 18:00:58 -06:00
Ian Littman 9ce3182726 Add bug open time metric calculation to gm, including milestone exclusion (#39118)
This matches our current bug open time KPI calculation, with the added
ability to exclude milestones from the calculation. Milestone exclusion
allows for easily answering the question "what would happen to the
metric if we released this milestone today?"

Verbose output lists each bug, net of filtering by milestone, including
the product group label associated with the bug (so we can spot cases
where a bug won't get resolved all else equal because it isn't triaged
to a current product group).
2026-02-03 17:59:45 -06:00
Allen Houchins 30f7205451 Standardize macOS app update queries and related automation (#39164)
This pull request updates the logic used to check whether macOS
applications (1Password, Firefox, and Slack) are up to date. The new
queries simplify and improve accuracy by directly identifying outdated
app versions, rather than relying on a combination of existence and
version checks.

**Policy query logic updates:**

* Updated the query in `update-1password.yml` to directly select hosts
with outdated 1Password versions, making the check more precise.
* Updated the query in `update-firefox.yml` to directly select hosts
with outdated Firefox versions, improving accuracy.
* Updated the query in `update-slack.yml` to directly select hosts with
outdated Slack versions, ensuring more reliable detection.

**Script logic update:**

* Changed the query line construction in
`.github/scripts/dogfood-policy-updater-latest-1password-macos.sh` to
match the new logic for identifying outdated 1Password installations.
2026-02-03 17:52:07 -06:00
c07ac6ea5b Install app store apps guide: Update "Schedule app updates" (#38940)
- Update section name and location. We're going to link to this section
from the 4.80 release article:
https://github.com/fleetdm/fleet/pull/38936

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
2026-02-03 17:11:28 -06:00
Rachael Shaw d401334d4c Clearer callout clarifying hostname is not the same as display name (#39274) 2026-02-03 17:03:29 -06:00
Martin Angers 9dd41214f4 Update contributor API docs to add optional custom display name and icon for setup experience software (#39262)
Docs changes for https://github.com/fleetdm/fleet/pull/39223
2026-02-03 16:43:09 -06:00
Victor Lyuboslavsky cad04b8eb4 Added to gitignore: third_party/vuln-check/go.sum (#39246) 2026-02-03 16:15:33 -06:00
Luke Heath 3bb3b6aa4f Update codeowners to remove myself where not needed (#39282) 2026-02-03 16:13:11 -06:00
Carlo f84d800399 Add error message for decryption failures (#38919)
Fixes #37130
2026-02-03 17:08:44 -05:00
Ashish Kuthiala 4b0be5946b Update marketing team members and contact information (#39278)
Added new team members to the marketing team section and updated contact
instructions.
2026-02-03 15:47:04 -06:00
Nico 18e79d11ac Fix: Show error reason when trying to edit a label that conflicts with a built-in label name (#39259)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37146

Follow-up of https://github.com/fleetdm/fleet/pull/38828 which only
handled label creation. This PR adds the same behavior for edits.

# Checklist for submitter

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

## Testing

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

<img width="1070" height="647" alt="Screenshot 2026-02-03 at 4 45 45 PM"
src="https://github.com/user-attachments/assets/c4762929-df86-45f4-ae3d-d529db00890e"
/>


<img width="1071" height="648" alt="Screenshot 2026-02-03 at 4 39 28 PM"
src="https://github.com/user-attachments/assets/a5661043-3f6a-440c-abe1-7f9beec1469b"
/>
2026-02-03 17:24:28 -03:00
Tim Lee 8bc97f4661 Fix gitops tests (#39268)
tests are tightly coupled with the gitops repo:
https://github.com/fleetdm/fleet-gitops

fixes address changes in this commit:

https://github.com/fleetdm/fleet-gitops/commit/965ab40a5ebc1fef193acdd6c74903a409698a17
2026-02-03 15:17:34 -05:00
Scott Gress e3fc20df50 Update test expectations after changes to fleet-gitops (#39261)
Due to [recent changes to the fleet-gitops
repo](https://github.com/fleetdm/fleet-gitops/pull/91), some tests need
to be updated to match the expected # of teams.
2026-02-03 14:08:02 -06:00
Martin Angers 838de3f428 Bugfix: use custom software title icon and display name in setup experience UI (#39223) 2026-02-03 14:56:16 -05:00
Noah Talerman d5ba60db3e Create "quick win" issue template and update handbook (#39081) 2026-02-03 13:06:51 -06:00
RachelElysia 6ed334c4c0 Fleet UI: Run script 400px truncation instead of 250px (QA followup) (#39243) 2026-02-03 13:53:57 -05:00
Sam PflugerandNoah Talerman 0fd7e024e6 Rename and update Go-To-Market groups to operations (#39187)
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-03 12:37:27 -06:00
Martin Angers b25c9522e4 Remove obsolete assertions to fix failing tests (#39249) 2026-02-03 13:01:49 -05:00
Magnus Jensen 471d200b3d Only default update_new_hosts key if not explicitly set (#39202)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39048 

# 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] QA'd all new/changed functionality manually
2026-02-03 12:41:52 -05:00
Mike McNeil af24d0996b Handbook: "multi-platform" (#39250) 2026-02-03 11:40:23 -06:00
Eric d110c59c50 Website: Update /better page for mobile devices (#39206)
Closes: https://github.com/fleetdm/fleet/issues/35101

Changes:
- Updated the /better page to show a different list in the "What
personal information can Fleet see?" section when users visit the page
on a mobile device
2026-02-03 11:39:37 -06:00
Scott Gress 92135b691d Clear reset tokens and user sessions after password change (#38999)
# 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] QA'd all new/changed functionality manually
- After doing a "forgot password", then logging in and changing password
manually, the "reset password" link I received no longer allows
resetting password
- Changing my password via the UI clears the my session and forces
re-login
- Changing another user's password via the UI clears their session and
forces re-login
- Upon first login for a new user, after forced password change, user's
session is _not_ cleared (they continue to home screen as expected)
- After clicking "require password reset" for a user, logging in as that
user, and changing password, user's session is _not_ cleared (they
continue to home screen as expected)
2026-02-03 11:14:10 -06:00
Scott Gress 2562d2f778 Fix fleetctl install script for linux ARM architecture (#39079)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37426 

# Checklist for submitter

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

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

## Testing

- [X] QA'd all new/changed functionality manually
  - tried on an ARM vm, saw script install fleetctl correctly
2026-02-03 11:13:43 -06:00
Eric 94fa9c4fc6 Website: Update job titles on two testimonials (#39242)
Closes: https://github.com/fleetdm/confidential/issues/14064

Changes:
- Updated the job titles shown for two testimonials used on the website
2026-02-03 11:09:51 -06:00
Noah Talerman 249d104f6a Update setup-experience.md (#39239) 2026-02-03 11:58:55 -05:00
fleet-releaseandallenhouchins 6bdc82624b Update Fleet-maintained apps (#39230)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-03 10:07:06 -06:00