Python 3.12.3 and 3.13.0a6 released

It’s time to eclipse the Python 3.11.9 release with two releases, one of which is the very last alpha release of Python 3.13:

Python 3.12.3

300+ of the finest commits went into this latest maintenance release of the latest Python version, the most stablest, securest, bugfreeest we could make it.

Python 3.13.0a6

What’s that? The last alpha release? Just one more month until feature freeze! Get your features done, get your bugs fixed, let’s get 3.13.0 ready for people to actually use! Until then, let’s test with alpha 6. The highlights of 3.13 you ask? Well:

(Hey, fellow core developer, if a feature you find important is missing from this list, let Thomas know. It’s getting to be really important now!)

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself, or through contributions to the Python Software Foundation or CPython itself.

Thomas “can you tell I haven’t had coffee today” Wouters @thomas
on behalf of your release team,

Ned Deily @nad
Steve Dower @steve.dower
Pablo Galindo Salgado @pablogsal
Łukasz Langa @ambv

14 Likes

In latest reportlab I have a single failure in 3.13.0a6 which does not occur in 3.13.0a5. I have a single file example.of 72 lines. How should I present this here. For me robin@minikat:~/devel/reportlab/tmp/xampl $ ~/LOCAL/3.13.0a5/bin/python3 main1.py OK robin@minikat:~/devel/reportlab/tmp/xampl $ ~/LOCAL/3.13.0a6/bin/python3 main1.py Traceback (most recent call last): File "/home/robin/devel/reportlab/tmp/xampl/main1.py", line 71, in <module> assert not hasattr(seq,'_dingo') ^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError here is main1.py https://www.reportlab.com/ftp/main1.py

Thanks for reporting it!
If you find such a bug again, please open an issue on GitHub.
For this one, I’ve minimized it further and reported it as #117750.

1 Like

Thanks, to me it looked like a no side effects assumption is happening. I tried the example in that github issue in 3.13.0a5 and 3.13.0a6 and both seem to run fine, but this faills in a6

class D:
    def _reset(self):
        self.__dict__.clear()

obj = D()
obj.foo = 'FOO'
obj._reset()
assert not hasattr(obj,'foo')