Commit Graph
20645 Commits
Author SHA1 Message Date
Sam Pfluger 23d4296cd1 Edit GTM groups (#38141) 2026-01-10 11:12:59 -06:00
Victor Lyuboslavsky 3cf50f83ab Searching software versions by name will now return all versions that match the corresponding title name as well (#38103) 2026-01-09 17:02:33 -06:00
Carlo 2c5da56e36 Update refetch error logic for iDevices (#38061)
Fixes #37910 Attempts to reduce the likelihood of false positives when detecting error states in vitals refetching on an iDevice.
2026-01-09 17:17:28 -05:00
Noah Talerman 9219a30bc0 Move "Pre-sprint planning" & "Sprint kickoff review" rituals to Engineering (#38112) 2026-01-09 16:14:42 -06:00
Mike McNeilandEric 0b0a81c2e6 Differentiate job applicants etc from demo requests (#38132)
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-09 16:14:34 -06:00
Alex Mitchell bb86c2d510 Clarify migration offer for enterprise organizations (#36694) 2026-01-09 15:54:21 -06:00
Allen Houchins b89f16c599 Update dogfood-policy-updater-latest-safari.sh (#38051)
This pull request improves the robustness of the
`.github/scripts/dogfood-policy-updater-latest-safari.sh` script for
handling YAML query sections, especially when dealing with indentation
and extracting Safari version numbers. The main changes focus on making
the script more resilient to formatting variations and updating its
logic to match the current query structure.

**Query section handling improvements:**

* Updated the extraction of the `query_section` to correctly handle
indented queries in YAML, ensuring the multiline block is accurately
captured until the next key at the same indentation level.
* Improved the replacement logic for the query section using `awk` to
robustly detect and replace indented query blocks, skipping lines within
the query block until the next key at the same indentation.

**Safari version extraction updates:**

* Modified the logic for extracting Safari 18 and Safari 26 version
numbers to use `version LIKE '15.%'` and `version LIKE '26.%'` instead
of the previous `version >= '15.0'` and `version >= '26.0'` checks,
matching the updated query syntax.

**Formatting and documentation:**

* Added comments to clarify the handling of indentation for the new
query section and to document the changes in logic for extracting and
replacing the query block.
[[1]](diffhunk://#diff-87712030515d50f6a970f044127d52639dac98021cf573f214f8f36cb1273c17R100)
[[2]](diffhunk://#diff-87712030515d50f6a970f044127d52639dac98021cf573f214f8f36cb1273c17R115-R140)
2026-01-09 15:43:20 -06:00
fleet-releaseandmostlikelee 4a9cb0da92 Update Fleet-maintained apps (#38128)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-09 15:18:47 -06:00
Noah Talerman 08d496d300 Guide fix: Fix anchor links (#38129)
- Currently the Entra link (3) goes to the Okta step because the Okta
and Entra steps have identical anchor links:
<img width="574" height="294" alt="Screenshot 2026-01-09 at 4 09 07 PM"
src="https://github.com/user-attachments/assets/1fc2672e-a73a-4733-aa87-080b29f3d669"
/>


https://fleetdm.com/guides/foreign-vitals-map-idp-users-to-hosts#step-3-map-users-and-groups-to-hosts-in-fleet
2026-01-09 15:11:04 -06:00
Allen HouchinsandNoah Talerman b09d98ea7b Update instructions for turning off MDM on Windows hosts (#38119)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38092

This pull request updates the instructions for turning off MDM on
Windows hosts in the enrollment documentation. The change clarifies the
recommended method for deploying the script the script via Fleet.

Documentation improvements:

* Updated the Windows host instructions in `articles/enroll-hosts.md` to
recommend deploying the "turn off MDM" script via **Actions > Run
script** on the host's details page, rather than running the script
manually.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-01-09 15:25:56 -05:00
jacobshandling 6f4845e4cd UI - Fix handling of really long cert names (#38116)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38107 


https://github.com/user-attachments/assets/86f509bf-da0a-45bf-ba16-3ea2b19800e1


- [x] QA'd all new/changed functionality manually
2026-01-09 11:57:17 -08:00
Victor Lyuboslavsky cb3f6184c9 Added validation for empty certificate subject name. (#38114)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38109 

# Checklist for submitter

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually



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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved validation to reject certificate templates with empty or
whitespace-only subject names and provide clearer error messaging when
the certificate template subject name is required.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-09 13:45:35 -06:00
fleet-releaseandmostlikelee d0d5b0d91f Update Fleet-maintained apps (#38086)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-09 13:02:02 -06:00
Scott Gress 606487ee19 Re-add software auto-update activity updates (#38105)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #37926

# Checklist for submitter

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

## Testing

- [ ] Added/updated automated tests
this will be tested by upcoming integration tests for the software
auto-update feature

- [X] QA'd all new/changed functionality manually
I triggered an auto-update on my iPad and saw the correct activity (note
"Fleet" shown as the actor):
<img width="497" height="83" alt="image"
src="https://github.com/user-attachments/assets/09740b84-1b03-4395-baf9-4e1404be6cf1"
/>


For unreleased bug fixes in a release candidate, one of:

- [X] Confirmed that the fix is not expected to adversely impact load
test results
2026-01-09 13:00:06 -06:00
Magnus JensenandJordan Montgomery 10a2f09f3a VPP app install retry on 9610 (#38008)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36724 

This PR updates the VPP Software installation (Apple association) to use
the V1 API which is non-async.
It also retries VPP apps if we receive a 9610 error 3 times.

# Checklist for submitter

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

- [ ] 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.

## Testing

- [x] Added/updated automated tests
- [ ] QA'd all new/changed functionality manually

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
2026-01-09 13:39:10 -05:00
Dante Catalfamo 2c962f0d42 Android certificate renewal (#38006)
Related issue: Resolves #37567
2026-01-09 13:08:32 -05:00
Ian Littman 79152809b6 Fix showing all labels when we shouldn't in new query targets UI (#38065)
## Testing

- [x] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results
2026-01-09 10:37:54 -06:00
Victor Lyuboslavsky e67a415c2b Moving Android certificates docs. (#37622)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37580
2026-01-09 09:27:44 -06:00
Nico 227bcdf46f GitOps support for scheduled auto updates settings (#37851)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35457

# Checklist for submitter

- [ ] 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.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

### `fleetctl generate-gitops`

**UI**

<img width="1866" height="787" alt="Screenshot 2026-01-07 at 1 14 45 PM"
src="https://github.com/user-attachments/assets/ccb585ee-3074-4ebf-9aaf-6dbdb885cf89"
/>

**Generated YAML**

<img width="694" height="354" alt="Screenshot 2026-01-07 at 1 15 23 PM"
src="https://github.com/user-attachments/assets/3867b63d-265d-43bc-bd60-31fb14e83409"
/>

### `fleetctl gitops`

**Source YAML**

I set the start_time to 18:30 and end_time to 19:30 for the first app

<img width="359" height="354" alt="Screenshot 2026-01-07 at 1 18 33 PM"
src="https://github.com/user-attachments/assets/4cde31e3-aa93-4b75-b296-cc101f507c2a"
/>


After the command ran, verified both on the UI and DB that the new
values were set

<img width="790" height="185" alt="Screenshot 2026-01-07 at 1 18 56 PM"
src="https://github.com/user-attachments/assets/30d9806c-b26c-4f17-b505-facb7fd0df15"
/>

<img width="1432" height="708" alt="Screenshot 2026-01-07 at 1 19 15 PM"
src="https://github.com/user-attachments/assets/5e123f94-ea69-4403-bba3-abf917cc1a01"
/>


## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- [x] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485):
https://github.com/fleetdm/fleet/blob/a79ff22d84466106fccc3818d38f23b9d9dc62df/docs/Configuration/yaml-files.md?plain=1#L538-L540
- [x] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2026-01-09 12:17:03 -03:00
Noah Talerman a3c55d936c Guide update: Unenroll Windows hosts (#37366)
We were telling users they had to turn off Windows MDM features for all
hosts to turn off MDM for one Windows hosts
2026-01-09 10:06:36 -05:00
Steven Palmesano fc03dacc95 Move the source inline (#38045)
Right now, it's just a hanging "1" at the end of a sentence.
2026-01-09 08:23:36 -06:00
Katheryn Satterlee 9da5c88971 Update GCP deployment instructions in documentation (#37927)
Clarify the location of GCP deployment files in the repository.
2026-01-09 19:12:21 +09:00
Noah Talerman 631327311c Entra conditional access: Fix formatting (#37820) 2026-01-09 18:59:36 +09:00
Ian Littman 799a9fd261 Fix expected server address param name for VPP proxy auth (#38062)
For #32461 to sync server and proxy APIs.
2026-01-08 17:46:06 -06:00
Noah Talerman 05d3420536 Product Design rituals (#38055)
- @lukeheath is joining Product Design sprint kickoff to drive capacity
planning
2026-01-08 17:21:11 -05:00
Ian Littman 8a1a5988b1 Fix duplicate label check behavior on spec apply endpoint (#38056)
## Testing

- [x] Added/updated automated tests

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results
2026-01-08 16:18:47 -06:00
9f29fd1ce9 33509 feature branch (#38038)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33509

All changes were approved in PRs to this feature branch.

---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com>
Co-authored-by: George Karr <georgekarrv@users.noreply.github.com>
2026-01-08 16:37:46 -05:00
fleet-releaseandmostlikelee e633825eb8 Update Fleet-maintained apps (#38048)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-08 15:34:16 -06:00
Luke Heath fdb1a84017 Update capacity and team members in product groups (#38039) 2026-01-08 15:07:01 -06:00
Eric 74b32889c8 Website: update VPP metadata proxy route (#38047)
Changes:
- Updated the route for the
`vpp-proxy/register-one-fleet-instance-using-vpp` action to be at
`/api/vpp/v1/auth`
2026-01-08 14:38:39 -06:00
Tim Lee 65adddb000 Renew android certificates backend (#37959) 2026-01-08 13:02:33 -07:00
Zach Wasserman fac84e5e9b Use empty values in software last_opened_at when not supported (#38007)
**Related issue:** Resolves #33512 

# Checklist for submitter

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

- [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.

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually
2026-01-08 11:36:06 -08:00
Victor Lyuboslavsky 506901443d Moved common_mysql package to server/platform/mysql (#38017)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37244

# Checklist for submitter

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

- [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.

## Testing

- [x] QA'd all new/changed functionality manually



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

* **Refactor**
* Internal MySQL utility package reorganized and all internal imports
updated to the new platform location; no changes to end-user
functionality or behavior.

* **Documentation**
* Added platform package documentation describing infrastructure
responsibilities and architectural boundaries to guide maintainers.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-08 13:17:19 -06:00
Ian Littman b1915800e2 Add custom VPP app support (#37969)
Resolves #32481 for Fleet server-side work.

# Checklist for submitter

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

- [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)

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually
2026-01-08 13:13:04 -06:00
EricandIan Littman b3bd4686a3 Website: Add VPP metadata proxy (#37997)
For https://github.com/fleetdm/fleet/issues/37261

Changes:
- Added a new database model: `FleetInstanceUsingVpp`
- Added `/api/vpp/v1/register`: An API endpoint that validates provided
Fleet license keys, creates a database record for the proxy
registration, and returns a generated secret used to authenticate
requests to the other VPP proxy endpoint
- Added `/api/vpp/v1/metadata/:storeRegion`: An API endpoint that
forwards requests to the
`https://api.ent.apple.com/v1/catalog/${storeRegion}/stoken-authenticated-apps`
Apple API with a token generated using Fleet's Apple developer
credentials.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-08 11:29:53 -06:00
kitzyandRachael Shaw 4ab5874e25 Document service provider metadata for SSO (#37457)
Added section on service provider metadata for SSO configuration.

Resolves [#12947](https://github.com/fleetdm/confidential/issues/12947)

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-08 11:19:04 -06:00
Sarah Gillespie 7f5ea85497 Update UI banner to inform admins of need to accept terms and conditions for multiple Apple Business Manager accounts (#38031) 2026-01-08 11:10:47 -06:00
Allen Houchins cc6b995e22 Add automated Safari policy update and remediation (#35890)
This pull request introduces automation for keeping the Fleet macOS
Safari update policy current, along with a new script for updating
Safari on endpoints. The main changes include a new GitHub Actions
workflow step to run an automated script that checks for the latest
Safari versions, updates the policy YAML if needed, and creates a pull
request with the changes. Additionally, a new endpoint script is added
to perform Safari updates via `softwareupdate`.

**Automation for Safari Policy Updates:**

* Added `.github/scripts/dogfood-policy-updater-latest-safari.sh`, a
script that fetches the latest Safari versions from the SOFA feed,
compares them to the versions in `update-safari.yml`, updates the YAML
if necessary, and automatically creates a pull request with reviewers
assigned.
* Updated `.github/workflows/dogfood-automated-policy-updates.yml` to
add a step that runs the new Safari version update script as part of the
workflow, using the required automation secrets.

**Policy and Endpoint Script Enhancements:**

* Added a new policy to
`it-and-security/lib/macos/policies/update-safari.yml` that checks if
the installed Safari version matches the latest for macOS 15 (Safari
18.6) and macOS 26 (Safari 26.1).
* Introduced `it-and-security/lib/macos/scripts/update-safari.sh`, a
script for endpoints that runs `softwareupdate` with the `--safari-only`
flag, logging the outcome and requiring root privileges.
2026-01-08 11:00:31 -06:00
Scott Gress 35d9f42599 Add shared software update schedule validation logic (#38016)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33391 

# Details

This PR adds a shared method for validating a software auto-update
configuration, and updates the datastore and API handler methods to use
it.

# Checklist for submitter

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually

Tested in the UI (to ensure valid calls still work) and via API calls
(to test validation)
2026-01-08 10:24:09 -06:00
Christopher Noel 09c3c72ac7 Add 'chrstphr84' to GitHub user list (#38030) 2026-01-08 10:12:46 -05:00
Sam Pfluger 713bab800e Edit Customer Success page (#38027) 2026-01-08 09:05:47 -06:00
edwardsb 37a2547e79 Fix fleetctl config help display for missing arguments (#37769)
Replace cli.ShowCommandHelp with cli.ShowSubcommandHelp to properly show
usage information when fleetctl config get/set are called without
required arguments. Previously displayed confusing "No help topic for
'get'" error, now shows helpful command help matching --help behavior.
Fixes #36702

## Fix: `fleetctl config get/set` now shows helpful usage information

Fixed the issue where running `fleetctl config get` or `fleetctl config
set` without proper arguments would show a confusing error message.
These commands now display helpful usage information, matching the
behavior of `--help`.

### Before the fix

Running `fleetctl config get` without arguments:

```bash
$ fleetctl config get
Error: No help topic for 'get'
exit status 1
```

### After the fix

Now running the same commands shows helpful usage information:

#### `fleetctl config get` (without arguments)

```bash
$ fleetctl config get
NAME:
   fleetctl config get - Get a config option

USAGE:
   fleetctl config get [options]

OPTIONS:
   --config value   Path to the fleetctl config file (default: "/home/ben/.fleet/config") [$CONFIG]
   --context value  Name of fleetctl config context to use (default: "default") [$CONTEXT]
   --help, -h       show help
```

#### `fleetctl config get invalidkey` (invalid key)

```bash
$ fleetctl config get invalidkey
NAME:
   fleetctl config get - Get a config option

USAGE:
   fleetctl config get [options]

OPTIONS:
   --config value   Path to the fleetctl config file (default: "/home/ben/.fleet/config") [$CONFIG]
   --context value  Name of fleetctl config context to use (default: "default") [$CONTEXT]
   --help, -h       show help
```

#### `fleetctl config set` (without flags)

```bash
$ fleetctl config set
NAME:
   fleetctl config set - Set config options

USAGE:
   fleetctl config set [options]

OPTIONS:
   --config value                                   Path to the fleetctl config file (default: "/home/ben/.fleet/config") [$CONFIG]
   --context value                                  Name of fleetctl config context to use (default: "default") [$CONTEXT]
   --address value                                  Address of the Fleet server [$ADDRESS]
   --email value                                    Email to use when connecting to the Fleet server [$EMAIL]
   --token value                                    Fleet API token [$TOKEN]
   --tls-skip-verify                                Skip TLS certificate validation (default: false) [$INSECURE]
   --rootca value                                   Specify RootCA chain used to communicate with Fleet [$ROOTCA]
   --url-prefix value                               Specify URL Prefix to use with Fleet server (copy from server configuration) [$URL_PREFIX]
   --custom-header value [ --custom-header value ]  Specify a custom header as 'Header:Value' to be set on every request to the Fleet server (can be specified multiple times for multiple headers, note that this replaces any existing custom headers). Note that when using the environment variable to set this option, it must be set like so: 'CUSTOM_HEADER=Header:Value,Header:Value', and the value cannot contain commas. [$CUSTOM_HEADER]
   --help, -h                                       show help
```

#### Normal operation still works as expected

```bash
$ fleetctl config get address
  default.address => http://test.local

$ fleetctl config get --help
NAME:
   fleetctl config get - Get a config option

USAGE:
   fleetctl config get [options]

OPTIONS:
   --config value   Path to the fleetctl config file (default: "/home/ben/.fleet/config") [$CONFIG]
   --context value  Name of fleetctl config context to use (default: "default") [$CONTEXT]
   --help, -h       show help
```


**Related issue:** Resolves #36702

# Checklist for submitter

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

## Testing

- [X] Added/updated automated tests

- [X] QA'd all new/changed functionality manually
2026-01-08 09:55:18 -05:00
fleet-releaseandallenhouchins 46e341d962 Update Fleet-maintained apps (#38026)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-01-08 08:36:00 -06:00
Lucas Manuel Rodriguez 8bcc25ed70 Add missing teamId for getting labels in auto update modal (#38020)
Unreleased bug in 4.80.0.
I found this because I saw a label from another team listed.

Easy thing to miss because this modal was added after [the team labels
PR](https://github.com/fleetdm/fleet/commit/8e4e89f4e943d9a8685f4362a1b68755dfd03ddd)
from @iansltx for 4.79.0.
2026-01-08 11:33:27 -03:00
fleet-releaseandmostlikelee 29dc26db44 Update Fleet-maintained apps (#38024)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-08 08:26:00 -06:00
Gabriel Hernandez c7c0ee34da Improved error message when trying to apply CAs via gitops without a premium license (#37981)
**Related issue:** Resolves #35645

This changes the error message for an invalid license when trying to
apply certificate authorities via GitOps

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-01-08 11:07:38 +00:00
Victor Lyuboslavsky bc0c7f1d13 Refactor common_mysql (#37245)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37244

Goal: Make common_mysql package independent of domain packages so it can
be reused by future bounded contexts.

  Changes made:

  1. List options decoupling

The AppendListOptionsToSQL functions previously required
fleet.ListOptions directly. Now common_mysql defines its own interface
that describes what a list options type must provide (page number,
per-page limit, sort order, etc.). The fleet.ListOptions type implements
this interface through new getter methods. This lets any bounded context
use the SQL helpers without importing the fleet package.

  2. Error types moved

Database-specific error types like IsDuplicate and
IsChildForeignKeyError were moved from fleet package to common_mysql
where they belong. A new http/errors.go file was created for the
HTTP-specific error helpers that remain in the platform layer.

  3. Configuration restructuring

MySQL configuration types and functions were moved to
common_mysql/config.go, reducing coupling between packages.

  4. Architecture tests added

A new arch_test.go file enforces that common_mysql doesn't import domain
packages like fleet, preventing future regressions.

# Checklist for submitter

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

- [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.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

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

## Summary by CodeRabbit

* **New Features**
* Added cursor-based pagination support for list queries with improved
sorting capabilities including secondary order keys.

* **Bug Fixes**
* Improved database connection initialization with separate connection
management and error handling.

* **Refactor**
* Consolidated error handling interfaces and decoupled configuration
structures for better modularity.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-07 16:26:44 -06:00
Marko Lisica 0819ee15b3 Wrong indentation for the title (#37695)
The title has weird padding:

<img width="967" height="561" alt="Screenshot 2025-12-26 at 13 11 08"
src="https://github.com/user-attachments/assets/b78c2a13-60d1-4168-9cc0-3dc8f4e55e63"
/>
2026-01-08 07:16:52 +09:00
Mike Thomasandjarryd 85d26526f2 Fix typo in windows-linux-setup-experience.md (#37632)
Docs change. no relevant PR template.

Co-authored-by: jarryd <244878456+jstanbrook-eg@users.noreply.github.com>
2026-01-08 07:16:06 +09:00
Noah Talerman 1fae4202e2 Exposed API endpoints for iOS/iPadOS .ipa packages and Android certificate delivery (#38014) 2026-01-07 17:15:27 -05:00