diff --git a/CHANGELOG.md b/CHANGELOG.md index ac4301c2e9..c7115220bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## Fleet 4.47.2 (Mar 22, 2024) + +### Bug fixes + +* Fixed false negative vulnerabilities on macOS Homebrew Python packages. +* Fixed policies to check "disable guest user". +* Resolved the issue where Microsoft Edge was not reporting vulnerabilities. + ## Fleet 4.47.1 (Mar 18, 2024) ### Bug fixes diff --git a/changes/16345-disabled-checkbox-tooltip b/changes/16345-disabled-checkbox-tooltip new file mode 100644 index 0000000000..5e83ded1e1 --- /dev/null +++ b/changes/16345-disabled-checkbox-tooltip @@ -0,0 +1 @@ +- UI fix: users can see a tooltip on a disabled checkbox diff --git a/changes/17534-improve-error-states-org-settings b/changes/17534-improve-error-states-org-settings new file mode 100644 index 0000000000..6fdff36d01 --- /dev/null +++ b/changes/17534-improve-error-states-org-settings @@ -0,0 +1,2 @@ +- Fix error state rendering on the global Host status expiry settings page, fix error state + alignment for tooltip-wrapper field labels across organization settings. diff --git a/changes/17562-windows-server-2019-os-details b/changes/17562-windows-server-2019-os-details new file mode 100644 index 0000000000..e3aa773a03 --- /dev/null +++ b/changes/17562-windows-server-2019-os-details @@ -0,0 +1 @@ +- Fixed a bug where OS version information would not get detected on Windows Server 2019 diff --git a/charts/fleet/Chart.yaml b/charts/fleet/Chart.yaml index d17e312c04..92a097ab51 100644 --- a/charts/fleet/Chart.yaml +++ b/charts/fleet/Chart.yaml @@ -8,7 +8,7 @@ version: v6.0.2 home: https://github.com/fleetdm/fleet sources: - https://github.com/fleetdm/fleet.git -appVersion: v4.47.1 +appVersion: v4.47.2 dependencies: - name: mysql condition: mysql.enabled diff --git a/charts/fleet/values.yaml b/charts/fleet/values.yaml index a4e2f3b816..5c9e45f593 100644 --- a/charts/fleet/values.yaml +++ b/charts/fleet/values.yaml @@ -2,7 +2,7 @@ # All settings related to how Fleet is deployed in Kubernetes hostName: fleet.localhost replicas: 3 # The number of Fleet instances to deploy -imageTag: v4.47.1 # Version of Fleet to deploy +imageTag: v4.47.2 # Version of Fleet to deploy podAnnotations: {} # Additional annotations to add to the Fleet pod serviceAccountAnnotations: {} # Additional annotations to add to the Fleet service account resources: diff --git a/docs/Contributing/Releasing-Fleet.md b/docs/Contributing/Releasing-Fleet.md index c75d9c25d9..f3f928fc86 100644 --- a/docs/Contributing/Releasing-Fleet.md +++ b/docs/Contributing/Releasing-Fleet.md @@ -113,7 +113,7 @@ When the Actions Workflow has been completed, [publish the new version of Fleet] 2. Check the [Docker Publish GitHub action](https://github.com/fleetdm/fleet/actions/workflows/goreleaser-snapshot-fleet.yaml) to confirm it completes successfully for this branch. -3. Create a [Release QA](https://github.com/fleetdm/fleet/blob/main/.github/ISSUE_TEMPLATE/smoke-tests.md) issue. Populate the version and browsers, and assign to the QA person leading the release. Add the appropriate [product group label](https://fleetdm.com/handbook/company/product-groups), and `:release` label, so that it appears on the product group's release board. +3. Create a [Release QA](https://github.com/fleetdm/fleet/blob/main/.github/ISSUE_TEMPLATE/release-qa.md) issue. Populate the version and browsers, and assign to the QA person leading the release. Add the appropriate [product group label](https://fleetdm.com/handbook/company/product-groups), and `:release` label, so that it appears on the product group's release board. 4. Notify QA that the release candidate is ready for (release QA)[#complete-release-qa]. diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index 671831ccb5..2358f62050 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -2518,7 +2518,7 @@ Returns the information of the specified host. Returns the information of the host specified using the `uuid`, `hardware_serial`, `osquery_host_id`, `hostname`, or `node_key` as an identifier. -If `hostname` is specified when there is more than one host with the same hostname, the endpoint returns the first matching host. +If `hostname` is specified when there is more than one host with the same hostname, the endpoint returns the first matching host. In Fleet, hostnames are fully qualified domain names (FQDNs). `GET /api/v1/fleet/hosts/identifier/:identifier` @@ -7372,7 +7372,7 @@ This allows you to easily configure scheduled queries that will impact a whole t - [Run script](#run-script) - [Get script result](#get-script-result) -- [Run live script](#run-script) +- [Run live script](#run-live-script) - [Upload a script](#upload-a-script) - [Delete a script](#delete-a-script) - [List scripts](#list-scripts) diff --git a/docs/Using Fleet/MDM-macOS-setup.md b/docs/Using Fleet/MDM-macOS-setup.md index 976eda7c57..d19c5fc9c6 100644 --- a/docs/Using Fleet/MDM-macOS-setup.md +++ b/docs/Using Fleet/MDM-macOS-setup.md @@ -30,6 +30,8 @@ For the MDM protocol to function, we need to generate the four following files: The APNs certificates serve as authentication between Fleet and Apple, while the SCEP certificates serve as authentication between Fleet and hosts. +> To prevent abuse, please use your work email. If your email isn't accepted, please make sure it's not on this [list of blocked emails].(https://github.com/fleetdm/fleet/blob/d5df23964b0b52f1d442b66ffe4451dc2a9ef969/website/api/controllers/deliver-apple-csr.js#L60) + Use either of the following methods to generate the necessary files: #### Fleet UI diff --git a/ee/vulnerability-dashboard/assets/dependencies/moment.js b/ee/vulnerability-dashboard/assets/dependencies/moment.js index 9428c66bb9..98e2e91970 100644 --- a/ee/vulnerability-dashboard/assets/dependencies/moment.js +++ b/ee/vulnerability-dashboard/assets/dependencies/moment.js @@ -680,7 +680,7 @@ function getParseRegexForToken (token, config) { // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript function unescapeFormat(s) { - return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return regexEscape(s.replace(/\\/g, '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { return p1 || p2 || p3 || p4; })); } @@ -1477,9 +1477,9 @@ function localeWeekdaysParse (weekdayName, format, strict) { mom = createUTC([2000, 1]).day(i); if (strict && !this._fullWeekdaysParse[i]) { - this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i'); - this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i'); - this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i'); + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); } if (!this._weekdaysParse[i]) { regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); diff --git a/frontend/components/forms/fields/Checkbox/Checkbox.tsx b/frontend/components/forms/fields/Checkbox/Checkbox.tsx index 8380b4279c..83ddcb43be 100644 --- a/frontend/components/forms/fields/Checkbox/Checkbox.tsx +++ b/frontend/components/forms/fields/Checkbox/Checkbox.tsx @@ -55,21 +55,26 @@ const Checkbox = (props: ICheckboxProps) => { className, baseClass ); + + const checkBoxTickClass = classnames(`${baseClass}__tick`, { + [`${baseClass}__tick--disabled`]: disabled, + [`${baseClass}__tick--indeterminate`]: indeterminate, + }); + + const checkBoxLabelClass = classnames(checkBoxClass, { + [`${baseClass}__label--disabled`]: disabled, + }); + const formFieldProps = { ...pick(props, ["helpText", "label", "error", "name"]), className: wrapperClassName, type: "checkbox", } as IFormFieldProps; - const checkBoxTickClass = classnames(`${checkBoxClass}__tick`, { - [`${checkBoxClass}__tick--disabled`]: disabled, - [`${checkBoxClass}__tick--indeterminate`]: indeterminate, - }); - return ( <> -