From 6fce24c025f81a707fe4d71608471ff182a7ec65 Mon Sep 17 00:00:00 2001 From: JD Date: Mon, 23 Sep 2024 17:49:26 -0600 Subject: [PATCH] Article: Fleet 4.57.0 release (#22173) --- articles/fleet-4.57.0.md | 97 ++++++++++++++++++ .../articles/fleet-4.57.0-1600x900@2x.png | Bin 0 -> 52073 bytes 2 files changed, 97 insertions(+) create mode 100644 articles/fleet-4.57.0.md create mode 100644 website/assets/images/articles/fleet-4.57.0-1600x900@2x.png diff --git a/articles/fleet-4.57.0.md b/articles/fleet-4.57.0.md new file mode 100644 index 0000000000..4c9f959f9a --- /dev/null +++ b/articles/fleet-4.57.0.md @@ -0,0 +1,97 @@ +# Fleet 4.57.0 | Software improvements, policy automation, GitLab support. + +![Fleet 4.57.0](../website/assets/images/articles/fleet-4.57.0-1600x900@2x.png) + +Fleet 4.57.0 is live. Check out the full [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.57.0) or continue reading to get the highlights. +For upgrade instructions, see our [upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs. + +## Highlights +* Software improvements +* Policy automation: install software +* iPhone/iPad BYOD +* GitLab pipelines for GitOps + +### Software improvements + +Fleet allows admins to edit software items directly, offering greater control over software management across hosts. This feature allows IT teams to modify details such as software names or versions, ensuring the software inventory remains accurate and aligned with organizational needs. Additionally, Fleet has introduced the option to uninstall software from hosts, simplifying the removal of unwanted or outdated applications. + +For most cases, Fleet handles the uninstall process automatically, with the uninstall script conveniently located under “Advanced options.” However, Fleet stands out by allowing administrators to view and tweak the script if needed. This flexibility is beneficial when a host is in a unique state or the automatic uninstall process encounters issues. Fleet strives to provide full transparency into what’s under the hood, enabling IT teams to make necessary adjustments for specific scenarios. These updates enhance the efficiency of software management while maintaining flexibility, reflecting Fleet’s commitment to providing user-centric and adaptable solutions. + +### Policy automation: install software + +Admins can automatically trigger software installations when a policy fails, adding a proactive approach to maintaining compliance and security. This feature is handy when a device is found to have a vulnerable version of software installed. If a policy detects this vulnerability, Fleet can automatically install a secure, updated version of the software to remediate the issue and bring the host back into compliance. This automation helps IT teams address vulnerabilities quickly and efficiently, without manual intervention, ensuring that devices across the fleet remain secure and up-to-date. It highlights Fleet’s commitment to streamlining device management and enhancing security through automation. + +### iPhone/iPad BYOD + +Fleet now supports Bring Your Own Device (BYOD) enrollment for iPhone (iOS) and iPad (iPadOS) devices, providing organizations with a more flexible approach to managing employee-owned devices. This feature allows employees to enroll personal iPhones and iPads into Fleet’s Mobile Device Management (MDM) system, enabling IT teams to enforce security policies, manage configurations, and ensure compliance without needing complete control over the entire device. With BYOD enrollment, companies can balance security and privacy, seamlessly managing work-related configurations on personal devices while respecting the end user’s control over their personal data. This update enhances Fleet’s capabilities for managing various devices and supports organizations with modern, flexible workforce environments. + +### GitLab pipelines for GitOps + +Fleet now supports GitLab pipelines for its [GitOps integration](https://github.com/fleetdm/fleet-gitops), expanding the flexibility of how organizations manage their device configurations and policies through version control. With GitLab pipelines, IT teams can automate the deployment and management of Fleet configurations directly from their GitLab repositories, streamlining workflows and ensuring that changes are tracked, tested, and deployed consistently across their fleet. This integration enhances the automation and reliability of device management, enabling teams to adopt a more scalable and auditable approach to managing their Fleet environment. By supporting both GitLab and existing CI/CD tools, Fleet continues to empower organizations to implement modern, efficient workflows for managing configurations and policies. + +## Changes + +**NOTE:** Beginning with Fleet v4.55.0, Fleet no longer supports MySQL 5.7 because it has reached [end of life](https://mattermost.com/blog/mysql-5-7-reached-eol-upgrade-to-mysql-8-x-today/#:~:text=In%20October%202023%2C%20MySQL%205.7,to%20upgrade%20to%20MySQL%208.). The minimum version supported is MySQL 8.0.36. + +**Endpoint Operations** + +- Added support for configuring policy installers via GitOps. +- Added support for policies in "No team" that run on hosts that belong to "No team". +- Added reserved team names: "All teams" and "No team". +- Added support the software status filter for 'No teams' on the hosts page. +- Enable 'No teams' funcitonality for the policies page and associated workflows. +- Added reset install counts and cancel pending installs/uninstalls when GitOps installer updates change package contents. +- Added support for software installer packages, self-service flag, scripts, pre-install query, and self-service availability to be edited in-place rather than deleted and re-added. + +**Device Management (MDM)** + +- Added feature allowing automatic installation of software on hosts that fail policies. +- Added feature for end users to enroll BYOD devices into Fleet MDM. +- Added the ability to use Fleet to uninstall packages from hosts. +- Added an endpoint for getting an OTA MDM profile for enrolling iOS and iPadOS hosts. +- Added protocol support for OTA enrollment and automatic team assignment for hosts. +- Added validation of Setup Assistant profiles on profile upload. +- Added validation to prevent installing software on a host with a pending installation. +- Allowed custom SCEP CA certificates with any kind of extendedKeyUsage attributes. +- Modified `POST /api/latest/fleet/software/batch` endpoint to be asynchronous and added a new endpoint `GET /api/latest/fleet/software/batch/{request_uuid}` to retrieve the result of the batch upload. + +**Vulnerability Management** + +- Fixed a false negative vulnerability for git. +- Fixed false positive vulnerabilities for minio. +- Fixed an issue where virtual box for macOS wasn't matching against the NVD product name. +- Fixed Ubuntu python package false positive vulnerabilities by removing duplicate entries for ubuntu python packages installed by dpkg and renaming remaining pip installed packages to match OVAL definitions. + +**Bug fixes and improvements** + +- Updated Go to go1.23.1. +- Removed validation of APNS certificate from server startup. +- Removed invalid node keys from server logs. +- Improved the UX of turning off MDM on an offline host. +- Improved clarity of GitOps VPP app ID type errors. +- Improved gitops error message about enabling windows MDM. +- Improved messaging for VPP token constraint errors. +- Improved loading state for UI tables when no data is present yet. +- Improved permissions so that hosts can no longer access installers that aren't directly assigned to them. +- Improved verification of premium license before uploading VPP tokens. +- Added "0 items" description on empty software tables for UI consistency. +- Updated the macos target minimum version tooltip. +- Fixed logic to properly catch and log APNs errors. +- Fixed UI overflow issues with OS settings table data. +- Fixed regression for checking email used to get a signed CSR. +- Fixed bugs on enrollment profiles when the organization name contains invalid XML characters. +- Fixed an issue with cron profiles delivery failing if a Windows VM is enrolled twice. +- Fixed issue where Fleet server could start when an expired ABM certificate was provided as server config. +- Fixed self-service checkbox appearing when iOS or iPadOS app is selected. + + +## Ready to upgrade? + +Visit our [Upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs for instructions on updating to Fleet 4.57.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.57.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.57.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ec48ddd12ae989659546fb0944c8160c01d040b0 GIT binary patch literal 52073 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 C3X5_8 literal 0 HcmV?d00001