Python: XML Parser Enhancement and Cygwin Compatibility
Python developers merged 20 pull requests on May 26th, with a major XML parser update adding multi-byte encoding support and several fixes improving Cygwin platform compatibility.
Duration: PT2M3S
Transcript
Good morning. This is your Python developer briefing for May 27th, 2026.
Yesterday saw significant activity with 20 merged pull requests and 9 additional commits to the CPython repository.
The headline change comes from Serhiy Storchaka, who merged support for multi-byte encodings in the XML parser. This adds support for encodings including CP932, CP949, Big5, EUC-JP, GB2312, GBK, and Shift_JIS, with partial support for Big5-HKSCS and UTF-8-sig variants. The parser now properly raises ValueError for known unsupported encodings rather than failing during parsing.
Mark Shannon merged improvements to the machine stack pointer implementation, making the recursion limit check inline again and consolidating C stack switching logic into the recursive call checker.
Victor Stinner contributed multiple Cygwin compatibility fixes, addressing issues in test_embed, test_venv, and test_grp modules. The venv module now properly copies the cygpython DLL in copy mode.
Storchaka also completed a cleanup effort, merging fixes for overly long docstrings across builtins, the IO module, and sqlite3 module, with backports to Python 3.13 and 3.14 branches.
Additional merges include a ThreadingMock race condition fix by saisneha196, improvements to Emscripten build toolchain detection, removal of non-standard charset names from the email module, and cleanup of unused attributes in asyncio's selector events.
What's next: Core developers continue focusing on stability improvements and platform compatibility as Python 3.16 development progresses. Test infrastructure refinements are ongoing across multiple platforms.
That's your Python update for today.