Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.1 with upper bounds on dependencies #1309

Closed
agjohnson opened this issue Aug 16, 2022 · 18 comments
Closed

Release 1.1 with upper bounds on dependencies #1309

agjohnson opened this issue Aug 16, 2022 · 18 comments
Assignees
Milestone

Comments

@agjohnson
Copy link
Collaborator

agjohnson commented Aug 16, 2022

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
Copy link
Collaborator Author

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

@benjaoming
Copy link
Contributor

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

@agjohnson
Copy link
Collaborator Author

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.

@benjaoming
Copy link
Contributor

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

@agjohnson
Copy link
Collaborator Author

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.

@benjaoming
Copy link
Contributor

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

@agjohnson
Copy link
Collaborator Author

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

@benjaoming benjaoming changed the title Release 1.1 with pinned dependencies Release 1.1 with upper bounds on dependencies Aug 19, 2022
@benjaoming
Copy link
Contributor

Not sure if correct language

@benjaoming
Copy link
Contributor

@agjohnson these are our current direct dependencies:

install_requires =
sphinx >=1.6,<6
docutils <0.18
Jinja2 <3.1

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?

@agjohnson
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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:

@benjaoming
Copy link
Contributor

benjaoming commented Oct 5, 2022

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).

#1322 was posted separately for this reason.

@benjaoming
Copy link
Contributor

benjaoming commented Oct 5, 2022

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

@agjohnson
Copy link
Collaborator Author

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.

@benjaoming
Copy link
Contributor

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).

@agjohnson agjohnson removed their assignment Oct 11, 2022
@ericholscher
Copy link
Member

ericholscher commented Oct 25, 2022

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

@benjaoming
Copy link
Contributor

Will close this once we see that readthedocs/readthedocs.org#9701 works

@benjaoming
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

3 participants