Re:Python 3.7 released
by icebraining on Thursday June 28, 2018 @08:46AM
(#17416380)
3.6 to 3.7 is a minor release, only supposed to have new features, and not break existing code. Obviously, the probability of bugs is higher than in a micro release (e.g. 3.6.2 to 3.6.3), which only contains bugfixes. But I can't remember code from 2.6 breaking on 2.7, nor code from 3.5 breaking on 3.6.
[ Parent
| on HN ]
Only point releases are support to avoid breaking code (though they sometime do).
Minor release may break code, though it should be rare. Python 3.7 reserves 'async' and 'await' as keywords so assignments like "async = 3", which worked in 3.6, will now fail.
Python has a deprecation warning system which can detect cases like this, but it must be enabled:
% python -Wall
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> async = 3
<stdin>:1: DeprecationWarning: 'async' and 'await' will become
reserved keywords in Python 3.7