Skip to content

Stop showing a diff that can never be pushed - #59

Merged
temoki merged 1 commit into
mainfrom
appstore/visionos-release-notes
Aug 25, 2026
Merged

Stop showing a diff that can never be pushed#59
temoki merged 1 commit into
mainfrom
appstore/visionos-release-notes

Conversation

@temoki

@temoki temoki commented Aug 25, 2026

Copy link
Copy Markdown
Owner

After pushing 1.1.0 to all three listings, iOS and macOS came back clean and visionOS did not:

xros 1.1.0 (PREPARE_FOR_SUBMISSION)
en-US/release_notes.txt
  - (empty)
  + Tortoise Blocks comes to Apple Vision Pro, as a viewer for t [339]
ja/release_notes.txt
  - (empty)
  + Apple Vision Pro に対応しました。iPad と Mac で作った絵を見るためのビューワーです。開くと目の [148]

Not a failure. deliver said why, in the push log:

Skipping 'release_notes'... this is the first version of the app

What's New belongs to an update, and visionOS 1.1.0 is the app's first version on that platform, so App Store Connect has no field to fill. The text could be pushed any number of times and would never land — while metadata_diff reported it every run, until visionOS took a second version. Two permanent phantom lines is how a diff people read becomes a diff people skip.

What this does

  • Empties both appstore/metadata-visionos/*/release_notes.txt. No loss: the text was a first-release announcement, which the next version could not have reused anyway.
  • Adds MetadataCheck::MAY_BE_EMPTY, allowing that one field in that one directory — everything else still fails on empty. Checked to be that narrow: emptying metadata/en-US/release_notes.txt in a scratch copy is still reported as empty.
  • The release skill already warned that What's New shows as a difference until the second release. It now says what was done about it instead.

The exemption carries its own removal condition, in both places: write the notes and delete it together, when visionOS takes a second version. An update with no What's New is refused, and by then the exemption is what would be hiding the empty file.

ruby fastlane/metadata_check.rbappstore/ looks sendable.

visionOS 1.1.0 is the app's first version on that platform, and What's New
belongs to an update — deliver skips the field out loud and uploads
everything else. The text stayed on disk, so metadata_diff reported it on
every run, and would have until visionOS took a second version. Two
permanent phantom lines is how a diff people read becomes a diff people
skip; the skill already warned about the trap and this removes it instead.

So both release_notes.txt in metadata-visionos are empty now, and
MetadataCheck::MAY_BE_EMPTY allows exactly that field in exactly that
directory — checked to be that narrow: an empty release_notes under
metadata/ is still reported. The text is no loss either way, being a
first-release announcement that the next version could not reuse.

The exemption carries its own removal condition, in the checker and in the
skill: write the notes and delete it together, when visionOS takes a second
version. An update with no What's New is refused, and by then this is what
would be hiding the empty file.
@temoki
temoki merged commit 57c59d0 into main Aug 25, 2026
7 checks passed
@temoki
temoki deleted the appstore/visionos-release-notes branch August 25, 2026 23:20
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.

1 participant