summaryrefslogtreecommitdiffstats
path: root/docs/development.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/development.rst')
-rw-r--r--docs/development.rst209
1 files changed, 209 insertions, 0 deletions
diff --git a/docs/development.rst b/docs/development.rst
new file mode 100644
index 0000000..c4ee9a4
--- /dev/null
+++ b/docs/development.rst
@@ -0,0 +1,209 @@
+Development
+===========
+
+The theme developers follow the guidelines below for development and release
+planning. Documentation authors can decide which theme release works best for
+their project based on required browser/operating system combinations or
+dependency support.
+
+.. _supported-browsers:
+
+Supported browsers
+------------------
+
+Official browser support is determined by the most popular browser/operating
+system combinations in our pageview analytics. Officially supported combinations
+are commonly tested during development, and are always tested before final
+release of a new version of the theme.
+
+Older releases of supported combinations, and some less common combinations, are
+considered partially supported. This means that we do not consistently test
+these combinations, however we do expect user experience to be comparable with
+supported combinations.
+
+.. csv-table:: Supported browser combinations
+ :widths: 6, 12, 4
+ :header-rows: 1
+ :file: supported-browsers.csv
+
+.. versionadded:: 1.0
+ Supported browser and operating system combinations added
+
+There are several browser/operating system combinations that are not supported
+by the theme developers at all. Unsupported combinations do not receive testing
+or development, and we likely won't accept major contributions for these
+combinations.
+
+Unsupported browser/operating system combinations include:
+
+Internet Explorer (any OS, versions <=10)
+ **Unsupported.** IE11 is the last partially supported version. We do no
+ testing on prior versions.
+
+Internet Explorer (any OS, version 11)
+ We currently only partially support IE11, and only test for major bugs.
+ Support will be removed in the :ref:`roadmap-release-3.0.0` release.
+
+Opera (any OS, any version)
+ **Community support only.** We do not receive enough traffic with this
+ browser to officially support it in testing and development.
+
+.. _supported-dependencies:
+
+Supported dependencies
+----------------------
+
+The theme officially supports the following dependencies in your Sphinx project:
+
+.. list-table:: Supported dependencies
+ :header-rows: 1
+ :widths: 10, 10
+
+ * - Dependency
+ - Versions
+ * - Python
+ - 3.6 or greater
+ * - Sphinx
+ - 5 or greater
+ * - docutils
+ - >= 0.14, < 0.19
+
+.. deprecated:: 2.0
+ Sphinx < 5 support removed
+
+.. deprecated:: 2.0
+ Python < 3.6 support removed
+
+.. deprecated:: 2.0
+ docutils < 0.14 support removed
+
+.. versionadded:: 1.0
+ Sphinx 4.0 support added
+
+.. deprecated:: 1.0
+ Sphinx 1.6 support removed
+
+.. versionadded:: 1.0
+ docutils 0.17 support added
+
+Roadmap
+-------
+
+We currently have several releases planned on our development roadmap. Backward
+incompatible changes, deprecations, and major features are noted for each of
+these releases.
+
+Releases follow `semantic versioning`_, and so it is generally recommended that
+authors pin dependency on ``sphinx_rtd_theme`` to a version below the next major
+version:
+
+.. code:: console
+
+ $ pip install "sphinx_rtd_theme<2.0.0"
+
+.. _semantic versioning: http://semver.org/
+
+.. _roadmap-release-1.0.0:
+
+1.0.0
+~~~~~
+
+:Planned release date: August 2021
+
+This release will be a slightly backwards incompatible release to follow the
+:ref:`release-0.5.2` release. It will drop support for Sphinx 1.6, which is a rather old
+release at this point.
+
+This version will add official support for the Sphinx 4.x release series and
+it resolves bugs with the latest release of Docutils, version 0.17.
+
+Starting with this release, several deprecation warnings will be emitted at
+build time:
+
+Direct installation is deprecated
+ Support for direct installation through GitHub is no longer a suggested
+ installation method. In an effort to ease maintenance, compiled assets will
+ eventually be removed from the theme repository. These files will only be
+ included in the built packages/releases available on PyPI.
+
+ We plan to start putting development releases up on PyPI more frequently, so
+ that installation from the theme source repository is no longer necessary.
+
+ Built assets are tentatively planned to be removed in version :ref:`roadmap-release-3.0.0`:.
+
+HTML4 support is deprecated
+ Support for the Sphinx HTML4 writer will be removed in the :ref:`roadmap-release-2.0.0`
+ release.
+
+.. _roadmap-release-1.1.0:
+
+1.1.0
+~~~~~
+
+:Planned release date: 2021 Q3
+
+We aim to follow up release :ref:`release-1.0.0` with at least one bug fix release in
+the 1.x release series. The 1.1 release will not be adding any major features
+and will instead mark the last release targeting projects with old dependencies
+like Sphinx 1.8, HTML4, or required support for IE11.
+
+.. _roadmap-release-2.0.0:
+
+2.0.0
+~~~~~
+
+:Planned release date: 2023 Q3
+
+This release will drop support for old Python and Sphinx versions.
+
+Note the following backwards incompatible changes are planned for this
+release:
+
+Python < 3.6, Sphinx < 5 and Docutils < 0.14 will not be tested
+ Official support will drop for these version, though they may still continue
+ to work. Theme developers will not be testing these versions any longer.
+
+HTML4 support will be removed
+ Starting with this release, we will only support the HTML5 writer output,
+ and builds attempting to use the HTML4 writer will fail. If you are still
+ using the HTML4 writer, or have the ``html4_writer = True`` option in your
+ Sphinx configuration file, you will need to either remove this option or pin
+ your dependency to ``sphinx_rtd_theme<=3`` until you can.
+
+ This option was suggested in the past to work around issues with HTML5
+ support and should no longer be required to use a modern combination of this
+ theme and Sphinx.
+
+.. _roadmap-release-3.0.0:
+
+3.0.0
+~~~~~
+
+:Planned release date: 2024 Q1
+
+This release is not yet fully planned.
+However, we already know that we will be dropping support for older version of different dependencies and browsers.
+
+Sphinx 5, Python < 3.8 and docutils < 0.18 support will be removed
+ Sphinx 5 is the latest version that supports Python 3.6 and 3.7,
+ and docutils < 0.18.
+
+Internet Explorer 11 support will be dropped
+ `IE11 reached end of life on 14 June 20222 <https://endoflife.date/internet-explorer>`_,
+ so we are not supporting it on newer versions,
+ starting on 3.0.0.
+
+.. _roadmap-release-4.0.0:
+
+4.0.0
+~~~~~
+
+:Planned release date: 2024 Q2
+
+This release is not yet planned.
+There are plans to potentially replace Wyrm with Bootstrap in a release after 3.0.
+
+Also tentatively planned for this release is finally removing built CSS and
+JavaScript assets from our repository. This will remove the ability to install
+the package directly from GitHub, and instead users will be advised to install
+development releases from PyPI.