2022-04-23 13:26:53 +01:00
|
|
|
---
|
2023-02-10 18:22:04 +00:00
|
|
|
tags: []
|
2022-04-23 13:26:53 +01:00
|
|
|
---
|
2022-09-06 15:44:40 +01:00
|
|
|
|
|
|
|
# Semantic versioning
|
2022-04-23 13:26:53 +01:00
|
|
|
|
2022-07-16 10:30:04 +01:00
|
|
|
```
|
2022-04-23 13:26:53 +01:00
|
|
|
3.4.1 === major.minor.patch
|
2022-07-16 10:30:04 +01:00
|
|
|
```
|
2022-04-23 13:26:53 +01:00
|
|
|
|
2022-09-06 15:44:40 +01:00
|
|
|
- Major
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
- New feature which may potentially cause breaking changes to applications
|
|
|
|
dependent on the previous major version.
|
2022-09-06 15:44:40 +01:00
|
|
|
|
|
|
|
- Minor
|
|
|
|
|
|
|
|
- New features that do not break the existing API
|
|
|
|
|
|
|
|
- Patch
|
|
|
|
|
|
|
|
- Bug fixes for the current minor version
|
2022-04-23 13:26:53 +01:00
|
|
|
|
|
|
|
## Glob patterns for versioning
|
|
|
|
|
|
|
|
### Caret
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
Interested in any version so long as the major version remains at $n$. E.g if we
|
|
|
|
are at `^4.2.1` and we upgrade, we are ok with `4.5.3` or `4.8.2`. We are not
|
|
|
|
bothered about the minor or patch version.
|
2022-04-23 13:26:53 +01:00
|
|
|
|
|
|
|
This is equivalent to `4.x`
|
|
|
|
|
|
|
|
### Tilde
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
Interested in any patch version within set major and minor parameters. For
|
|
|
|
example `~1.8.3` means you don't mind any patch version so long as it is a patch
|
|
|
|
for `1.8`. This is equivalent to `1.8.x`.
|
2022-04-23 13:26:53 +01:00
|
|
|
|
|
|
|
### No tilde or caret
|
|
|
|
|
2022-09-06 15:44:40 +01:00
|
|
|
Use the _exact_ version specified
|