Just to confirm that it wasn't due to some weird bug involving the sequence of tags, I created
a new repo, GitHub - joesus/TestPackageVersioning2, with only one tag - 10.0.0.
This makes it difficult to write onboarding documentation that suggests using this rule if you have a major version past 9.0.0.
It adds friction to adopters if they need to know the tag for the latest release and manually input it.
This feature should work for any tag that is valid under Semantic Versioning 2.0.0.
My guess would be that Xcode is sorting the tags as strings (or accepting the order Git supplied them in), instead of sorting them as semantic versions. 10.0.0 is greater than 9.0.0 as a version, but not as a string:
Fair enough. Weirdly enough that doesn't matter for package discovery by Xcode. I updated them to have packages at the top level and it doesn't make a difference in terms of the bug.