Closed pranayCodes closed 3 years ago
Hi @pranayCodes, thanks for reaching out. The part after the hyphen is the prerelease number. You can think of it as a beta or preview release. Prereleases are described in article 9 of the semver specification. "Patch" refers to the third portion in the main number, so 0 in 1.13.0.
In case of doubt about order, you can always refer to the change log, which is ordered by release date. Also, installing underscore@latest
from npm should generally be safe (or underscore@stable
if you only want versions that have already stood the test of time).
1.13.0-0, 1.13.0-1, 1.13.0-2 and 1.13.0-3 were all prereleases that I published to NPM under the @preview
tag. When I made the final 1.13.0 release, I removed that tag again. I chose this approach because I planned to introduce the exports
field in the package.json
, which had the potential to break many things (see #2914 for further details). The @preview
releases allowed me to recruit people to do beta testing, while ensuring that only people who explicitly opted in would install these versions.
The default versioning approach for Underscore is still just to do major.minor.patch. There is no plan to make prereleases a standard procedure. That said, I might do it again when I have a tricky feature that I feel needs beta testing by a wider audience. #2908 might be a candidate for that at some point.
I hope this answered your questions sufficiently. I'll close the issue now, but please feel free to comment again.
Thank you @jgonggrijp - that does answer my question. Appreciate the quick turnaround.
Hi Team - while working on a side project, I noticed the presence of a "-x" release for the 1.13.0 version. I was checking the semvar standards and these seemed like patch releases, however, these tags were released prior to the major release - which is causing some confusion.
Is this something that underscore is going to follow as a standard? Are theses beta/ alpha releases?
Would love some clarity on this.