r/Python 24d ago

News Python 3.15.0 RC1 Is Here β€” Python 3.15 Is Almost Ready πŸš€

This is an important milestone because the Python team has now entered the release-candidate phase. At this stage, only reviewed changes that are considered clear bug fixes are expected to be accepted before the final release.

Why this matters

Python 3.15 has been going through several alpha and beta releases during 2026, and RC1 means the development cycle is getting very close to the final version.

The Python team currently plans two release candidates before the final Python 3.15.0 release.

I'm curious about one thing:

Are you planning to move your projects to Python 3.15 when the stable release arrives, or will you wait a few months before upgrading?

What new Python 3.15 feature are you most interested in?

Source: Python Insider / Python.org

46 Upvotes

36 comments sorted by

47

u/robberviet 24d ago

At least give us some important changelogs.

32

u/latkde Tuple unpacking gone wrong 24d ago

β†’ https://docs.python.org/3.15/whatsnew/3.15.html

To copy the Release Highlight section:

  • PEP 810: Explicit lazy imports for faster startup times
  • PEP 814: Add frozendict built-in type
  • PEP 661: Add sentinel built-in type
  • PEP 799: A dedicated profiling package for organizing Python profiling tools
  • PEP 799: Tachyon: High frequency statistical sampling profiler
  • PEP 831: Frame pointers are enabled by default for improved system-level observability
  • PEP 798: Unpacking in comprehensions
  • PEP 686: Python now uses UTF-8 as the default encoding
  • PEP 829: Package startup configuration files
  • PEP 728: TypedDict with typed extra items
  • PEP 747: Annotating type forms with TypeForm
  • PEP 800: Disjoint bases in the type system
  • PEP 782: A new PyBytesWriter C API to create a Python bytes object
  • PEP 803, 820, 793: Stable ABI for free-threaded builds and related C API
  • PEP 788: Protection against finalization in the C API
  • The JIT compiler has been significantly upgraded
  • The official Windows 64-bit binaries now use the tail-calling interpreter
  • Improved error messages
  • More color

42

u/Ran4 24d ago

PEP 798: Unpacking in comprehensions

[*L for L in lists] # equivalent to [x for L in lists for x in L]

now works. Amazing! I've been annoyed at this omission for like a decade.

Sadly at a point in time where I've almost completely stopped writing code by hand :(

9

u/baked_doge 24d ago

Personally I think the new profiler should be quite useful. I also like to see continued work to the JIT compiler. Otherwise all the new language features seem useful and natural, lazy imports will be particularly useful. Just happy to see the language features aren't bloating.

19

u/M4mb0 24d ago

Very excited for 3.15, so many great new features like lazy imports, builtin frozendict and unpacking in comprehensions.

19

u/chaz6 24d ago

My favourite is the new sentinel type:-

MISSING = sentinel("MISSING")

11

u/ThiefMaster 24d ago

I don't know why, but this comment feels just like the LLM slop under many tweets.

4

u/DrTestificate_MD 24d ago

LLMs usually use the Oxford comma, just like decent civilized humans

4

u/chaz6 24d ago

My favourite is the new sentinel type:-

MISSING = sentinel("MISSING")

1

u/[deleted] 24d ago edited 16d ago

[deleted]

8

u/M4mb0 24d ago

Maybe? I think the main appeal is readability. [x for it in its for x in it] is just some awful yoda speak compared to the new [*it for it in its].

2

u/Penguinase 24d ago

is there a PEP for the new way? haven't been paying attention lately :(

4

u/[deleted] 24d ago edited 16d ago

[deleted]

5

u/Kamran-nottakenone 24d ago

lazy imports are nice but they only work at module scope so if your startup pain is from heavy decorator chains or class bodies it won't help

13

u/[deleted] 24d ago edited 17d ago

[deleted]

39

u/NakedPlot 24d ago

Until new vulnerabilities on 3.15 are discovered

32

u/[deleted] 24d ago edited 17d ago

[deleted]

3

u/droans 24d ago

Don't worry about him. He's an asshole who always complains that you're not sleeping or eating well enough.

3

u/Independent_Heart_15 24d ago

Or wait for a the next release of whatever version you’re using? And even better would be to apply the patches yourself, that’s Python’s official recommendation.

2

u/darthwalsh 24d ago

Isn't your requirement like "fix CRITICAL CVEs in 15 days, and LOW in 90 days"?

We have something like that, and so we just automatically have CU pipeline run updates to latest-minus-7-days. Then we are always ready to release.

2

u/poppy_92 23d ago

Funny story about this. We used to have a tool that kept flagging things like pandas because it had pd.read_pickle. So our strategy was to update pandas to the latest version available to get rid of the flags until the tool caught up to the latest release. It was infuriating, specially since the director/vp managing software didn't know anything about the python ecosystem so we couldn't even get exceptions through. So our solution was adopt the latest release so that we could get that number to 0.

10

u/smitty1e 24d ago

I, for one, am glad to see the language move beyond pi-thon, the circular reasoning of which was insufficiently edgy, in my opinion.

1

u/knobbyknee 24d ago

I want to use Tachyon. A great feature is that it can be attached to a running process, so if your program is slow, it is quick to find out where it spends time.

1

u/RedEyed__ 24d ago

You can do that with py-spy (linux only)

1

u/RedEyed__ 24d ago

I am still on 3.11 xD.
When free threading will be by default?

1

u/inouthack 23d ago

u/Dhileepan_0311

more color is huge

FWIW, the clueless copycats have broiled another release !

1

u/snugar_i 23d ago

We'll upgrade as soon as ray releases a 3.15 wheel - in the case of 3.14, it was around 6 months after the Python 3.14 release...

1

u/AICausedKernelPanic 21d ago

Looking forward to sentinel built-in type, lazy imports and JIT improvements!

1

u/ForeignVariety7037 24d ago

Barely on python 3.6 lol

-3

u/[deleted] 24d ago

[removed] β€” view removed comment

-39

u/No_Departure_1878 24d ago

OMG OMG OMG, why isn't the media talking about this!!! This is the biggest event in the 21st century so far /s

14

u/davecrist 24d ago

Go away, Pip

2

u/bmag147 24d ago

I think you're on the wrong forum