I can imagine there must be lot of code bases with async as variable name. For example:
async = True
This is an error in Python 3.7. >>> async = 1
File "<stdin>", line 1
async = 1
^
SyntaxError: invalid syntax
But this used to run just fine without any warning or issues until Python 3.5.So now any code that uses async as a variable name would break. So is Python 3.7 considered a breaking change that is not backward compatible?