React-select: Incorrect semver release for beta channel causes beta9 to be latest

Created on 19 May 2016  Â·  5Comments  Â·  Source: JedWatson/react-select

> 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

Most helpful comment

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.. :)

All 5 comments

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". 😄

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yrabinov picture yrabinov  Â·  3Comments

MindRave picture MindRave  Â·  3Comments

pablote picture pablote  Â·  3Comments

Meesam picture Meesam  Â·  3Comments

batusai513 picture batusai513  Â·  3Comments