以下資料皆來自Ref,這裡僅做個人筆記整理
https://medium.com/fiverr-engineering/major-minor-patch-a5298e2e1798
Major.Minor.Patch
A program’s version does not represent the state of the software but makes a statement about its API for the consumer.
Semantic versioning does not reflect the size of the update, but the changes in the software’s public API.
- Patch:
Patch updates are 「interchangeable」, meaning consumers can upgrade or downgrade freely.
Content: Internal fix
Example: Bug fix, Performance improvement, environment or internal tweaks
Policy: Consumers should update their software without hesitation
- Minor
Minor updates are 「backwards compatible」, meaning consumers can upgrade freely.
Content: Interface change with full backward compatibility
Example: New feature, Endpoint declared deprecated
Policy: Update your software to get some new features. Nothing will break
- Major
Major updates are 「non-compatible」, meaning consumers can not upgrade without changing their software where applicable.
Content: Interface change breaking backward compatibility
Example: Change API endpoint name or signature, Remove an endpoint
Policy: Test your system extensively after updating.
Migration documents may be in order