镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

[Activity] Add multiple app store app instances for the same software title - #53318

Merged
lukeheath merged 2 commits into
docs-v4.94.0from
marko-lisica/pr52853-docs-to-docs-v4.94.0
Sep 21, 2026
Merged

lukeheath merged 2 commits into
docs-v4.94.0from
marko-lisica/pr52853-docs-to-docs-v4.94.0

Conversation

@marko-lisica

@marko-lisica marko-lisica commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

Related issue: #47904

@lukeheath
lukeheath merged commit b8281c1 into docs-v4.94.0 Sep 21, 2026
6 checks passed
@lukeheath
lukeheath deleted the marko-lisica/pr52853-docs-to-docs-v4.94.0 branch September 21, 2026 22:31
jkatz01 added a commit that referenced this pull request Oct 2, 2026
…points, and activities (#54590)

**Related issue:** Resolves #53638
Resolves #54201


# Checklist for submitter

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- The PATCH response now uses the version shape. The frontend doesn't
read it. POST of an app already on the fleet now returns 409 instead of
updating it.

## Testing

- [x] Added/updated automated tests
- [x] 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
- Exercised every endpoint against a local server, plus 120 random add,
rename, edit, and delete requests with no 5xx.
- Installed on a real iPhone with two versions on the title: the install
carried the first-added version's configuration and counted under that
version.

## AI

**AI:** Claude Code (claude-opus-5-5)

## Summary 
(ai generated)

App Store app versions over the REST API, following #53320 (REST API)
and #53318 (audit log).

- `GET /software/titles/:id` returns `app_store_apps`, one entry per
version, first-added first, each with its own status counts, labels,
categories, self-service, auto-update window, and configuration.
`app_store_app` stays and holds the first-added version. Without a
fleet, neither field is returned.
- `POST /software/app_store_apps` accepts `name` (default "Default
version") and returns the new `version_id`. A duplicate name (ignoring
case) or a second macOS version returns 409, an 11th version returns
400, and names over 255 characters return 422.
- `PATCH /software/titles/:id/app_store_app` accepts `version_id`
(required with more than one version) and `name`, and edits only that
version, including its auto-update window. The response uses the version
shape from the docs.
- `DELETE /software/titles/:id/available_for_install` accepts
`version_id`. The display name and icon are deleted with the last
version. Deleting an Android version skips the uninstall on hosts
another version still covers.
- The added, edited, deleted, and installed App Store app activities
carry `version_name`.
- Installs read the first-added version's configuration on iOS and
Android until per-host precedence lands in #53639.

Left for later sub-tasks: per-host version precedence, re-sending
configuration on delete, and per-version auto-update in the cron
(#53639), GitOps versions (#53640), UI (#53641). `version_id` on the
POST response still needs documenting.

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

## Summary by CodeRabbit

* **New Features**
* App Store apps can now have multiple named versions per fleet, with
version-specific settings and configuration.
* Add, edit, and delete specific versions; omitting a version when
deleting removes all versions for the title.
* Software title details now include the fleet’s App Store app versions.
  * App Store activity records include version names.

* **Bug Fixes**
* Android app uninstalls preserve hosts targeted by another remaining
version.
* Version-specific configuration and app deletion now target the
selected version.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
marko-lisica added a commit that referenced this pull request Oct 15, 2026
…software title" from docs-v4.94.0 (#55633)

Reverts #53318 from `docs-v4.94.0`. Feature is moving to `docs-v4.95.0`.

**Related:** #53318
marko-lisica added a commit that referenced this pull request Oct 15, 2026
… title (#55634)

Moves reference doc changes from #53318 to `docs-v4.95.0`.

Originally documented for `docs-v4.94.0` — feature pushed to this
release.

**Related:** #53318

This branch was previously deployed

1 inactive deployment
Docker Hub — 2bcbfac0 Deployed Sep 16, 2026 by marko-lisica via publish #104833
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants