diff --git a/triage/labels.rst b/triage/labels.rst index c2981f666..580942af7 100644 --- a/triage/labels.rst +++ b/triage/labels.rst @@ -27,7 +27,8 @@ These labels are used to specify the type of issue: core dump. * :gh-label:`type-feature`: for feature requests or enhancements. Feature requests do not need :ref:`version labels `; - it is implicit that features are added to the ``main`` branch only. + it is implicit that features are added to the ``main`` branch only, + except for some :ref:`exceptional cases `. The `Ideas Discourse category`_ can be used to discuss enhancements before filing an issue. * :gh-label:`type-security`: for security issues. @@ -97,9 +98,45 @@ These labels are used to indicate which versions of Python are affected. The available version labels (with the form :samp:`3.{N}`) are updated whenever new feature releases are created or retired. +Triagers may adhere to the following recommendations: + +- For security issues, add the :gh-label:`type-security` label and + the affected version labels. This makes the issue stand out. + +- For non-security issues affecting *all* bugfix branches, only add + the :gh-label:`type-bug` label as knowing which versions are affected + does not give more information. + + Once the bug is resolved, one can optionally add the version labels for + the affected versions. This helps readers in knowing whether their issue + has been solved for their Python version. + +- EOL version labels should be removed when possible but there is no need + to explicitly go through old issues to remove such labels. + +- Otherwise, add the corresponding version label(s) and remember to + update them when the latest major version is updated. + See also :ref:`the branch status page ` for a list of active branches. +.. _exceptional-version-labels: + +Exceptional version labels for features +--------------------------------------- + +While features should not have a version label, there are a few exceptional +cases subject to the release manager approval: + +- If we are currently in the *beta* period of :samp:`3.{N}.0` and + if a feature was implemented in its *alpha* period but requires a + non-trivial extension (hence a new *feature* issue), this new + feature issue is given the :samp:`3.{N}` label as the latest + version under development would now be :samp:`3.{N+1}.0a1`. + + To indicate that the labelling is correct and the extension is + approved, the :gh-label:`triaged` label could also be applied. + .. _Keywords: .. _Other: