23.01.20 17:20, Victor Stinner пише:
- Removed collections aliases to ABC classes
Adding loud warning was one of largest compatibility breaking changes in 3.8, because many active projects treat warnings in tests as errors. I had doubts about removing them. On one side, they were deprecated for a very long time. On other side, most time it was silent deprecation, and the removal will affect too much projects. I agree with deferring this removal.
- Remove "U" mode of open(): having to use io.open() just for Python 2
makes the code uglier
io.open() (don't confuse with codecs.open(), which was recommended in the past) has other advantages. Builtin open() has problems with threads in Python 2.
- Removed tostring/fromstring methods in array.array and base64 modules
- Removed fractions.gcd() function (which is similar to math.gcd())
- Removed old plistlib API: 2.7 doesn't have the new API
As for other changes, they look minor, and I think they affect not much code. In particular, plistlib is specific for macOS.