[Docs] Add version guarantees (#2882)

Make some version guarantees.

We also need to do a pass over the existing things this would cover and decide if any of them should be made private.
This commit is contained in:
Michael H 2019-07-18 21:50:33 -04:00 committed by Toby Harradine
parent 7ba50c91a2
commit a8091332b8
4 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1 @@
Create documentation covering what we consider a developer facing breaking change and guarantees regarding them.

View File

@ -35,6 +35,20 @@ a text editor or IDE (examples include `Sublime Text 3 <https://www.sublimetext.
`Visual Studio Code <https://code.visualstudio.com/>`_, `Atom <https://atom.io/>`_, and `Visual Studio Code <https://code.visualstudio.com/>`_, `Atom <https://atom.io/>`_, and
`PyCharm <http://www.jetbrains.com/pycharm/>`_). `PyCharm <http://www.jetbrains.com/pycharm/>`_).
.. attention::
While you can intentionally override Red's cogs/extensions, this may break things.
We would prefer if people wanted custom behavior
for any core cog/extension, an issue and/or PR is made
Overriding Permissions specifically is dangerous.
Subclassing to make changes to Red's cogs/extensions
may not be a safe way to stay up to date either,
as changes to cogs and their interactions with red
are not guaranteed to not be breaking.
Any cogs doing this are doing so at their own risk,
and should also inform users of associated risks.
-------------- --------------
Creating a cog Creating a cog
-------------- --------------

View File

@ -43,6 +43,7 @@ Welcome to Red - Discord Bot's documentation!
framework_modlog framework_modlog
framework_rpc framework_rpc
framework_utils framework_utils
version_guarantees
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2

View File

@ -0,0 +1,36 @@
.. _version-guarantees:
==========
Versioning
==========
Red is versioned as ``major.minor.micro``
While this is very similar to SemVer, we have our own set of guarantees.
Major versions are for project wide rewrites and are not expected in the foreseeable future.
==========
Guarantees
==========
Anything in the ``redbot.core`` module or any of its submodules
which is not private (even if not documented) should not break without notice.
Anything in the ``redbot.cogs`` module or any of it's submodules is specifically
excluded from being guaranteed.
If you would like something in here to be guaranteed,
open an issue making a case for it to be moved.
=======================
Breaking Change Notices
=======================
Breaking changes in Red will be noted in the changelog with a special section.
Breaking changes may only occur on a minor or major version bump.
A change not covered by our guarantees may not be considered breaking for these purposes,
while still being documented as a breaking change in internal documentation
for the purposes of other internal APIs.