Skip to content

Commit 4082e4e

Browse files
docs: update versioning section with API stability annotations
Also includes a note on possible deprecation upon critical bugs and vulnerabilities
1 parent f2c323b commit 4082e4e

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,8 +1526,29 @@ $ mvn test
15261526
This library follows [Semantic Versioning](http://semver.org/), but with some
15271527
additional qualifications:
15281528

1529+
1. Components marked with `@BetaApi` are considered to be "0.x" features inside
1530+
a "1.x" library. This means they can change between minor and patch releases
1531+
in incompatible ways. These features should not be used by any library "B"
1532+
that itself has consumers, unless the components of library B that use
1533+
`@BetaApi` features are also marked with `@BetaApi`. Features marked as
1534+
`@BetaApi` are on a path to eventually become "1.x" features with the marker
1535+
removed.
1536+
1537+
1. Components marked with `@InternalApi` are technically public, but are only
1538+
public for technical reasons, because of the limitations of Java's access
1539+
modifiers. For the purposes of semver, they should be considered private.
1540+
1541+
1. Components marked with `@InternalExtensionOnly` are stable for usage, but
1542+
not for extension. Thus, methods will not be removed from interfaces marked
1543+
with this annotation, but methods can be added, thus breaking any
1544+
code implementing the interface. See the javadocs for more details on other
1545+
consequences of this annotation.
1546+
15291547
1. Components marked with `@ObsoleteApi` are stable for usage in the current major version,
15301548
but will be marked with `@Deprecated` in a future major version.
1549+
**NOTE**: We reserve the right to mark anything as `@Deprecated` and introduce breaking
1550+
changes in a minor version for anythign that we deem to be ***critical bugs and
1551+
vulnerabilities***.
15311552

15321553
## License
15331554

0 commit comments

Comments
 (0)