@@ -5,6 +5,113 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 2.0.0] - 2026-03-24
9+
10+ ### Breaking Changes
11+
12+ - ** Renamed upload tools** — reserve-only tools replaced with full-cycle uploads:
13+ - ` screenshots_create ` → ` screenshots_upload ` (now accepts ` file_path ` instead of ` file_name ` /` file_size ` )
14+ - ` screenshots_create_preview ` → ` screenshots_upload_preview ` (same)
15+ - ` iap_create_review_screenshot ` → ` iap_upload_review_screenshot ` (same)
16+ - All upload tools now perform the complete 3-step cycle (reserve → upload chunks → commit) instead of returning raw ` uploadOperations `
17+
18+ ### Added
19+
20+ #### New Infrastructure
21+
22+ - ** UploadService** — universal file upload engine for App Store Connect assets
23+ - Reads files from disk, computes MD5 checksums
24+ - Uploads chunks in parallel via ` TaskGroup ` to presigned URLs (no JWT required)
25+ - Handles the full reserve → upload → commit lifecycle
26+
27+ #### New Workers (8)
28+
29+ - ** IntroductoryOffersWorker** (` intro_offers_* ` , 4 tools) — subscription introductory offers (free trial, pay-as-you-go, pay-up-front) CRUD
30+ - ** PromotionalOffersWorker** (` promo_offers_* ` , 6 tools) — subscription promotional offers with inline price creation
31+ - ** SandboxTestersWorker** (` sandbox_* ` , 3 tools) — sandbox tester management (list, update renewal rate, clear purchase history)
32+ - ** BetaAppWorker** (` beta_app_* ` , 10 tools) — beta app localizations (5), beta review submissions (3), beta review details (2)
33+ - ** PreReleaseVersionsWorker** (` pre_release_* ` , 3 tools) — pre-release version listing, details, associated builds
34+ - ** BetaLicenseAgreementsWorker** (` beta_license_* ` , 3 tools) — TestFlight license agreement text management
35+ - ** ReviewAttachmentsWorker** (` review_attachments_* ` , 4 tools) — App Store review attachments with full upload support
36+
37+ #### Extended Workers (12)
38+
39+ - ** SubscriptionsWorker** (15 → 29 tools):
40+ - +5 subscription group localizations (CRUD)
41+ - +1 subscription price deletion
42+ - +3 subscription image upload/get/delete (full cycle)
43+ - +3 subscription review screenshot upload/get/delete (full cycle)
44+ - +2 list images, get review screenshot by subscription
45+ - ** InAppPurchasesWorker** (17 → 24 tools):
46+ - +2 IAP availability (set/get)
47+ - +3 IAP image upload/get/delete (full cycle)
48+ - +1 IAP review screenshot upload (full cycle, renamed)
49+ - +1 IAP review screenshot delete
50+ - +1 IAP list images
51+ - ** BetaTestersWorker** (6 → 12 tools):
52+ - +1 send/resend TestFlight invitation
53+ - +2 add/remove tester from beta groups
54+ - +2 add/remove tester from builds
55+ - +1 remove tester from app
56+ - ** BuildBetaDetailsWorker** (8 → 11 tools):
57+ - +3 individual testers (add/remove/list per build)
58+ - ** ScreenshotsWorker** (12 → 16 tools):
59+ - Replaced reserve-only uploads with full-cycle uploads
60+ - +1 get screenshot details
61+ - +1 get preview details
62+ - +1 list previews in a set
63+ - +1 batch upload (multiple screenshots in one call)
64+ - ** PromotedPurchasesWorker** (5 → 9 tools):
65+ - +3 promoted purchase image upload/get/delete (full cycle)
66+ - +1 get image by promoted purchase ID
67+ - ** AppLifecycleWorker** (13 → 14 tools):
68+ - +1 version deletion (PREPARE_FOR_SUBMISSION state only)
69+ - ** ReviewsWorker** (7 → 8 tools):
70+ - +1 AI-generated customer review summarizations
71+ - ** UsersWorker** (7 → 10 tools):
72+ - +3 visible apps (list/add/remove per user)
73+ - ** AppInfoWorker** (7 → 10 tools):
74+ - +3 EULA management (get/create/update)
75+ - ** OfferCodesWorker** (7 → 10 tools):
76+ - +3 custom codes (create/get/deactivate)
77+ - ** PricingWorker** (6 → 9 tools):
78+ - +3 App Availabilities v2 (create, get, list territory availabilities)
79+
80+ #### Upload Support (8 asset types, all full-cycle)
81+
82+ | Asset Type | Upload | Get | Delete | List |
83+ | ------------| --------| -----| --------| ------|
84+ | App Screenshots | ` screenshots_upload ` | ` screenshots_get ` | ` screenshots_delete ` | ` screenshots_list ` |
85+ | App Previews | ` screenshots_upload_preview ` | ` screenshots_get_preview ` | ` screenshots_delete_preview ` | ` screenshots_list_previews ` |
86+ | IAP Images | ` iap_upload_image ` | ` iap_get_image ` | ` iap_delete_image ` | ` iap_list_images ` |
87+ | IAP Review Screenshots | ` iap_upload_review_screenshot ` | ` iap_get_review_screenshot ` | ` iap_delete_review_screenshot ` | — |
88+ | Subscription Images | ` subscriptions_upload_image ` | ` subscriptions_get_image ` | ` subscriptions_delete_image ` | ` subscriptions_list_images ` |
89+ | Sub Review Screenshots | ` subscriptions_upload_review_screenshot ` | ` subscriptions_get_review_screenshot ` | ` subscriptions_delete_review_screenshot ` | — |
90+ | Promoted Purchase Images | ` promoted_upload_image ` | ` promoted_get_image ` | ` promoted_delete_image ` | — |
91+ | Review Attachments | ` review_attachments_upload ` | ` review_attachments_get ` | ` review_attachments_delete ` | ` review_attachments_list ` |
92+
93+ ### Fixed
94+
95+ - ` beta_app_list_submissions ` now requires ` build_id ` (Apple API requires ` filter[build] ` )
96+ - ` reviews_summarizations ` now sends required ` filter[platform] ` parameter
97+ - ` builds_list_individual_testers ` routing in WorkerManager (was falling through to BuildsWorker)
98+ - ` intro_offers_create ` description now warns about MISSING_METADATA state requirement
99+ - ` app_info_get_eula ` returns clear error message when no EULA is configured
100+
101+ ### Testing
102+
103+ - ** 436 tests** across 31 suites (up from 393)
104+ - Added tool definition, routing, and parameter validation tests for all new workers
105+ - Updated aggregate uniqueness and description tests
106+
107+ ### Summary
108+
109+ | Metric | v1.4.0 | v2.0.0 | Change |
110+ | --------| --------| --------| --------|
111+ | Workers | 25 | 33 | +8 |
112+ | Tools | 208 | 293 | +85 (+41%) |
113+ | Tests | 393 | 436 | +43 |
114+
8115## [ 1.4.0] - 2025-02-18
9116
10117### Changed
0 commit comments