Skip to content

zelentsov-dev/asc-mcp

v3.9.0 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-tools app-store-connect claude in-app-purchase ios macos
+6 more
mcp model-context-protocol subscriptions swift testflight xcode-cloud

Affected surfaces

auth rbac

Summary

AI summary

Validate and reject malformed continuation URLs in IAP and subscription catalog queries.

Full changelog

[3.9.0] - 2026-07-20

Changed

  • IAP and subscription catalog listings now expose Apple's remaining name, product-ID, state, type, related-subscription-state, and sort controls; scalar and array inputs use Apple's comma-separated query encoding.
  • IAP and subscription localization listings now expose a bounded 1...200 page size.
  • Bound or explicitly classified all 169 previously unclassified optional Apple inputs associated with the IAP and subscription commerce workflows: 22 bound, 31 internally controlled, and 116 intentionally omitted with reviewed reasons.

Fixed

  • Validate every next_url across the audited IAP and subscription catalog, localization, price, offer, code, image, territory, and pricing-summary collections against its concrete parent path, a non-empty cursor, and the complete originating query, including fixed includes, sparse fieldsets, relationship limits, filters, sort order, and effective page size.
  • Reject missing or empty cursors, missing or changed continuation controls, duplicate query names, unexpected filters, comma-containing free-text filter values, invalid enum values, empty arrays, and duplicate array values before network access.

Compatibility

  • No public MCP tool or required input was added, removed, or renamed; this release adds 20 optional inputs across seven existing tools, and existing scalar state and type filters remain valid.
  • Free-text filter values containing commas are rejected because Apple's explode=false array serialization reserves commas as item delimiters.
  • Existing calls remain valid. Continuation calls must preserve the originating filters, sort order, effective page size, all fixed projection controls, and Apple's non-empty cursor in next_url.
  • The strict contract pin records 2,154 optional Apple inputs: 772 bound, 38 internally controlled, 1,250 intentionally omitted, and 94 still queued for domain review.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track zelentsov-dev/asc-mcp

Get notified when new releases ship.

Sign up free

About zelentsov-dev/asc-mcp

App Store Connect API server with 208 tools for managing apps, builds, TestFlight, subscriptions, reviews, and more — directly from any MCP client.

All releases →

Related context

Earlier breaking changes

  • v3.1.0 `app_versions_set_review_details.attachment_file_id` replaced by separate `review_attachments_upload` call.
  • v3.1.0 Moved app-level TestFlight contact and policy metadata from `builds_set_beta_localization` to corresponding `beta_app_*_localization` tools.
  • v3.1.0 `builds_update_beta_detail` no longer accepts read-only fields `internal_build_state` or `external_build_state`.
  • v3.0.0 Removed public prefixes `offer_codes_*`, `intro_offers_*`, `promo_offers_*`, and `winback_*` from v3 worker schema.

Beta — feedback welcome: [email protected]