Repository navigation
Adding changes for Fleet v4.94.0 to main (#56880) - #56881
Conversation
|
No actionable comments were generated in the recent review.
|
There was a problem hiding this comment.
🟡 Changes recommended
Both changelogs need corrections to configuration support, enrollment-status mappings, the disk-space fix’s limitations, and the remaining pull-request token-exposure risk.
4 open issues
190 files not reviewed
changes/17506-gitops-workflow-run-from-main: Excluded by your content exclusion settingschanges/20260917-gitops-shellcheck.md: Excluded by your content exclusion settingschanges/28462-drag-and-drop-file-upload: Excluded by your content exclusion settingschanges/40092-android-credential-provider-policy.md: Excluded by your content exclusion settingschanges/42385-fma-vpp-path-support: Excluded by your content exclusion settingschanges/43897-windows-mdm-command-retention: Excluded by your content exclusion settingschanges/45130-windows-server-msrc-vulnerabilities: Excluded by your content exclusion settingschanges/46-mdm-sso-host-rebinding: Excluded by your content exclusion settingschanges/46422-show-query-modal-performance-impact: Excluded by your content exclusion settingschanges/46834-self-service-config-profiles: Excluded by your content exclusion settingschanges/47771-ca-crypto-shared-package: Excluded by your content exclusion settingschanges/47837-vulnerabilities-created-at-sort: Excluded by your content exclusion settingschanges/47904-multiple-app-store-app-versions: Excluded by your content exclusion settingschanges/48000-fma-missing-installer: Excluded by your content exclusion settingschanges/48032-vpp-1407-single-app-mode-copy: Excluded by your content exclusion settingschanges/48035-hide-policies-from-fleet-desktop: Excluded by your content exclusion settingschanges/48068-fma-manifest-background-fetch: Excluded by your content exclusion settingschanges/48091-device-path-without-token-404: Excluded by your content exclusion settingschanges/48203-form-validation-worst-offenders: Excluded by your content exclusion settingschanges/48218-fleet-enroll-secrets-gitops-exception: Excluded by your content exclusion settings
And 170 more.
What changed in this PR
Brings the Fleet 4.94.0 release notes and version settings from the release candidate branch to main.
Changes:
- Adds the 4.94.0 changelog covering administration, security, and bug fixes.
- Updates the Helm chart to v7.0.31 and its Fleet application version to v4.94.0.
- Aligns dogfood deployment images and the fleetctl npm package with v4.94.0.
| File | Description |
|---|---|
tools/fleetctl-npm/package.json |
Bumps fleetctl to v4.94.0. |
infrastructure/dogfood/terraform/gcp/variables.tf |
Updates the GCP dogfood image to v4.94.0. |
infrastructure/dogfood/terraform/aws/variables.tf |
Updates the AWS dogfood image to v4.94.0. |
charts/fleet/values.yaml |
Sets the default Fleet image tag to v4.94.0. |
charts/fleet/Chart.yaml |
Bumps chart and application versions. |
CHANGELOG.md |
Adds the Fleet 4.94.0 release section. |
Review effort: Balanced
| - Added an "Actions" column header on My device > Controls. | ||
| - Added a customizable end user agreement (EULA) for Windows. Admins can upload a markdown file of up to 512 KB in Settings > Integrations > MDM > End user license agreement, or set `windows_eula` in GitOps, and Fleet renders it as the terms page shown during Microsoft Entra and Autopilot enrollment. Tables with merged cells, underline, subscript and superscript can be written in HTML, as pandoc exports them from Word documents. When no file is uploaded Fleet keeps showing its default terms. Adding or deleting an agreement on either platform now creates an activity. | ||
| - Added a "Types" filter to the Software page, Host details, and My device software tables (`source` and `extension_for` query parameters on the list software titles, list software versions, get host's software, and get device's software endpoints), renamed software type labels, and replaced the macOS Applications / Full inventory dropdown with a "Show helpers" toggle. | ||
| - Changed Android app configuration to accept every Android Management API `ApplicationPolicy` field (e.g. `autoUpdateMode`, `permissionGrants`, `minimumVersionCode`) except `packageName` and `installType`, which Fleet sets itself. |
| - Added drag-and-drop support to every file upload surface in Fleet, including custom packages, configuration profiles, scripts, APNs certificate, ABM and VPP tokens, EULA, and bootstrap packages. | ||
| - Changed software install, uninstall, and cancellation activities on the dashboard and Host details page to show a title's per-fleet "Software name" override (when one is set) instead of the raw installer or App Store name. Activities recorded before this change, and titles without an override, keep the raw name. | ||
| - Changed host name templates to be re-applied automatically (up to 3 times) when a macOS, iOS, or iPadOS host is renamed on the device or rejects the rename, instead of marking the host as failed right away. Hosts currently marked as failed because they were renamed on the device are re-enforced after upgrading Fleet. | ||
| - Added the "On (personal)" MDM status for hosts enrolled with a Managed Apple Account or an Android work profile, separate from "On (manual - personal)" for hosts enrolled with a personal enrollment profile, with a matching `mdm_enrollment_status=manual-personal` filter and dashboard count. |
| - Changed the "Refetch host" API endpoints to return a `400` for Android hosts, which sync their data automatically and never refetch on demand, instead of a success response. Any pending refetch left on an Android host is cleared. | ||
| - Changed `GET /api/v1/fleet/hosts/:id/device_url` to return a 400 error instead of a 500 for iOS/iPadOS hosts that haven't enrolled in MDM yet. | ||
| - Hid the "My device" link on Host details for iOS/iPadOS hosts that aren't enrolled in MDM (Pending or Off) or when Fleet Premium isn't active. | ||
| - Changed the GitHub Actions workflow generated by `fleetctl new` so pull request dry runs use `pull_request_target`, which makes the workflow, action, and gitops script always run from the default branch. The pull request's configuration is checked out separately and used as data only, so a pull request can no longer modify them to read repository secrets. |
| - Fixed the Android stuck-command reconciler stopping on every run when a pending command from a previously connected Android Enterprise was at the head of the queue. Such commands are now skipped and marked as failed after 7 days. | ||
| - Fixed company-owned Android hosts showing MDM status "Pending" instead of "Off" after Android MDM is turned off. A migration corrects hosts that were already affected. | ||
| - Fixed Android host details keeping the original enrollment date after a device re-enrolled, and Android hosts never updating their last-seen time after they were first added. | ||
| - Fixed an Android host's disk space changing to "Not supported" after the device re-enrolls. Enrollment payloads carry no storage measurement, so Fleet now keeps the last known value until the next status report reports one. |

Related issue: Release QA #55454
Brings the Fleet 4.94.0 CHANGELOG section and version bumps from the release candidate branch to
main.-x. The 4.94.0 section and the chart,imageTag, dogfood Terraform, and fleetctl npm versions are byte-identical to the RC.mainafter the cut, so the pick conflicted on them. They are removed like the rest, and new changefiles are added for the twomain-only fixes behind those updates (Release a closed live report's Redis connection right away #56563 and Keep an Android host's disk space until it measures again after re-enrollment #55603) so they are reported in 4.95.0.Checklist for submitter
changes/,orbit/changes/oree/fleetd-chrome/changes. (This PR consumes changefiles and adds two formain-only fixes.)Testing
rc-minor-fleet-v4.94.0exactly.AI
AI: Claude Code (claude-fable-5-1)
Summary by CodeRabbit