Core Dispatch #9
Jul 18 – Aug 5, 2026
Welcome back to Core Dispatch! This edition covers July 18 through August 5, 2026. Python 3.15.0 release candidate 1 landed on August 4, followed by Python 3.14.7 and 3.13.15 on August 5. With the first release candidate here, 3.15 is firmly in the home stretch.
Two new PEPs joined the queue this fortnight. PEP 842
proposes explicit module exports, while PEP 837
explores an extensible protocol for JSON serialization. There is also lively
pre-PEP discussion around PEP 841,
which proposes frozen syntax for immutable types. PEP 828
has also been accepted by its PEP delegate, clearing the way for yield from
in asynchronous generators.
Elsewhere, PyPI announced that releases will stop accepting new files after 14
days, nominations for the inaugural Python Packaging Council are about to open,
and core developer Petr Viktorin was named a PSF Fellow. If you missed
EuroPython, this edition's Core Team Musings includes the new CPython and
Steering Council panel recordings, along with the video edition of a very fun,
live core.py interview with Guido van Rossum.
Python 3.15 has now entered the release candidate phase, so this is the moment for maintainers to test their projects and publish Python 3.15 wheels to PyPI. Wheels built against the 3.15 release candidates will work with future 3.15 releases, and publishing them now helps downstream projects test too. Please file any CPython issues you find.
Subscribe · Submit a link · Contribute to CPython
Upcoming Releases
1Official News
8From the Python, PSF, PyPI and PyCon blogs.
PEP Updates
3PEPs that changed status since last edition.
Steering Council Updates
2Meeting summaries and other communications from the Python Steering Council.
Welcome to the Team
1New core team members and promotions.
Merged PRs
14High-traffic PRs, new features, and changes that landed in What's New.
buffersize to multiprocessing.pool.imap() and imap_unordered()@obaltianAvoid quadratic behavior in xml.etree.ElementPath index predicates@encukouAllow stable abi3 extensions to include a multiarch tuple in filenames@stefanorAdd a ctypes decorator for generating function pointers using annotations@ZeroIntensityUse a per-type method cache@kumaraditya303Reduce LOAD_GLOBAL specialization lock contention in free-threaded builds@hawkinspAllow memoryview.cast() for F-contiguous views@jamie2779Add an order parameter to memoryview.cast()@serhiy-storchakaAdd mode to loop.create_unix_server() and asyncio.start_unix_server()@DreamsorcererRemove Tools/msi, Tools/nuget, and legacy py.exe launcher sources@zoobaRewrite csv.Sniffer dialect detection using trial parsing@serhiy-storchakaModernize pydoc HTML with dark mode and collapsible inherited members@serhiy-storchakaGenerate default AttributeError messages from context@bswckFix asyncio.TaskGroup interaction with aclose()@sullyj3Discussion
8Most active PEP discussions on Discourse since last edition.
frozen Syntax to Make Immutable Types Optimizable🆕 🔥 85 new replies · 2.3k viewsPEP 828: Supporting yield from in Asynchronous Generators🔥 16 new replies · 5.4k viewsPEP 838: Adding python-version to pyvenv.cfg🆕 🔥 11 new replies · 300 viewsPEP 822: Dedented Multiline String (d-string)7 new replies · 8.1k viewsPEP 827: Type Manipulation6 new replies · 9.2k viewsPEP 832: Virtual Environment Discovery4 new replies · 9.1k viewsPEP 840: Name Resolution in Class Namespaces4 new replies · 932 viewsPEP 835: Shorthand syntax for Annotated type metadata3 new replies · 5.2k viewsCore Team Musings
4Recent posts from the Python core team.
core.py with Guido van Rossum at EuroPython 2026by Pablo Galindo and Łukasz LangaUpcoming CFPs & Conferences
7One More Thing...
Your favourite funny, informative, or mass-reply-inducing words.

Have a great quote? Submit one for next edition.
This edition brought to you by:
Enjoyed this edition?
Get Core Dispatch in your inbox.