> Calling it version 1.0 is bullshit though.
There is a case to be made to always start at 1.0, especially libraries with public API’s. The reason is that if you use semantic versioning then below 1.0 you can’t properly declare a new release to be a feature or bugfix release (for example, 0.4 to 0.5. Is this bugfix or feature?). Above 1.0.0 this is easy (for example 1.1.0 vs 1.0.1).
In libraries, 0.x is for when you’re still figuring the API out. Basically you’re saying that no API is stable at this point, and you’re not doing semver yet, and anything can change.
Naturally, the users should treat those libraries as beta versions and only use them in production at their own risk.
> you can’t properly declare a new release to be a feature or bugfix
0.5.0 vs 0.4.1?