Python 3.13.1 Released November 2025 May 2026

Elena’s own company, a fintech startup that processed real-time currency trades, had a twenty-thousand-line module written by a long-departed genius who had assumed, incorrectly, that list.append was safe across threads because “the GIL will save us.”

futures = [] with interp1.run() as i1: futures.append(i1.call(mandel_chunk, (-2.0, -1.0, -1.5, 0.0, 500, 500))) # ... repeat for four interpreters ...

The announcement landed on the PSF blog at 09:00 UTC on November 18, 2025. The headline was deceptively simple: python 3.13.1 released november 2025

She wrote the script using the new interpreters module—no more _xxsubinterpreters hackery.

The CPU graph on her system monitor exploded into four perfect, separate columns—each core pegged at 98%, none waiting, none blocking. The script finished in 2.1 seconds. The single-threaded version? 7.4 seconds. Elena’s own company, a fintech startup that processed

For three days, the discourse was a war room. Some demanded that the no_gil flag be reverted to experimental. Others insisted on a hotfix that would re-enable a lightweight GIL only when loading untrusted C extensions.

And on her own laptop, running Python 3.18.4 (the JIT was up to tier 3 by then, and the GIL was a compile-time joke you told at conferences), Elena smiled. She opened a new file, imported interpreters , and wrote the first lines of a program that would simulate a billion neural synapses across sixteen cores. The headline was deceptively simple: She wrote the

But November 2025 was when the community chose. Chose to believe that a thirty-five-year-old language (Guido had started in 1989, after all) could still reinvent itself. Could still shed the skin of its single-core past and slither into the multi-core, heterogeneous, JIT-compiled future.