Commit graph

23100 commits

Author SHA1 Message Date
Scott Gress
854fa2af62
Cleanup docker publish (#42693)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42691

# 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

## Testing

- [ ] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
- I ran the updated snapshot action on this branch and verified that it
pushed the branch-tagged image, but not the SHA-tagged one.
- I ran the cleanup script in dry-run mode and verified that it didn't
expect to delete any non-sha-tagged images
- I wasn't able to test the delete-image-on-branch-delete action for
obvious reasons.
- I haven't tested the cleanup script in non-dry-run mode... I could do
on my personal dockerhub...

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Automated cleanup of Docker images when development branches are
deleted to maintain registry hygiene.
  * New utility for managing and cleaning up legacy Docker image tags.

* **Chores**
* Enhanced Docker image tagging in snapshot builds with improved branch
name handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-03 10:40:56 -05:00
Irena Reedy
a9660f7e6a
Update fleetchampions.md (#42940)
Added documents for the case study process and made edits to the process
that we discussed earlier

---------

Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-04-03 16:09:39 +01:00
Scott Gress
c4aa6f5529
Use fleetctl new templates for new instances (#42768)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41409 

# Details

This PR updates the `ApplyStarterLibrary` method and functionality to
rely on the same templates and mechanisms as `fleetctl new`. The end
result is that running `fleetctl new` and `fleetctl gitops` on a new
instance should be a no-op; no changes should be made. Similarly,
changing the templates in a Fleet release will automatically affect
`fleetctl new` and `ApplyStarterLibrary` in the same exact way for that
release.

> Note that this moves the template files out of `fleetctl` and into
their own shared package. This move comprises the majority of the file
changes in the PR.

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

<img width="668" height="44" alt="image"
src="https://github.com/user-attachments/assets/066cd566-f91d-4661-84fc-2aabbfce2ef9"
/>

will fail until the 4.83 Fleet docker image is published, since it's
trying to push 4.83 config (including `exceptions`) to a 4.82 server.

- [X] QA'd all new/changed functionality manually
- [X] Created a new instance and validated that the fleets, policies and
labels created matched the ones created by `fleetctl new`
- [X] Ran `fleetctl new` and verified that it created the expected
folders and files
- [X] Ran `fleetctl gitops` with the files created by `fleetctl new` and
verified that the instance was unchanged.
- [X] Ran `fleetctl preview` successfully using a dev build of the Fleet
server image (since it won't work against the latest published build,
which doesn't support `exceptions`). Verified it shows the expected
teams, policies and labels
2026-04-03 09:58:03 -05:00
Jordan Montgomery
a2e7c95c6c
Fix issue with pending hosts on details page (#42967)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42964

# Checklist for submitter

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

No changes file as this is part of the SHAA feature

- [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] QA'd all new/changed functionality manually

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-03 10:34:40 -04:00
Irena Reedy
773066f7fb
Create cloud-infrastructure-company.md (#42783) 2026-04-03 09:03:35 -05:00
Victor Lyuboslavsky
b1c85af75d
Updates to Android RELEASE.md (#42959)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Improved Android release process with automated changelog generation
and streamlined release workflow documentation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-03 09:00:39 -05:00
Allen Houchins
93d6e3cc43
Check osascript output instead of exit status (#42951)
Capture osascript output into a variable and compare it to "true" when
checking if an app is running. Updated quit_application and
quit_and_track_application to use app_running=$(osascript ...) and [[
"$app_running" != "true" ]] rather than relying on the command's exit
status. This makes the running check more reliable across osascript
behaviors and avoids depending on its exit code.
2026-04-03 08:48:58 -05:00
Marko Lisica
06cb6f6044
Revise error message writing guidelines (#42954)
Updated examples for error message guidelines to include specific error
scenarios and solutions.
2026-04-03 09:29:28 -04:00
dependabot[bot]
abaad3d4ca
Bump github.com/go-jose/go-jose/v3 from 3.0.4 to 3.0.5 (#42952)
Bumps
[github.com/go-jose/go-jose/v3](https://github.com/go-jose/go-jose) from
3.0.4 to 3.0.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="be2f654870"><code>be2f654</code></a>
ci: update Go versions for GHA workflows (<a
href="https://redirect.github.com/go-jose/go-jose/issues/221">#221</a>)</li>
<li><a
href="02464163e1"><code>0246416</code></a>
Merge commit from fork</li>
<li>See full diff in <a
href="https://github.com/go-jose/go-jose/compare/v3.0.4...v3.0.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-jose/go-jose/v3&package-manager=go_modules&previous-version=3.0.4&new-version=3.0.5)](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 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-04-03 09:56:25 -03:00
Marko Lisica
49491a75bb
[Guide] Android EAP-TLS Wi-Fi configuration (#42324)
Guide explaining how to configure EAP-TLS Wi-Fi network on Android

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-04-03 14:43:35 +02:00
RachelElysia
92ba57ad8d
Fleet UI: Host ABM assignment followup 2 (#42927) 2026-04-03 08:17:51 -04:00
Victor Lyuboslavsky
fc58f60a83
Improved performance of distributed read endpoint (#42810)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42808 

This is another hot path optimization recommended by Claude Code. I QA'd
it with a local osquery perf run.

# Checklist for submitter

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

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

## Testing

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

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

## Summary by CodeRabbit

* **Refactor**
* Enhanced performance of the distributed read endpoint by optimizing
lock contention management during jitter table access operations. This
change reduces latency and improves system responsiveness when handling
distributed read requests, particularly benefiting high-concurrency
scenarios. The optimization maintains all existing functionality while
providing better performance characteristics for read-heavy workloads.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-03 07:13:56 -05:00
kilo-code-bot[bot]
49eead2461
Add Sales Forecast Process: Weekly Update Requirements to sales playbook (#42912)
## Summary
- Adds a new "Sales Forecast Process: Weekly Update Requirements"
section to `handbook/sales/sales-policies.md`
- Documents the weekly forecast update deadline (Thursday by 5:00 PM
local time) and the Friday morning review cycle
- Placed logically after existing sales policy sections, before the meta
tags

## Changes
- **`handbook/sales/sales-policies.md`**: Added new `## Sales Forecast
Process: Weekly Update Requirements` section with Overview and Schedule
subsections

Built for [Chaz
MacLaughlin](https://fleetdm.slack.com/archives/D0AHH0ZEMLY/p1775153128055729)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-04-03 02:05:52 -05:00
Allen Houchins
bba4a2d217
Converted to webhooks_and_tickets_enabled key for policies (#42950) 2026-04-02 21:09:30 -05:00
Allen Houchins
e76eaa8e94
Remove display_name from FMA (#42949) 2026-04-02 20:50:51 -05:00
Eric
ab6ce39897
Update meta tags in defense-and-engineering-company.md (#42941)
Changes:
- Updated the cardTitleForCustomersPage meta tag value, and added a
cardBodyForCustomersPage meta tag in defense-and-engineering-company.md,
2026-04-02 18:12:20 -05:00
Magnus Jensen
42bde1c4ff
hide ACME attestation checkbox on Fleet free (#42935)
Follow up PR when doing the test plan for ACME
2026-04-02 17:14:22 -05:00
KemalTolga
53d3d5453f
Update README.md (#42892)
Fixed the typo "annouced"

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

- [ ] 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.
- [ ] 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))
2026-04-02 17:52:22 -04:00
Carlo
48a4a327e6
Fix GitOps policy-software resolution to fall back to hash when URL lookup fails (#42816)
Fixes #40841

## Summary

The root cause of the URL mismatch described in the issue is unknown. We
couldn't reproduce it and couldn't find a deterministic code path that
explains it.

What we fix in this PR is a code defect that turns an unknown transient
condition into a hard failure. When a policy has both a URL and a hash
(which is always the case for `package_path` references), and the URL
lookup fails for any reason, a continue statement prevented the
hash-based fallback from ever running.
2026-04-02 17:22:14 -04:00
Magnus Jensen
d4f48b6f9c
ACME MDM -> main (#42926)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** The entire ACME feature branch merge

# 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

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

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
2026-04-02 15:56:31 -05:00
RachelElysia
4c573f13d0
Fleet UI: Hide host details reports when not supported (#42746) 2026-04-02 16:42:51 -04:00
Tim Lee
02e34c39ad
Rotate recovery key password copy change (#42902) 2026-04-02 14:11:12 -06:00
Ashish Kuthiala
db9649cc7a
Ak jamf update comparison (#42924)
updating comparison table

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-02 15:08:41 -05:00
Victor Lyuboslavsky
2118dcb0d9
Clear Android cert records on unenroll. (#42920)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42600 

# Checklist for submitter

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

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

## Testing

- [x] 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**
* Fixed an issue where Android device certificate template records were
not properly cleared during unenrollment, which previously resulted in
stale certificate statuses after re-enrollment.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-02 14:59:09 -05:00
Copilot
83651ce49f
Improve "Activities run as listed" tooltip wording (#42813)
- @noahtalerman: For the following quick win:
  - #41107

The "Activities run as listed" tooltip on the host details upcoming
activity pane said "Currently, only software and scripts are guaranteed
to run in order" — ambiguous wording that implies the order is
configurable or changeable.

- **`frontend/pages/hosts/details/cards/Activity/Activity.tsx`**:
Replace tooltip text with "Software and scripts are always processed in
order. Each waits until the previous one completes." — accurately
reflects the blocking/sequential behavior described in the contributing
guide.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: getvictor <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-04-02 14:48:57 -05:00
Carlo
aa0c0674a8
Defer all VPP apps when there are missing teams (#42862)
Fixes #40785

## Summary

When a GitOps run includes a `volume_purchasing_program` config that
references a team that doesn't exist yet, the code temporarily removes
the entire VPP config from the global AppConfig, clearing ALL VPP
token-to-team assignments on the server. However, the code only deferred
`app_store_apps` for the missing teams, not for existing teams that also
lost their VPP assignments. Those existing teams then failed with "No
available VPP Token" when their `app_store_apps` were applied.

The fix widens the deferral scope to match the clearing scope. When VPP
assignments are temporarily cleared, `app_store_apps` are now deferred
for all teams in the VPP config, not just the missing ones.
2026-04-02 15:38:58 -04:00
Zay Hanlon
e1f93cb28d
Added infra runbook links for troubleshooting (#42921) 2026-04-02 14:51:28 -04:00
dependabot[bot]
03d0c3b991
Bump lodash from 4.17.23 to 4.18.1 in /ee/tools/license (#42918) 2026-04-02 13:48:30 -05:00
dependabot[bot]
f14fc8352d
Bump lodash from 4.17.23 to 4.18.1 (#42917) 2026-04-02 13:48:09 -05:00
dependabot[bot]
92fc52578f
Bump @xmldom/xmldom from 0.8.11 to 0.8.12 in /ee/fleetd-chrome (#42792) 2026-04-02 13:47:32 -05:00
dependabot[bot]
540f3a053e
Bump serialize-javascript, copy-webpack-plugin and terser-webpack-plugin in /ee/fleetd-chrome (#42587) 2026-04-02 13:47:09 -05:00
dependabot[bot]
04de81989f
Bump handlebars from 4.7.8 to 4.7.9 in /ee/fleetd-chrome (#42531) 2026-04-02 13:46:40 -05:00
dependabot[bot]
2b4922fd68
Bump brace-expansion from 5.0.2 to 5.0.5 in /tools/fleetctl-npm (#42516) 2026-04-02 13:45:59 -05:00
dependabot[bot]
773edea213
Bump picomatch in /ee/fleetd-chrome (#42439) 2026-04-02 13:45:41 -05:00
dependabot[bot]
3d7b90a83a
Bump picomatch in /.github/actions/eng-metrics (#42432) 2026-04-02 13:45:24 -05:00
dependabot[bot]
01cf93b71f
Bump flatted from 3.3.3 to 3.4.2 (#42119) 2026-04-02 13:44:55 -05:00
dependabot[bot]
97153fb35a
Bump flatted from 3.3.3 to 3.4.2 in /.github/actions/eng-metrics (#42118) 2026-04-02 13:43:50 -05:00
dependabot[bot]
0df2dc654d
Bump google.golang.org/grpc from 1.62.1 to 1.79.3 in /tools/terraform (#42010) 2026-04-02 13:42:52 -05:00
Victor Lyuboslavsky
eed3c713a3
Fix panic message for Windows MDM profile upload (#42913)
Replaced team with fleet
2026-04-02 13:29:00 -05:00
Eric
f1ab3a2ac3
Website: update partners page and form actions (#42910)
Changes:
- Updated the comments in the partners page script,
deliver-deal-registration-submission, and
deliver-partner-registration-submission.
- Removed unused @input functions on the partners page.
2026-04-02 13:22:26 -05:00
Victor Lyuboslavsky
7acacf1dc3
Claude, use math/rand/v2 instead of math/rand (#42861)
This will only fire if Claude adds `math/rand` as an import.


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

## Summary by CodeRabbit

* **Chores**
* Updated code style guidelines and enhanced linting configuration to
enforce stricter code quality standards.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-02 13:20:43 -05:00
Victor Lyuboslavsky
667bac8cb8
Fixed a server panic when uploading an MDM profile to a team on a free license (#42834)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41484

# Checklist for submitter

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

## Testing

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


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

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed a server crash that occurred when uploading a Windows MDM
profile to a team on a free license.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-02 13:18:15 -05:00
RachelElysia
226df9277c
Fleet UI: Some of many tooltip updates to react-tooltip 5.x (#42830) 2026-04-02 13:32:30 -04:00
RachelElysia
3e55165a4b
Fleet UI: Host ABM assignment followups (#42906) 2026-04-02 13:05:11 -04:00
kilo-code-bot[bot]
a00a00b64d
Document Salesforce SSO initiative in GTM architecture handbook (#42870)
## Summary

- Adds a new "Single sign-on (SSO)" section under `## Salesforce` in
`handbook/finance/gtm-architecture.md`
- Documents Fleet's specific SSO profile configuration in Salesforce —
which profiles to assign to SSO-enabled vs non-SSO users
- Covers four Salesforce profiles:
- **Fleet User** and **System Administrator** for SSO-enabled Fleet
employees
- **externalNonSSOEnabledSystemAdmin** (cloned from System
Administrator) for UTTR integration users and the Integrations admin
account
- **externalNonSSOEnabledFleetUser** for external non-admin users who do
not use SSO
- Provides actionable guidance: "If you need to add an SSO user, assign
X. If you need to add a non-SSO user, assign Y."
- Notes planned future work for automated role/permission provisioning
via OAuth

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1775145501809539?thread_ts=1775094096.519039&cid=D0AF8QFBVHB)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-04-02 10:02:48 -07:00
Juan Fernandez
74ff57af8d
Better error handling in Windows PS1 installer (#33555)
**Related issue:** Resolves #33555 

Wrap Get-ItemProperty calls in try/catch blocks during registry
enumeration to gracefully handle terminating exceptions (e.g.
System.InvalidCastException) from malformed registry entries, logging
the offending path instead of aborting.
2026-04-02 12:50:20 -04:00
Nico
3a12ba8571
Fix SCIM user association with host when IdP user is set before being provisioned (#42889)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34667

# Checklist for submitter

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

## Testing

- [x] Added/updated automated tests

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



https://github.com/user-attachments/assets/92a38e91-5b4b-456e-8c5e-1a8742748c39
2026-04-02 13:35:07 -03:00
Eric
e53daf4971
Website: add /jamf-alternative page (#42776)
Closes: https://github.com/fleetdm/fleet/issues/42538

Changes:
- Added a /jamf-alternative page
- Updated the banner on the homepage to go to the /jamf-alternative
page.
2026-04-02 11:27:37 -05:00
Tim Lee
824b617ccb
Fix FE lint failure (#42905) 2026-04-02 10:06:55 -06:00
Jordan Montgomery
5ced911c08
Add retry considerations to PR template and design/qa considerations (#42856)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Action items for #40725 postmortem

Added in both places because we should consider these things both when
working on bugs and drafting new features. #40725 happened because what
was thought to be a temporary state had no limits on retries

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-02 11:03:14 -05:00