Semantic Versioning (SemVer) Flashcards

1
Q

What does the ‘MAJOR’ version number in Semantic Versioning indicate?

A

Incompatible API changes or breaking changes that might require users to adjust their code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The version format in Semantic Versioning is ___.

A

MAJOR.MINOR.PATCH

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

True or False: A ‘MINOR’ version change indicates a backward-compatible bug fix.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does Semantic Versioning benefit developers when updating software dependencies?

A

It provides clarity, compatibility, and predictability about updates, making it easier to manage dependencies and make updates confidently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Fill in the blank: A backward-compatible bug fix would result in a change in the ______ version number.

A

PATCH

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Compare a ‘MAJOR’ version change to a ‘MINOR’ version change in Semantic Versioning.

A

A ‘MAJOR’ version change involves breaking changes that may affect compatibility, while a ‘MINOR’ version change adds new features in a backward-compatible way.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What version number would come after 1.3.5 if a new feature is added without breaking compatibility?

A

1.4.0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

True or False: The Semantic Versioning format allows for additional identifiers for pre-release versions and build metadata.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the purpose of the ‘PATCH’ version in Semantic Versioning?

A

To indicate backward-compatible bug fixes or minor changes that don’t impact functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Provide an example of a Semantic Versioning number with build metadata.

A

1.0.0+20130313144700

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In Semantic Versioning, what does a version change from 2.0.1 to 2.0.2 imply?

A

A minor bug fix or small change that is backward-compatible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How would you label a pre-release version in Semantic Versioning? Give an example.

A

By adding an identifier like ‘-alpha’ or ‘-beta’; e.g., 1.0.0-alpha.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What happens when a MINOR version is updated?

A

A new feature is added in a backward-compatible way, meaning existing code doesn’t need to change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explain what the ‘2’ represents in version 2.3.4 under Semantic Versioning.

A

The MAJOR version, which indicates breaking changes that may require users to adjust their code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

In Semantic Versioning, what would you expect from a release labeled as 3.2.0?

A

New functionality added in a backward-compatible way, as it’s a MINOR update.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

True or False: A change from version 1.0.0 to 1.0.1 could include breaking changes.

A

False

17
Q

Describe a situation where you might need to update the MAJOR version number.

A

When making a change that is incompatible with previous versions, potentially breaking existing code for users.

18
Q

How does Semantic Versioning improve compatibility management in software projects?

A

It lets users understand the impact of updates, especially for libraries and APIs, by indicating breaking changes, new features, or fixes.

19
Q

True or False: The MINOR version number should increase when only bug fixes are implemented.

A

False

20
Q

Fill in the blank: A new feature added in a backward-compatible manner would update the ______ version.

A

MINOR