Commit graph

1077 commits

Author SHA1 Message Date
Ian Littman
cb16203c4f
Fix wrong unreleased bug tag (#39157)
Sorry @noahtalerman
2026-02-02 11:16:54 -06:00
Copilot
d2e964bc88
Auto-tag unreleased bugs filed against non-GA Fleet versions (#38995)
Resolves #35299.

Triggers on issue create. Tested the same code in
https://github.com/iansltx/fleet/actions/workflows/auto-tag-unreleased-bugs.yml;
check the associated issues on that repo for the comments (or lack
thereof). Grabbed a bunch of issues from this repo to properly catch
edge cases. This only looks at issue body so the titles including
released/unreleased are for testing convenience and have no effect on
whether a comment happens either way.

I expect we'll need to dial this in further but this errs on the side of
categorizing something as unreleased because shipping regressions due to
mis-triage is worse than finding out a bug is released when we weren't
sure to begin with.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: iansltx <472804+iansltx@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-30 15:30:35 -06:00
Noah Talerman
d463c3e44e
Update story template (#38997) 2026-01-29 16:28:03 -06:00
Ian Littman
37c09ecf34
Drop performance issue comment about debug archive (#38978) 2026-01-29 16:21:20 -06:00
Mitch Francese
aff7baf3f6
Pilot deployment of Okta Verify (#38646)
This pull request introduces new configuration profiles to support Okta
conditional access for macOS devices, specifically targeting the
Information Technology department. It also updates the GitHub Actions
workflow to include a new secret for the Okta CA certificate.
Additionally, it removes the `workstations-canary` team configuration,
likely as part of a cleanup or migration.

The most important changes are:

**Conditional Access and Okta Integration:**

* Added a new configuration profile,
`fleet-okta-conditional-access.mobileconfig`, to manage trusted CA
certificates, SCEP enrollment, mTLS identity preferences, and Chrome
mTLS auto-selection for Okta conditional access on macOS. This profile
is applied to devices labeled with "Department: Information Technology".
[[1]](diffhunk://#diff-904aba5588b0d2c8dc325414aa1e8f2cd8a324602ac8e0c1cd2a5dff28db357bR1-R157)
[[2]](diffhunk://#diff-96f80858f5a487334ae6014cddaa65d1bb79d7e85fa0ea596d1e49063f5b99bdR72-R77)
* Added a new configuration profile,
`okta-verify-settings.mobileconfig`, to configure privacy preferences,
managed login items, notification settings, and Okta Verify app settings
for macOS devices in the Information Technology department.
[[1]](diffhunk://#diff-b321656e070ad9cb0727fe7ced60565d88bf31d236ac2642d3192fcb375fa4b2R1-R129)
[[2]](diffhunk://#diff-96f80858f5a487334ae6014cddaa65d1bb79d7e85fa0ea596d1e49063f5b99bdR72-R77)

**Workflow and Secrets Management:**

* Updated the GitHub Actions workflow (`dogfood-gitops.yml`) to include
the `DOGFOOD_OKTA_CA_CERTIFICATE` secret, supporting the new Okta
conditional access configuration.

**Configuration Cleanup:**

* Removed the `workstations-canary.yml` team configuration, eliminating
its policies, software, scripts, and settings.

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-01-28 16:24:21 -06:00
Andrey Kizimenko
5659251b70
Add new QA Engineers to the Release QA template (#38873) 2026-01-28 13:45:23 -06:00
Ian Littman
2f25580c3a
Only allow FLEET_DEV_* env vars when --dev is passed, allow overriding configs one at a time in dev (#38652)
Resolves #38484. This includes a CI job change to make sure we don't
introduce any more env vars that don't get proxied (and thus turned off
outside `--dev`).

# 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

Manual QA touched hot paths, but did _not_ manually test every
FLEET_DEV_* environment variable change.

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

* **New Features**
* Centralized dev-mode environment management for consistent FLEET_DEV_*
handling and test-friendly overrides.
* Dev-mode allows targeted overrides for certain dev-only configuration
when running with --dev.

* **Chores**
* Migrated environment access to the centralized dev-mode helper across
the codebase.
  * Added CI checks to enforce proper usage of FLEET_DEV_* variables.

* **Documentation**
  * Added guidance on dev-mode environment variable rules and overrides.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
2026-01-27 14:32:56 -06:00
Noah Talerman
26c534878f
Story template: Remove "Roadmap item" and "Resources" section (#38838) 2026-01-27 09:14:15 -06:00
Noah Talerman
07d44f9b95
Update story template (#38738) 2026-01-26 15:27:39 -06:00
Robert Fairburn
ffe6df25be
Signoz action fixes (#38656) 2026-01-22 19:10:44 -06:00
Robert Fairburn
e0631aff76
Dogfood signoz (#38569) 2026-01-22 12:33:27 -06:00
Lucas Manuel Rodriguez
a66befeb1f
Fix update certs CI check (#38566)
Fix to only create a PR if there are changes, see
https://github.com/fleetdm/fleet/pull/38563.
2026-01-21 13:08:22 -03:00
Noah Talerman
23e8444e34
Feature request template (#38571) 2026-01-21 10:06:41 -06:00
Lucas Manuel Rodriguez
0b884a609d
Update instructions to not use main for testing/building fleetd before push to edge (#38515) 2026-01-21 09:58:15 -06:00
Ian Littman
20df8e18b9
🤖 Bump to the current version of the Heroku deploy GitHub action (#38468)
Zed + Opus 4.5; prompt: Update akhileshns/heroku-deploy to the latest
version.
2026-01-20 17:45:55 -06:00
Ian Littman
18256bdf0e
Add missing step-security hardening action, bump to current version (#38470)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Upgraded security protections across build and deployment workflows
for enhanced runner environment hardening.
* Strengthened CI/CD infrastructure security measures throughout
automated processes.
  * No direct user-facing changes.

<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-19 15:10:48 -06:00
Ian Littman
8c9e9e2ccb
Add database migration performance test to release QA template (#38407) 2026-01-15 16:47:25 -06:00
Ian Littman
67aab3625c
Add story template item for pre-QA load test by engineers on high risk stories (#38365)
For #35367.
2026-01-15 09:53:50 -06:00
Noah Talerman
b13e5fab3f
Add interpretation section to feature request template (#38317)
Based on feedback:
https://fleetdm.slack.com/archives/C062D0THVV1/p1768403785790319?thread_ts=1768338830.048449&cid=C062D0THVV1
2026-01-14 17:52:34 -05:00
Noah Talerman
446856112c
Revise feature request template instructions: Be more explicit for Fleeties (#38290) 2026-01-13 18:13:08 -06:00
Allen Houchins
0aece4fea4
Update dogfood-policy-updater-latest-safari.sh (#38133)
This pull request simplifies and improves the automation for updating
Safari version policies on macOS by switching from a multi-line YAML
query to a single-line query and streamlining the associated update
script. The changes make the update process more robust, easier to
maintain, and less error-prone, especially when parsing and updating the
policy file.

**Policy and script simplification:**

* Converted the `query` field in `update-safari.yml` from a multi-line
YAML block to a single-line statement, reducing complexity and making it
easier to update programmatically.

**Script robustness and maintainability:**

* Updated `.github/scripts/dogfood-policy-updater-latest-safari.sh` to
extract and update the single-line `query` instead of handling a
multi-line block, greatly simplifying the parsing and replacement logic.
[[1]](diffhunk://#diff-87712030515d50f6a970f044127d52639dac98021cf573f214f8f36cb1273c17L26-R37)
[[2]](diffhunk://#diff-87712030515d50f6a970f044127d52639dac98021cf573f214f8f36cb1273c17L97-R123)
* Improved error handling for environment variables, requiring only the
essential `DOGFOOD_AUTOMATION_TOKEN` to be set, and clarified error
messages.
* Enhanced validation of the Safari feed response by checking for valid
JSON and explicit API errors using `jq`, making the update process more
reliable.
* Changed the update workflow to write changes directly to the file and
rely on GitHub Actions to create pull requests, removing the script's
own git and PR logic for a cleaner CI/CD process.
2026-01-13 15:04:36 -06:00
Noah Talerman
b6095ab5a6
Simplify feature request template & update "Unpacking the why" (#38243) 2026-01-13 14:35:44 -06:00
Noah Talerman
bbc1aef298
Update story template: Add Fleet server config, exposed API endpoints, and fleetdm.com checkboxes (#38186) 2026-01-13 14:28:49 -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
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
Allen Houchins
b688fe3636
Improve changed app detection in CI (#37838)
This pull request improves the robustness and reliability of the script
and workflows that detect changed or new maintained apps in pull
requests. The main focus is on making the detection script pass
validation when the test is triggered but no new FMAs are detected.

**Script robustness and error handling:**

* The `.github/scripts/detect-new-fmas-in-pr.sh` script is updated to
always exit successfully (status 0) when no changes are detected, and
only exit with error (status 1) for critical failures like missing `jq`.
A new `safe_exit` function is introduced to standardize output and
ensure graceful exits.
[[1]](diffhunk://#diff-f9bbb0340f504713c99d610f3c64bf281fc13ed3cb8a1c06a5366272c9828a8dR7-R11)
[[2]](diffhunk://#diff-f9bbb0340f504713c99d610f3c64bf281fc13ed3cb8a1c06a5366272c9828a8dL21-R39)
* Improved error handling for missing files, empty variables, and failed
commands throughout the script, including handling cases where
`merge-base`, `git show`, or `jq` fail, and ensuring empty or missing
data does not cause the script to error out.
[[1]](diffhunk://#diff-f9bbb0340f504713c99d610f3c64bf281fc13ed3cb8a1c06a5366272c9828a8dL32-R66)
[[2]](diffhunk://#diff-f9bbb0340f504713c99d610f3c64bf281fc13ed3cb8a1c06a5366272c9828a8dR87-R108)
[[3]](diffhunk://#diff-f9bbb0340f504713c99d610f3c64bf281fc13ed3cb8a1c06a5366272c9828a8dL75-R155)

**Workflow improvements:**

* The `test-fma-darwin-pr-only.yml` and `test-fma-windows-pr-only.yml`
workflows are updated to default to "no changes" if the detection step
fails or does not set the expected output, preventing false positives or
workflow failures.
[[1]](diffhunk://#diff-28b30c8601cb7662d59efbfbbcf800cae91455fd3d875627659dced8c1257a24L70-R72)
[[2]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaL76-R78)
2026-01-05 15:01:47 -06:00
Lucas Manuel Rodriguez
5daa0a6777
Update mk-ca-bundle.pl from curl/curl (#37830)
https://github.com/fleetdm/fleet/actions/workflows/update-certs.yml has
been failing for some time.
There's a redirection by mozilla.com that is breaking the curl execution
in the current version of the script.
It's fixed by adding the `-L` to the curl execution.

I updated the script from the new version in
9f1838e965/scripts/mk-ca-bundle.pl
The reviewer can (and should :) download it and compare it with the
version added on this PR.

Successful run with this branch:
https://github.com/fleetdm/fleet/actions/runs/20717674684 which
generated the following PR: https://github.com/fleetdm/fleet/pull/37834.
2026-01-05 13:33:34 -03:00
Lucas Manuel Rodriguez
ef2f2e8daa
Move security notifications to orchestration channel (#37549) 2025-12-19 14:50:52 -06:00
Lucas Manuel Rodriguez
8ce6ea07da
Release osqueryd 5.21.0 (#37528) 2025-12-19 13:56:47 -03:00
Allen Houchins
34788f7686
Add 7-zip as a Windows Fleet-maintained app (#37222)
This pull request adds support for managing 7-Zip as a maintained
Windows application. The changes include configuration for installation
and uninstallation, workflow updates to handle 7-Zip specifically in CI,
and a new icon for the frontend. These updates ensure that 7-Zip can be
detected, installed, uninstalled, and visually represented in the
software management system.

**Windows workflow and detection updates:**

- Updated `.github/workflows/test-fma-windows-pr-only.yml` to detect
changes related to 7-Zip, set a `has_7zip` output variable, and add a
step to remove pre-installed 7-Zip versions before proceeding with
further app verification. This prevents conflicts with pre-existing
installations during CI runs.
[[1]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR91)
[[2]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR102)
[[3]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR117-R124)
[[4]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR164-R227)

**7-Zip application configuration:**

- Added `ee/maintained-apps/inputs/winget/7-zip.json` to define 7-Zip as
a maintained app with metadata such as slug, package identifier,
installer type, and categories.
- Added `ee/maintained-apps/outputs/7-zip/windows.json` with version
info, installation and uninstallation scripts, SHA256, and upgrade code
for 7-Zip, enabling automated install/uninstall flows.
- Updated `ee/maintained-apps/outputs/apps.json` to include 7-Zip in the
list of available apps, with a description and unique identifier for
display and selection.

**Frontend icon support:**

- Added a new React SVG icon component for 7-Zip at
`frontend/pages/SoftwarePage/components/icons/7Zip.tsx`.
- Registered the 7-Zip icon in the icon index and mapped it in
`SOFTWARE_NAME_TO_ICON_MAP` to display the icon for 7-Zip in the UI.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR7)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR224)
2025-12-16 09:55:30 -06:00
Allen Houchins
a9aea6bc28
Update dogfood-automated-policy-updates.yml (#36294)
Updating workflow to create more accurately named Pull Requests.
2025-12-15 20:44:24 -06:00
Magnus Jensen
1618874800
Add enroll OTA and windows TOS to go test CI triggers (#37197)
This is to avoid a similar issue that we just faced in the future.

The issue was this PR https://github.com/fleetdm/fleet/pull/37118 was
merged, but all checks passed since it was a html file only PR, go tests
did not run. So we did not catch the integration tests asserting content
in these files was broken.

The following PR fixed it: https://github.com/fleetdm/fleet/pull/37196

This PR proposes to add those two files to GO test triggers in CI to
avoid breaking the tests accidentally in the future.
2025-12-12 19:25:43 -04:00
Ian Littman
fe2a9a867e
Swap minio to rustfs (#36851)
Resolves #36909.

# 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
2025-12-10 10:03:48 -06:00
Victor Lyuboslavsky
0aa8076295
Update scorecards OSSF action to v2.4.3 (#36972) 2025-12-09 11:43:41 -06:00
Luke Heath
67cafd951c
Set permission level in FMA workflows (#36930) 2025-12-09 00:31:46 -06:00
Eric
3eb444473e
Run website workflows for changes to Fleet maintained apps (#36775) 2025-12-08 16:27:55 -06:00
Victor Lyuboslavsky
abe7306f67
Added fleet-gitops to eng metrics. (#36706) 2025-12-08 16:27:06 -06:00
Allen Houchins
33a1d82f51
Fix unbound variable error in detect-new-fmas-in-pr.sh (#36613) 2025-12-08 10:37:36 -06:00
Victor Lyuboslavsky
16c8c813f4
Fixing scorecards-analysis.yml (#36889)
Resolves broken CI on main
2025-12-08 09:45:37 -06:00
Victor Lyuboslavsky
a1fd214713
Adding Gradle wrapper validator (#36817)
Resolves https://github.com/fleetdm/fleet/security/code-scanning/1484

Fix uses OSSF feature:
https://github.com/ossf/scorecard/issues/1815
2025-12-08 09:23:38 -06:00
Victor Lyuboslavsky
321ed1dc12
Update MySQL versions we test with to 8.4.7 and 9.5.0 (#36803)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36801

Test and docs changes only.

Passing 8.4.7 tests in this workflow run:
https://github.com/fleetdm/fleet/actions/runs/19978256106/job/57299389148
2025-12-08 09:12:05 -06:00
Victor Lyuboslavsky
40022c5537
Add incremental lint run, with modernize as the linter. (#36711)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32999

The `modernize` linter was discussed some time ago in the backend sync.
We wanted to add it but it was not possible.

Now that it has been added to golangci-lint, we are adding it.

golangci-lint has incremental mode, where only changes vs the base
branch are linted. This is nice when adding new linters without needing
to fix the whole codebase. That said, it would be nice to `modernize`
the whole codebase.
2025-12-08 09:06:05 -06:00
Ian Littman
62755cbd82
Bump Go to 1.25.5, Alpine to 3.23.0 where relevant, bump Trivy to current version (#36848)
Fixes vulns reported in
https://github.com/fleetdm/fleet/actions/runs/19999992703. We'll
definitely want to at least cherry-pick this.
2025-12-07 20:04:14 -06:00
dependabot[bot]
5bb394a02e
Bump jws from 4.0.0 to 4.0.1 in /.github/actions/eng-metrics (#36688) 2025-12-04 15:44:50 -06:00
Victor Lyuboslavsky
ccd66921e7
Updating golangci-lint to 2.7.1 (#36678)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32999

And fixing newly flagged lint issues.
2025-12-04 10:45:50 -06:00
Allen Houchins
13689be24e
Update FMA workflows to only uninstall Google Chrome when required (#36459)
- Updating the FMA workflows to only uninstall Google Chrome if a new
version of Google Chrome is getting tested. Otherwise this step in the
workflow is unnecessary and makes the workflow take longer to finish.
2025-12-02 10:49:16 -06:00
Victor Lyuboslavsky
1c655d4d5d
Improving Android CI (Slack notification, coverage) (#36518)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36052



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

## Summary by CodeRabbit

* **Tests**
  * Automated failure notifications now include detailed error summaries
  * Added code coverage reporting and tracking for Android test suites
* Enhanced test logging and artifact collection for improved visibility
into build issues and failures

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-01 16:48:32 -06:00
Mike McNeil
c0b3517f75
Add malicious package checking (Shai-Halud only) to website CI/CD test script (#36438) 2025-12-01 15:04:10 -06:00
Tim Lee
21b2aee4fc
Android SCEP client (#36139) 2025-12-01 10:43:26 -07:00
Victor Lyuboslavsky
61c51672e4
Bootstrapping Android app (#36233)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36202 

Updated how Android agent starts. See README updates.

# 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

* **New Features**
* Periodic configuration check scheduled every 15 minutes in the Android
agent
* Improved Android management notification handling and app-role support

* **Documentation**
* Updated Android MDM deployment guide with SHA256 fingerprint
instructions and build configuration snippets

* **Chores**
* Added WorkManager and AMAPI SDK for Android; updated Android/Go
tooling and library versions

* **Tests**
  * Added unit test coverage for the periodic config worker

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-26 11:36:41 -06:00