From f596b9fabd944a29ba0cbc0584778f595fb2bfc0 Mon Sep 17 00:00:00 2001 From: Noah Talerman <47070608+noahtalerman@users.noreply.github.com> Date: Tue, 18 Feb 2025 17:34:40 -0500 Subject: [PATCH] Release article: Fleet 4.64.0 (#26306) Co-authored-by: Luke Heath Co-authored-by: Drew Baker <89049099+Drew-P-drawers@users.noreply.github.com> --- articles/fleet-4.64.0.md | 120 ++++++++++++++++++ .../articles/fleet-4.64.0-1600x900@2x.png | Bin 0 -> 52777 bytes 2 files changed, 120 insertions(+) create mode 100644 articles/fleet-4.64.0.md create mode 100644 website/assets/images/articles/fleet-4.64.0-1600x900@2x.png diff --git a/articles/fleet-4.64.0.md b/articles/fleet-4.64.0.md new file mode 100644 index 0000000000..17fa700903 --- /dev/null +++ b/articles/fleet-4.64.0.md @@ -0,0 +1,120 @@ +# Fleet 4.64.0 | Custom targets for software, Bash scripts, fleetctl for Linux ARM + +
+ +
+ +Fleet 4.64.0 is live. Check out the full [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.64.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 + +- Custom targets for software +- Bash scripts +- Fleetctl for Windows and Linux ARM + +### Custom targets for software + +IT admins can now install App Store apps only on macOS hosts that match specific labels. This allows for precise app deployment based host attributes like operating system (OS) version, hardware type, and more, ensuring the right apps reach the right devices. + +### Bash scripts + +Fleet now supports running Bash scripts (`#!/bin/bash`) on macOS and Linux. IT teams can execute scripts with ["bashisms"](https://mywiki.wooledge.org/Bashism) instead of rewriting these scripts to run in Z shell (Zsh). + +Also, IT admins can now edit scripts within the Fleet UI. This eliminates the need to download, modify, and re-upload scripts, making it faster to fix typos or make small adjustments on the fly. + +### Fleetctl for Windows and Linux ARM + +Fleet users with Window or Linux ARM workstations can now use the fleetctl command-line interface (CLI) to run scripts, queries, and more. This expands Fleet’s CLI capabilities, allowing users to manage hosts on their preferred operating system (OS). Learn more about fleetctl [here](https://fleetdm.com/guides/fleetctl). + +## Changes + +### Device management (MDM) +- Included current host status and pending action in lock, unlock, and wipe API calls. +- Disk encryption keys are now archived when they are created or updated. They are never fully deleted from the database. +- Hosts that are restored from ABM no longer have old activities in their feed. + +### Orchestration +- Added bash interpreter support for script execution. +- Updated the activities feed with new design. +- Added `fleetctl` on Linux ARM binary to releases. +- Added clearer error states to metadata-related fields in the SSO settings form. +- Enforced consistency of on-click behavior of table rows. +- Added gzip compression for static CSS and JS assets to decrease bundle download times. +- Added API endpoint for updating script contents. +- Implemented various UI improvements to the scripts list. +- Added option to populate users and labels on list hosts endpoint. +- Checked the server for validity of any Fleet invites on load. +- Updateed user form validation to require a password be present when switching a user from SSO to password authentication. +- Updated the way new manual labels are created to better support adding large numbers of hosts at one time. +- Replaced "Include Fleet desktop" with host type radio selection buttons when adding Windows or Linux hosts. +- Disabled webhooks if not present in gitops. + +### Software +- Added ability to target app store apps with include/exclude labels. +- Added ability to edit targets or self service option for app store apps. +- Added details modal for add, edit, and delete app store app global activities. +- Added modal to edit script contents. +- Added download url for fleet maintained apps as `url` property on `fleet/software/fleet_maintained_apps/:id`. +- Added "exclude_fleet_maintained_apps" option to `GET /api/v1/fleet/software/titles`. +- Surfaced download URL for Fleet-maintained app when adding the software to Fleet. +- Surfaced cleaner errors when adding Fleet-maintained apps. +- Revised software installer package validation to mark installers with no version as "unknown" for version rather than rejecting them. +- Resolved false negatives on vulnerabilities for IntelliJ IDEA Community Edition on Windows. +- Resolved false-positives for the `pass` Homebrew package and `jira` Python package via a vulnerability feed update available to all Fleet versions on 2025-01-22. +- Fixed a false negative vulnerability reporting for iTerm2 (available to all recent Fleet releases as of January 17th via a vulnerability feed update). + +### Bug fixes and improvements +- Removed duplicate Linux lock and wipe scripts from repository. +- Clarified text on the policies and queries pages when no policies/queries exist for the selected team (or All Teams). +- Updated the help text for 3 tabs of the Add hosts modal. +- Improved the look and feel of dropdowns in the UI. +- Improved look and feel of dashboard host count cards including hiding platforms with 0 count. +- Added util wrapper func around semver package to allow for custom preprocessing. Upgraded semver library to 3.3.1 and usage everywhere to version 3. +- Added link to information about installing fleetd when packages are generated. +- Optimized software ingestion queries to use existing DB indexes in the software titles table. +- Normalized padding spacing for list headers, lists, and help text across various modals. +- Removed the resend button for failed windows disk encryption profiles and add messaging that tells the user that Fleet with automatically retry this profile again. +- Refactored upstream error logic to allow disabling submit button when form errors are present. +- Improved the verified and verifying tooltips on the Profile Status on OS settings page. +- Improved settings context so that user's updates to the team agent options form when they navigate away and back again. +- Improved the teams dropdown so that it gracefully hides overflow from long team names. +- Updated the os settings Target form deadline input tooltip to make it more clear how the deadline works for hosts. +- Updated language in query comppatibility tooltip to clarify that compatibility is based only on tables. +- Optimized logging by ensuring illegal argument errors will no longer be logged at the ERROR level on the server. Since these are client errors, they will be logged at the DEBUG level instead. This will reduce the amount of noise in the server logs and help debugging other issues. +- Raised the frequency of sending anonymous statistics from every 24 hours to every 1 hour. +- Bumped Node.js version to 20.18.1. +- Bumped github cache action to 4.2.0. +- Added server debug logging for unexpected Apple DDM configuration status. +- Removed `fleetctl` binary from the `fleetdm/fleet` docker image. +- Removed erroneous "manage automations" link on dashboard for maintainers. +- Fixed window profiles error message being cut off in the OS settings modal. +- Fixed user page responsiveness to not overflow horizontally. +- Fixed case consistency for "Disk encryption" in host OS settings modal. +- Fixed styling for manage automation buttons and dropdown. +- Fixed a bug where query reports where not being recorded for hosts configured with `--logger_snapshot_event_type=true`. +- Fixed incorrect source value in device mapping REST API documentation. +- Fixed a bug in Fleet's handling of VPP token renewal requests. +- Fixed mail being sent with the incorrect SMTP Domain (thank you @mccormickt). +- Fixed filtering by vulnerable software for ios or ipad host. +- Fixed issue where some Windows MDM profiles were not being sent to hosts when hosts came back online. +- Fixed a bug where adding or removing a host with an identical name to/from a label caused the same action to be performed on other host(s) with the same name as well. +- Fixed Windows MDM issue where SessionID of 0 was not allowed. +- Fixed a bug with paginating team policies. +- Fixed a bug "software not found for checksum" in software ingestion transaction retries. +- Fixed issue with Windows disk encryption where status updates from "Verifying" to "Verified" were sometimes stuck in the "Verifying" state. +- Fixed a bug where server errors returned from the API were not successfully being incorporated into the user form error states. +- Fixed a bug where team admins are unable to enable or disable MFA for a user. +- Fixed a bug where only the first of multiple software titles with the same name and source but different bundle IDs would be successfully inserted into the database. +- Fixed issue verifying Windows CSP profiles that contain ADMX policies. + +## 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.64.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.64.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.64.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0b2678041004c0d3f4df38a103d4374e96704740 GIT binary patch literal 52777 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
  • _@m-r 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 F{{dA8Y}o(+ literal 0 HcmV?d00001