The roadmap for 2.0.0 is mainly just sizable changes. We are targeting somewhere near the end of the year. We don’t have a huge list of changes planned, but this will be a sizable break from Beautiful Soup’s convention of supporting every thing.
-
Drop Python 2 support and support for any EOL Python 3 versions. I don’t know what Beautiful Soup’s plan is, but we have no intention of supporting any versions that are EOL come the end of 2019. If Beautiful Soup continues to support EOL versions, installs on those EOL versions will only pick up 1.X.X versions of Soup Sieve. Any Python installs that are 3.5+ will pick up the 2.X.X series.
-
SelectorSyntaxError
should not derive fromSyntaxError
. When we first implemented the selector syntax errors, we choseSyntaxError
. On the surface, it makes sense, but we should not confuse our internal selector syntax errors with real Python syntax errors. This was a poor choice on our part. This will be remedied moving forward. #106.
As far as selector features go, there may or may not be more coming. It depends on what I get around to. There is nothing pressing though. :valid
and :invalid
are still on the table, but I don’t know if we’ll get around to it.
Issue Analytics
- State:
- Created 4 years ago
- Comments:7 (4 by maintainers)
Top GitHub Comments
Understood. The current plan is just to iron out any bugs that are present in existing features.
Since 1.9.X, development has slowed down a lot just due to most needed (or easily doable) features are already implemented. Everything new that is planned is either up in the air due to how slow the level 4 spec for selectors moves, or due to slow uptake of browsers for a good reference point (if the spec is unclear). There may be a couple of ideas I’m toying with that are not mentioned in the spec, but there is no clear decision on those yet.
Current work on 1.9.X has mainly been fixing misinterpretations in the spec, or out right overlooked specifics in the spec, to bring as much stability to the currently supported selectors that we can.
At this point, I think most of the bugs have been addressed as that has been my main focus. All of the recent bugs are self reported as they are issues in more fringe selectors that I imagine most people aren’t even using, such as:
:placeholder-shown
.,:enabled
,:disabled
, etc. They mainly surfaced due to my recent audit of the currently implemented selectors.It is unlikely that much will change for new features by April, even for the 2.X.X series. To be honest, I could probably wait till April to release 2.0, and I imagine the number of 1.9.X releases will be the same. This project has a couple of new pulls open, but I imagine they won’t get merged for a while. I mainly have them open as I saw the discussion at the CSSWG, and had an itch to explore them, but both of them have some uncertainty due to lack of a decision on the part of the CSSWG, or extremely vague descriptions requiring a reference for us to compare against.
In short 1.9.X will be the last versions that support 2.7. That will not change. As far as I am concerned, there is a feature freeze on the 1.X.X branch. There is likely to be no new features even in 2.X.X by April as well just due to what is holding up potential new features.
With all of that said, I would be willing to make a small concession. If there was a critical bug(s) that surfaced before the official, last release of Python 2.7 in April, I would consider an additional 1.9.X release, but I have no plans to bring any new features to the 1.X.X series.
FYI: PY2 Schedule … https://www.python.org/dev/peps/pep-0373/
Just to bring a little sanity to the proceedings 😉
2.7.18 mid-April, 2020