From 9318d26e906336e7b37532fbff50b6b43bb4358a Mon Sep 17 00:00:00 2001 From: Noah Talerman <47070608+noahtalerman@users.noreply.github.com> Date: Fri, 17 Oct 2025 18:46:50 -0400 Subject: [PATCH] Release article: 4.75 (#34390) --- articles/fleet-4.75.0.md | 135 ++++++++++++++++++ .../articles/fleet-4.75.0-1600x900@2x.png | Bin 0 -> 52039 bytes 2 files changed, 135 insertions(+) create mode 100644 articles/fleet-4.75.0.md create mode 100644 website/assets/images/articles/fleet-4.75.0-1600x900@2x.png diff --git a/articles/fleet-4.75.0.md b/articles/fleet-4.75.0.md new file mode 100644 index 0000000000..3e53bea38b --- /dev/null +++ b/articles/fleet-4.75.0.md @@ -0,0 +1,135 @@ +# Fleet 4.75.0 | Omarchy Linux, Android configuration profiles, and more... + +
+ +
+ +Fleet 4.75.0 is now available. See the complete [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.75.0) or read on for highlights. For upgrade instructions, visit the [upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs. + +## Highlights + +- Arch Linux / Omarchy Linux +- Android configuration profiles +- Smallstep certificates +- Labels page +- Easy-to-read MDM commands + +### Arch Linux / Omarchy Linux + +Fleet now supports [Arch Linux](https://archlinux.org/) and [Omarchy](https://omarchy.org/) Linux. You can view host vitals like software inventory, run scripts, and install software. + +### Android configuration profiles + +You can now apply custom settings to work profiles on employee-owned (BYOD) Android hosts using configuration profiles. This lets you keep Android hosts compliant and secure. Learn how to create in [this video](https://www.youtube.com/watch?v=Jk4Zcb2sR1w). + +### Smallstep certificates + +Fleet now integrates with [Smallstep](https://smallstep.com/) as a certificate authority. You can deliver Wi-Fi/VPN [SCEP](https://en.wikipedia.org/wiki/Simple_Certificate_Enrollment_Protocol) certificates to macOS, iOS, and iPadOS hosts to automate secure network access for your end users. Learn more in [the guide](https://fleetdm.com/guides/connect-end-user-to-wifi-with-certificate#smallstep). + +### Labels page + +A new **Labels** page makes it easier to view and edit labels. You can find the new **Labels** page in Fleet by selecting your avatar in the top-right corner and selecting **Labels**. + +### Easy-to-read MDM commands + +Long MDM payloads and outputs are now easier to read and copy, thanks to a new vertical layout in the `fleetctl get mdm command` results. Learn more about fleetctl in [the guide](https://fleetdm.com/guides/fleetctl). + +## Changes + +### Security Engineers +- Added support for Smallstep certificate authority. +- Added false-positive filtering for Linux vulnerability scanning. +- Added support for Arch Linux hosts. +- Added software inventory ingestion from Arch Linux hosts. +- Added new rate limiting implementation for Fleet Desktop API endpoints to support all/many hosts of a deployment behind NAT (single IP). +- Added support for reading server `private_key` from AWS Secrets Manager. +- Added support for vulnerabilities feed CPE translation JSON to override `sw_edition` field. +- Added filter for removing duplicate RPM python packages and renaming pip packages to match OVAL definitions (same as Ubuntu). +- Added ability to specify a Fleet host ID when declaring a manual label in a Gitops YAML file. +- Added a dedicated page, table, and logical integrations with other parts of the UI for managing labels. + +### IT Admins +- Added configuration profile support for Android hosts. +- Added activity logging for Android profile creation, modification, and deletion. +- Added support for software installation during Windows setup experience. +- Added support for Arch Linux hosts. +- Added software inventory ingestion from Arch Linux hosts. +- Added support to `fleetctl` to generate `fleetd` installers for Arch Linux (`.pkg.tar.zst`). +- Added software name into checksum calculation for macOS apps. +- Added ability to specify a Fleet host ID when declaring a manual label in a Gitops YAML file. +- Added a dedicated page, table, and logical integrations with other parts of the UI for managing labels. +- Added OpenTelemetry instrumentation to scheduled jobs and several API endpoints. +- Added CRON job to reconcile Android profiles. +- Added retries with backoff when Apple's assets API fails with a timeout error. +- Added ability to unenroll personal iOS/iPadOS devices from Fleet. +- Added support for assigning host labels based on idP attributes for iOS and iPadOS hosts. +- Added ability to turn off MDM for iOS and iPadOS devices when refetcher returns device token is inactive. + > Note: The package will need to be updated out-of-band once, because the pre-removal script from previously-generated packages is called upon an upgrade. The old pre-removal script stopped Orbit unconditionally. +- Added support for hosts enrolled with Company Portal using the legacy SSO extension (for Entra's conditional access). + +### Other improvements and bug fixes +- Updated DEB and RPM packages generated by `fleetctl package` to now be safe to upgrade in-band through the Software page. +- Updated to return count in list host certificates API response, and use it in the certificate table. +- Updated setup experience to try software installs up to 3 times by default in case of intermittent failures. +- Modified the Apple profile reconciliation CRON logic to query for installs and removals within a transaction to avoid race conditions around team or label changes. +- Fixed inconsistent spacing in Controls OS settings headers. +- Validated setting `manual_agent_install` option on the server. +- Ignore warning when LastOpenedAt for software is nil on macOS. +- Improved install action tooltips and modals including timestamps to VPP successful installs. +- Changed the response code for UserAuthenticate checkin messages, which are unsupported, from a 5XX to "410 Gone" as specified in the Apple MDM protocol docs for servers that do not implement this method. +- Ensured UI consistency by adding a border to the empty state of End User Authentication section. +- Added easy to understand error messages when configuring Entra conditional access in Fleet. +- Updated docs for the `pwd_policy` table to better reflect the meaning of `days_to_expiration`. +- Improved the layout of the IdP-driven label form. +- Updated Hosts table > hostname column to truncate overflowing hostnames and place the full name in a tooltip on hover. +- Removed duplicate tar.gz copies of osqueryd and Fleet Desktop from built packages (DEB/RPM/PKG). +- Extended the number of errors Fleet looks for when determining whether we should invalidate the prepared statements cache. +- Updated instructions in Linux key escrow modal. +- Adjusted log level to "info" instead of "error" when Windows MDM endpoints generate client errors (e.g. empty binary security token). +- Disabled debug logging by default in `fleetctl preview` and reformatted login information. +- Improved handling of host details page label pills for labels with very long names. +- Modified Controls > OS settings > Custom settings so profile upload time is based on `updated_at` instead of `created_at`. +- Added check to GitOps command to throw error if positional arguments are detected. +- Added an error message when software is defined in a package YAML file in GitOps but some fields expected in that file were set at the team level. Previously, GitOps would silently ignore the fields set at the team level in this case. +- Updated the OS updates current versions empty state to match consistancy with other empty states. +- Updated message shown in the 'Delete Script' modal. +- Added a delay to the platform compatibility tooltip showing when creating or editing a query. +- Added error when uploading signed profiles instead of when trying to deliver them. +- Updated old end user migration workflow preview, and switch to video for product consistency. +- Replaced outdated Firefox icon with a new one that follows brand guidelines. +- Updated UI to make policy pass/fail icons and copy consistent across host details, my device, and manage policies tables. +- Removed the software renaming fix introduced in 4.73.3 due to MySQL DB performance issues. +- Optimized software ingestione rename functionality to generate less lock contention during high concurrency. +- Optimized ingestion of software names on macOS apps when vendor-supplied bundle executable names are unclear. +- Optimized software title reconciliation in vulnerabilities cron job. +- Revised macOS software ingestion to correctly show application names for Steam games instead of `run.sh`. +- Added logic to detect and fix migration issues caused by improperly published Fleet v4.73.2 Linux binary. +- Updated go to 1.25.1. +- Fixed inconsistent subtitle text style in Custom Settings. +- Fixed SentinelOne pkg generating wrong bundle identifier for auto-install policy. +- Fixed required query parameters using field name instead of parameter name in error messages +- Fixed a bug where blocking of VPP installs on personally enrolled Apple devices was not in place. +- Fixed edit teams action in VPP table dropdown not being blocked when Fleet is in GitOps mode. +- Fixed certificate ingest parser to no longer break on multiple equal signs in certificate key pair values. +- Fixed certificate ingest parser to allow for only multiple relative distinguished names separated by `+`. +- Fixed 422 error when hitting `/api/v1/fleet/commands` endpoint with team filter. +- Fixed deletion of conditional access integration by adding a spinner and clearing the tenant ID after the deletion. +- Fixed an issue on ChromeOS and Windows where the cursor in the SQL editor is misaligned. +- Fixed issue where "Controls" link in the top nav didn't always go to the default controls page. +- Fixed cases where Firefox ESR installations would have false-positive vulnerabilities reported that were backported to the ESR. +- Fixed clicking the currently selected navbar item would cause a full-page rerender. +- Fixed EULA path to be relative to the YAML file in `fleetctl gitops`, as it is for other settings. +- Fixed bundle identifier for privileges macos software pkg and fixed existing software installers to use corrected software title. The privileges application should show the correct status in software inventory. +- Fixed the reported version of fleetd on the Software tab for Linux hosts. +- Fixed invalid GET and DELETE requests that incorrectly included request bodies in client code, ensuring HTTP compliance. + +## Ready to upgrade? + +Visit our [Upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs to update to Fleet 4.75.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.75.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.75.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4829748fa3d3c1b8abd845af6f3aff4236ddf174 GIT binary patch literal 52039 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%0Dc(@QC(NS%CsYB=WWgFT% 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 literal 0 HcmV?d00001