releases.rst 2.0 KB

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