See for example NPM:
https://docs.npmjs.com/about-semantic-versioning
Code status |
Stage |
Rule |
Example version |
First release |
New product |
Start with 1.0.0 |
1.0.0 |
Backward compatible bug fixes |
Patch release |
Increment the third digit |
1.0.1 |
Backward compatible new features |
Minor release |
Increment the middle digit and reset last digit to zero |
1.1.0 |
Changes that break backward compatibility |
Major release |
Increment the first digit and reset middle and last digits to zero |
2.0.0 |
Anyway, with normal software these days (not libraries) it’s popular to increment main number when the new major version is released, the second number for smaller releases and third number for bug-fix releases.
This is more-less how Firefox works - but they use second number only in ESR channel (for example 78.3.0esr) because it often adds back-ported features. And the last number is for fixes, for example the last 80 was 80.0.1 which was fixing some bugs.
Regarding your addon, you can use the same pattern - keep it short 1.0, 1.1, 1.2 etc. and if there is serious issue, fix it with hotfix 1.2.1 and then continue with 1.3.
And yes, I would say definitely start with 1, not 0 .