cpython/Misc
Miss Islington (bot) c5512bd7c1
[3.15] gh-149079: Fix O(n^2) canonical ordering in unicodedata.normalize() (GH-149080) (#150776)
Replace the insertion sort used for canonical ordering of combining
characters with a hybrid approach: insertion sort for short runs (< 20)
and counting sort for longer runs, reducing worst-case complexity from
O(n^2) to O(n). This prevents denial of service via crafted Unicode
strings with many combining characters in alternating CCC order.
(cherry picked from commit 991224b1e8)

Co-authored-by: Seth Larson <seth@python.org>
Co-authored-by: ch4n3-yoon <ch4n3.yoon@gmail.com>
Co-authored-by: Seokchan Yoon <13852925+ch4n3-yoon@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Maurycy Pawłowski-Wieroński <maurycy@maurycy.com>
2026-06-02 10:10:04 +00:00
..
mypy gh-131507: Add support for syntax highlighting in PyREPL (GH-133247) 2025-05-02 20:22:31 +02:00
NEWS.d [3.15] gh-149079: Fix O(n^2) canonical ordering in unicodedata.normalize() (GH-149080) (#150776) 2026-06-02 10:10:04 +00:00
rhel7
ACKS [3.15] gh-121109: Fix performance of tarfile reading with "r|*" (GH-121296) (GH-150604) 2026-06-01 17:39:51 +00:00
Brewfile [3.15] CI: Move Homebrew dependencies into Brewfile (GH-148335) (#149882) 2026-05-22 14:44:08 +00:00
externals.spdx.json [3.15] gh-149029: Update SQLite to 3.53.1 for binary releases (GH-149767) (#150559) 2026-05-28 18:57:04 -04:00
HISTORY gh-123492: Remove unnecessary :func: parentheses (#123493) 2024-08-30 14:34:09 +03:00
libabigail.abignore gh-143253: Add libabigail suppression file for internal types (#143254) 2026-01-12 17:37:43 +02:00
platform_triplet.c gh-132026: Ensure _MIPS_SIM has defined _ABI identifiers for comparison (GH-132027) 2025-04-27 21:56:00 +00:00
python-config.in bpo-45101: Add consistency in usage message IO between 2 versions of python-config (GH-28162) 2024-02-26 22:04:44 +02:00
python-config.sh.in gh-116622: Rename build variable MODULE_LDFLAGS back to LIBPYTHON (#122764) 2024-08-09 00:00:55 +02:00
python-embed.pc.in
python.man gh-145649: Fix man page text wrapping for -X option (#145656) 2026-03-16 11:55:00 +01:00
python.pc.in gh-116622: Rename build variable MODULE_LDFLAGS back to LIBPYTHON (#122764) 2024-08-09 00:00:55 +02:00
README gh-145976: Remove Misc/indent.pro (#145992) 2026-03-15 22:29:12 +01:00
README.AIX
README.valgrind
sbom.spdx.json [3.15] gh-149698: Update bundled expat to 2.8.1 (GH-149699) (#149812) 2026-05-14 09:52:51 +01:00
SpecialBuilds.txt GH-129763: Remove the LLTRACE macro (GH-129764) 2025-02-07 08:49:51 -08:00
stable_abi.toml gh-149101: Implement PEP 788 (GH-149116) 2026-05-06 17:39:30 -04:00
svnmap.txt
valgrind-python.supp gh-121096: Ignore dlopen() leaks in Valgrind suppression file (#121097) 2024-06-28 13:10:11 +02:00

Python Misc subdirectory
========================

This directory contains files that wouldn't fit in elsewhere.  Some
documents are only of historic importance.

Files found here
----------------

ACKS                    Acknowledgements
HISTORY                 News from previous releases -- oldest last
NEWS.d/                 News files for this release (for some meaning of "this")
python-config.in        Python script template for python-config
python.man              UNIX man page for the python interpreter
python.pc.in            Package configuration info template for pkg-config
README                  The file you're reading now
README.AIX              Information about using Python on AIX
README.valgrind         Information for Valgrind users, see valgrind-python.supp
SpecialBuilds.txt       Describes extra symbols you can set for debug builds
svnmap.txt              Map of old SVN revs and branches to hg changeset ids,
                        help history-digging
valgrind-python.supp    Valgrind suppression file, see README.valgrind