Semantic versioning is a version-numbering convention in which changes to version components communicate the nature and compatibility impact of software changes. It helps users and maintainers understand whether an update is likely to be breaking, feature-adding, or corrective.