dhei/classic-tokens
@reggi/path-to-regexp
dependabot/npm_and_yarn/main/copy-to-clipboard-4.0.2
dependabot/npm_and_yarn/main/eslint-10.4.0
dependabot/npm_and_yarn/main/npmcli/eslint-config-7.0.0
dependabot/npm_and_yarn/main/proc-log-7.0.0
dependabot/npm_and_yarn/npm_and_yarn-826852524d
dependabot/npm_and_yarn/npm_and_yarn-ab9a7f4bc2
deprecate-totp-2fa
dhei/classic-tokens
gat-bypass-2fa-docs
jpg619/fix-accessibility-content-flow
jpg619/version-bump-tar-2
kartykp/gat-bypass-2fa-docs
kartykp/upgrade-path-to-regex
main
maitxn/version-bump-tar
patch-1
reggi/cache-based-on-version
reggi/dev-engines
reggi/fix-transform-prettier
reggi/overrides
update-search-sensitivity
| 1 | --- |
| 2 | title: About semantic versioning |
| 3 | redirect_from: |
| 4 | - /getting-started/semantic-versioning/ |
| 5 | --- |
| 6 | |
| 7 | To keep the JavaScript ecosystem healthy, reliable, and secure, every time you make significant updates to an npm package you own, we recommend publishing a new version of the package with an updated version number in the [`package.json` file][pkg-json] that follows the [semantic versioning spec][semver-org]. Following the semantic versioning spec helps other developers who depend on your code understand the extent of changes in a given version, and adjust their own code if necessary. |
| 8 | |
| 9 | <Note> |
| 10 | |
| 11 | **Note:** If you introduce a change that breaks a package dependency, we strongly recommend incrementing the version **major number**; see below for details. |
| 12 | |
| 13 | </Note> |
| 14 | |
| 15 | ## Incrementing semantic versions in published packages |
| 16 | |
| 17 | To help developers who rely on your code, we recommend starting your package version at `1.0.0` and incrementing as follows: |
| 18 | |
| 19 | | Code status | Stage | Rule | Example version | |
| 20 | | --- | --- | --- | --- | |
| 21 | | First release | New product | Start with 1.0.0 | 1.0.0 | |
| 22 | | Backward compatible bug fixes | Patch release | Increment the third digit | 1.0.1 | |
| 23 | | Backward compatible new features | Minor release | Increment the middle digit and reset last digit to zero | 1.1.0 | |
| 24 | | Changes that break backward compatibility | Major release | Increment the first digit and reset middle and last digits to zero | 2.0.0 | |
| 25 | |
| 26 | ## Using semantic versioning to specify update types your package can accept |
| 27 | |
| 28 | You can specify which update types your package can accept from dependencies in your package's `package.json` file. |
| 29 | |
| 30 | For example, to specify acceptable version ranges up to 1.0.4, use the following syntax: |
| 31 | |
| 32 | - Patch releases: `1.0` or `1.0.x` or `~1.0.4` |
| 33 | - Minor releases: `1` or `1.x` or `^1.0.4` |
| 34 | - Major releases: `*` or `x` |
| 35 | |
| 36 | For more information on semantic versioning syntax, see the [npm semver calculator][semver-calc]. |
| 37 | |
| 38 | ### Example |
| 39 | |
| 40 | ```json |
| 41 | |
| 42 | "dependencies": { |
| 43 | "my_dep": "^1.0.0", |
| 44 | "another_dep": "~2.2.0" |
| 45 | }, |
| 46 | ``` |
| 47 | |
| 48 | ## Resources |
| 49 | |
| 50 | <YouTube id="kK4Meix58R4" /> |
| 51 | |
| 52 | [semver-calc]: https://semver.npmjs.com/ |
| 53 | [pkg-json]: creating-a-package-json-file |
| 54 | [semver-org]: http://semver.org/ |
| 55 | [semver-video]: https://www.youtube.com/embed/kK4Meix58R4 |