You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the SC (was Re: Enum -- last call for comments on 3.10 changes)
--------------------------------------------------------------------
The Steering Council discussed this topic at our meeting yesterday. We have some
discomfort about the changes to Enum’s str and repr in Python 3.10, both in the
specific changes and in the way the changes were decided on. No knock on Ethan or
others who participated in those decisions, it’s just that to us, the changes
cumulatively feel like they need a more formal, centralized discussion to understand
all the issues in detail.
While we’re stopping short of requiring it, the Steering Council strongly suggests that
for Python 3.10, the changes in Enum’s str and repr be reverted back to the Python 3.9
behavior, and that a PEP be written for Python 3.11.
The changes were primarily spurred both by the changes to re.RegexFlag and by unfortunate choices made in enum.Flag regarding aliases and iteration that were corrected.
Unfortunately, it proved too difficult to revert the Flag repr() while keeping the corrections, so the entire enum module is being reverted to its 3.9 version.
All the bug-fixes, performance improvements, and other enhancements will have to wait for 3.11.
Hi folks! So I'm a bit confused here. As I've followed the story so far, @ethanfurman made some major changes to Enum in the 3.10 timeframe, e.g. #24215 . There was some opposition to this and the decision in this ticket was that the changes should be reverted for 3.10, and "a PEP be written for Python 3.11" - implicitly, a PEP covering the changes.
It does seem like a PEP was written, and it was rejected. That, to me, implies the changes should not be in 3.11, right? But they are. The reversion was only ever done on the 3.10 branch. It was not done on the 3.11 branch. #24215 and related changes are present in 3.11, but they are not mentioned at all in the changes doc.
Is this intended, or is the SC's expectation that in rejecting the PEP, the changes that were reverted in 3.10 should also be reverted in 3.11 and future releases?
Activity
ethanfurman commentedon Jul 4, 2021
From the SC (was Re: Enum -- last call for comments on 3.10 changes)
--------------------------------------------------------------------
The changes were primarily spurred both by the changes to re.RegexFlag and by unfortunate choices made in enum.Flag regarding aliases and iteration that were corrected.
Unfortunately, it proved too difficult to revert the Flag repr() while keeping the corrections, so the entire enum module is being reverted to its 3.9 version.
All the bug-fixes, performance improvements, and other enhancements will have to wait for 3.11.
ethanfurman commentedon Jul 4, 2021
New changeset 9bf7c2d by Ethan Furman in branch '3.10':
[3.10] bpo-44559: [Enum] revert enum module to 3.9 (GH-27010)
9bf7c2d
ethanfurman commentedon Jul 27, 2021
New changeset 2f54fba by Steffen Zeile in branch 'main':
bpo-44559: [Enum] correct
versionaddedto 3.11 for new features (GH-27388)2f54fba
pitrou commentedon Oct 13, 2021
It seems the revert was not done properly: it removed from 3.10 some bugfixes that had been applied to 3.9 (see bpo-42248 for an example).
ethanfurman commentedon Oct 13, 2021
Going back through the various bug fixes that got cut from 3.10 to re-add to 3.10.1.
ethanfurman commentedon Oct 21, 2021
New changeset 2a9ab75 by Ethan Furman in branch '3.10':
bpo-44559: [Enum] restore fixes lost in 3.9 reversion (GH-29114)
2a9ab75
AdamWill commentedon Jun 22, 2022
Hi folks! So I'm a bit confused here. As I've followed the story so far, @ethanfurman made some major changes to Enum in the 3.10 timeframe, e.g. #24215 . There was some opposition to this and the decision in this ticket was that the changes should be reverted for 3.10, and "a PEP be written for Python 3.11" - implicitly, a PEP covering the changes.
It does seem like a PEP was written, and it was rejected. That, to me, implies the changes should not be in 3.11, right? But they are. The reversion was only ever done on the 3.10 branch. It was not done on the 3.11 branch. #24215 and related changes are present in 3.11, but they are not mentioned at all in the changes doc.
Is this intended, or is the SC's expectation that in rejecting the PEP, the changes that were reverted in 3.10 should also be reverted in 3.11 and future releases?
Thanks!
AdamWill commentedon Jun 22, 2022
Tagging @warsaw , as he wrote the rejection notice. Not sure of the protocol for tagging SC, sorry.
AdamWill commentedon Jun 22, 2022
Ah, never mind, I found #91041 . I was looking at the 3.11.0b3 release tag so I was a bit out of date, I see the activity on main now.