In fact there are standard-ish sorting methods that work fine with mixed text and version numbers such that 1.100 is more than 1.2, and v1.100 is more than v1.2.
Git has built in version sort, though it's not the default. GitHub shows tags in version sort order in the drop-down tag selection.
Here are some commands that use that sort order:
ls -v # Linux only.
ls | sort -V # Most modern OSes.
git tag | sort -V # Git tags in version order.
git tag --sort=v:refname # Same as above, it's a git builtin.
git config tag.sort v:refname # Set default sort order for `git tag`.
git config versionsort.suffix -pre # Make 1.2-pre1 sort before 1.2.
git config versionsort.suffix -rc # Now 1.2-pre1 < 1.2-rc1 < 1.2 < 1.2-patch1
It's not semantic versioning, but a project I am on started using calendar versioning[1]. I was hesitant to try it at first, but it's kind of growing on me. It's really easy to organize and sort. We have a pretty regular release cadence so it was easy to implement, but I could see it being more complicated for certain projects.
Ancient Perl started off encoding their version numbers as a float (you can see it in their old version numbers before 5.6.0, 5.005 for instance[1]). Integers were the major version, thousandths were minor, and millionths were patch. So 1.003004 was 1.3.4. This makes them extremely easy to sort. At some point they decided that was too obscure and came up with "version strings". But the old way is (crazily) still supported and can cause pain if you forget since 1.2.0 is unambiguous, but 1.2 means 1.200000, ie 1.200.0.
That's a good point. With the omnipresence of semver, you'd think that more interfaces would support sorting tags with a semver comparison instead of lexically.
Semantic versions can't be sorted trivially, it's true. For projects that benefit from the "semantic" part of semantic versioning the benefits outweigh that minor inconvenience. But not everything needs semantic versioning.
Has there been a better proposal to semantic tags which makes organizing and sorting them easier?