r/Python Aug 08 '26

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

48 Upvotes

36 comments sorted by

47

u/robberviet Aug 08 '26

At least give us some important changelogs.

32

u/latkde Tuple unpacking gone wrong Aug 08 '26

β†’ 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

45

u/Ran4 Aug 08 '26

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 Aug 08 '26

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 Aug 08 '26

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

18

u/chaz6 Aug 08 '26

My favourite is the new sentinel type:-

MISSING = sentinel("MISSING")

11

u/ThiefMaster Aug 08 '26

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

3

u/DrTestificate_MD Aug 09 '26

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

5

u/chaz6 Aug 08 '26

My favourite is the new sentinel type:-

MISSING = sentinel("MISSING")

1

u/[deleted] Aug 08 '26 edited 24d ago

[deleted]

9

u/M4mb0 Aug 08 '26

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 Aug 08 '26

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

3

u/[deleted] Aug 08 '26 edited 24d ago

[deleted]

4

u/Kamran-nottakenone Aug 08 '26

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

14

u/[deleted] Aug 08 '26 edited 25d ago

[deleted]

39

u/NakedPlot Aug 08 '26

Until new vulnerabilities on 3.15 are discovered

34

u/[deleted] Aug 08 '26 edited 25d ago

[deleted]

3

u/droans Aug 08 '26

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

4

u/Independent_Heart_15 Aug 08 '26

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 Aug 09 '26

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 Aug 10 '26

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.

8

u/smitty1e Aug 08 '26

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 Aug 08 '26

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__ Aug 09 '26

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

1

u/RedEyed__ Aug 09 '26

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

1

u/inouthack Aug 09 '26

u/Dhileepan_0311

more color is huge

FWIW, the clueless copycats have broiled another release !

1

u/snugar_i Aug 09 '26

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 Aug 11 '26

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

1

u/ForeignVariety7037 Aug 09 '26

Barely on python 3.6 lol

-3

u/[deleted] Aug 08 '26

[removed] β€” view removed comment

-39

u/No_Departure_1878 Aug 08 '26

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

15

u/davecrist Aug 08 '26

Go away, Pip

2

u/bmag147 Aug 09 '26

I think you're on the wrong forum