Commit Graph
17426 Commits
Author SHA1 Message Date
Jorge Falcon aa2a080711 Dogfood - re-enabling webhook log destination (#30690)
- Disabling firehose log destination
- Re-enabling webhook log destination

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Enabled webhook logging by activating environment variables for
webhook URLs.
* Webhook log plugin is now conditionally set based on the presence of a
webhook URL.

* **Chores**
* Updated environment variable management by removing firehose-logging
addon variables from the configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 12:43:08 -04:00
Jorge Falcon e2827199b9 Dogfood - re-enabling firehose (#30688)
- Disabled webhook variables
- Re-enabled firehose variables

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Disabled certain environment variables related to webhook logging.
* Updated environment variable configuration to include additional
logging settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 12:21:38 -04:00
Lucas Manuel Rodriguez 0488e4ec92 Fix fleetctl generate-gitops when MDM is turned off (#30677)
For unreleased bug #30656.

- [X] Added/updated automated tests
- [X] Manual QA for all new/changed functionality
- [X] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved handling to ensure MDM-related data is only generated when
MDM is enabled and properly configured.
* Errors related to MDM configuration are now surfaced instead of being
silently ignored.

* **Tests**
* Added new tests to verify correct behavior when MDM is disabled and
not configured, ensuring empty or minimal outputs for MDM-related data
in this scenario.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 13:01:41 -03:00
Allen Houchins e1145d56e0 Updated script name (#30685)
Changed the _ to a - in a script name.
2025-07-09 10:53:59 -05:00
Ian Littman 7fb9a94384 Use install path on packageInfo XML if it's a .app before falling back to bundle ID for PKG name extraction (#30669)
Fixes #25587. SubEthaEdit packgeInfo file is a bit bigger, but the only
thing different is the list of package IDs included, and that's not what
was broken/fixed here, so went with an abbreviated version that better
demonstrates what got fixed here.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved extraction of application names from uploaded PKG packages by
using the install path as a fallback method.

* **Tests**
* Added a new test case to verify correct name extraction from PKG
packages using the install path.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 08:21:10 -05:00
Lucas Manuel Rodriguez e39a668448 Update changelog for fleetd 1.45.0 release (#30672)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * None

* **Bug Fixes**
  * None

* **Removals**
  * Removed the offline status message on Fleet Desktop.
* Removed the --fleet-certificate flag from the sudo orbit shell
command.
  * Removed the macos_user_profiles osquery extension table for macOS.
* Removed the fix preventing Fleet Desktop from launching incorrectly on
Linux without a logged-in GUI user.
* Removed the macOS MDM migration fallback for ConfigurationURL parsing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 10:18:20 -03:00
Lucas Manuel Rodriguez 97ec83efde Add docs for process_etw_events table (#30641)
For #30386.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
  * Improved formatting for consistency.
* Expanded instructions for enabling the Windows `process_etw_events`
table, including required configuration flags.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 10:18:06 -03:00
Ian Littman b7232cd033 Temporarily disable VSCode Python extension CPEs to unblock vuln tests (#30671)
Get tests passing for now; #30670 tracks a proper fix.

- [x] Added/updated automated tests

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Disabled two test cases related to specific Microsoft Python extension
versions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 08:17:36 -04:00
github-actions[bot]andlucasmrod aef507e351 Update versions of fleetd components in Fleet's TUF [automated] (#30673)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2025-07-09 08:14:25 -03:00
Eric f26f06ff00 Website: Add two testimonials (#30649)
Closes https://github.com/fleetdm/confidential/issues/11135
Closes https://github.com/fleetdm/confidential/issues/11134

Changes:
- Added two new testimonials to the /testimonials and /device-management
pages

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added two new testimonials focused on Linux desktop management,
enhancing the "Device management" section.
* Updated testimonial display order to include the new authors for
improved visibility in the relevant category.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 09:17:55 +09:00
Dante Catalfamo 8a15bdf4fd Fixed panic caused by missing SSO settings in gitops generate (#30654)
#30621
2025-07-08 16:56:07 -04:00
RachelElysia 14b6d5080f Fleet UI: Self service dropdown bug fix (#30644) 2025-07-08 13:43:04 -07:00
Dante Catalfamo ae1c2b9463 Check nullable SSO Settings fields in frontend (#30648)
#30131
2025-07-08 16:14:03 -04:00
Zach Wasserman 11097befb4 Add last used information for Windows software (programs) (#30577)
For #28819
2025-07-08 12:58:25 -07:00
Allen Houchinsandallenhouchins 0a6f9d1d2f Update 1Password macOS version number to 8.11.0 (#30646)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated the minimum required version of 1Password for macOS to 8.11.0.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <allen@fleetdm.com>
2025-07-08 13:13:32 -05:00
Konstantin Sykulev 9930d34233 Make FMA GitOps tests more efficient and less brittle (#30615)
Mocking the manifest server to ensure that an app with a no_check hash
is always returned (in the event that chrome no longer has this property
about it)
Mocking the file content in the integration test. There is no reason to
really download the real 1password or chrome binaries for this
particular case.

For: https://github.com/fleetdm/fleet/issues/30325

- [x] Added/updated automated tests

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Enhanced test coverage for software installer payloads with simulated
manifest endpoints and SHA256 hash validations.
* Added mock servers to verify installer downloads and hash computations
for maintained apps, improving batch installer processing tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 12:03:37 -05:00
Sam Pfluger ab67979594 Update DigExp rituals (#30631)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Expanded the list of digital experience rituals with new daily and
weekly tasks, each featuring detailed descriptions, responsible
individuals, and helpful links.
* **Improvements**
* Enhanced metadata for rituals, including clearer task ownership and
automation details.
* Improved organization and consistency of the rituals list for easier
reference.
* **Removals**
* Removed duplicate and outdated ritual entries to streamline the list.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 09:51:41 -05:00
Lucas Manuel Rodriguez fee710d8dd Add changes to Entra guide after some feedback from QA (#30560)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Expanded and clarified instructions for Entra conditional access
integration.
  * Added requirements for user group membership in Intune.
* Provided steps for deploying the Company Portal app during macOS
device setup.
* Included reminders for assigning users/groups to Conditional Access
policies.
  * Added guidance on temporarily disabling Conditional Access.
  * Explained compliance implications when unenrolling from Fleet MDM.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 11:41:07 -03:00
Mike Thomas 2ef26bcc4c Update homepage.ejs (#30618)
Closes https://github.com/fleetdm/confidential/issues/11286

Grammar fix.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Updated the wording of a feature description on the homepage for
improved clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 19:35:19 +09:00
Ian LittmanandTim Lee 7f62399486 Add XXS ticket T-shirt size, add point values when applicable (#30611)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Expanded T-shirt sizing guidance in capacity planning to include a new
"XXS" category for trivial tasks.
* Updated the sizing table to display story point ranges alongside
T-shirt sizes and time estimates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Tim Lee <timlee@fleetdm.com>
2025-07-07 16:24:09 -05:00
Victor Lyuboslavsky 82eddfea1e Added Slack failure notification to the new Collect engineering metrics job. (#30566)
Fixes #29140

I intended to add a Slack notification but forgot in the previous PR.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Added automated Slack notifications for failed scheduled workflow
runs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 14:10:29 -05:00
Lucas Manuel Rodriguez 502fb0c5cc Support host vital labels with department without groups (#30598)
Fix for #23899.

I found this while preparing the demo (I had a user with department and
no groups).
Assigning to @getvictor because Scott is OOO.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved host filtering for Identity Provider (IdP) group labels to
include hosts without corresponding group entries.

* **Tests**
* Enhanced label tests to cover IdP department labels, including
scenarios where users have no groups.
* Added new subtests to verify correct host inclusion and label counts
for department-based labels.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 16:03:53 -03:00
Lucas Manuel Rodriguez c69d56ed64 Replace home-made SAML implementation with https://github.com/crewjam/saml (#28486)
For https://github.com/fleetdm/confidential/issues/9931.


[Here](https://github.com/fleetdm/fleet/blob/ec3e8edbdc3f1b4220ada22c8290dbf0237ce1ba/docs/Contributing/Testing-and-local-development.md?plain=1#L339)'s
how to test SAML locally with SimpleSAML.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved SSO and SAML integration with enhanced session management
using secure cookies.
  * Added support for IdP-initiated login flows.
* Introduced new tests covering SSO login flows, metadata handling, and
error scenarios.

* **Bug Fixes**
* Enhanced validation and error handling for invalid or tampered SAML
responses.
  * Fixed session cookie handling during SSO and Apple MDM SSO flows.

* **Refactor**
* Replaced custom SAML implementation with the crewjam/saml library for
improved reliability.
  * Simplified SAML metadata parsing and session store management.
  * Streamlined SSO authorization request and response processing.
  * Removed deprecated fields and redundant code related to SSO.

* **Documentation**
* Updated testing and local development docs with clearer instructions
for SSO and IdP-initiated login.

* **Chores**
  * Upgraded dependencies including crewjam/saml and related packages.
* Cleaned up tests and configuration by removing deprecated fields and
unused imports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:13:46 -03:00
Gabriel Hernandez 499e4e30e8 fix issue when end_user_license_agreeement is defined but value is nil or empty string (#30595)
relates to [#28691](https://github.com/fleetdm/fleet/issues/28691)

This fixes an issue where `end_user_license_agreeement` is defined but
is an empty string or nil.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved handling of the end user license agreement (EULA) field in
app configuration to ensure it is always set correctly and removed from
the configuration map after processing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 18:20:17 +01:00
Dante Catalfamo b2a1187808 Never use gravatar for API users (#30593)
#28501
2025-07-07 12:32:53 -04:00
Konstantin SykulevandIan Littman b643b326ee Generate SHA from file if FMA sha is no_check (#30558)
fixes: #30325

Related to incorrect behavior introduced at
https://github.com/fleetdm/fleet/pull/28945

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* When uploading software batches, if the installer SHA is set to
"no_check," the system will now automatically generate and use the
SHA256 checksum of the installer file.
* **Bug Fixes**
* Fixed an issue ensuring the latest Google Chrome version is pulled
during Fleet-maintained app updates.
* Corrected the display of the SHA256 hash in the UI and API to show
valid values.
* Improved handling of installer uploads to ensure a valid SHA256
checksum is always applied, even when "no_check" is specified.
* **Tests**
* Added a test to verify correct SHA256 hash calculation for installer
files.
* Extended integration tests to validate batch software installer
operations for maintained apps with SHA256 hash checks.
* Added tests covering behavior when SHA256 checksum is marked as
"no_check" for maintained apps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-07 11:05:19 -05:00
jacobshandlingandJacob Shandling 5f820febdc UI: New side nav styles, abstractions (#30568)
## #16846 


[Demo](https://drive.google.com/file/d/1xocZDfOUbu29tPpf2J6dngy3pLACIe62/view?usp=drivesdk)

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added tooltips to navigation and category menu items for improved
accessibility and clarity.
* Introduced a new optional tooltip position setting, allowing tooltips
to appear on any side of the element.
  * Expanded the color palette with a new light shade option.

* **Style**
* Refactored navigation and category menu styles to use centralized,
reusable mixins for a more consistent appearance.
* Updated navigation and category menu layouts for better structure and
maintainability.

* **Chores**
* Added new SCSS mixins for navigation styling, improving code
maintainability and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-07 08:29:09 -07:00
Jordan Montgomery dbd6a23053 Disk Encryption contributor doc updates (#30538)
Integrates a number of troubleshooting and architecture notes from my
experience debugging and investigating disk encryption related issues
over the past few months.. Adds diagrams for each platform showing how
the major components work together. Might be a bit wordy but wanted it
to be useful for engineers since it is so different on each platform

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Expanded and restructured disk encryption documentation with detailed
platform-specific workflows and troubleshooting guidance for macOS,
Windows, and Linux.
* Added and updated sequence diagrams for FileVault, BitLocker, and LUKS
encryption processes.
* Enhanced sections on key storage, recovery, and related resources with
additional guidance and links.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 11:07:33 -04:00
Dante Catalfamo 6847f12a6f API only users show a different avatar in the activity feed (#30512)
#28501
2025-07-07 10:45:51 -04:00
jacobshandling dd26fb9c8b UI: Move SSO and Host status webhook settings (#30582) 2025-07-07 07:37:13 -07:00
Juan Fernandez 685d4226c8 21277: Keep fleet desktop running when host is offline (#30493)
For #21277 

Show offline message on Fleet Desktop if host is offline.
2025-07-07 10:35:15 -04:00
Gabriel Hernandez c854509821 Suppress unneeded react tooltip test warning and update lib to latest version (#30584)
This suppresses an unneeded react-tooltip opacity warning when the tests
are run. The code is correct when assigning the opacity and this may
just be an issue with react-tooltip and jsdom not working nicely
together. This was causing to much noise in the console.

We've also updated react-tooltip 5 to the latest version

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated the react-tooltip-5 dependency to a newer version.
* Suppressed specific harmless warnings related to react-tooltip during
test runs for cleaner test output.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:33:35 +01:00
Sarah Gillespie 302a021315 Update PATCH /fleet/scim/Groups/<group name> endpoint to handle duplicate entries (#30533) 2025-07-07 09:33:17 -05:00
Gabriel Hernandez 782b522cd1 disable deletion of EULA from UI when gitops mode enabled (#30555)
relates to [#28143](https://github.com/fleetdm/fleet/issues/28143)

quick fix to not allow deleting EULA when gitops mode is enabled.

- [x] Manual QA for all new/changed functionality


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* The delete button in the EULA list is now conditionally disabled based
on GitOps mode, with an explanatory tooltip.

* **Chores**
  * Removed an unused import from a test file.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:32:33 +01:00
Gabriel Hernandez 01108c898e redo about card layout to use grid instead of flex (#30547)
Fixes [#29696](https://github.com/fleetdm/fleet/issues/29696)

This is a more thorough fix for the issue of overflowing data on the
about card. The change here is to reimplement the about card layout to
use CSS grid instead of flexbox. This handles responsiveness of the data
better and is easier to maintain when new data fields are added

- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* IP address fields in the About card now display tooltips for truncated
text, improving readability of long values.

* **Style**
* Updated the About card layout from flexbox to a responsive grid,
enhancing alignment and adaptability across screen sizes.
* Adjusted the details panel grid layout to ensure cards remain within
their intended width, preventing overflow issues.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:32:19 +01:00
Ian Littman 0609b9b446 Bump page size to 10 for software title versions list (#30588)
Fixes #30393.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Increased the number of software versions displayed per page from 5 to
10 on the software view page.

* **Tests**
* Updated tests to reflect the increased number of displayed versions
and adjusted assertions accordingly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 09:22:52 -05:00
Lucas Manuel Rodriguez 52ada033a1 Fix a few UI typos (#30559)
Found one during testing of Entra Conditional Access and then ran
https://github.com/crate-ci/typos to fix a few more.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Corrected various typographical errors in user-facing text, tooltips,
table headers, and messages across the application to improve clarity
and professionalism.
* Fixed spelling mistakes in success and error messages, tooltips, and
descriptive text on multiple pages.
* Updated test setup to use the correct sort type value for CSV
conversion tests.
  * Improved consistency in UI labels and documentation comments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 08:44:57 -03:00
Gabriel Hernandez 08b6f36db8 Chore guide deploy certs local keychain (#30031)
Related to #29322

docs for delivering config profiles to host user channels

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Added detailed instructions for deploying certificates to a user's
login keychain on macOS devices.
* Introduced a new section explaining how user-scoped configuration
profiles are assigned, including behavior with multiple local users and
supported profile types.
* Improved formatting and clarified existing explanations for better
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 11:25:50 +01:00
Eric 3e5c3ad11a Website: update header navigation menu (#30480)
Closes: https://github.com/fleetdm/confidential/issues/11172
Closes: https://github.com/fleetdm/confidential/issues/11258

Changes:
- Reordered the website's header navigation menu, and changed the
community dropdown to "more"
- Updated the currentSection value of pages that are linked to in the
"more" dropdown.
- Updated the hover and active styles of header links
- Updated the "Share your story" link.
2025-07-07 09:00:01 +09:00
Ian Littman d78a76010e Properly filter host certificates by host on update when multiple hosts share the same certificate (#30578)
Fixes #30574.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Resolved issues with recording host certificate sources when multiple
hosts share the same certificate but have different usernames, improving
accuracy and performance.
* Addressed related performance and database load problems for these
scenarios.

* **Tests**
* Added new tests to ensure certificate source records remain properly
isolated per host, even when certificates are shared across hosts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-05 19:44:31 -05:00
Mike Thomas 6ef37db102 Update how-fleet-raised-a-27m-series-b-without-a-pitch-deck.md (#30570)
Removed PDF embed code as it does not work 'out-of-the-box' on mobile
devices.
2025-07-04 12:43:05 +09:00
Irena ReedyandMike Thomas 6d39541d96 Update how-fleet-raised-a-27m-series-b-without-a-pitch-deck.md (#30567)
Embedded the memo link into "When we set out to raise Fleet's Series B"


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated the introduction of the article to embed the Series B memo
link directly within the first sentence, replacing the separate "Read
the memo" link with an embedded PDF viewer.
* Added a new article detailing major Apple IT and device management
updates from WWDC25, highlighting enhanced MDM features and Fleet’s
support for these capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-07-03 22:43:12 -04:00
Ian Littman 2d5d69fcf9 Check for new Fleet-maintained apps hourly instead of daily (#30563)
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [ ] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Increased the frequency of checks for new Fleet-maintained
applications from once per day to once per hour.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 19:53:10 -05:00
Jahziel Villasana-EspinozaandIan Littman b51344aeb2 Refetch host after VPP install is verified (#30546)
> Fixes #29980

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved support for iOS VPP app installations, including enhanced
verification and activity logging.
* Hosts now automatically request a software data update after
successful app installs.
* Installation status now includes "Installing" state for better
tracking.

* **Tests**
* Expanded integration tests to cover iOS VPP app installations
alongside macOS.
* Added checks to verify refetch requests and correct MDM command
behavior after app installs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-03 20:52:45 -04:00
e24b412e31 Create fleet-series-b-memo.md (#30545)
Draft of the article for the website to link to the PDF 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a new article: "How Fleet raised a $27M Series B without a pitch
deck," detailing Fleet's innovative fundraising approach and sharing
insights from their investor memo.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-07-03 19:46:35 -04:00
Victor Lyuboslavsky 0d095b3778 Add workflows to collect engineering metrics. (#30540)
Fixes #29140 

This is an engineering initiated story that does not impact product.
This code has been running and manually tested in my own repo:
https://github.com/getvictor/eng-metrics

See
[README.md](https://github.com/fleetdm/fleet/blob/victor/29140-eng-metrics/.github/actions/eng-metrics/README.md)
in this branch for details.

The metrics can be viewed on
https://fleeteng.grafana.net/d/b97a629f-3626-4a28-9781-0fa3c8427897/engineering-metrics
(credentials in 1Password)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced an engineering metrics collection tool that gathers GitHub
metrics (e.g., Time to First Review, Time to Merge) and uploads them to
BigQuery.
* Added support for user group management and product group mapping via
markdown parsing.
* Enabled print-only mode for testing metrics output without uploading
to BigQuery.
* Added automatic handling of bot filtering, weekend-aware time
calculations, and differential syncing of user groups.
* Implemented robust GitHub username validation and retry logic for API
rate limits.

* **Documentation**
* Added comprehensive usage and configuration documentation for the
engineering metrics tool.

* **Chores**
* Added configuration, environment example, and workflow files for
automated metrics collection and testing.
* Specified Node.js version and set up project dependencies and scripts.

* **Tests**
* Added extensive unit and end-to-end test suites to ensure reliability
of metrics collection, configuration, and integrations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 16:59:25 -05:00
Robert Fairburn dce722cc07 Initial action to synchronize signing secrets to confidential repo (#30561)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Added a new workflow to simulate syncing selected secrets to another
repository in dry-run mode. No actual changes will occur during
execution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 16:45:39 -05:00
jacobshandlingandJacob Shandling f0d3809b22 UI: Allow editing the name and team of a "Save as new" query (#30544)
## #14801 
### [Demo
video](https://drive.google.com/file/d/1Lovk7iwvgUv1NpfsqSt-Is0yTBt0SZ5O/view?usp=sharing)
<img width="1624" alt="Screenshot 2025-07-02 at 4 58 33 PM"
src="https://github.com/user-attachments/assets/86c7b214-e8e4-4e58-9969-b1373ed97691"
/>


* **New Features**
* Added the ability to select a team and update the name when saving a
query as a new copy, using a dedicated modal dialog.

* **Improvements**
* Enhanced the team selection dropdown with new styling options and
clarified prop names.
* Updated query editing workflow to use a modal for "Save as new"
actions.
* Improved type safety and clarity in several interfaces and utility
functions.

* **Bug Fixes**
  * Fixed inconsistencies in prop naming for team dropdown components.
* Ensured "Discard data" setting is maintained when "Save as new"ing a
query - it was previously not maintained correctly

* **Tests**
* Updated and removed tests to align with the new "Save as new" query
workflow and prop changes.
  * Added utilities for creating mock location objects in tests.

* **Style**
  * Added a new light grey color to the UI color palette.

- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-03 13:11:06 -07:00
Lucas Manuel Rodriguez dc5c396f35 Add retry mechanism to SavePolicy to reduce/eliminate deadlock errors… (#30550)
For #29400.

Added test fails without the change to retry upon deadlocks.

How to reproduce in UI:
1. Create 10 policies on a team.
2. Refetch host to have results for the policies.
3. Add (could be the same) or update the installer associated to the 10
policies in "Manage automations" > "Software".
4. Hit `Save`.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [X] Added/updated automated tests
- [X] Manual QA for all new/changed functionality

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved the reliability of policy updates on the "Manage automations"
page by automatically retrying requests in case of deadlock errors.

* **Tests**
* Added a test to verify that concurrent policy updates handle deadlocks
correctly and complete without errors.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 14:29:16 -03:00
Dante Catalfamo 5170613a66 Use user full name for login activity instead of email (#30553)
#29962
2025-07-03 13:02:19 -04:00