the final digit is a patch version, and incrementing it means a bug fix with no breaking changes.
Example: https://github.com/facebook/react/releases/tag/v16.13.1
the middle digit is a minor version, so some new stuff was added, but nothing that currently works should break.
Example: https://github.com/kubernetes/kubernetes/releases/tag/v1.21.0
the middle digit is a minor version, so some new stuff was added, but nothing that currently works should break.
Example: https://github.com/rust-lang/rust/releases/tag/1.51.0
the first digit is a major version, so we definitely expects things that work in 15.7.0 to NOT work in 16.0.0.
Example: https://github.com/facebook/react/blob/master/CHANGELOG.md#breaking-changes
the final digit is a patch version, and incrementing it means a bug fix with no breaking changes.
Example: https://github.com/microsoft/TypeScript/releases/tag/v3.9.9