> npm view react-select versions
[ '0.0.1',
'0.0.2',
…
'0.9.1',
'1.0.0-beta1',
'1.0.0-beta10',
'1.0.0-beta11',
'1.0.0-beta12',
'1.0.0-beta13',
'1.0.0-beta2',
'1.0.0-beta3',
'1.0.0-beta4',
'1.0.0-beta5',
'1.0.0-beta6',
'1.0.0-beta7',
'1.0.0-beta8',
'1.0.0-beta9' ]
Because versions are sorted alphabetically and not numerically. Therefore if a dependee's package.json uses "react-select": "^1.0.0-beta13" the ^ sees the latest point release 1.0.0-beta9 as _higher_ then the prescribed 13.
Semver gives the guidelines that beta versions be released as e.g. 1.0.0-beta.13 etc…
https://docs.npmjs.com/misc/semver#prerelease-identifiers
Unfortunately I believe it's too late to correct this issue. If we re-released the current version (1.0.0-beta13) using the new naming schema (1.0.0-beta.13) it would still be considered a lower release than 1.0.0-beta2-1.0.0-beta9. And we can't _unpublish_ versions 1.0.0-beta2-1.0.0-beta9 without potentially breaking projects.
I think the only actual option at this point would be to publish subsequent beta releases as 1.0.0-beta9.x but that wouldn't be very semantically meaningful for humans (who would rightly view 9.x as lower than 13).
I think this is a good policy to consider for future beta versioning but is probably a no-op as far as version 1.0 beta goes. The ship has already sailed.
@JedWatson please re-open this issue if you disagree.
I honestly don't believe this should be closed, as the issue still remains. In fact, I was nearly about to make a needless duplicate.
How about publishing the next version with the pre-release identifier rc (for release candidate)? It would be lexically greater than beta and still be meaningful to humans.
Great suggestion @Enet4. Instead of 1.0.0-beta.14 (or the proposed 1.0.0-beta.14 format), the next release could be versioned as 1.0.0-rc.1. I'll re-open. Ultimately it's up to @JedWatson but I think this is a good direction.. :)
This has been fixed for the new rc releases, the latest of which is "1.0.0-rc.1". 😄
Most helpful comment
Great suggestion @Enet4. Instead of
1.0.0-beta.14(or the proposed1.0.0-beta.14format), the next release could be versioned as1.0.0-rc.1. I'll re-open. Ultimately it's up to @JedWatson but I think this is a good direction.. :)