This is an interesting story. Python breaks perfectly reasonable code which is surprisingly nothing new for Python. A tool stops working. Users want fix. Author of the tool is unavailable. The tool needs to be forked. A new name needs to be chosen. A new distribution point needs to be established.

All because Python chooses to break existing code.

Can't the software designers of this century choose to provide feature flags (use strict, use VERSION, etc.) to enable new features that break existing code?

There was a nice and popular article/blog post from someone famous about never ever breaking existing code or functionality because users depend on it but I cannot remember the title of that post to search it.

Not that I disagree, but "async" is such a generic and widespread term that I can easily understand why they wouldn't want to choose something else. Have you read the kerfuffle about https://github.com/staltz/prevent-smoosh et al?