Skip to content

Commit f5495d7

Browse files
Adding qualifications on usage of semantic versioning [ci skip]
1 parent 49a8346 commit f5495d7

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,26 @@ See [TESTING] to read more about using our testing helpers.
829829
Versioning
830830
----------
831831
832-
This library follows [Semantic Versioning](http://semver.org/).
832+
This library follows [Semantic Versioning](http://semver.org/), but with some
833+
additional qualifications:
834+
835+
1. Components marked with `@BetaApi` are considered to be "0.x" features inside
836+
a "1.x" library. This means they can change between minor and patch releases
837+
in incompatible ways. These features should not be used by any library "B"
838+
that itself has consumers, unless the components of library B that use
839+
`@BetaApi` features are also marked with `@BetaApi`. Features marked as
840+
`@BetaApi` are on a path to eventually become "1.x" features with the marker
841+
removed.
842+
843+
**Special exception for google-cloud-java**: google-cloud-java is
844+
allowed to depend on `@BetaApi` features in gax-java without declaring the consuming
845+
code `@BetaApi`, because gax-java and google-cloud-java move in step
846+
with each other. For this reason, gax-java should not be used
847+
independently of google-cloud-java.
848+
849+
1. Components marked with `@InternalApi` are technically public, but are only
850+
public for technical reasons, because of the limitations of Java's access
851+
modifiers. For the purposes of semver, they should be considered private.
833852
834853
Please note it is currently under active development. Any release versioned 0.x.y is
835854
subject to backwards incompatible changes at any time.

0 commit comments

Comments
 (0)