Hacker News new | past | comments | ask | show | jobs | submit login

By letting you specify a language version requirement? Not exactly backwards compatible (because it is explicitly not, as per the article).

Python doesn’t make breaking changes in non-major versions, so as mentioned by the upthread comment the appropriate place for this change would be in Python 4.

Given the above, I’m really not sure what point you think you’re making in that final paragraph.




This seems weird to given the number of breakages and standard library changes I seem to run into every version.


Really? I find that surprising. I don’t write as much code as I used to but I’ve been writing Python for a long time and the only standard library breakages that come to mind were during the infamous 2 -> 3 days.

What sort of problems are have you faced upgrading minor versions?


The docs are full of remarks like "removed in 3.0 and reintroduced in 3.4" or "deprecated in 3.10", etc. A big one is the removal of the loop parameter in asyncio, but a lot of asyncio internals are (still?) undergoing significant changes, as getting the shutdown behavior correct is surprisingly difficult. Personally it's never cause me any issues - I'm always on board with the changes.


Asyncio was explicitly marked as provisional for years and most of the incompatible changes happened during that time. Same goes for typing. The rest of the language is very very stable.



They do and have made relatively small ones, e.g. promoting __future__ features to default, etc.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: