Comment by sambeau

11 years ago

Am I alone in being bemused and amused by this:

  Version 1.0.1 (Beta stability)

Surely the main point of a 1.0 release is "stability" and to no longer be "beta"?

Not really, at least according to semver (which is what iojs uses). Stability of the API is denoted by a 1.x.x, it isn't necessarily an indication of the quality of the implementation, beta or otherwise.

Node 0.12 was always being referred to as 'pretty much the 1.0 API', not calling it 1.x.x was a kind of 'get out of jail free' card in my opinion. So i'm glad the iojs team have least drawn a line in the sand and declared their API stable.

  • 1.x is not really about stability either. To quote from the semver FAQ:

    >How do I know when to release 1.0.0?

    >If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you're worrying a lot about backwards compatibility, you should probably already be 1.0.0.

To me it just follows on the ridiculousness of the Node community in general. A tool at version 0.10 and everyone screams about how stable it is and can't wait to bet their business on it.

A bunch of people are unhappy and fork the project, and make the initial version 1.0, but make a point of saying (despite not using a related version number/identifier) that it's beta.

Realistically it sounds like both projects should be at v0.9.x.

  • This seems like a step away from "ridiculous" to me.

    Declaring something as 1.0 means that any 1.X releases are going to be backwards-compatible with the 1.0 spec.

    This is objectively different than versioning something 0.X, which implies that the baseline spec is not finalized.

    Calling something "Beta", however, just means that a feature-complete major version is still being actively developed (i.e. new minor features and bugfixes).

    In other words "1.0 Beta" just means "Stable spec, active codebase".