sphinx_rtd_theme icon indicating copy to clipboard operation
sphinx_rtd_theme copied to clipboard

Release 1.1 with upper bounds on dependencies

Open agjohnson opened this issue 3 years ago • 10 comments
trafficstars

The goal is to get 1.1 out that doesn't break when Sphinx 6 or docutils are released. The existing 1.1 milestone has a lot of extra bugs/bug fixes, which would be best off in a 1.2 release.

agjohnson avatar Aug 16 '22 20:08 agjohnson

I've repaired a number of issues building at CI. #1316 has working CI builds.

agjohnson avatar Aug 17 '22 19:08 agjohnson

I don't quite understand this issue, can you elaborate @agjohnson ? :pray:

benjaoming avatar Aug 19 '22 17:08 benjaoming

Pinged in chat. The note here is that we might delay a release if we continue going through the 1.1 milestone bugfixes. We'll want to do some testing on latest Sphinx and docutils, and ensure those pins do not introduce any display changes, build errors, or otherwise break the dependency chain for users.

agjohnson avatar Aug 19 '22 18:08 agjohnson

By pinning, do you mean introducing upper bounds < on more of the transient dependencies, i.e. not ==?

benjaoming avatar Aug 19 '22 18:08 benjaoming

The current specifier for Sphinx is https://github.com/readthedocs/sphinx_rtd_theme/blob/master/setup.cfg#L35, so really wide open. We'll want to tune that down to at least avoid bringing in Sphinx 6 and docutils versions we can't support.

agjohnson avatar Aug 19 '22 18:08 agjohnson

Ah okay, then I get you, I understanding "pinning" as ==

benjaoming avatar Aug 19 '22 18:08 benjaoming

Ah I see, yeah we use that term fairly loosely I suppose

agjohnson avatar Aug 19 '22 18:08 agjohnson

Not sure if correct language

benjaoming avatar Aug 19 '22 19:08 benjaoming

@agjohnson these are our current direct dependencies:

https://github.com/readthedocs/sphinx_rtd_theme/blob/e741681526e37bf8069c8864bbee9a5d754bc991/setup.cfg#L34-L37

small note: we'll bump docutils to 0.18 and maybe also to 0.19

Should we investigate transitive dependencies and potential of putting upper bounds of some of those or can this issue be considered solved?

benjaoming avatar Aug 24 '22 22:08 benjaoming

We'll use this issue to track an actual release going out. We can reassign this issue while you're away, but the actual work behind the release is indeed looking close.

agjohnson avatar Aug 26 '22 18:08 agjohnson

these are our current direct dependencies:

@benjaoming To clarify, those are the current dependencies specified in master. Release 1.0.0 has no upper bounds on Sphinx:

https://github.com/readthedocs/sphinx_rtd_theme/blob/1.0.0/setup.py#L120-L123

The aim of 1.1 release was to get out a fairly minor release that just pins dependencies so that we have more protection from Sphinx and docutils releases.

The next release, 1.2 or 2.0, can focus more on fixing issues with docutils 0.18 and 0.19, etc. We have more work to do to resolve display bugs with docutils 0.18 footnotes/citations.

For that, I think the following issues are on the wrong milestone and should be 1.2:

  • https://github.com/readthedocs/sphinx_rtd_theme/issues/1302
  • https://github.com/readthedocs/sphinx_rtd_theme/issues/1323
  • https://github.com/readthedocs/sphinx_rtd_theme/pull/1336
  • https://github.com/readthedocs/sphinx_rtd_theme/pull/1304

agjohnson avatar Oct 04 '22 22:10 agjohnson

There are a lot of people asking for docutils 0.18 and I would feel okay that the footnotes have a visual regression for docutils 0.18 that can be fixed during QA of 1.1b1 (I'll add the first set of styling ASAP).

https://github.com/readthedocs/sphinx_rtd_theme/issues/1322 was posted separately for this reason.

benjaoming avatar Oct 05 '22 07:10 benjaoming

Bumping #1302 etc to the 1.2 milestone regardless, the 1.1 release can ship and be QA'd without it.

benjaoming avatar Oct 05 '22 08:10 benjaoming

I do agree on adding a docutils 0.18 and 0.19 fixes, but this does seem like a good point to split out two separate, smaller releases.

Historically, we've been bad about creeping scope on theme releases and this has delayed fixes from going out for users. One of the conclusions we came to was that we should cut smaller releases more frequently. This does require being mindful of the true amount of work attached to each milestone, but users benefit from faster fixes, and we benefit from lower potential for breakage on each release.

agjohnson avatar Oct 05 '22 16:10 agjohnson

I agree, I was treating the 1.2 milestone as a milestone that wasn't actually in the roadmap. But now it is so it makes it easier to avoid the 1.1 scope creep. Also, it might be useful for some projects to choose between 1.1 (docutils<0.18) and 1.2 (docutils<0.19).

benjaoming avatar Oct 05 '22 20:10 benjaoming

A pre-release of 1.1.0 is out! You can help test it by upgrading to the latest pre-release, 1.1.0b3. Install it with pip install sphinx-rtd-theme==1.1.0b3 and make sure your docs look good!

Full changelog is here: https://sphinx-rtd-theme.readthedocs.io/en/latest/changelog.html

ericholscher avatar Oct 25 '22 20:10 ericholscher

Will close this once we see that https://github.com/readthedocs/readthedocs.org/pull/9701 works

benjaoming avatar Nov 01 '22 20:11 benjaoming

The new release is announced and works for the first builds tested.

benjaoming avatar Nov 01 '22 21:11 benjaoming