Remove Python 3.7 & 3.8 support - #4827
Conversation
| Running SCons requires Python 3.8 or higher. There should be no other | ||
| dependencies or requirements to run standard SCons. | ||
|
|
||
| The last release to support Python 3.7 was NEXT_RELEASE. |
There was a problem hiding this comment.
Need another way to express this - we don't want to turn it on processing into "the release that dropped 3.7" when it should be "the release prior to the one that dropped 3.7".
There was a problem hiding this comment.
Understood, but I think in this case our intent is next release 4.10.2 with above message, then following release 4.11.0 and obsolete.. so It'll work for now? LAST_37_RELEASE ? LAST_38_RELEASE ?
There was a problem hiding this comment.
I think we just have to keep track of that one and fix it manually as appropriate. I'm not saying we need to invent a new mechanism for something that applies to only one feature: a comment about a removed Python. Also, I think we haven't decided whether to "flip the switch" (removal) in the next release or not. Whatever the next release is shouldn't be 4.10.2 anyway, we're beyond "minor bugfix release" at this point.
There was a problem hiding this comment.
Gonna not even bother with trying to update the documentation/changelog at this time; it gave a ton of conflicts when trying a standard merge commit and just made a ton of noise that would need to be micro-managed. I'll worry about those files once their NEXT_RELEASE is resolved
f36e3a3 to
26762e9
Compare
26762e9 to
e026ea0
Compare
| # while (blk := f.read(chunksize)) != b'': | ||
| # m.update(to_bytes(blk)) | ||
| while (blk := f.read(chunksize)): | ||
| m.update(to_bytes(blk)) |
There was a problem hiding this comment.
Just to record something here for when this is revisited: it would be nice to untangle the messy dual approach for pre-3.9 and 3.9+ versions, since 3.9 will be the base. There's a fair bit to that, here (_attempt_init_of_python_3_9_hash_object) and in tests - it may be more prudent do that in a separate PR.
There was a problem hiding this comment.
I'll do a quick pass to see just how invasive that would be
There was a problem hiding this comment.
Looks like all the relevant 3.9-split code was added in #4047, which indeed added a LOT. Unsure if that needs a separate PR, but it would be removing a ton of code outright instead of just exposing a simple conditional, so it might be warranted? I'm fine crossing that bridge when we come to it
Originally part of #4825 and building off of #4826, this PR aims to integrate the changes made possible by dropping Python 3.7 & 3.8 support. Marking as a draft until 3.7 & 3.8 are properly designated as "deprecated".
Contributor Checklist:
CHANGES.txtandRELEASE.txt(and read theREADME.rst).