Releases: YosefHayim/launch-store
v0.31.0
What's Changed
- chore: finish the biome migration — drop prettier, repair the red CI gate by @YosefHayim in #265
- feat(build): per-run size-budget override (#260) by @YosefHayim in #263
- fix(apple): multi-target signing safe slice — target discovery, stale-profile regen, creds --app, preflight (#261) by @YosefHayim in #264
- chore(release): v0.31.0 — per-run size budget + multi-target iOS signing safe slice by @YosefHayim in #267
Full Changelog: v0.30.0...v0.31.0
v0.30.0 — platform/store split + the Apple platform family
What's Changed
- fix(core): route every submit/store path through the config-aware storage resolver (#251) by @YosefHayim in #255
- feat(core): env/keychain reference for the App Review demoAccountPassword (#249) by @YosefHayim in #256
- refactor(core): decouple the build platform from the submit store (ADR 0006) by @YosefHayim in #257
- feat(apple): tvOS, macOS, and visionOS as first-class build platforms by @YosefHayim in #258
- chore(release): v0.30.0 — platform/store split + the Apple platform family by @YosefHayim in #259
Full Changelog: v0.29.1...v0.30.0
v0.29.1 — architecture-deepening rollup
Behavior-preserving patch. Everything since v0.29.0 is an internal refactor that deepens a shallow module behind its existing interface — no new commands, flags, or behavior. Safe drop-in upgrade.
What changed
All five are behavior-preserving architecture refactors (locality + leverage, no API change):
| PR | Change |
|---|---|
| #247 | Consolidate reconciler scaffolding into a shared store-sync vocabulary |
| #248 | Split types.ts and commandDocs.ts into co-located modules behind barrels |
| #250 | Move release-input + train-engine domain logic out of the CLI seam into core |
| #252 | Deepen ascClient behind typed JSON:API engine helpers |
| #253 | Name the build-transport seam and extract fork selection into a pure resolver |
Full gate green: typecheck · lint · 1847 tests · build · format:check · docs:check. Published to npm with OIDC trusted publishing + provenance attestation.
Install / upgrade
Global CLI (most users):
npm install -g launch-store@0.29.1 # or @latest
launch --version # → 0.29.1As a project dependency:
npm install launch-store@0.29.1Requires Node.js >= 20.
Full diff: v0.29.0...v0.29.1
v0.29.0
What's Changed
- feat(notify): fire notifications on review-state & phased-rollout transitions (#225) by @YosefHayim in #239
- feat(cli):
launch play-reports vitals— Android crash/ANR vitals via the Play Developer Reporting API (#226) by @YosefHayim in #240 - feat(cli):
launch play-pricing localize— recommended per-region prices via convertRegionPrices (#241) by @YosefHayim in #242 - feat(snapshot): config-complete Play catalog restore (#236) by @YosefHayim in #244
- docs(glossary): catch up language.md + glossary on 20 store-domain concepts by @YosefHayim in #245
- feat(screenshots): canonical store dimension specs + hard-gate, and
launch ai screenshotsby @YosefHayim in #243 - chore(release): v0.29.0 + collapsible README FAQ by @YosefHayim in #246
Full Changelog: v0.28.0...v0.29.0
v0.28.0
What's Changed
- feat(cli):
launch open— deep-link to App Store Connect / Play Console / TestFlight / live listing by @YosefHayim in #230 - feat(creds/build): provision app-extension bundle IDs + per-target profiles; guide the App Group portal step (#221) by @YosefHayim in #229
- feat(audit): deferred pre-submit probes — account-deletion, demo account, profile entitlements, screenshots (#188) by @YosefHayim in #231
- feat(cli):
launch completion— shell completions (bash/zsh/fish) with dynamic completion by @YosefHayim in #232 - feat(plan): offers & screenshots surface planners — complete the buildable plan/drift surfaces (#140) by @YosefHayim in #233
- feat(snapshot): restore, App ID capabilities capture & housekeeping (#191) by @YosefHayim in #235
- feat(testflight):
launch testflight feedback— surface tester crash & screenshot feedback by @YosefHayim in #234 - docs(agents): maximalist agent skills for the new feature surface + collapsible README features by @YosefHayim in #237
- chore(release): v0.28.0 by @YosefHayim in #238
Full Changelog: v0.27.0...v0.28.0
v0.27.0
What's Changed
- feat(store-doctor): launch store doctor + readiness probe registry (#170) by @YosefHayim in #184
- feat(audit): launch audit — read-only pre-submit readiness sweep (#168) by @YosefHayim in #185
- feat(iap): launch iap doctor — read-only in-app-purchase readiness (#174) by @YosefHayim in #186
- feat(snapshot): launch snapshot — capture/diff/export live store state (#169) by @YosefHayim in #190
- feat(migrate):
launch migrate eas— import eas.json into a Launch config (#171) by @YosefHayim in #192 - feat(migrate):
launch migrate fastlane— import a fastlane setup into a Launch config (#172) by @YosefHayim in #194 - feat(config):
launch config schema/validate/docs— JSON Schema + typed reference from the config types (#173) by @YosefHayim in #196 - feat(mcp):
launch mcp— expose Launch's read-only tools to AI agents over MCP by @YosefHayim in #200 - fix(docs): track generated docs/config.md so docs:check passes by @YosefHayim in #198
- docs(glossary): teach offers/plan/drift/adopt/migrate + IAP terms, resync language.md by @YosefHayim in #199
- feat(mcp): build_plan dry-run tool — the first dryRun capability tier by @YosefHayim in #203
- feat(config): deepen
launch config validatewith cross-field semantic checks (#197) by @YosefHayim in #205 - feat(mcp):
sync+sync_destructivewrite-tier MCP tools (#202) by @YosefHayim in #206 - feat(store-doctor): Apple agreements / banking & tax readiness probe (#187) by @YosefHayim in #207
- fix(apple): correct 3 ASC request-shape bugs in launch sync (#204) by @YosefHayim in #208
- feat(iap-doctor): file-based deferred IAP probes — code-reference + StoreKit config (#189) by @YosefHayim in #213
- feat(snapshot): App Store listing surface + auto-snapshot before sync (#191) by @YosefHayim in #215
- feat(migrate): deepen
migrate eas— credentials.json, per-profile env, app facts (#193) by @YosefHayim in #211 - feat(migrate): deepen
launch migrate fastlanecoverage (#195) by @YosefHayim in #209 - feat(iap-doctor): ASC-API deferred probes — sandbox testers, pricing, offer codes (#189) by @YosefHayim in #216
- feat(insights):
launch insights— aggregate rating & review trends (#178) by @YosefHayim in #210 - feat(cli):
launch ai listing— AI-drafted App Store / Play copy into store.config.json (#179) by @YosefHayim in #212 - feat(cli):
launch privacy scan— reconcile permissions vs privacy declarations (#175) by @YosefHayim in #214 - feat(cli):
launch dashboard— strictly-local, read-only web UI over CLI state by @YosefHayim in #217 - feat(config):
artifactDir— configurable, in-repo-by-default build output + auto-gitignore by @YosefHayim in #219 - chore(release): v0.27.0 by @YosefHayim in #220
Full Changelog: v0.26.1...v0.27.0
v0.26.1 — npm page positioning sync
v0.26.0 — plan breadth, release-train & a stylish banner
Eight features shipped since v0.18.0 — bumped 8 minors (0.18.0 → 0.26.0).
GitOps for the store — plan / drift breadth (#160–#163)
- Direction & scope. Each surface now declares a two-way vs additive plan direction, with a new team-level scope (no bundle id) and
*.config.jsonsidecar support (configFiles). - Nine new planners.
launch plan/launch driftnow diff every config-as-code surface, not just the catalog: release-config, game-center, app-clips, availability, accessibility, experiments, custom-pages, wallet, eu-distribution — across App Store Connect and Google Play, read-only. launch plan <surface>scopes a single surface;launch driftis the CI gate (exit 2 on drift).
Coordinated releases — release-train (#165–#166)
launch release-traindrives an app's iOS + Android + OTA legs as one resumable record:start/status/release/abort.--holdgates every leg until all are approved, then releases them together;--platform/--no-otascope the run;--watchpolls until it settles;--jsonfor CI/agents.- New ADR 0004 state machine (
core/releaseTrain/*) with the OTA-publish core lifted out oflaunch update, behind dependency-injected storage + signer.
Onboarding — stylish banner (#152)
- The animated rocket → store scene is now the front-door banner — a glowing pixel-art
LAUNCHwordmark with an aurora violet→cyan gradient that degrades to plain text underNO_COLOR.
Docs
- Full-surface example fixture (#164): four sidecars +
store/*.config.json+ a plan-coverage matrix. - The numbered Features map (README +
llms.txt) gains the release-train capability and a broadened plan line — the capability count moves forward.
Quality gate
typecheck · lint · test (1245 tests / 146 files) · build · format:check · docs:check — all green.
Published to npm via GitHub OIDC trusted publishing with build provenance.
v0.18.0
What's Changed
- chore(release): v0.18.0 — hero banner v4 by @YosefHayim in #151
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- docs(examples): complete the hello-world launch.config.ts feature tour by @YosefHayim in #139
- feat(plan): launch plan / launch drift — read-only store diff + CI drift gate by @YosefHayim in #144
- docs(readme): require Apple Developer Program + Google Play Developer account in Requirements by @YosefHayim in #146
- feat(plan):
launch plan listing— read-only App Store listing diff by @YosefHayim in #147 - feat(plan):
launch plan play-products— read-only Google Play products diff by @YosefHayim in #148 - feat(plan):
launch plan play-subscriptions— read-only Google Play subscriptions diff by @YosefHayim in #149 - feat(accounts): show app names in the account summary so you can tell which Apple account a build uses by @YosefHayim in #142
- feat(env): add envExclude — never inject backend-only vars into a build by @YosefHayim in #143
- feat(tui): glowing pixel-art LAUNCH wordmark (adoptable banner style) by @YosefHayim in #141
- feat(docs): generate a numbered Features map into README + llms.txt by @YosefHayim in #145
- chore(release): v0.17.0 by @YosefHayim in #150
Full Changelog: v0.16.1...v0.17.0