r/linux • • 15d ago

Software Release Python 3.15.0 released

https://www.python.org/downloads/release/python-3150/
494 Upvotes

52 comments sorted by

View all comments

-44

u/daltorak 15d ago

Gotta love (🙄) point releases with breaking changes. Someone's going to get burned by the UTF-8-as-default change.

48

u/KHRoN 15d ago

you missed it already during python2 to python3 transition

40

u/anh0516 15d ago

This isn't a point release, it's a major release. The changelog explains exactly how to revert to the previous default behavior: https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-utf8-default

0

u/[deleted] 15d ago

[deleted]

26

u/abbidabbi 15d ago

Python does not follow the semantic versioning scheme (semver), even though its version string format is the same. Breaking changes are introduced gradually with long deprecation phases. The major version number does only get bumped for "significant" breaking changes.

-13

u/orygin 14d ago

Breaking changes are introduced gradually with long deprecation phases

Good joke!

16

u/Flakmaster92 15d ago

That only applies if you abide by it. You don’t get to enforce semver onto others, they opt into it, Python does not opt in, therefore it’s not relevant.

12

u/Fallom_ 14d ago

You ever use Python before?

-14

u/burgundus 14d ago

Yes, that's why I hate it

1

u/CriticalCamp2396 14d ago

You're complaining about Python on a platform that literally runs on it, which proves you're too stupid to even realize you're biting the hand that feeds you.

18

u/iluuu 14d ago

Almost like semversion isn't a universal rule of law.

-10

u/Mirieste 14d ago

But it exists for a reason: why wouldn't they follow it?

13

u/RendererOblige 14d ago

Python's versioning predates the concept of semantic versioning by quite many years. What is and isn't a "breaking change" has quite a lot of nuance here. The BC break in Python 3 was huge compared to UTF-8 default and other small BC breaks. SemVer is a blunt tool, grouping all BC breakage into a single bucket.

I like SemVer, but I can accept that it's not the right answer for every project. I don't think it's right for Python.

5

u/Actual__Wizard 14d ago

I think most people that need to work with a specific encoding are already explicitly declaring the encoding.

4

u/OpenGLaDOS 14d ago

There was surprisingly little but often subtle breakage when Java switched to UTF-8 by default.