releases.rst 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. .. _releasing:
  2. Releases
  3. ========
  4. Releases for FlaskBB can be found on `pypi <https://pypi.org/project/FlaskBB>`_
  5. as well as on `github <https://github.com/flaskbb/flaskbb>`_.
  6. FlaskBB loosely follows semantic versioning (semver) where all releases in each
  7. major version strive to be backwards compatible, though sometimes this will
  8. be broken in order to apply a bugfix or security patch. When this occurs the
  9. release notes will contain information about this.
  10. Releases follow no particular cadence.
  11. Branching and Tagging
  12. ~~~~~~~~~~~~~~~~~~~~~
  13. Each release of FlaskBB will have a git tag such as ``v2.0.0`` as well as a
  14. branch such as ``2.0.0``. Minor releases and patches reside in their major
  15. version branch (e.g. version 2.0.1 resides in the 2.0.0 branch).
  16. The ``master`` branch is always the latest version of FlaskBB and versions are
  17. cut from this branch.
  18. Feature and example branches may also be found in the official FlaskBB repo
  19. but these are not considered release ready and may be unstable.
  20. Deprecation Policy
  21. ~~~~~~~~~~~~~~~~~~
  22. A release of FlaskBB may deprecate existing features and begin emitting
  23. :class:`~flaskbb.deprecation.FlaskBBDeprecation` warnings.
  24. These warnings are on by default and will announce for the first time each
  25. deprecated usage is detected. If you want to ignore these warnings, this
  26. behavior can be modified by setting ``DEPRECATION_LEVEL`` in your configuration
  27. file or setting ``FLASKBB_DEPRECATION_LEVEL`` in your environment to a level
  28. from the builtin warnings module.
  29. For more details on interacting with warnings see
  30. `the official documentation on warnings <https://docs.python.org/3/library/warnings.html>`_.
  31. In general, a feature deprecated in a release will not be fully removed until
  32. the next major version. For example, a feature deprecated in 2.1.0 would not
  33. be removed until 3.0.0. There may be exceptions to this, such as if a deprecated
  34. feature is found to be a security risk.
  35. .. note::
  36. If you are developing on FlaskBB the level for FlaskBBDeprecation warnings
  37. is always set to ``error`` when running tests to ensure that deprecated
  38. behavior isn't being relied upon. If you absolutely need to downgrade to a
  39. non-exception level, use pytest's recwarn fixture and set the level with
  40. warnings.simplefilter
  41. For more details on using deprecations in plugins or extensions, see :ref:`deprecations`.