|
| 1 | +# What's New In Python 3.5 |
| 2 | + |
| 3 | +https://docs.python.org/3/whatsnew/3.5.html |
| 4 | + |
| 5 | +New Features |
| 6 | +============ |
| 7 | +- [ ] [PEP 492][]: Coroutines with async and await syntax |
| 8 | +- [x] [PEP 465][]: A dedicated infix operator for matrix multiplication |
| 9 | +- [x] [PEP 448][]: Additional Unpacking Generalizations |
| 10 | +- [ ] [PEP 461][]: percent formatting support for bytes and bytearray |
| 11 | +- [ ] [PEP 484][]: Type Hints |
| 12 | +- [ ] [PEP 471][]: os.scandir() function – a better and faster directory iterator |
| 13 | +- [ ] [PEP 475][]: Retry system calls failing with EINTR |
| 14 | +- [x] [PEP 479][]: Change StopIteration handling inside generators |
| 15 | +- [ ] [PEP 485][]: A function for testing approximate equality |
| 16 | +- [ ] [PEP 486][]: Make the Python Launcher aware of virtual environments |
| 17 | +- [ ] [PEP 488][]: Elimination of PYO files |
| 18 | +- [ ] [PEP 489][]: Multi-phase extension module initialization |
| 19 | + |
| 20 | +Other Language Changes |
| 21 | +====================== |
| 22 | +- [ ] Added the `"namereplace"` error handlers. The `"backslashreplace"` error handlers now work with decoding and translating. |
| 23 | +- [ ] The `-b` option now affects comparisons of `bytes` with `int`. |
| 24 | +- [ ] New Kazakh `kz1048` and Tajik `koi8_t` codecs. |
| 25 | +- [ ] Property docstrings are now writable. This is especially useful for `collections.namedtuple()` docstrings. |
| 26 | +- [ ] Circular imports involving relative imports are now supported. |
| 27 | + |
| 28 | +New Modules |
| 29 | +=========== |
| 30 | +- [ ] `typing` |
| 31 | +- [ ] `zipapp` |
| 32 | + |
| 33 | +Improved Modules |
| 34 | +================ |
| 35 | +- [ ] `argparse` |
| 36 | +- [ ] `asyncio` |
| 37 | +- [ ] `bz2` |
| 38 | +- [ ] `cgi` |
| 39 | +- [ ] `cmath` |
| 40 | +- [ ] `code` |
| 41 | +- [ ] `collections` |
| 42 | +- [ ] `collections.abc` |
| 43 | +- [ ] `compileall` |
| 44 | +- [ ] `concurrent.futures` |
| 45 | +- [ ] `configparser` |
| 46 | +- [ ] `contextlib` |
| 47 | +- [ ] `csv` |
| 48 | +- [ ] `curses` |
| 49 | +- [ ] `dbm` |
| 50 | +- [ ] `difflib` |
| 51 | +- [ ] `distutils` |
| 52 | +- [ ] `doctest` |
| 53 | +- [ ] `email` |
| 54 | +- [ ] `enum` |
| 55 | +- [ ] `faulthandler` |
| 56 | +- [ ] `functools` |
| 57 | +- [ ] `glob` |
| 58 | +- [ ] `gzip` |
| 59 | +- [ ] `heapq` |
| 60 | +- [ ] `http` |
| 61 | +- [ ] `http.client` |
| 62 | +- [ ] `idlelib and IDLE` |
| 63 | +- [ ] `imaplib` |
| 64 | +- [ ] `imghdr` |
| 65 | +- [ ] `importlib` |
| 66 | +- [ ] `inspect` |
| 67 | +- [ ] `io` |
| 68 | +- [ ] `ipaddress` |
| 69 | +- [ ] `json` |
| 70 | +- [ ] `linecache` |
| 71 | +- [ ] `locale` |
| 72 | +- [ ] `logging` |
| 73 | +- [ ] `lzma` |
| 74 | +- [ ] `math` |
| 75 | +- [ ] `multiprocessing` |
| 76 | +- [ ] `operator` |
| 77 | +- [ ] `os` |
| 78 | +- [ ] `pathlib` |
| 79 | +- [ ] `pickle` |
| 80 | +- [ ] `poplib` |
| 81 | +- [ ] `re` |
| 82 | +- [ ] `readline` |
| 83 | +- [ ] `selectors` |
| 84 | +- [ ] `shutil` |
| 85 | +- [ ] `signal` |
| 86 | +- [ ] `smtpd` |
| 87 | +- [ ] `smtplib` |
| 88 | +- [ ] `sndhdr` |
| 89 | +- [ ] `socket` |
| 90 | +- [ ] `ssl` |
| 91 | +- [ ] `sqlite3` |
| 92 | +- [ ] `subprocess` |
| 93 | +- [ ] `sys` |
| 94 | +- [ ] `sysconfig` |
| 95 | +- [ ] `tarfile` |
| 96 | +- [ ] `threading` |
| 97 | +- [ ] `time` |
| 98 | +- [ ] `timeit` |
| 99 | +- [ ] `tkinter` |
| 100 | +- [ ] `traceback` |
| 101 | +- [ ] `types` |
| 102 | +- [ ] `unicodedata` |
| 103 | +- [ ] `unittest` |
| 104 | +- [ ] `unittest.mock` |
| 105 | +- [ ] `urllib` |
| 106 | +- [ ] `wsgiref` |
| 107 | +- [ ] `xmlrpc` |
| 108 | +- [ ] `xml.sax` |
| 109 | +- [ ] `zipfile` |
| 110 | + |
| 111 | +Other module-level changes |
| 112 | +========================== |
| 113 | +- [ ] Many functions in the `mmap`, `ossaudiodev`, `socket`, `ssl`, and `codecs` modules now accept writable bytes-like objects. |
| 114 | + |
| 115 | +Deprecated |
| 116 | +========== |
| 117 | +- [ ] New Keywords: `async` and `await` are not recommended to be used as variable, class, function or module names. Introduced by PEP 492 in Python 3.5, they will become proper keywords in Python 3.7. |
| 118 | +- [ ] Deprecated Python Behavior: Raising the `StopIteration` exception inside a generator will now generate a silent `PendingDeprecationWarning`, which will become a non-silent deprecation warning in Python 3.6 and will trigger a `RuntimeError` in Python 3.7. See PEP 479: Change StopIteration handling inside generators for details. |
| 119 | + |
| 120 | +Deprecated Python modules, functions and methods |
| 121 | +================================================ |
| 122 | +- [ ] The `formatter` module has now graduated to full deprecation and is still slated for removal in Python 3.6. |
| 123 | +- [ ] The `asyncio.async()` function is deprecated in favor of `ensure_future()`. |
| 124 | +- [ ] The `smtpd` module has in the past always decoded the DATA portion of email messages using the `utf-8` codec. This can now be controlled by the new _decode__data_ keyword to `SMTPServer`. The default value is `True`, but this default is deprecated. Specify the _decode__data_ keyword with an appropriate value to avoid the deprecation warning. |
| 125 | +- [ ] Directly assigning values to the `key`, `value` and `coded_value` of `http.cookies.Morsel` objects is deprecated. Use the `set()` method instead. In addition, the undocumented LegalChars parameter of `set()` is deprecated, and is now ignored. |
| 126 | +- [ ] Passing a format string as keyword argument _format__string_ to the `format()` method of the `string.Formatter` class has been deprecated. |
| 127 | +- [ ] The `platform.dist()` and `platform.linux_distribution()` functions are now deprecated. Linux distributions use too many different ways of describing themselves, so the functionality is left to a package. |
| 128 | +- [ ] The previously undocumented `from_function` and `from_builtin methods` of inspect.Signature are deprecated. Use the new `Signature.from_callable()` method instead. |
| 129 | +- [ ] The `inspect.getargspec()` function is deprecated and scheduled to be removed in Python 3.6. |
| 130 | +- [ ] The inspect `getfullargspec()`, `getcallargs()`, and `formatargspec()` functions are deprecated in favor of the `inspect.signature()` API. |
| 131 | +- [ ] `getargvalues()` and `formatargvalues()` functions were inadvertently marked as deprecated with the release of Python 3.5.0. |
| 132 | +- [ ] Use of `re.LOCALE` flag with str patterns or `re.ASCII` is now deprecated. |
| 133 | +- [ ] Use of unrecognized special sequences consisting of `'\'` and an ASCII letter in regular expression patterns and replacement patterns now raises a deprecation warning and will be forbidden in Python 3.6. |
| 134 | +- [ ] The undocumented and unofficial _use__load__tests_ default argument of the `unittest.TestLoader.loadTestsFromModule()` method now is deprecated and ignored. |
| 135 | + |
| 136 | +Removed |
| 137 | +======= |
| 138 | +- [ ] The `__version__` attribute has been dropped from the email package. The email code hasn’t been shipped separately from the stdlib for a long time, and the `__version__` string was not updated in the last few releases. |
| 139 | +- [ ] The internal `Netrc` class in the ftplib module was deprecated in 3.4, and has now been removed. |
| 140 | +- [ ] The concept of .pyo files has been removed. |
| 141 | +- [ ] The `JoinableQueue` class in the provisional `asyncio` module was deprecated in 3.4.4 and is now removed. |
| 142 | + |
| 143 | +[PEP 492]: https://www.python.org/dev/peps/pep-0492 |
| 144 | +[PEP 465]: https://www.python.org/dev/peps/pep-0465 |
| 145 | +[PEP 448]: https://www.python.org/dev/peps/pep-0448 |
| 146 | +[PEP 461]: https://www.python.org/dev/peps/pep-0461 |
| 147 | +[PEP 484]: https://www.python.org/dev/peps/pep-0484 |
| 148 | +[PEP 471]: https://www.python.org/dev/peps/pep-0471 |
| 149 | +[PEP 475]: https://www.python.org/dev/peps/pep-0475 |
| 150 | +[PEP 479]: https://www.python.org/dev/peps/pep-0479 |
| 151 | +[PEP 485]: https://www.python.org/dev/peps/pep-0485 |
| 152 | +[PEP 486]: https://www.python.org/dev/peps/pep-0486 |
| 153 | +[PEP 488]: https://www.python.org/dev/peps/pep-0488 |
| 154 | +[PEP 489]: https://www.python.org/dev/peps/pep-0489 |
0 commit comments