From f4fe03e1ca8ba1be798dccad4dd60571736d7e2a Mon Sep 17 00:00:00 2001 From: Noah Talerman <47070608+noahtalerman@users.noreply.github.com> Date: Mon, 6 Oct 2025 18:04:05 -0400 Subject: [PATCH] Release article: 4.74.0 (#33716) --- articles/fleet-4.74.0.md | 111 ++++++++++++++++++ .../articles/fleet-4.74.0-1600x900@2x.png | Bin 0 -> 51343 bytes 2 files changed, 111 insertions(+) create mode 100644 articles/fleet-4.74.0.md create mode 100644 website/assets/images/articles/fleet-4.74.0-1600x900@2x.png diff --git a/articles/fleet-4.74.0.md b/articles/fleet-4.74.0.md new file mode 100644 index 0000000000..ed3b460fe9 --- /dev/null +++ b/articles/fleet-4.74.0.md @@ -0,0 +1,111 @@ +# Fleet 4.74.0 | Custom software icons, batch script details, and more... + +
+ +
+ +Fleet 4.74.0 is now available. See the complete [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.74.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 + +- Custom software icons +- Batch script details +- Linux setup experience +- Self-service software intrucutions +- AWS IAM autnetication for MySQL and Redis + +### Custom software icons + +IT Admins can now add custom icons for software. This makes it easier for end users to visually identify and install the tools they need from self-service. Learn more in the [self-service software guide](https://fleetdm.com/guides/software-self-service). + +### Batch script details + +A new page gives you a full view of all batch scripts that are scheduled or running. No more hunting for script statuses, output, and errors across individual hosts' **Host details** pages. Now it’s all in one place. Learn more in the [scripts guide](https://fleetdm.com/guides/scripts#batch-execute-scripts). + +### Linux setup experience + +You can now install required software as part of your Linux setup process and show live progress to the end user. This ensures new Linux workstations are ready for day one, with less needing manual setup. Learn more in the [Linux setup experience guide](https://fleetdm.com/guides/windows-linux-setup-experience). + +### Self-service software intructions + +Fleet now includes default launch instructions for software in the **My device > Self-service** tab. End users get simple tips on how to open installed apps (e.g., “Finder > Applications” on macOS), reducing confusion and helping them get started faster. + +### AWS IAM autnetication for MySQL and Redis + +Companies that self-host Fleet can now use IAM (Identity and Access Management) authentication for MySQL and Redis. This lets use short-lived credentials to algin with AWS best practices. Learn how to configure in the [Fleet server configuration reference](https://fleetdm.com/docs/configuration/fleet-server-configuration#mysql). + +## Changes + +### Security Engineers +- Added support for Hydrant as a Certificate Authority and added an experimental API that can be used to have Fleet request a certificate from a Hydrant. +- Added a check to disallow FLEET_SECRET variables in Apple configuration profile `` fields for security. +- Added `/batch/{batch_execution_id:[a-zA-Z0-9-]+}/host-results` API endpoint to list hosts targeted in batch. +- Added `POST /api/v1/fleet/configuration_profiles/batch` API endpoint to batch modify MDM configuration profiles. +- Added a new page in the UI for batch script run details. +- Added support for AWS RDS (MySQL) IAM authentication. +- Added support for AWS ElastiCache (Redis) IAM authentication. +- Added support for hosts enrolled with Company Portal using the legacy SSO extension for Entra's conditional access. + +### IT Admins +- Added setup experience software items for Linux devices. +- Added API endpoints for Linux setup experience. + - Device API endpoints for fleetd: `POST /api/fleet/orbit/setup_experience/init` and `POST /api/v1/fleet/device/{token}/setup_experience/status`. + - `PUT /api/v1/fleet/setup_experience/software` and `GET /api/v1/fleet/setup_experience/software` now have a `platform` argument (`linux` or `macos`, defaults to `macos`). +- Added IdP `fullname` attribute as a valid Fleet variable for Apple configuration profiles. +- Added the username of the managed user account user-scoped profiles are delivered to for macOS hosts. +- Enabled configuring webhook and ticket policy (Jira/Zendesk) automations for "No team". +- Added support for writing multiple packages in a single GitOps YAML file included under `software.packages`. +- Moved `self_service`, `labels_include_any`, `labels_exclude_any`, `categories`, and `setup_experience` declarations to team level for software in GitOps; `setup_experience` can now be set on a software package, Fleet Maintained App, or App Store app. +- Changed `GET /host/:id` to return an empty array for `software` field when `exclude_software=true`. +- Updated `generate-gitops` command to output filenames with emojis and other special characters where applicable. +- Added a Fleet-maintained app for macOS: Omnissa Horizon Client. +- Added opening instructions to self-service macOS apps and Windows programs. + +### Other improvements and bug fixes +- Added index to `distributed_query_campaign_targets` table to speed up DB performance for live queries. +> **WARNING:** For deployments with millions of rows in `distributed_query_campaign_targets`, the database migration to add the index may take significant time. We recommend testing migration duration in a staging environment first. The initial cleanup of old campaign targets will occur progressively over multiple hours to avoid database overload. +- Added clean up of live query campaign targets 24 hours after campaign completion. This keeps the DB size in check for performance of large and frequent live query campaigns. +- Improved OpenTelemetry integration to add tracing to async tasks (host seen, labels, policies, query stats) and improve HTTP span naming, enabled gzip compression, reduced batch size to prevent gRPC errors. +- Updated output from `packages_only=true` so that it only returns software with available installers. +- Added tarballs summary card back into UI. +- Improved the sorting of batch scripts in the Batch Progress UI. Batches in the "started" state now sort by started date, and batches in the "finished" state now sort by the finished date. +- Removed inaccurate host count timestamp on the software version details page. +- Downgraded "distributed query is denylisted" error to a warning on the Fleet server since this message indicates a likely issue on the host and not the server. We will surface this issue in the UI in the future. +- Improved performance for YARA rules: when modifying config (`PATCH /api/latest/fleet/config`) with a large number of yara rules and when large numbers of hosts fetch rules via /api/osquery/yara/{name} endpoint. +- Improved performance when updating multiple policies in the UI. The policies are now updated in series to reduce server/DB load. +- Added user icon to OS settings custom profiles on host details page if they are user scoped. +- Added clearer error messages when a new password doesn't meet the password criteria. +- Removed extra spacing from under disk encryption table. +- Updated `fleetctl get mdm-command-results` to show output in a vertical format instead of a table. +- Optimized os_versions API response time. +- Added logic to detect and fix migration issues caused by improperly published Fleet v4.73.2 Linux binary. +- Refactored ApplyQueries DS method so that queries are upserted in batches, this was done to avoid deadlocks during large gitops runs. +- Refactored the way failing policies are computed on host details endpoint to avoid discrepancies due to read replica delays and async computation. +- Refactored PATH fleet/config endpoint to use the primary DB node for both persisting changes and fetching modified App Config. +- Fixed missing ticket integration options in Policies -> Other workflows modal for teams. +- Fixed deduplicating bug in UI to only count unique vulns when counting software title vulnerabilities across versions in various software title vulnerabilities count, and host software title vulnerabilities count. +- Fixed cases where the default auto-install policy for .deb packages would treat installed-then-uninstalled software as still installed. +- Fixed the message rendered from user_failed_login global activities on the Activity feed if the email is not specified. +- Fixed fleetctl printing binary data to terminal in debug mode. +- Fixed a bug where incorrect CVEs were received from MSRC feed. +- Fixed Fleet-installed host count not updating after software is installed over an older version. +- Fixed UI issue in the Dashboard page. The software card is now rendered while content is been fetched to avoid the layout to jump around. +- Fixed error when updating a script to exactly match the contents of another script. +- Fixed an issue where string concatenations in a LIKE expression caused a syntax error in the query editor. +- Fixed `fleetctl gitops` issue uploading an Apple configuration profile with a FLEET_SECRET in a `` field. +- Fixed Linux lock script on Ubuntu with GDM to now switch UI to text mode to work around GUI issues. +- Fixed Google Cloud Storage (GCS) support broken since Fleet 4.71.0 by implementing a workaround for AWS Go SDK v2 signature compatibility issues with GCS endpoints. +- Fixed banner link colors in UI. +- Fixed an alignment issue on the My device page. +- Fix deadlocks when updating automations for 10+ policies at one time. + +## Ready to upgrade? + +Visit our [Upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs to update to Fleet 4.74.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.74.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.74.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cfaea04bc398688d30969bd628d87509b490c187 GIT binary patch literal 51343 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

|kd=+s*TxI(--P<2|_HedN;+4;!BP(;6fORc{B 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 &^cR$O&Bdp8+rH@vdKn^qMng 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 literal 0 HcmV?d00001