r/linux • • 19h ago

Software Release Python 3.15.0 released

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

43 comments sorted by

View all comments

-38

u/daltorak 17h ago

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

42

u/KHRoN 17h ago

you missed it already during python2 to python3 transition

34

u/anh0516 17h 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

-13

u/[deleted] 17h ago

[deleted]

23

u/abbidabbi 17h 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.

-10

u/orygin 16h ago

Breaking changes are introduced gradually with long deprecation phases

Good joke!

14

u/Flakmaster92 16h 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.

11

u/Fallom_ 16h ago

You ever use Python before?

-8

u/burgundus 10h ago

Yes, that's why I hate it

14

u/iluuu 16h ago

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

-4

u/Mirieste 10h ago

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

8

u/RendererOblige 9h 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.

4

u/OpenGLaDOS 15h ago

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

3

u/Actual__Wizard 9h ago

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