-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
AcceptedAccepted issue on our roadmapAccepted issue on our roadmapNeeded: design decisionA core team decision is requiredA core team decision is required
Description
We have several layers of backwards incompatible changes lined up, and need to discuss our plan further. So far, these backward incompatible changes are:
- Bootstrap port
- Dropping support for Sphinx <2.0 (dropping support for Python 2.7 then as well)
- Dropping support for old Python 3 versions -- 3.1<=>3.5?
- Dropping support for html4 writer -- this makes bootstrap support easier
- Don't check in static assets to repository
- Template changes, use basic theme as base
- Some minor changes, like dropping IE11 support/etc
- Others?
Additionally, team has mentioned that having an initial 1.0 release before any backwards incompatible changes are released. And we would also need some releases that emit deprecation notices.
A non-exhaustive list of the users that we care about:
- Users installing directly via Git
- These users should almost all be using a proper release. Many are installing from
masterbecause we had bug fixes unreleased there.
- These users should almost all be using a proper release. Many are installing from
- Users installing unpinned theme but using an older Sphinx
- Sphinx 1.8 dependency is still very common
- Users installing unpinned dependencies and them overriding CSS
- This is very common on our business hosting, and these users are largely not traditional developers that would be aware of deprecation. We need to be very careful with these users.
- Users using the theme as a submodule, for whatever reason
- These are most likely advanced users that would be able to resolve a submoulde pointing to
master, and repoint to a tag if neccessary. - These users could probably mostly use Sphinx theme operations and a properly installed release.
- These are most likely advanced users that would be able to resolve a submoulde pointing to
Questsions then to answer:
- Any other user cases we're concerned about?
- What can we do to limit the effect of deprecation and backwards incompatible changes for each user?
- What solution are we giving each user?
- Is there a way that we can use deprecation notices to nudge users in the right direction?
- Warnings will likely go unnoticed in RTD build output
- Do we need application logic to help?
- We've been installing using unpinned dependencies for new projects, which is problematic for a backwards incompatible theme release
- We originally mentioned a separate repository or separate package for a Bootstrap theme. If we don't have great answers for how to avoid backwards incompatible changes
- What number of releases do we need?
- Release with deprecation notices
- What do we want the last release with python2.7 support or Wyrm support to look like?
- What changes/fixes are required to leave off the theme in a usable, but unmaintained state?
We can start with some discussion here, but it would really help to discuss this in a meeting with theme maintainers next.
gy-mate
Metadata
Metadata
Assignees
Labels
AcceptedAccepted issue on our roadmapAccepted issue on our roadmapNeeded: design decisionA core team decision is requiredA core team decision is required