r/learnpython • • 23h ago

Why Does Python Provide Only Source Releases for Some Security Updates?

I have a question about installers. Once a release enters the security-fixes-only phase, what is the purpose of releasing only source files and not providing installers or other binary distributions?

Is it because they expect people to keep using that version without migrating for as long as possible?

For example, Python 3.13.17, released on October 21, still came with installers, but Python 3.13.18 was released with source files only.

0 Upvotes

8 comments sorted by

3

u/Diapolo10 22h ago

The expectation is that after a cut-off date, any further patches would only really matter to specific corporate long-term use where there are restrictions for updating minor versions (so for example going from 3.13 to 3.14 would be difficult). For ordinary users, those patches shouldn't matter, and people are encouraged to use more up-to-date versions instead.

Would it be nice if they released binary releases of those anyway? Sure, I guess, but not many people would actually benefit from that.

When was the last time you bothered updating your Python runtime to a specific patch version?

1

u/rosereed1 21h ago

yeah plus the orgs that actually need those old security patches usually have their own internal build pipelines anyway

-1

u/Porcela 22h ago edited 22h ago

I tried to get lates 3.13.18 installer, but I couldn't find that.

Did I missed my chance to upgrade from Python 3.13 to 3.14 or later version?

3

u/Gnaxe 22h ago

No, what do you mean? No binary has been revoked. You don't have to go through every increment when upgrading. You can skip versions. You may have to fix more things if you skip too much at once, but patch versions aren't supposed to break compatibility. It's unlikely you were relying on a bug. Upgrading by one or two minor versions isn't hard. We do it all the time.

2

u/SwampFalc 22h ago

Typically, you need to follow a step-by-step update path when upgrading an installed application, with saved data.

The step-by-step path is there to transform your saved data from a known format, into the newer format.

Python has no saved data. You can update to whatever version you want, whenever you want.

2

u/itlogicpartnersllc 21h ago

its mainly a maintenance trade off. once a python branch enters security only mode the focus shifts to essenrtial fixes rather than building and testing installers.

1

u/POGtastic 21h ago

Anybody who has the requirements for a specific older version of Python is going to have some bespoke process for updating Python and will have no problem compiling from source.

Unless you have a specific reason, you should be running the latest stable version that you can easily install on your machine. For most people, that's whatever the version is currently front-and-center on the website. (Here in Linux-land, it's whatever version of Python is available in your distro's package repository).

1

u/socal_nerdtastic 21h ago

In short: Making an installer takes effort. It's just not worth it.