[GH-ISSUE #429] Questions about Minor Changes #4560

Closed
opened 2026-06-13 12:47:45 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @jon-whit on GitHub (Feb 23, 2018).
Original GitHub issue: https://github.com/semver/semver/issues/429

According to the SemVer specification, the MINOR version MUST be incremented if new backwards compatible changes are made to the public API.

What if new functionality is added to an internal API that doesn't change the public API? Are there any recommendations on bumping version numbers if the internal API changes but does so in a way that is compatible with the existing public API? Should the version be bumped at all in this case?

Originally created by @jon-whit on GitHub (Feb 23, 2018). Original GitHub issue: https://github.com/semver/semver/issues/429 According to the SemVer specification, the MINOR version MUST be incremented if new backwards compatible changes are made to the public API. What if new functionality is added to an internal API that doesn't change the public API? Are there any recommendations on bumping version numbers if the internal API changes but does so in a way that is compatible with the existing public API? Should the version be bumped at all in this case?
Author
Owner

@foxbit19 commented on GitHub (Feb 23, 2018):

Hi @jon-whit, I think there must be an increase of the MINOR version even if the new functionality is added to an internal API. The version increments represent a change that distinguish previous version from current version of your code.
I always think about incremental code obfuscation in this case: consequentials releases (with different version numbers) that are semantically equivalent but hardening the reverse engineering job.

<!-- gh-comment-id:368164533 --> @foxbit19 commented on GitHub (Feb 23, 2018): Hi @jon-whit, I think there must be an increase of the MINOR version even if the new functionality is added to an internal API. The version increments represent a change that distinguish previous version from current version of your code. I always think about incremental code obfuscation in this case: consequentials releases (with different version numbers) that are semantically equivalent but hardening the reverse engineering job.
Author
Owner

@FichteFoll commented on GitHub (Feb 23, 2018):

The internal API is completely separate from the public API and does not matter in the semver scope. Changing anything in the internal API is entirely transparent to the public API, so this is a patch level change.

<!-- gh-comment-id:368172285 --> @FichteFoll commented on GitHub (Feb 23, 2018): The internal API is completely separate from the public API and does not matter in the semver scope. Changing *anything* in the internal API is entirely transparent to the public API, so this is a patch level change.
Author
Owner

@jwdonahue commented on GitHub (Feb 26, 2018):

According to the SemVer specification, the MINOR version MUST be incremented if new backwards compatible changes are made to the public API.

Actually it doesn't say that at all. You are referring to https://semver.org/#spec-item-7, which references the public API. It does say that it MAY be incremented "if substantial new functionality or improvements are introduced within the private code".

@jon-whit, unless you have further questions, please close this issue at your earliest possible convenience.

<!-- gh-comment-id:368403706 --> @jwdonahue commented on GitHub (Feb 26, 2018): > According to the SemVer specification, the MINOR version MUST be incremented if new backwards compatible changes are made to the public API. Actually it doesn't say that at all. You are referring to https://semver.org/#spec-item-7, which references the public API. It does say that it MAY be incremented "if substantial new functionality or improvements are introduced within the private code". @jon-whit, unless you have further questions, please close this issue at your earliest possible convenience.
Author
Owner

@jon-whit commented on GitHub (Feb 26, 2018):

@jwdonahue thanks!

<!-- gh-comment-id:368548602 --> @jon-whit commented on GitHub (Feb 26, 2018): @jwdonahue thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/semver#4560