-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
43 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Add version guarantees page |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
Version Guarantees | ||
================== | ||
|
||
This library follows `semantic versioning model <https:semver.org>`_, which means the major version | ||
is updated every time there is an incompatible (breaking) change made to the public API. However | ||
due to the fairly dynamic nature of Python, it can be hard to discern what can be considered a | ||
breaking change, and what isn't. | ||
|
||
First thing to keep in mind is that breaking changes only apply to **publicly documented | ||
functions and classes**. If it's not listed in the documentation here, it's an internal feature, | ||
that's it's not considered a part of the public API, and thus is bound to change. This includes | ||
documented attributes that start with an underscore. | ||
|
||
.. note:: | ||
The examples below are non-exhaustive. | ||
|
||
Examples of Breaking Changes | ||
---------------------------- | ||
|
||
* Changing the default parameter value of a function to something else. | ||
* Renaming (or removing) a function without an alias to the old function. | ||
* Adding or removing parameters of a function. | ||
* Removing deprecated alias to a renamed function | ||
|
||
Examples of Non-Breaking Changes | ||
-------------------------------- | ||
|
||
* Changing function's name, while providing a deprecated alias. | ||
* Renaming (or removing) private underscored attributes. | ||
* Adding an element into `__slots__` of a data class. | ||
* Changing the behavior of a function to fix a bug. | ||
* Changes in the typing behavior of the library. | ||
* Changes in the documentation. | ||
* Modifying the internal protocol connection handling. | ||
* Updating the dependencies to a newer version, major or otherwise. |