Microsoft Certified: DevOps Engineer ExpertConfigure processes and communicationsEasy

A DevOps team is developing a microservices-based application. They need to implement a versioning strategy that clearly communicates the impact of changes to consumers of their APIs. Specifically, they want to convey whether a new version introduces breaking changes, new features that are backward-compatible, or only bug fixes. Which versioning standard should they adopt?

  1. ADate-Based Versioning
  2. BSemantic Versioning (SemVer)
  3. CAlphabetical Versioning
  4. DSequential Versioning
Show answer & explanation

Correct answer: B. Semantic Versioning (SemVer)

Semantic Versioning (SemVer) uses a MAJOR.MINOR.PATCH format to communicate the nature of changes. MAJOR for breaking changes, MINOR for backward-compatible new features, and PATCH for backward-compatible bug fixes. This directly addresses the need to clearly communicate the impact of changes to API consumers.

Why the other options are wrong

  • A. Date-based versioning (e.g., 2023.10.26) indicates when a release was made but not the type of changes.
  • C. Alphabetical versioning is unconventional and provides no standardized meaning for change impact.
  • D. Sequential versioning (e.g., 1, 2, 3) provides no inherent meaning about the nature of changes.

Semantic Versioning (SemVer)

A versioning scheme (MAJOR.MINOR.PATCH) that conveys meaning about the underlying changes in software releases.

  • MAJOR version increment for incompatible API changes.
  • MINOR version increment for adding backward-compatible functionality.
  • PATCH version increment for backward-compatible bug fixes.
  • Helps consumers understand the impact of upgrading.

Memory trick: SemVer: 'S'ignifies 'E'very 'M'ajor, 'M'inor, 'P'atch.

More Configure processes and communications questions