Skip to content

gh-155292: Don't consider Unicode codepoint attributes outside RFC 3454 - #155293

Merged
encukou merged 7 commits into
python:mainfrom
sethmlarson:unicode-stringprep
Aug 18, 2026
Merged

gh-155292: Don't consider Unicode codepoint attributes outside RFC 3454#155293
encukou merged 7 commits into
python:mainfrom
sethmlarson:unicode-stringprep

Conversation

@sethmlarson

@sethmlarson sethmlarson commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Due to a bug, some Unicode codepoint attributes were considered
for characters not yet defined in Unicode 3.2.0 or attributes
which changed in later Unicode versions. RFC 3454 (StringPrep)
requires using Unicode 3.2.0 strictly.

This PR fixes makeunicodedata.py and re-runs mkstringprep.py with the new Unicode database. In the future mkstringprep.py should be run as a part of makeunicodedata.py.

I'll take on backporting this PR manually, as we'll need to apply the patch and then re-execute makeunicodedata.py for each Python version as each contains a different Unicode version.

Due to a bug, some Unicode codepoint attributes were considered
for characters not yet defined in Unicode 3.2.0 or attributes
which changed in later Unicode versions. RFC 3454 (StringPrep)
requires using Unicode 3.2.0 strictly.

Co-authored-by: Stan Ulbrych <89152624+stanfromireland@users.noreply.github.com>
@sethmlarson

Copy link
Copy Markdown
Contributor Author

@StanFromIreland @malemburg Now that GHA service has recovered, requesting a review on this PR.

Comment thread Lib/test/test_codecs.py Outdated
Co-authored-by: Petr Viktorin <encukou@gmail.com>
@encukou

encukou commented Aug 12, 2026

Copy link
Copy Markdown
Member

I filed a suggestion as a PR: sethmlarson#2. Otherwise, LGTM -- I didn't find another issue.

@malemburg would be the best person to review this, of course. Marc-André, should we wait for you?

@malemburg malemburg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have time for a review, but from casual inspection, this looks good to me. Thanks.

@encukou
encukou merged commit 7e109d0 into python:main Aug 18, 2026
54 of 55 checks passed
@encukou

encukou commented Aug 18, 2026

Copy link
Copy Markdown
Member

Thanks for the fix!

I'll take on backporting this PR manually

OK; let me know if you want to delegate.

@sethmlarson
sethmlarson deleted the unicode-stringprep branch August 18, 2026 12:58
@encukou encukou added the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Aug 18, 2026
@miss-islington-app

Copy link
Copy Markdown

Thanks @sethmlarson for the PR, and @encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.15.
🐍🍒⛏🤖

@bedevere-app

bedevere-app Bot commented Aug 18, 2026

Copy link
Copy Markdown

GH-156017 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Aug 18, 2026
encukou added a commit to encukou/cpython that referenced this pull request Aug 18, 2026
…RFC 3454 (pythonGH-155293)

Due to a bug, some Unicode codepoint attributes were considered
for characters not yet defined in Unicode 3.2.0 or attributes
which changed in later Unicode versions. RFC 3454 (StringPrep)
requires using Unicode 3.2.0 strictly.

Co-authored-by: Stan Ulbrych <89152624+stanfromireland@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
(cherry picked from commit 7e109d0)
@bedevere-app

bedevere-app Bot commented Aug 18, 2026

Copy link
Copy Markdown

GH-156020 is a backport of this pull request to the 3.14 branch.

pablogsal pushed a commit that referenced this pull request Aug 18, 2026
… RFC 3454 (GH-155293) (#156017)

gh-155292: Don't consider Unicode codepoint attributes outside RFC 3454 (GH-155293)

Due to a bug, some Unicode codepoint attributes were considered
for characters not yet defined in Unicode 3.2.0 or attributes
which changed in later Unicode versions. RFC 3454 (StringPrep)
requires using Unicode 3.2.0 strictly.

(cherry picked from commit 7e109d0)

Co-authored-by: Seth Larson <seth@python.org>
Co-authored-by: Stan Ulbrych <89152624+stanfromireland@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants