Skip to content

Commit 207ae96

Browse files
committed
Add development and usage documentation
This finally defines our supported browsers and dependencies publicly, and communicates our next several versions that we have planned so far. This information is starting with 1.0.0, but I did try to capture some historical information as well.
1 parent 7c2bbb7 commit 207ae96

File tree

5 files changed

+230
-39
lines changed

5 files changed

+230
-39
lines changed

docs/changelog.rst

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,10 @@ Other Changes
5959
* Use regular toctree instead of toc for singlehtml builder (#507)
6060
* Cleanup whitespace in templates (#1060)
6161

62-
v0.5.2
63-
======
62+
.. _0.5.2:
63+
64+
0.5.2
65+
=====
6466

6567
:Date: April 5, 2021
6668

@@ -69,8 +71,10 @@ v0.5.2
6971

7072
* Depend on docutils < 0.17 (#1113)
7173

72-
v0.5.1
73-
======
74+
.. _0.5.1:
75+
76+
0.5.1
77+
=====
7478

7579
:Date: January 4, 2021
7680

@@ -99,8 +103,10 @@ Other Changes
99103
* Make Copyright template match sphinx's basic (#933)
100104
* Packaging: include ``bin/preinstall.js`` (#1005)
101105

102-
v0.5.0
103-
======
106+
.. _0.5.0:
107+
108+
0.5.0
109+
=====
104110

105111
:Date: Jun 17, 2020
106112

@@ -109,8 +115,8 @@ Fixes
109115

110116
* Fix bullet list spacing to respect simple/complex list styles
111117

112-
v0.5.0rc2
113-
=========
118+
0.5.0rc2
119+
========
114120

115121
:Date: June 5, 2020
116122

@@ -122,8 +128,8 @@ Fixes
122128
* Fix several margin issues with lists, nested lists, and nested content
123129
* Add colon back to field lists
124130

125-
v0.5.0rc1
126-
=========
131+
0.5.0rc1
132+
========
127133

128134
:Date: May 6, 2020
129135

@@ -141,8 +147,10 @@ Other Changes
141147
* Moved build system from Grunt and friends to Webpack
142148
* Remove Modernizr, but keep html5shiv (#724, #525)
143149

144-
v0.4.3
145-
======
150+
.. _0.4.3:
151+
152+
0.4.3
153+
=====
146154

147155
:Date: Feb 12, 2019
148156

@@ -161,8 +169,10 @@ Fixes
161169
Other Changes
162170
--------------
163171

164-
v0.4.2
165-
======
172+
.. _0.4.2:
173+
174+
0.4.2
175+
=====
166176

167177
:Date: Oct 5, 2018
168178

@@ -181,8 +191,8 @@ Other Changes
181191
* Upload signed packages to PyPI with twine (#651)
182192
* Do not enforce period at the end of copyright statement (666)
183193

184-
v0.4.1
185-
======
194+
0.4.1
195+
=====
186196

187197
:Date: July 27, 2018
188198

@@ -199,8 +209,8 @@ Other Changes
199209

200210
* Add Sphinx as a dependency
201211

202-
v0.4.0
203-
======
212+
0.4.0
213+
=====
204214

205215
This version made some changes to how JS and CSS were included
206216
when the theme is used on Read the Docs.
@@ -222,8 +232,8 @@ Other Changes
222232
* Changed code and literals to use a native font stack (#612)
223233
* Fix small styling issues
224234

225-
v0.3.1
226-
======
235+
0.3.1
236+
=====
227237

228238
Fixes
229239
-----
@@ -234,8 +244,8 @@ Fixes
234244
* Add open list spacing (#591)
235245
* Fix table centering (#599)
236246

237-
v0.3.0
238-
======
247+
0.3.0
248+
=====
239249

240250
**Note**: this version resulted in some JavaScript incompatibilities when used on readthedocs.org
241251

@@ -268,40 +278,40 @@ Other Changes
268278
* Compress our Javascript files
269279
* Updated dependencies
270280

271-
v0.2.4
272-
======
281+
0.2.4
282+
=====
273283

274284
* Yet another patch to deal with extra builders outside Spinx, such as the
275285
singlehtml builders from the Read the Docs Sphinx extension
276286

277-
v0.2.3
278-
======
287+
0.2.3
288+
=====
279289

280290
* Temporarily patch Sphinx issue with ``singlehtml`` builder by inspecting the
281291
builder in template.
282292

283-
v0.2.2
284-
======
293+
0.2.2
294+
=====
285295

286296
* Roll back toctree fix in 0.2.1 (#367). This didn't fix the issue and
287297
introduced another bug with toctrees display.
288298

289-
v0.2.1
290-
======
299+
0.2.1
300+
=====
291301

292302
* Add the ``rel`` HTML attribute to the footer links which point to
293303
the previous and next pages.
294304
* Fix toctree issue caused by Sphinx singlehtml builder (#367)
295305

296-
v0.2.0
297-
======
306+
0.2.0
307+
=====
298308

299309
* Adds the ``comments`` block after the ``body`` block in the template
300310
* Added "Edit on GitLab" support
301311
* Many bug fixes
302312

303-
v0.1.10-alpha
304-
=============
313+
0.1.10-alpha
314+
============
305315

306316
.. note:: This is a pre-release version
307317

@@ -310,8 +320,8 @@ v0.1.10-alpha
310320
* Adds a ``body_begin`` block to the template
311321
* Added ``prev_next_buttons_location``
312322

313-
v0.1.9
314-
======
323+
0.1.9
324+
=====
315325

316326
* Intermittent scrollbar visibility bug fixed. This change introduces a
317327
backwards incompatible change to the theme's layout HTML. This should only be
@@ -327,8 +337,8 @@ v0.1.9
327337

328338
.. _#215: https://github.com/rtfd/sphinx_rtd_theme/pull/215
329339

330-
v0.1.8
331-
======
340+
0.1.8
341+
=====
332342

333343
* Start keeping changelog :)
334344
* Support for third and fourth level headers in the sidebar

docs/contributing.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ To release a new version of the theme, core team will take the following steps:
175175
#. Bump the version by running ``bump2version [major|minor|patch|dev]``.
176176
This will automatically increase the correct part(s) of the version number,
177177
you do not need to specify the exact version number.
178-
We follow `semver <http://semver.org/>`_ and `PEP440`_
178+
We follow `semantic versioning`_ and `PEP440`_
179179
(with regards to alpha release and development versions). The version
180180
increment should reflect these releases and any potentially breaking changes.
181181
#. New versions are by default ``alpha`` releases. If this is a release candidate,
@@ -202,3 +202,4 @@ To release a new version of the theme, core team will take the following steps:
202202
this change.
203203

204204
.. _PEP440: https://www.python.org/dev/peps/pep-0440/
205+
.. _semantic versioning: http://semver.org/

docs/development.rst

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
Development
2+
===========
3+
4+
The theme developers follow the guidelines below for development and release
5+
planning. Documentation authors can decide which theme release works best for
6+
their project based on required browser/operating system combinations or
7+
dependency support.
8+
9+
Supported browsers
10+
------------------
11+
12+
Official browser support is determined by the most popular browser/operating
13+
system combinations in our pageview analytics. Officially supported combinations
14+
are commonly tested during development, and are always tested before final
15+
release of a new version of the theme.
16+
17+
Older releases of supported combinations, and some less common combinations, are
18+
considered partially supported. This means that we do not consistently test
19+
these combinations, however we do expect user experience to be comparable with
20+
supported combinations.
21+
22+
.. csv-table:: Supported browser combinations
23+
:widths: 6, 12, 4
24+
:header-rows: 1
25+
:file: supported-browsers.csv
26+
27+
.. versionadded:: 1.0
28+
Supported browser and operating system combinations added
29+
30+
There are several browser/operating system combinations that are not supported
31+
by the theme developers at all. Unsupported combinations do not receive testing
32+
or development, and we likely won't accept major contributions for these
33+
combinations.
34+
35+
Unsupported browser/operating system combinations include:
36+
37+
Internet Explorer (any OS, versions <=10)
38+
**Unsupported.** IE11 is the last partially supported version. We do no
39+
testing on prior versions.
40+
41+
Internet Explorer (any OS, version 11)
42+
We currently only partially support IE11, and only test for major bugs.
43+
Support will be removed in the :ref:`2.0.0` release.
44+
45+
Opera (any OS, any version)
46+
**Community support only.** We do not receive enough traffic with this
47+
browser to officially support it in testing and development.
48+
49+
Supported dependencies
50+
----------------------
51+
52+
The theme officially supports the following dependencies in your Sphinx project:
53+
54+
.. list-table:: Supported dependencies
55+
:header-rows: 1
56+
:widths: 10, 10
57+
58+
* - Dependency
59+
- Versions
60+
* - Sphinx
61+
- 1.7 up to at least 4.1
62+
* - docutils
63+
- Up to 0.17
64+
65+
.. versionadded:: 1.0
66+
Sphinx 4.0 support added
67+
68+
.. deprecated:: 1.0
69+
Sphinx 1.6 support removed
70+
71+
.. versionadded:: 1.0
72+
docutils 0.17 support added
73+
74+
Roadmap
75+
-------
76+
77+
We currently have several releases planned on our development roadmap. Backward
78+
incompatible changes, deprecations, and major features are noted for each of
79+
these releases.
80+
81+
Releases follow `semantic versioning`_, and so it is generally recommended that
82+
authors pin dependency on ``sphinx_rtd_theme`` to a version below the next major
83+
version:
84+
85+
.. code:: console
86+
87+
% pip install "sphinx_rtd_theme<=2.0.0"
88+
89+
.. _semantic versioning: http://semver.org/
90+
91+
.. _1.0.0:
92+
93+
1.0.0
94+
~~~~~
95+
96+
:Planned release date: August 2021
97+
98+
This release will be a slightly backwards incompatible release to follow the
99+
:ref:`0.5.2` release. It will drop support for Sphinx 1.6, which is a rather old
100+
release at this point.
101+
102+
This version will add official support for the Sphinx 4.x release series and
103+
it resolves bugs with the latest release of Docutils, version 0.17.
104+
105+
Starting with this release, several deprecation warnings will be emitted at
106+
build time:
107+
108+
Direction installation is deprecated
109+
Support for direct installation through GitHub is no longer a suggested
110+
installation method. In an effort to ease maintenance, compiled assets will
111+
eventually be removed from the theme repository. These files will only be
112+
included in the built packages/releases available on PyPI.
113+
114+
We plan to start putting development releases up on PyPI more frequently, so
115+
that installation from the theme source repository is no longer necessary.
116+
117+
Built assets are tentatively planned to be removed in version :ref:`3.0.0`:.
118+
119+
HTML4 support is deprecated
120+
Support for the Sphinx HTML4 writer will be removed in the :ref:`2.0.0`
121+
release.
122+
123+
.. _1.1.0:
124+
125+
1.1.0
126+
~~~~~
127+
128+
:Planned release date: 2021 Q3
129+
130+
We aim to follow up release :ref:`1.0.0` with at least one bug fix release in
131+
the 1.x release series. The 1.1 release will not be adding any major features
132+
and will instead mark the last release targeting projects with old dependencies
133+
like Sphinx 1.8, HTML4, or required support for IE11.
134+
135+
.. _2.0.0:
136+
137+
2.0.0
138+
~~~~~
139+
140+
:Planned release date: 2022 Q1
141+
142+
This release will mark the beginning of a new round of feature development, as
143+
well as a number of backward incompatible changes and deprecations.
144+
145+
Of note, the following backwards incompatible changes are planned for this
146+
release:
147+
148+
Sphinx 1.x, Sphinx 2.x, and Docutils 0.16 will not be tested
149+
Official support will drop for these version, though they may still continue
150+
to work. Theme developers will not be testing these versions any longer.
151+
152+
HTML4 support will be removed
153+
Starting with this release, we will only support the HTML5 writer output,
154+
and builds attempting to use the HTML4 writer will fail. If you are still
155+
using the HTML4 writer, or have the ``html4_writer = True`` option in your
156+
Sphinx configuration file, you will need to either remove this option or pin
157+
your dependency to ``sphinx_rtd_theme<=2.0.0`` until you can.
158+
159+
This option was suggested in the past to work around issues with HTML5
160+
support and should no longer be required to use a modern combination of this
161+
theme and Sphinx.
162+
163+
.. _3.0.0:
164+
165+
3.0.0
166+
~~~~~
167+
168+
This release is not yet planned, however there are plans to potentially replace
169+
Wyrm with Bootstrap in a release after 2.0.
170+
171+
Also tentatively planned for this release is finally removing built CSS and
172+
JavaScript assets from our repository. This will remove the ability to install
173+
the package directly from GitHub, and instead users will be advised to install
174+
development releases from PyPI

0 commit comments

Comments
 (0)