Skip to content

Commit fbe18d6

Browse files
Merge branch 'main' into allenhouchins-add-spotify
2 parents 671d712 + e955128 commit fbe18d6

File tree

421 files changed

+13440
-1620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

421 files changed

+13440
-1620
lines changed

.github/ISSUE_TEMPLATE/release-qa.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Release QA
33
about: Checklist of required tests prior to release
44
title: 'Release QA:'
55
labels: '#g-mdm,#g-orchestration,#g-software,#g-security-compliance,:release'
6-
assignees: 'xpkoala,pezhub,jmwatts,andreykizimenko'
6+
assignees: 'xpkoala,jmwatts,andreykizimenko'
77

88
---
99

@@ -70,6 +70,13 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
7070

7171
</td><td>pass/fail</td></tr>
7272

73+
<tr><td>GitOps and generate-gitops</td><td>
74+
75+
1. `fleetctl generate-gitops` from a version-matched fleetctl successfully outputs YAML from a brand new Fleet server (net of auto-populated teams etc.).
76+
2. Running GitOps succeeds on the files created in the previous step, either using the `gitops.sh` script directly (from the `fleet-gitops` repo) or by using the GitOps GitHub or GitLab workflow (attempting via one of these three is sufficient).
77+
78+
</td><td>pass/fail</td></tr>
79+
7380
</table>
7481

7582
### MDM

.github/workflows/fleet-and-orbit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,8 @@ jobs:
219219
# Here we generate the Fleet Desktop and osqueryd targets for
220220
# macOS which can only be generated from a macOS host.
221221
build-macos-targets:
222-
# Set macOS version to '13' for building the binary as Fleet's minimum supported macOS version.
223-
runs-on: macos-13
222+
# Set macOS version to '14' for building the binary as Fleet's minimum supported macOS version.
223+
runs-on: macos-14
224224
steps:
225225
- name: Harden Runner
226226
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0

.github/workflows/generate-desktop-targets.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ jobs:
2929
echo "FLEET_DESKTOP_VERSION=$VERSION" >> "$GITHUB_OUTPUT"
3030
3131
desktop-macos:
32-
# Set macOS version to '13' (previously was macos-12, and it was deprecated) for
33-
# building the binary. This ensures compatibility with macOS version 13 and
34-
# later, avoiding runtime errors on systems using macOS 13 or newer.
35-
runs-on: macos-13
32+
# Set macOS version to '14' (previously was macos-12/13 until they were deprecated) for
33+
# building the binary. This ensures compatibility with macOS version 14 and
34+
# later, avoiding runtime errors on systems using macOS 14 or newer.
35+
runs-on: macos-14
3636
needs: set-version
3737
steps:
3838
- name: Harden Runner

.github/workflows/loadtest-osquery-perf.yml

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,19 @@ on:
77
description: "Terraform workspace that you will be deploying to."
88
type: string
99
required: true
10-
tag:
11-
description: "Tag for osquery-perf deployment"
12-
type: string
13-
default: "v4.72.0"
14-
required: true
15-
git_branch:
16-
description: "git branch for osquery-perf deployment"
10+
git_tag_branch:
11+
description: "git Tag or Branch to use for osquery-perf deployment"
1712
type: string
1813
default: "main"
1914
required: true
2015
loadtest_containers:
21-
description: "Count of osquery-perf tasks to run"
16+
description: "Deploys osquery-perf containers all at once. Total number of osquery-perf tasks to run (should be a multiple of 8, if setting loadtest_containers_starting_index). This is also used as the end index in enroll.sh"
2217
type: string
2318
required: true
19+
loadtest_containers_starting_index:
20+
description: "Optional: Starting Index for enroll.sh (should be a multiple of 8)."
21+
type: string
22+
required: false
2423
extra_flags:
2524
description: "Extra flags for osquery-perf. Example: [\"--orbit_prob\", \"0.0\"]"
2625
type: string
@@ -52,8 +51,7 @@ env:
5251
TF_ACTIONS_WORKING_DIR: infrastructure/loadtesting/terraform/osquery_perf
5352
TF_VAR_extra_flags: "${{ inputs.extra_flags || '[]' }}"
5453
TF_VAR_loadtest_containers: "${{ inputs.loadtest_containers }}"
55-
TF_VAR_tag: "${{ inputs.tag }}"
56-
TF_VAR_git_branch: "${{ inputs.git_branch }}"
54+
TF_VAR_git_tag_branch: "${{ inputs.git_tag_branch }}"
5755

5856
permissions:
5957
id-token: write
@@ -145,7 +143,12 @@ jobs:
145143
if [[ `terraform workspace show` = "${{ inputs.terraform_workspace }}" ]];
146144
then
147145
echo "TERRAFORM WORKSPACE: MATCHES - ${{ inputs.terraform_workspace }}"
148-
terraform apply -auto-approve
146+
if [[ ${{ inputs.loadtest_containers_starting_index}} -gt "0" ]];
147+
then
148+
./enroll.sh ${{ inputs.git_tag_branch }} ${{ inputs.loadtest_containers_starting_index}} ${{ inputs.loadtest_containers }}
149+
else
150+
terraform apply -auto-approve
151+
fi
149152
else
150153
echo "TERRAFORM WORKSPACE: DOES NOT MATCH INPUT - ${{ inputs.terraform_workspace }}"
151154
fi
@@ -202,4 +205,4 @@ jobs:
202205
fi
203206
else
204207
echo "TERRAFORM WORKSPACE: DOES NOT MATCH INPUT - ${{ inputs.terraform_workspace }}"
205-
fi
208+
fi

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ frontend/coverage
3030
# typescript generated test files
3131
tmp/
3232

33+
# test debug files
34+
debug.test*
35+
3336
# operating system artifacts
3437
.DS_Store
3538

CHANGELOG.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,70 @@
1+
## Fleet 4.76.0 (Nov 7, 2025)
2+
3+
### Security Engineers
4+
- Added support for software inventory on Android hosts.
5+
- Added support for npm packages in software inventory and vulnerability matching for macOS and Linux hosts.
6+
- Added support for JetBrains inventory on hosts.
7+
- Added vulnerbaility detection in JetBrains plugins.
8+
- Added support for VSCode fork (Cursor, Windsurf, VSCodium, VSCodium Insiders, and Trae) extensions in software inventory.
9+
- Added Santa tables to fleetd.
10+
11+
### IT Admins
12+
- Added ability to install software for iOS and iPadOS hosts during the setup experience.
13+
- Added ability to specify VPP apps for automatic installation during ADE iOS and iPadOS host enrollment.
14+
- Added the ability to lock iOS and iPadOS devices through lost mode.
15+
- Added support for locking and unlocking iOS and iPadOS devices from the UI.
16+
- Added configuration option to setup experience for macOS hosts to halt if any software install fails.
17+
- Added `gigs_all_disk_space` vital collection, storage, service, and UI rendering for Linux hosts.
18+
- Added new server config flag for specifying the cleanup age for completed distributed targets.
19+
20+
### Other improvements and bug fixes
21+
- Added link component shown in the host column to the host details page.
22+
- Added flash warning when an unauthorized user tries to access teams settings.
23+
- Added descriptive error in cases of manual MacOS profile download failure.
24+
- Updated the MacOS setup experience to use the new web UI.
25+
- Updated the UI for adding new scripts to the scripts library.
26+
- Changed display logic for the organization logo component on the My Device page to prevent flickering.
27+
- Improved performance of `/api/latest/fleet/os_versions` endpoint, especially for deployments with Linux hosts.
28+
- Optimized MySQL queries on `/api/latest/fleet/vulnerabilities` and `/api/latest/fleet/software/versions` to improve performance for Fleet UI use cases.
29+
- Optimized `/config` API endpoint to use the primary DB node for both persisting changes and fetching modified app config.
30+
- Improved live query response times by adding a new server config flag for specifying the cleanup age for completed distributed targets.
31+
- Improved query performance by using a lighter-weight query for checking if a team is enabled for conditional access.
32+
- Changed license warning to only show one time during GitOps runs.
33+
- Updated to allow setting an org support url to use the "file" protocol in the url.
34+
- Changed the default name of Host Identity CA to 'Fleet Host Identity CA' to avoid conflict with Fleet's Apple MDM CA.
35+
- Updated host details run script user flows to include a confirmation step.
36+
- Applied singular word form to GitOps log messages when a single entity is referenced in the message.
37+
- Updated the "Setting up your device" page to show status of setup script run.
38+
- Deprecate `browser` in favor of `extension_for` in API responses and JSON/YAML outputs.
39+
- Added migration to clear the `platform` field on all _builtin_ labels.
40+
- Added migration to relink missing SCIM user data to hosts.
41+
- Updated host certificate renewal flow for NDES, Smallstep, custom scep proxy CAs to support $FLEET_VAR_SCEP_RENEWAL_ID in the OU field rather than CN.
42+
- Updated device mapping API to allow an "idp" source to manually set IDP user mappings.
43+
- Updated styling to be more consistent in edit policies view for FireFox.
44+
- Replaced outdated Firefox icon with a new one that follows brand guidelines.
45+
- Allowed testing a new or edited policy query via live query while in GitOps Mode.
46+
- Fixed missing "failed" VPP app install activities when installation is canceled due to MDM being turned off for a host.
47+
- Fixed bug where uploading a software installer failed because it was "not found in the datastore".
48+
- Fixed missing aboslute timestamp tooltips on script creation date in script list, query modification date in query list.
49+
- Fixed bug with the ChangeManagement component where the GitOps checkbox local UI state was being reset due to GET request after PATCH request.
50+
- Fixed MySQL deadlocks when multiple hosts are updating their certificates in host vitals at the same time.
51+
- Fixed an issue where longer variable names ($FLEET_VAR_HOST_END_USER_IDP_USERNAME_LOCAL_PART) with the same base ($FLEET_VAR_HOST_END_USER_IDP_USERNAME) was not processed in the right order.
52+
- Fixed UI bug where "Show disk encryption key" option was incorrectly displayed for hosts enrolled with a third-party MDM solution.
53+
- Fixed WhatsApp and VS Code icons not displaying correctly
54+
- Fixed bad software ingestion debug message and added filter for invalid software with missing names.
55+
- Fixed a bug where a software installer could be installed in the same team and same platform (macOS) where an App Store app already existed for the same software title, and vice-versa (App Store app added when a sofware package already existed, this one was only possible just via `fleetctl gitops`).
56+
- Fixed listing hosts with `populate_software` not returning hash_sha256 for macos apps.
57+
- Fixed bug where batch setting MDM profiles could cause a nil pointer dereference when processing an invalid profile (e.g., cannot parse mobileconfig because it is bad xml).
58+
- Fixed bug hiding the UI elements post install script output in Software Install Details modal.
59+
- Fixed software title host count mismatch that was caused by including software installers in the count.
60+
- Fixed a scenario where a wiped Windows host re-enrolled as a distinct host row in Fleet and the previous host's page could not be loaded successfully.
61+
- Fixed an issue where a host transfer on `mdm_enrolled` activity would be reversed by orbit enroll.
62+
- Fixed a bug in live queries that caused `livequery:{$CAMPAIGN_ID}` Redis keys to not be cleaned up or expire.
63+
- Fixed inconsistency in GitOps for App store apps if no VPP token was found, so that both dry run and actual run fails.
64+
- Fixed the software title counts by status to be consistent with the status reported in the host's software list and filter by status.
65+
- Fixed outdated tooltip on dark background logo URL field in Organization info settings.
66+
- Fixed `fleetctl generate-gitops` when MDM is not turned on.
67+
168
## Fleet 4.75.1 (Oct 21, 2025)
269

370
### Bug fixes

CODEOWNERS

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ go.mod @fleetdm/go
6565
#
6666
# (see website/config/custom.js for DRIs of other paths not listed here)
6767
##############################################################################################
68-
/docs @rachaelshaw
68+
/docs @noahtalerman
6969
/docs/solutions @ddribeiro
70-
/docs/Configuration @rachaelshaw
70+
/docs/Configuration @noahtalerman
7171
/docs/Contributing @lukeheath @georgekarrv @sharon-fdm # « Contributing guidelines
7272
/docs/Contributing/product-groups/orchestration/understanding-host-vitals.md @sharon-fdm @sgress454 @getvictor # software ingestion is security & compliance
73-
/docs/REST\ API/rest-api.md @rachaelshaw # « REST API reference documentation
74-
/docs/Contributing/reference/api-for-contributors.md @rachaelshaw @lukeheath # « Advanced / contributors-only API reference documentation
75-
/docs/Contributing/reference/audit-logs.md @rachaelshaw @lukeheath # « Advanced / contributors-only audit log documentation
76-
/docs/Contributing/reference/configuration-for-contributors.md @rachaelshaw @lukeheath # « Advanced / contributors-only configuration documentation
73+
/docs/REST\ API/rest-api.md @noahtalerman # « REST API reference documentation
74+
/docs/Contributing/reference/api-for-contributors.md @noahtalerman @lukeheath # « Advanced / contributors-only API reference documentation
75+
/docs/Contributing/reference/audit-logs.md @noahtalerman @lukeheath # « Advanced / contributors-only audit log documentation
76+
/docs/Contributing/reference/configuration-for-contributors.md @noahtalerman @lukeheath # « Advanced / contributors-only configuration documentation
7777
/schema @eashaw # « Data tables (osquery/fleetd schema) documentation
7878
/render.yaml @edwardsb
7979
/it-and-security @allenhouchins

0 commit comments

Comments
 (0)