From 761831c701927e10ae978c70a6b36b5fe27d8085 Mon Sep 17 00:00:00 2001 From: Arseniy Zhizhelev Date: Thu, 30 Nov 2017 07:35:56 -0500 Subject: [PATCH 1/3] Add a note about transitive dependencies on JVM Closes https://github.com/semver/semver/issues/341 --- semver.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/semver.md b/semver.md index 73e4212..c893b5b 100644 --- a/semver.md +++ b/semver.md @@ -286,6 +286,19 @@ modification depends on whether you updated your dependencies in order to fix a bug or introduce new functionality. I would usually expect additional code for the latter instance, in which case it's obviously a minor level increment. +#### Special note for JVM or similar environments + +In JVM or other environments where only one version of a library could +be present in a running system, the transitive dependencies effectively become +part of the public API and thus the version of the user library SHOULD be +incremented to the same degree: + - for MAJOR change in transitive dependency we SHOULD increment MAJOR part of our version, + - for MINOR change in transitive dependency we SHOULD increment MINOR part of our version, + - for PATCH change in transitive dependency we SHOULD increment PATCH part of our version. + +If a few dependencies are being changed, only the highest degree is required to be incremented. +(See also [the discussion](https://github.com/semver/semver/issues/341).) + ### What if I inadvertently alter the public API in a way that is not compliant with the version number change (i.e. the code incorrectly introduces a major breaking change in a patch release)? Use your best judgment. If you have a huge audience that will be drastically From bfcb909efbbc053b3d40228637671e22bec3e767 Mon Sep 17 00:00:00 2001 From: Arseniy Zhizhelev Date: Fri, 1 Dec 2017 02:02:05 -0500 Subject: [PATCH 2/3] Update "Special note for JVM" (minor) --- semver.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/semver.md b/semver.md index c893b5b..bbdb742 100644 --- a/semver.md +++ b/semver.md @@ -288,10 +288,10 @@ for the latter instance, in which case it's obviously a minor level increment. #### Special note for JVM or similar environments -In JVM or other environments where only one version of a library could +In such environments where only one version of a library could be present in a running system, the transitive dependencies effectively become -part of the public API and thus the version of the user library SHOULD be -incremented to the same degree: +part of the public library interface and thus the version of the user library SHOULD be +incremented to the same degree as the version of the transitive dependency: - for MAJOR change in transitive dependency we SHOULD increment MAJOR part of our version, - for MINOR change in transitive dependency we SHOULD increment MINOR part of our version, - for PATCH change in transitive dependency we SHOULD increment PATCH part of our version. From 8d19c8a91f589158742e792ce300ca84943690d9 Mon Sep 17 00:00:00 2001 From: Arseniy Zhizhelev Date: Mon, 22 Jun 2020 10:55:38 +0300 Subject: [PATCH 3/3] Remove superfluous spaces --- semver.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/semver.md b/semver.md index bbdb742..38d2b92 100644 --- a/semver.md +++ b/semver.md @@ -292,9 +292,9 @@ In such environments where only one version of a library could be present in a running system, the transitive dependencies effectively become part of the public library interface and thus the version of the user library SHOULD be incremented to the same degree as the version of the transitive dependency: - - for MAJOR change in transitive dependency we SHOULD increment MAJOR part of our version, - - for MINOR change in transitive dependency we SHOULD increment MINOR part of our version, - - for PATCH change in transitive dependency we SHOULD increment PATCH part of our version. +- for MAJOR change in transitive dependency we SHOULD increment MAJOR part of our version, +- for MINOR change in transitive dependency we SHOULD increment MINOR part of our version, +- for PATCH change in transitive dependency we SHOULD increment PATCH part of our version. If a few dependencies are being changed, only the highest degree is required to be incremented. (See also [the discussion](https://github.com/semver/semver/issues/341).)