# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/whatsnew/3.6.rst:3 msgid "What's New In Python 3.6" msgstr "" #: ../Doc/whatsnew/3.6.rst:5 msgid "|release|" msgstr "" #: ../Doc/whatsnew/3.6.rst:6 msgid "|today|" msgstr "|today|" #: ../Doc/whatsnew/3.6.rst:48 msgid "This article explains the new features in Python 3.6, compared to 3.5." msgstr "" #: ../Doc/whatsnew/3.6.rst:50 msgid "For full details, see the :ref:`changelog `." msgstr "" #: ../Doc/whatsnew/3.6.rst:54 msgid "" "Prerelease users should be aware that this document is currently in draft " "form. It will be updated substantially as Python 3.6 moves towards release, " "so it's worth checking back even after reading earlier versions." msgstr "" #: ../Doc/whatsnew/3.6.rst:60 msgid "Summary -- Release highlights" msgstr "" #: ../Doc/whatsnew/3.6.rst:65 msgid "New syntax features:" msgstr "" #: ../Doc/whatsnew/3.6.rst:67 msgid "" "A ``global`` or ``nonlocal`` statement must now textually appear before the " "first use of the affected name in the same scope. Previously this was a " "SyntaxWarning." msgstr "" #: ../Doc/whatsnew/3.6.rst:71 msgid "PEP 498: :ref:`Formatted string literals `" msgstr "" #: ../Doc/whatsnew/3.6.rst:73 ../Doc/whatsnew/3.6.rst:166 msgid "PEP 515: Underscores in Numeric Literals" msgstr "" #: ../Doc/whatsnew/3.6.rst:75 msgid "PEP 526: :ref:`Syntax for Variable Annotations `" msgstr "" #: ../Doc/whatsnew/3.6.rst:77 msgid "PEP 525: Asynchronous Generators" msgstr "" #: ../Doc/whatsnew/3.6.rst:79 msgid "PEP 530: Asynchronous Comprehensions" msgstr "" #: ../Doc/whatsnew/3.6.rst:81 msgid "Standard library improvements:" msgstr "" #: ../Doc/whatsnew/3.6.rst:83 msgid "Security improvements:" msgstr "" #: ../Doc/whatsnew/3.6.rst:85 ../Doc/whatsnew/3.6.rst:586 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security. See the :pep:`524` for the " "rationale." msgstr "" #: ../Doc/whatsnew/3.6.rst:89 msgid ":mod:`hashlib` and :mod:`ssl` now support OpenSSL 1.1.0." msgstr "" #: ../Doc/whatsnew/3.6.rst:91 msgid "" "The default settings and feature set of the :mod:`ssl` have been improved." msgstr "" #: ../Doc/whatsnew/3.6.rst:93 msgid "" "The :mod:`hashlib` module has got support for BLAKE2, SHA-3 and SHAKE hash " "algorithms and :func:`~hashlib.scrypt` key derivation function." msgstr "" #: ../Doc/whatsnew/3.6.rst:96 msgid "Windows improvements:" msgstr "" #: ../Doc/whatsnew/3.6.rst:98 msgid "PEP 529: :ref:`Change Windows filesystem encoding to UTF-8 `" msgstr "" #: ../Doc/whatsnew/3.6.rst:100 msgid "PEP 528: :ref:`Change Windows console encoding to UTF-8 `" msgstr "" #: ../Doc/whatsnew/3.6.rst:102 msgid "" "The ``py.exe`` launcher, when used interactively, no longer prefers Python 2 " "over Python 3 when the user doesn't specify a version (via command line " "arguments or a config file). Handling of shebang lines remains unchanged - " "\"python\" refers to Python 2 in that case." msgstr "" #: ../Doc/whatsnew/3.6.rst:107 msgid "" "``python.exe`` and ``pythonw.exe`` have been marked as long-path aware, " "which means that when the 260 character path limit may no longer apply. See :" "ref:`removing the MAX_PATH limitation ` for details." msgstr "" #: ../Doc/whatsnew/3.6.rst:111 msgid "" "A ``._pth`` file can be added to force isolated mode and fully specify all " "search paths to avoid registry and environment lookup. See :ref:`the " "documentation ` for more information." msgstr "" #: ../Doc/whatsnew/3.6.rst:115 msgid "" "A ``python36.zip`` file now works as a landmark to infer :envvar:" "`PYTHONHOME`. See :ref:`the documentation ` for more " "information." msgstr "" #: ../Doc/whatsnew/3.6.rst:134 msgid "New built-in features:" msgstr "" #: ../Doc/whatsnew/3.6.rst:136 msgid "" "PEP 520: :ref:`Preserving Class Attribute Definition Order`" msgstr "" #: ../Doc/whatsnew/3.6.rst:138 msgid "PEP 468: :ref:`Preserving Keyword Argument Order`" msgstr "" #: ../Doc/whatsnew/3.6.rst:140 msgid "A complete list of PEP's implemented in Python 3.6:" msgstr "" #: ../Doc/whatsnew/3.6.rst:142 msgid ":pep:`468`, :ref:`Preserving Keyword Argument Order`" msgstr "" #: ../Doc/whatsnew/3.6.rst:143 msgid "" ":pep:`487`, :ref:`Simpler customization of class creation`" msgstr "" #: ../Doc/whatsnew/3.6.rst:144 msgid ":pep:`495`, Local Time Disambiguation" msgstr "" #: ../Doc/whatsnew/3.6.rst:145 msgid ":pep:`498`, :ref:`Formatted string literals `" msgstr "" #: ../Doc/whatsnew/3.6.rst:146 msgid ":pep:`506`, Adding A Secrets Module To The Standard Library" msgstr "" #: ../Doc/whatsnew/3.6.rst:147 msgid ":pep:`509`, :ref:`Add a private version to dict`" msgstr "" #: ../Doc/whatsnew/3.6.rst:148 msgid ":pep:`515`, :ref:`Underscores in Numeric Literals`" msgstr "" #: ../Doc/whatsnew/3.6.rst:149 msgid ":pep:`519`, :ref:`Adding a file system path protocol`" msgstr "" #: ../Doc/whatsnew/3.6.rst:150 msgid "" ":pep:`520`, :ref:`Preserving Class Attribute Definition Order`" msgstr "" #: ../Doc/whatsnew/3.6.rst:151 msgid ":pep:`523`, :ref:`Adding a frame evaluation API to CPython`" msgstr "" #: ../Doc/whatsnew/3.6.rst:152 msgid ":pep:`524`, Make os.urandom() blocking on Linux (during system startup)" msgstr "" #: ../Doc/whatsnew/3.6.rst:153 msgid ":pep:`525`, Asynchronous Generators (provisional)" msgstr "" #: ../Doc/whatsnew/3.6.rst:154 msgid "" ":pep:`526`, :ref:`Syntax for Variable Annotations (provisional)`" msgstr "" #: ../Doc/whatsnew/3.6.rst:155 msgid "" ":pep:`528`, :ref:`Change Windows console encoding to UTF-8 " "(provisional)`" msgstr "" #: ../Doc/whatsnew/3.6.rst:156 msgid "" ":pep:`529`, :ref:`Change Windows filesystem encoding to UTF-8 " "(provisional)`" msgstr "" #: ../Doc/whatsnew/3.6.rst:157 msgid ":pep:`530`, Asynchronous Comprehensions" msgstr "" #: ../Doc/whatsnew/3.6.rst:161 msgid "New Features" msgstr "Nouvelles fonctionnalités" #: ../Doc/whatsnew/3.6.rst:168 msgid "" "Prior to PEP 515, there was no support for writing long numeric literals " "with some form of separator to improve readability. For instance, how big is " "``1000000000000000``? With :pep:`515`, though, you can use underscores to " "separate digits as desired to make numeric literals easier to read: " "``1_000_000_000_000_000``. Underscores can be used with other numeric " "literals beyond integers, e.g. ``0x_FF_FF_FF_FF``." msgstr "" #: ../Doc/whatsnew/3.6.rst:176 msgid "" "Single underscores are allowed between digits and after any base specifier. " "More than a single underscore in a row, leading, or trailing underscores are " "not allowed." msgstr "" #: ../Doc/whatsnew/3.6.rst:182 msgid ":pep:`515` -- Underscores in Numeric Literals" msgstr "" #: ../Doc/whatsnew/3.6.rst:183 msgid "PEP written by Georg Brandl and Serhiy Storchaka." msgstr "" #: ../Doc/whatsnew/3.6.rst:189 msgid "PEP 523: Adding a frame evaluation API to CPython" msgstr "" #: ../Doc/whatsnew/3.6.rst:191 msgid "" "While Python provides extensive support to customize how code executes, one " "place it has not done so is in the evaluation of frame objects. If you " "wanted some way to intercept frame evaluation in Python there really wasn't " "any way without directly manipulating function pointers for defined " "functions." msgstr "" #: ../Doc/whatsnew/3.6.rst:197 msgid "" ":pep:`523` changes this by providing an API to make frame evaluation " "pluggable at the C level. This will allow for tools such as debuggers and " "JITs to intercept frame evaluation before the execution of Python code " "begins. This enables the use of alternative evaluation implementations for " "Python code, tracking frame evaluation, etc." msgstr "" #: ../Doc/whatsnew/3.6.rst:204 msgid "" "This API is not part of the limited C API and is marked as private to signal " "that usage of this API is expected to be limited and only applicable to very " "select, low-level use-cases. Semantics of the API will change with Python as " "necessary." msgstr "" #: ../Doc/whatsnew/3.6.rst:211 msgid ":pep:`523` -- Adding a frame evaluation API to CPython" msgstr "" #: ../Doc/whatsnew/3.6.rst:212 msgid "PEP written by Brett Cannon and Dino Viehland." msgstr "" #: ../Doc/whatsnew/3.6.rst:218 msgid "PEP 519: Adding a file system path protocol" msgstr "" #: ../Doc/whatsnew/3.6.rst:220 msgid "" "File system paths have historically been represented as :class:`str` or :" "class:`bytes` objects. This has led to people who write code which operate " "on file system paths to assume that such objects are only one of those two " "types (an :class:`int` representing a file descriptor does not count as that " "is not a file path). Unfortunately that assumption prevents alternative " "object representations of file system paths like :mod:`pathlib` from working " "with pre-existing code, including Python's standard library." msgstr "" #: ../Doc/whatsnew/3.6.rst:229 msgid "" "To fix this situation, a new interface represented by :class:`os.PathLike` " "has been defined. By implementing the :meth:`~os.PathLike.__fspath__` " "method, an object signals that it represents a path. An object can then " "provide a low-level representation of a file system path as a :class:`str` " "or :class:`bytes` object. This means an object is considered :term:`path-" "like ` if it implements :class:`os.PathLike` or is a :" "class:`str` or :class:`bytes` object which represents a file system path. " "Code can use :func:`os.fspath`, :func:`os.fsdecode`, or :func:`os.fsencode` " "to explicitly get a :class:`str` and/or :class:`bytes` representation of a " "path-like object." msgstr "" #: ../Doc/whatsnew/3.6.rst:242 msgid "" "The built-in :func:`open` function has been updated to accept :class:`os." "PathLike` objects as have all relevant functions in the :mod:`os` and :mod:" "`os.path` modules. :c:func:`PyUnicode_FSConverter` and :c:func:" "`PyUnicode_FSConverter` have been changed to accept path-like objects. The :" "class:`os.DirEntry` class and relevant classes in :mod:`pathlib` have also " "been updated to implement :class:`os.PathLike`." msgstr "" #: ../Doc/whatsnew/3.6.rst:250 msgid "" "The hope in is that updating the fundamental functions for operating on file " "system paths will lead to third-party code to implicitly support all :term:" "`path-like objects ` without any code changes or at least " "very minimal ones (e.g. calling :func:`os.fspath` at the beginning of code " "before operating on a path-like object)." msgstr "" #: ../Doc/whatsnew/3.6.rst:257 msgid "" "Here are some examples of how the new interface allows for :class:`pathlib." "Path` to be used more easily and transparently with pre-existing code::" msgstr "" #: ../Doc/whatsnew/3.6.rst:274 msgid "" "(Implemented by Brett Cannon, Ethan Furman, Dusty Phillips, and Jelle " "Zijlstra.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:278 msgid ":pep:`519` -- Adding a file system path protocol" msgstr "" #: ../Doc/whatsnew/3.6.rst:279 msgid "PEP written by Brett Cannon and Koos Zevenhoven." msgstr "" #: ../Doc/whatsnew/3.6.rst:285 msgid "PEP 498: Formatted string literals" msgstr "" #: ../Doc/whatsnew/3.6.rst:287 msgid "" "Formatted string literals are a new kind of string literal, prefixed with " "``'f'``. They are similar to the format strings accepted by :meth:`str." "format`. They contain replacement fields surrounded by curly braces. The " "replacement fields are expressions, which are evaluated at run time, and " "then formatted using the :func:`format` protocol::" msgstr "" #: ../Doc/whatsnew/3.6.rst:297 msgid "See :pep:`498` and the main documentation at :ref:`f-strings`." msgstr "" #: ../Doc/whatsnew/3.6.rst:303 msgid "PEP 526: Syntax for variable annotations" msgstr "" #: ../Doc/whatsnew/3.6.rst:305 msgid "" ":pep:`484` introduced standard for type annotations of function parameters, " "a.k.a. type hints. This PEP adds syntax to Python for annotating the types " "of variables including class variables and instance variables::" msgstr "" #: ../Doc/whatsnew/3.6.rst:316 msgid "" "Just as for function annotations, the Python interpreter does not attach any " "particular meaning to variable annotations and only stores them in a special " "attribute ``__annotations__`` of a class or module. In contrast to variable " "declarations in statically typed languages, the goal of annotation syntax is " "to provide an easy way to specify structured type metadata for third party " "tools and libraries via the abstract syntax tree and the ``__annotations__`` " "attribute." msgstr "" #: ../Doc/whatsnew/3.6.rst:328 msgid ":pep:`526` -- Syntax for variable annotations." msgstr "" #: ../Doc/whatsnew/3.6.rst:327 msgid "" "PEP written by Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach, and " "Guido van Rossum. Implemented by Ivan Levkivskyi." msgstr "" #: ../Doc/whatsnew/3.6.rst:330 msgid "" "Tools that use or will use the new syntax: `mypy `_, `pytype `_, PyCharm, etc." msgstr "" #: ../Doc/whatsnew/3.6.rst:338 msgid "PEP 529: Change Windows filesystem encoding to UTF-8" msgstr "" #: ../Doc/whatsnew/3.6.rst:340 msgid "" "Representing filesystem paths is best performed with str (Unicode) rather " "than bytes. However, there are some situations where using bytes is " "sufficient and correct." msgstr "" #: ../Doc/whatsnew/3.6.rst:344 msgid "" "Prior to Python 3.6, data loss could result when using bytes paths on " "Windows. With this change, using bytes to represent paths is now supported " "on Windows, provided those bytes are encoded with the encoding returned by :" "func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." msgstr "" #: ../Doc/whatsnew/3.6.rst:349 msgid "" "Applications that do not use str to represent paths should use :func:`os." "fsencode()` and :func:`os.fsdecode()` to ensure their bytes are correctly " "encoded. To revert to the previous behaviour, set :envvar:" "`PYTHONLEGACYWINDOWSFSENCODING` or call :func:`sys." "_enablelegacywindowsfsencoding`." msgstr "" #: ../Doc/whatsnew/3.6.rst:355 msgid "" "See :pep:`529` for more information and discussion of code modifications " "that may be required." msgstr "" #: ../Doc/whatsnew/3.6.rst:360 msgid "" "This change is considered experimental for 3.6.0 beta releases. The default " "encoding may change before the final release." msgstr "" #: ../Doc/whatsnew/3.6.rst:366 msgid "PEP 487: Simpler customization of class creation" msgstr "" #: ../Doc/whatsnew/3.6.rst:368 msgid "" "Upon subclassing a class, the ``__init_subclass__`` classmethod (if defined) " "is called on the base class. This makes it straightforward to write classes " "that customize initialization of future subclasses without introducing the " "complexity of a full custom metaclass." msgstr "" #: ../Doc/whatsnew/3.6.rst:373 msgid "" "The descriptor protocol has also been expanded to include a new optional " "method, ``__set_name__``. Whenever a new class is defined, the new method " "will be called on all descriptors included in the definition, providing them " "with a reference to the class being defined and the name given to the " "descriptor within the class namespace." msgstr "" #: ../Doc/whatsnew/3.6.rst:379 msgid "" "Also see :pep:`487` and the updated class customization documentation at :" "ref:`class-customization` and :ref:`descriptors`." msgstr "" #: ../Doc/whatsnew/3.6.rst:382 msgid "(Contributed by Martin Teichmann in :issue:`27366`)" msgstr "" #: ../Doc/whatsnew/3.6.rst:387 msgid "PEP 528: Change Windows console encoding to UTF-8" msgstr "" #: ../Doc/whatsnew/3.6.rst:389 msgid "" "The default console on Windows will now accept all Unicode characters and " "provide correctly read str objects to Python code. ``sys.stdin``, ``sys." "stdout`` and ``sys.stderr`` now default to utf-8 encoding." msgstr "" #: ../Doc/whatsnew/3.6.rst:393 msgid "" "This change only applies when using an interactive console, and not when " "redirecting files or pipes. To revert to the previous behaviour for " "interactive console use, set :envvar:`PYTHONLEGACYWINDOWSIOENCODING`." msgstr "" #: ../Doc/whatsnew/3.6.rst:399 msgid ":pep:`528` -- Change Windows console encoding to UTF-8" msgstr "" #: ../Doc/whatsnew/3.6.rst:400 msgid "PEP written and implemented by Steve Dower." msgstr "" #: ../Doc/whatsnew/3.6.rst:403 msgid "PYTHONMALLOC environment variable" msgstr "" #: ../Doc/whatsnew/3.6.rst:405 msgid "" "The new :envvar:`PYTHONMALLOC` environment variable allows setting the " "Python memory allocators and/or install debug hooks." msgstr "" #: ../Doc/whatsnew/3.6.rst:408 msgid "" "It is now possible to install debug hooks on Python memory allocators on " "Python compiled in release mode using ``PYTHONMALLOC=debug``. Effects of " "debug hooks:" msgstr "" #: ../Doc/whatsnew/3.6.rst:411 msgid "Newly allocated memory is filled with the byte ``0xCB``" msgstr "" #: ../Doc/whatsnew/3.6.rst:412 msgid "Freed memory is filled with the byte ``0xDB``" msgstr "" #: ../Doc/whatsnew/3.6.rst:413 msgid "" "Detect violations of Python memory allocator API. For example, :c:func:" "`PyObject_Free` called on a memory block allocated by :c:func:`PyMem_Malloc`." msgstr "" #: ../Doc/whatsnew/3.6.rst:416 msgid "Detect write before the start of the buffer (buffer underflow)" msgstr "" #: ../Doc/whatsnew/3.6.rst:417 msgid "Detect write after the end of the buffer (buffer overflow)" msgstr "" #: ../Doc/whatsnew/3.6.rst:418 msgid "" "Check that the :term:`GIL ` is held when allocator " "functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" "c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." msgstr "" #: ../Doc/whatsnew/3.6.rst:422 msgid "Checking if the GIL is held is also a new feature of Python 3.6." msgstr "" #: ../Doc/whatsnew/3.6.rst:424 msgid "" "See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python " "memory allocators." msgstr "" #: ../Doc/whatsnew/3.6.rst:427 msgid "" "It is now also possible to force the usage of the :c:func:`malloc` allocator " "of the C library for all Python memory allocations using " "``PYTHONMALLOC=malloc``. It helps to use external memory debuggers like " "Valgrind on a Python compiled in release mode." msgstr "" #: ../Doc/whatsnew/3.6.rst:432 msgid "" "On error, the debug hooks on Python memory allocators now use the :mod:" "`tracemalloc` module to get the traceback where a memory block was allocated." msgstr "" #: ../Doc/whatsnew/3.6.rst:436 msgid "" "Example of fatal error on buffer overflow using ``python3.6 -X " "tracemalloc=5`` (store 5 frames in traces)::" msgstr "" #: ../Doc/whatsnew/3.6.rst:473 msgid "(Contributed by Victor Stinner in :issue:`26516` and :issue:`26564`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:477 msgid "DTrace and SystemTap probing support" msgstr "" #: ../Doc/whatsnew/3.6.rst:479 msgid "" "Python can now be built ``--with-dtrace`` which enables static markers for " "the following events in the interpreter:" msgstr "" #: ../Doc/whatsnew/3.6.rst:482 msgid "function call/return" msgstr "" #: ../Doc/whatsnew/3.6.rst:484 msgid "garbage collection started/finished" msgstr "" #: ../Doc/whatsnew/3.6.rst:486 msgid "line of code executed." msgstr "" #: ../Doc/whatsnew/3.6.rst:488 msgid "" "This can be used to instrument running interpreters in production, without " "the need to recompile specific debug builds or providing application-" "specific profiling/debugging code." msgstr "" #: ../Doc/whatsnew/3.6.rst:492 msgid "More details in :ref:`instrumentation`." msgstr "" #: ../Doc/whatsnew/3.6.rst:494 msgid "" "The current implementation is tested on Linux and macOS. Additional markers " "may be added in the future." msgstr "" #: ../Doc/whatsnew/3.6.rst:497 msgid "" "(Contributed by Łukasz Langa in :issue:`21590`, based on patches by Jesús " "Cea Avión, David Malcolm, and Nikhil Benesch.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:504 msgid "PEP 520: Preserving Class Attribute Definition Order" msgstr "" #: ../Doc/whatsnew/3.6.rst:506 msgid "" "Attributes in a class definition body have a natural ordering: the same " "order in which the names appear in the source. This order is now preserved " "in the new class's ``__dict__`` attribute." msgstr "" #: ../Doc/whatsnew/3.6.rst:510 msgid "" "Also, the effective default class *execution* namespace (returned from " "``type.__prepare__()``) is now an insertion-order-preserving mapping." msgstr "" #: ../Doc/whatsnew/3.6.rst:515 msgid ":pep:`520` -- Preserving Class Attribute Definition Order" msgstr "" #: ../Doc/whatsnew/3.6.rst:516 ../Doc/whatsnew/3.6.rst:530 msgid "PEP written and implemented by Eric Snow." msgstr "" #: ../Doc/whatsnew/3.6.rst:522 msgid "PEP 468: Preserving Keyword Argument Order" msgstr "" #: ../Doc/whatsnew/3.6.rst:524 msgid "" "``**kwargs`` in a function signature is now guaranteed to be an insertion-" "order-preserving mapping." msgstr "" #: ../Doc/whatsnew/3.6.rst:529 msgid ":pep:`468` -- Preserving Keyword Argument Order" msgstr "" #: ../Doc/whatsnew/3.6.rst:535 msgid "PEP 509: Add a private version to dict" msgstr "" #: ../Doc/whatsnew/3.6.rst:537 msgid "" "Add a new private version to the builtin ``dict`` type, incremented at each " "dictionary creation and at each dictionary change, to implement fast guards " "on namespaces." msgstr "" #: ../Doc/whatsnew/3.6.rst:541 msgid "(Contributed by Victor Stinner in :issue:`26058`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:545 msgid "Other Language Changes" msgstr "" #: ../Doc/whatsnew/3.6.rst:547 msgid "Some smaller changes made to the core Python language are:" msgstr "" #: ../Doc/whatsnew/3.6.rst:549 msgid "" ":func:`dict` now uses a \"compact\" representation `pioneered by PyPy " "`_. The memory usage of the new :func:`dict` is between 20% and 25% " "smaller compared to Python 3.5. :pep:`468` (Preserving the order of " "``**kwargs`` in a function.) is implemented by this. The order-preserving " "aspect of this new implementation is considered an implementation detail and " "should not be relied upon (this may change in the future, but it is desired " "to have this new dict implementation in the language for a few releases " "before changing the language spec to mandate order-preserving semantics for " "all current and future Python implementations; this also helps preserve " "backwards-compatibility with older versions of the language where random " "iteration order is still in effect, e.g. Python 3.5). (Contributed by INADA " "Naoki in :issue:`27350`. Idea `originally suggested by Raymond Hettinger " "`_.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:567 msgid "" "Long sequences of repeated traceback lines are now abbreviated as ``" "\"[Previous line repeated {count} more times]\"`` (see :ref:`py36-traceback` " "for an example). (Contributed by Emanuel Barry in :issue:`26823`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:572 msgid "" "Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" "exc:`ImportError`) when it cannot find a module. Code that current checks " "for ImportError (in try-except) will still work." msgstr "" #: ../Doc/whatsnew/3.6.rst:578 msgid "New Modules" msgstr "" #: ../Doc/whatsnew/3.6.rst:580 ../Doc/whatsnew/3.6.rst:1233 msgid "None yet." msgstr "" #: ../Doc/whatsnew/3.6.rst:584 msgid "Improved Modules" msgstr "" #: ../Doc/whatsnew/3.6.rst:591 msgid "asyncio" msgstr "asyncio" #: ../Doc/whatsnew/3.6.rst:593 msgid "" "Since the :mod:`asyncio` module is :term:`provisional `, " "all changes introduced in Python 3.6 have also been backported to Python 3.5." "x." msgstr "" #: ../Doc/whatsnew/3.6.rst:597 msgid "Notable changes in the :mod:`asyncio` module since Python 3.5.0:" msgstr "" #: ../Doc/whatsnew/3.6.rst:599 msgid "" "The :func:`~asyncio.ensure_future` function and all functions that use it, " "such as :meth:`loop.run_until_complete() `, now accept all kinds of :term:`awaitable objects " "`. (Contributed by Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:604 msgid "" "New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " "to event loops from other threads. (Contributed by Vincent Michel.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:608 msgid "" "New :meth:`Transport.is_closing() ` method " "to check if the transport is closing or closed. (Contributed by Yury " "Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:612 msgid "" "The :meth:`loop.create_server() ` " "method can now accept a list of hosts. (Contributed by Yann Sionneau.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:616 msgid "" "New :meth:`loop.create_future() ` " "method to create Future objects. This allows alternative event loop " "implementations, such as `uvloop `_, " "to provide a faster :class:`asyncio.Future` implementation. (Contributed by " "Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:623 msgid "" "New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " "(Contributed by Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:627 msgid "" "New :meth:`StreamReader.readuntil() ` method " "to read data from the stream until a separator bytes sequence appears. " "(Contributed by Mark Korenberg.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:632 msgid "" "The :meth:`loop.getaddrinfo() ` method is " "optimized to avoid calling the system ``getaddrinfo`` function if the " "address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:639 msgid "contextlib" msgstr "contextlib" #: ../Doc/whatsnew/3.6.rst:641 msgid "" "The :class:`contextlib.AbstractContextManager` class has been added to " "provide an abstract base class for context managers. It provides a sensible " "default implementation for `__enter__()` which returns ``self`` and leaves " "`__exit__()` an abstract method. A matching class has been added to the :mod:" "`typing` module as :class:`typing.ContextManager`. (Contributed by Brett " "Cannon in :issue:`25609`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:651 msgid "venv" msgstr "venv" #: ../Doc/whatsnew/3.6.rst:653 msgid "" ":mod:`venv` accepts a new parameter ``--prompt``. This parameter provides an " "alternative prefix for the virtual environment. (Proposed by Łukasz." "Balcerzak and ported to 3.6 by Stéphane Wirtel in :issue:`22829`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:659 msgid "datetime" msgstr "datetime" #: ../Doc/whatsnew/3.6.rst:661 msgid "" "The :meth:`datetime.strftime() ` and :meth:`date." "strftime() ` methods now support ISO 8601 date " "directives ``%G``, ``%u`` and ``%V``. (Contributed by Ashley Anderson in :" "issue:`12006`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:668 msgid "distutils.command.sdist" msgstr "" #: ../Doc/whatsnew/3.6.rst:670 msgid "" "The ``default_format`` attribute has been removed from :class:`distutils." "command.sdist.sdist` and the ``formats`` attribute defaults to " "``['gztar']``. Although not anticipated, Any code relying on the presence of " "``default_format`` may need to be adapted. See :issue:`27819` for more " "details." msgstr "" #: ../Doc/whatsnew/3.6.rst:678 msgid "email" msgstr "email" #: ../Doc/whatsnew/3.6.rst:680 msgid "" "The new email API, enabled via the *policy* keyword to various constructors, " "is no longer provisional. The :mod:`email` documentation has been " "reorganized and rewritten to focus on the new API, while retaining the old " "documentation for the legacy API. (Contributed by R. David Murray in :issue:" "`24277`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:685 msgid "" "The :mod:`email.mime` classes now all accept an optional *policy* keyword. " "(Contributed by Berker Peksag in :issue:`27331`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:688 msgid "" "The :class:`~email.generator.DecodedGenerator` now supports the *policy* " "keyword." msgstr "" #: ../Doc/whatsnew/3.6.rst:691 msgid "" "There is a new :mod:`~email.policy` attribute, :attr:`~email.policy.Policy." "message_factory`, that controls what class is used by default when the " "parser creates new message objects. For the :attr:`email.policy.compat32` " "policy this is :class:`~email.message.Message`, for the new policies it is :" "class:`~email.message.EmailMessage`. (Contributed by R. David Murray in :" "issue:`20476`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:700 msgid "encodings" msgstr "" #: ../Doc/whatsnew/3.6.rst:702 msgid "" "On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP`` and the " "``'ansi'`` alias for the existing ``'mbcs'`` encoding, which uses the " "``CP_ACP`` code page." msgstr "" #: ../Doc/whatsnew/3.6.rst:707 msgid "faulthandler" msgstr "" #: ../Doc/whatsnew/3.6.rst:709 msgid "" "On Windows, the :mod:`faulthandler` module now installs a handler for " "Windows exceptions: see :func:`faulthandler.enable`. (Contributed by Victor " "Stinner in :issue:`23848`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:715 msgid "hashlib" msgstr "" #: ../Doc/whatsnew/3.6.rst:717 msgid "" ":mod:`hashlib` supports OpenSSL 1.1.0. The minimum recommend version is " "1.0.2. It has been tested with 0.9.8zc, 0.9.8zh and 1.0.1t as well as " "LibreSSL 2.3 and 2.4. (Contributed by Christian Heimes in :issue:`26470`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:722 msgid "" "BLAKE2 hash functions were added to the module. :func:`~hashlib.blake2b` " "and :func:`~hashlib.blake2s` are always available and support the full " "feature set of BLAKE2. (Contributed by Christian Heimes in :issue:`26798` " "based on code by Dmitry Chestnykh and Samuel Neves. Documentation written by " "Dmitry Chestnykh.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:728 msgid "" "The SHA-3 hash functions :func:`~hashlib.sha3_224`, :func:`~hashlib." "sha3_256`, :func:`~hashlib.sha3_384`, :func:`~hashlib.sha3_512`, and SHAKE " "hash functions :func:`~hashlib.shake_128` and :func:`~hashlib.shake_256` " "were added. (Contributed by Christian Heimes in :issue:`16113`. Keccak Code " "Package by Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche, " "and Ronny Van Keer.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:735 msgid "" "The password-based key derivation function :func:`~hashlib.scrypt` is now " "available with OpenSSL 1.1.0 and newer. (Contributed by Christian Heimes in :" "issue:`27928`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:740 msgid "http.client" msgstr "" #: ../Doc/whatsnew/3.6.rst:742 msgid "" ":meth:`HTTPConnection.request() ` and :" "meth:`~http.client.HTTPConnection.endheaders` both now support chunked " "encoding request bodies. (Contributed by Demian Brecht and Rolf Krahl in :" "issue:`12319`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:749 msgid "idlelib and IDLE" msgstr "" #: ../Doc/whatsnew/3.6.rst:751 msgid "" "The idlelib package is being modernized and refactored to make IDLE look and " "work better and to make the code easier to understand, test, and improve. " "Part of making IDLE look better, especially on Linux and Mac, is using ttk " "widgets, mostly in the dialogs. As a result, IDLE no longer runs with tcl/" "tk 8.4. It now requires tcl/tk 8.5 or 8.6. We recommend running the latest " "release of either." msgstr "" #: ../Doc/whatsnew/3.6.rst:753 msgid "" "'Modernizing' includes renaming and consolidation of idlelib modules. The " "renaming of files with partial uppercase names is similar to the renaming " "of, for instance, Tkinter and TkFont to tkinter and tkinter.font in 3.0. As " "a result, imports of idlelib files that worked in 3.5 will usually not work " "in 3.6. At least a module name change will be needed (see idlelib/README." "txt), sometimes more. (Name changes contributed by Al Swiegart and Terry " "Reedy in :issue:`24225`. Most idlelib patches since have been and will be " "part of the process.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:755 msgid "" "In compensation, the eventual result with be that some idlelib classes will " "be easier to use, with better APIs and docstrings explaining them. " "Additional useful information will be added to idlelib when available." msgstr "" #: ../Doc/whatsnew/3.6.rst:759 msgid "importlib" msgstr "importlib" #: ../Doc/whatsnew/3.6.rst:761 msgid "" ":class:`importlib.util.LazyLoader` now calls :meth:`~importlib.abc.Loader." "create_module` on the wrapped loader, removing the restriction that :class:" "`importlib.machinery.BuiltinImporter` and :class:`importlib.machinery." "ExtensionFileLoader` couldn't be used with :class:`importlib.util." "LazyLoader`." msgstr "" #: ../Doc/whatsnew/3.6.rst:767 msgid "" ":func:`importlib.util.cache_from_source`, :func:`importlib.util." "source_from_cache`, and :func:`importlib.util.spec_from_file_location` now " "accept a :term:`path-like object`." msgstr "" #: ../Doc/whatsnew/3.6.rst:774 msgid "json" msgstr "" #: ../Doc/whatsnew/3.6.rst:776 msgid "" ":func:`json.load` and :func:`json.loads` now support binary input. Encoded " "JSON should be represented using either UTF-8, UTF-16, or UTF-32. " "(Contributed by Serhiy Storchaka in :issue:`17909`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:782 msgid "os" msgstr "" #: ../Doc/whatsnew/3.6.rst:784 msgid "" "A new :meth:`~os.scandir.close` method allows explicitly closing a :func:" "`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :" "term:`context manager` protocol. If a :func:`scandir` iterator is neither " "exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " "its destructor. (Contributed by Serhiy Storchaka in :issue:`25994`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:791 msgid "" "The Linux ``getrandom()`` syscall (get random bytes) is now exposed as the " "new :func:`os.getrandom` function. (Contributed by Victor Stinner, part of " "the :pep:`524`)" msgstr "" #: ../Doc/whatsnew/3.6.rst:795 msgid "" "See the summary for :ref:`PEP 519 ` for details on how the :mod:" "`os` and :mod:`os.path` modules now support :term:`path-like objects `." msgstr "" #: ../Doc/whatsnew/3.6.rst:801 msgid "pickle" msgstr "" #: ../Doc/whatsnew/3.6.rst:803 msgid "" "Objects that need calling ``__new__`` with keyword arguments can now be " "pickled using :ref:`pickle protocols ` older than protocol " "version 4. Protocol version 4 already supports this case. (Contributed by " "Serhiy Storchaka in :issue:`24164`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:810 msgid "re" msgstr "" #: ../Doc/whatsnew/3.6.rst:812 msgid "" "Added support of modifier spans in regular expressions. Examples: ``'(?i:" "p)ython'`` matches ``'python'`` and ``'Python'``, but not ``'PYTHON'``; ``'(?" "i)g(?-i:v)r'`` matches ``'GvR'`` and ``'gvr'``, but not ``'GVR'``. " "(Contributed by Serhiy Storchaka in :issue:`433028`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:817 msgid "" "Match object groups can be accessed by ``__getitem__``, which is equivalent " "to ``group()``. So ``mo['name']`` is now equivalent to ``mo." "group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:823 msgid "readline" msgstr "" #: ../Doc/whatsnew/3.6.rst:825 msgid "" "Added :func:`~readline.set_auto_history` to enable or disable automatic " "addition of input to the history list. (Contributed by Tyler Crompton in :" "issue:`26870`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:831 msgid "rlcompleter" msgstr "" #: ../Doc/whatsnew/3.6.rst:833 msgid "" "Private and special attribute names now are omitted unless the prefix starts " "with underscores. A space or a colon is added after some completed " "keywords. (Contributed by Serhiy Storchaka in :issue:`25011` and :issue:" "`25209`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:837 msgid "" "Names of most attributes listed by :func:`dir` are now completed. " "Previously, names of properties and slots which were not yet created on an " "instance were excluded. (Contributed by Martin Panter in :issue:`25590`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:843 msgid "site" msgstr "" #: ../Doc/whatsnew/3.6.rst:845 msgid "" "When specifying paths to add to :attr:`sys.path` in a `.pth` file, you may " "now specify file paths on top of directories (e.g. zip files). (Contributed " "by Wolfgang Langner in :issue:`26587`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:851 msgid "sqlite3" msgstr "" #: ../Doc/whatsnew/3.6.rst:853 msgid "" ":attr:`sqlite3.Cursor.lastrowid` now supports the ``REPLACE`` statement. " "(Contributed by Alex LordThorsen in :issue:`16864`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:858 msgid "socket" msgstr "" #: ../Doc/whatsnew/3.6.rst:860 msgid "" "The :func:`~socket.socket.ioctl` function now supports the :data:`~socket." "SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel Stokes in :" "issue:`26536`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:864 msgid "" "The :meth:`~socket.socket.getsockopt` constants ``SO_DOMAIN``, " "``SO_PROTOCOL``, ``SO_PEERSEC``, and ``SO_PASSSEC`` are now supported. " "(Contributed by Christian Heimes in :issue:`26907`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:868 msgid "" "The socket module now supports the address family :data:`~socket.AF_ALG` to " "interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and :meth:" "`~socket.socket.sendmsg_afalg` were added. (Contributed by Christian Heimes " "in :issue:`27744` with support from Victor Stinner.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:875 msgid "socketserver" msgstr "" #: ../Doc/whatsnew/3.6.rst:877 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " "now support the :term:`context manager` protocol. (Contributed by Aviv " "Palivoda in :issue:`26404`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:883 msgid "" "The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of :class:" "`~socketserver.StreamRequestHandler` classes now implements the :class:`io." "BufferedIOBase` writable interface. In particular, calling :meth:`~io." "BufferedIOBase.write` is now guaranteed to send the data in full. " "(Contributed by Martin Panter in :issue:`26721`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:890 msgid "ssl" msgstr "" #: ../Doc/whatsnew/3.6.rst:892 msgid "" ":mod:`ssl` supports OpenSSL 1.1.0. The minimum recommend version is 1.0.2. " "It has been tested with 0.9.8zc, 0.9.8zh and 1.0.1t as well as LibreSSL 2.3 " "and 2.4. (Contributed by Christian Heimes in :issue:`26470`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:897 msgid "" "3DES has been removed from the default cipher suites and ChaCha20 Poly1305 " "cipher suites are now in the right position. (Contributed by Christian " "Heimes in :issue:`27850` and :issue:`27766`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:901 msgid "" ":class:`~ssl.SSLContext` has better default configuration for options and " "ciphers. (Contributed by Christian Heimes in :issue:`28043`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:905 msgid "" "SSL session can be copied from one client-side connection to another with :" "class:`~ssl.SSLSession`. TLS session resumption can speed up the initial " "handshake, reduce latency and improve performance (Contributed by Christian " "Heimes in :issue:`19500` based on a draft by Alex Warhawk.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:911 msgid "" "All constants and flags have been converted to :class:`~enum.IntEnum` and :" "class:`~enum.IntFlags`. (Contributed by Christian Heimes in :issue:`28025`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:915 msgid "" "Server and client-side specific TLS protocols for :class:`~ssl.SSLContext` " "were added. (Contributed by Christian Heimes in :issue:`28085`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:919 msgid "" "General resource ids (``GEN_RID``) in subject alternative name extensions no " "longer case a SystemError. (Contributed by Christian Heimes in :issue:" "`27691`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:924 msgid "subprocess" msgstr "subprocess" #: ../Doc/whatsnew/3.6.rst:926 msgid "" ":class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` " "warning if the child process is still running. Use the context manager " "protocol (``with proc: ...``) or call explicitly the :meth:`~subprocess." "Popen.wait` method to read the exit status of the child process (Contributed " "by Victor Stinner in :issue:`26741`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:932 msgid "" "The :class:`subprocess.Popen` constructor and all functions that pass " "arguments through to it now accept *encoding* and *errors* arguments. " "Specifying either of these will enable text mode for the *stdin*, *stdout* " "and *stderr* streams." msgstr "" #: ../Doc/whatsnew/3.6.rst:937 msgid "telnetlib" msgstr "" #: ../Doc/whatsnew/3.6.rst:939 msgid "" ":class:`~telnetlib.Telnet` is now a context manager (contributed by Stéphane " "Wirtel in :issue:`25485`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:944 msgid "tkinter" msgstr "tkinter" #: ../Doc/whatsnew/3.6.rst:946 msgid "" "Added methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." "trace_remove` and :meth:`~tkinter.Variable.trace_info` in the :class:" "`tkinter.Variable` class. They replace old methods :meth:`~tkinter.Variable." "trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable." "trace_vdelete` and :meth:`~tkinter.Variable.trace_vinfo` that use obsolete " "Tcl commands and might not work in future versions of Tcl. (Contributed by " "Serhiy Storchaka in :issue:`22115`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:959 msgid "traceback" msgstr "traceback" #: ../Doc/whatsnew/3.6.rst:961 msgid "" "Both the traceback module and the interpreter's builtin exception display " "now abbreviate long sequences of repeated lines in tracebacks as shown in " "the following example::" msgstr "" #: ../Doc/whatsnew/3.6.rst:976 msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:980 msgid "typing" msgstr "" #: ../Doc/whatsnew/3.6.rst:982 msgid "" "The :class:`typing.ContextManager` class has been added for representing :" "class:`contextlib.AbstractContextManager`. (Contributed by Brett Cannon in :" "issue:`25609`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:988 msgid "unicodedata" msgstr "unicodedata" #: ../Doc/whatsnew/3.6.rst:990 msgid "" "The internal database has been upgraded to use Unicode 9.0.0. (Contributed " "by Benjamin Peterson.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:995 msgid "unittest.mock" msgstr "unittest.mock" #: ../Doc/whatsnew/3.6.rst:997 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" msgstr "" #: ../Doc/whatsnew/3.6.rst:999 msgid "" "Two new methods, :meth:`Mock.assert_called() ` and :meth:`Mock.assert_called_once() ` to check if the mock object was called. (Contributed by " "Amit Saha in :issue:`26323`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1007 msgid "urllib.request" msgstr "" #: ../Doc/whatsnew/3.6.rst:1009 msgid "" "If a HTTP request has a file or iterable body (other than a bytes object) " "but no Content-Length header, rather than throwing an error, :class:`~urllib." "request.AbstractHTTPHandler` now falls back to use chunked transfer " "encoding. (Contributed by Demian Brecht and Rolf Krahl in :issue:`12319`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1017 msgid "urllib.robotparser" msgstr "" #: ../Doc/whatsnew/3.6.rst:1019 msgid "" ":class:`~urllib.robotparser.RobotFileParser` now supports the ``Crawl-" "delay`` and ``Request-rate`` extensions. (Contributed by Nikolay Bogoychev " "in :issue:`16099`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1025 msgid "warnings" msgstr "" #: ../Doc/whatsnew/3.6.rst:1027 msgid "" "A new optional *source* parameter has been added to the :func:`warnings." "warn_explicit` function: the destroyed object which emitted a :exc:" "`ResourceWarning`. A *source* attribute has also been added to :class:" "`warnings.WarningMessage` (contributed by Victor Stinner in :issue:`26568` " "and :issue:`26567`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1033 msgid "" "When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` is " "now used to try to retrieve the traceback where the detroyed object was " "allocated." msgstr "" #: ../Doc/whatsnew/3.6.rst:1036 msgid "Example with the script ``example.py``::" msgstr "" #: ../Doc/whatsnew/3.6.rst:1046 msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" msgstr "" #: ../Doc/whatsnew/3.6.rst:1056 msgid "" "The \"Object allocated at\" traceback is new and only displayed if :mod:" "`tracemalloc` is tracing Python memory allocations and if the :mod:" "`warnings` was already imported." msgstr "" #: ../Doc/whatsnew/3.6.rst:1062 msgid "winreg" msgstr "" #: ../Doc/whatsnew/3.6.rst:1064 msgid "" "Added the 64-bit integer type :data:`REG_QWORD `. " "(Contributed by Clement Rouault in :issue:`23026`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1069 msgid "winsound" msgstr "" #: ../Doc/whatsnew/3.6.rst:1071 msgid "" "Allowed keyword arguments to be passed to :func:`Beep `, :" "func:`MessageBeep `, and :func:`PlaySound ` (:issue:`27982`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1077 msgid "xmlrpc.client" msgstr "" #: ../Doc/whatsnew/3.6.rst:1079 msgid "" "The module now supports unmarshalling additional data types used by Apache " "XML-RPC implementation for numerics and ``None``. (Contributed by Serhiy " "Storchaka in :issue:`26885`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1085 msgid "zipfile" msgstr "zipfile" #: ../Doc/whatsnew/3.6.rst:1087 msgid "" "A new :meth:`ZipInfo.from_file() ` class method " "allows making a :class:`~zipfile.ZipInfo` instance from a filesystem file. A " "new :meth:`ZipInfo.is_dir() ` method can be used to " "check if the :class:`~zipfile.ZipInfo` instance represents a directory. " "(Contributed by Thomas Kluyver in :issue:`26039`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1093 msgid "" "The :meth:`ZipFile.open() ` method can now be used to " "write data into a ZIP file, as well as for extracting data. (Contributed by " "Thomas Kluyver in :issue:`26039`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1099 msgid "zlib" msgstr "zlib" #: ../Doc/whatsnew/3.6.rst:1101 msgid "" "The :func:`~zlib.compress` function now accepts keyword arguments. " "(Contributed by Aviv Palivoda in :issue:`26243`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1106 msgid "fileinput" msgstr "" #: ../Doc/whatsnew/3.6.rst:1108 msgid "" ":func:`~fileinput.hook_encoded` now supports the *errors* argument. " "(Contributed by Joseph Hackman in :issue:`25788`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1113 msgid "Optimizations" msgstr "" #: ../Doc/whatsnew/3.6.rst:1115 msgid "" "The ASCII decoder is now up to 60 times as fast for error handlers " "``surrogateescape``, ``ignore`` and ``replace`` (Contributed by Victor " "Stinner in :issue:`24870`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1119 msgid "" "The ASCII and the Latin1 encoders are now up to 3 times as fast for the " "error handler ``surrogateescape`` (Contributed by Victor Stinner in :issue:" "`25227`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1122 msgid "" "The UTF-8 encoder is now up to 75 times as fast for error handlers " "``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass`` (Contributed " "by Victor Stinner in :issue:`25267`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1126 msgid "" "The UTF-8 decoder is now up to 15 times as fast for error handlers " "``ignore``, ``replace`` and ``surrogateescape`` (Contributed by Victor " "Stinner in :issue:`25301`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1130 msgid "" "``bytes % args`` is now up to 2 times faster. (Contributed by Victor Stinner " "in :issue:`25349`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1133 msgid "" "``bytearray % args`` is now between 2.5 and 5 times faster. (Contributed by " "Victor Stinner in :issue:`25399`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1136 msgid "" "Optimize :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: they are now " "between 2x and 3.5x faster. (Contributed by Victor Stinner in :issue:" "`25401`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1139 msgid "" "Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``: " "up to 80% faster. (Contributed by Josh Snider in :issue:`26574`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1142 msgid "" "Allocator functions of the :c:func:`PyMem_Malloc` domain (:c:data:" "`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator ` " "instead of :c:func:`malloc` function of the C library. The pymalloc " "allocator is optimized for objects smaller or equal to 512 bytes with a " "short lifetime, and use :c:func:`malloc` for larger memory blocks. " "(Contributed by Victor Stinner in :issue:`26249`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1149 msgid "" ":func:`pickle.load` and :func:`pickle.loads` are now up to 10% faster when " "deserializing many small objects (Contributed by Victor Stinner in :issue:" "`27056`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1153 msgid "" "Passing :term:`keyword arguments ` to a function has an " "overhead in comparison with passing :term:`positional arguments `. Now in extension functions implemented with using Argument " "Clinic this overhead is significantly decreased. (Contributed by Serhiy " "Storchaka in :issue:`27574`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1159 msgid "" "Optimized :func:`~glob.glob` and :func:`~glob.iglob` functions in the :mod:" "`glob` module; they are now about 3--6 times faster. (Contributed by Serhiy " "Storchaka in :issue:`25596`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1163 msgid "" "Optimized globbing in :mod:`pathlib` by using :func:`os.scandir`; it is now " "about 1.5--4 times faster. (Contributed by Serhiy Storchaka in :issue:" "`26032`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1168 msgid "Build and C API Changes" msgstr "" #: ../Doc/whatsnew/3.6.rst:1170 msgid "" "Python now requires some C99 support in the toolchain to build. For more " "information, see :pep:`7`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1173 msgid "" "Cross-compiling CPython with the Android NDK and the Android API level set " "to 21 (Android 5.0 Lollilop) or greater, runs successfully. While Android is " "not yet a supported platform, the Python test suite runs on the Android " "emulator with only about 16 tests failures. See the Android meta-issue :" "issue:`26865`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1178 msgid "" "The ``--with-optimizations`` configure flag has been added. Turning it on " "will activate LTO and PGO build support (when available). (Original patch by " "Alecsandru Patrascu of Intel in :issue:`26539`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1182 msgid "" "New :c:func:`Py_FinalizeEx` API which indicates if flushing buffered data " "failed (:issue:`5319`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1185 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` now supports :ref:`positional-only " "parameters `. Positional-only parameters are " "defined by empty names. (Contributed by Serhiy Storchaka in :issue:`26282`)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1190 msgid "" "``PyTraceback_Print`` method now abbreviates long sequences of repeated " "lines as ``\"[Previous line repeated {count} more times]\"``. (Contributed " "by Emanuel Barry in :issue:`26823`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1196 msgid "Deprecated" msgstr "" #: ../Doc/whatsnew/3.6.rst:1199 msgid "Deprecated Build Options" msgstr "" #: ../Doc/whatsnew/3.6.rst:1201 msgid "" "The ``--with-system-ffi`` configure flag is now on by default on non-OSX " "UNIX platforms. It may be disabled by using ``--without-system-ffi``, but " "using the flag is deprecated and will not be accepted in Python 3.7. OSX is " "unaffected by this change. Note that many OS distributors already use the " "``--with-system-ffi`` flag when building their system Python." msgstr "" #: ../Doc/whatsnew/3.6.rst:1209 msgid "New Keywords" msgstr "Nouveaux mot-clefs" #: ../Doc/whatsnew/3.6.rst:1211 msgid "" "``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." msgstr "" #: ../Doc/whatsnew/3.6.rst:1217 msgid "Deprecated Python modules, functions and methods" msgstr "" #: ../Doc/whatsnew/3.6.rst:1219 msgid "" ":meth:`importlib.machinery.SourceFileLoader.load_module` and :meth:" "`importlib.machinery.SourcelessFileLoader.load_module` are now deprecated. " "They were the only remaining implementations of :meth:`importlib.abc.Loader." "load_module` in :mod:`importlib` that had not been deprecated in previous " "versions of Python in favour of :meth:`importlib.abc.Loader.exec_module`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1226 msgid "" "The :mod:`tkinter.tix` module is now deprecated. :mod:`tkinter` users " "should use :mod:`tkinter.ttk` instead." msgstr "" #: ../Doc/whatsnew/3.6.rst:1231 msgid "Deprecated functions and types of the C API" msgstr "" #: ../Doc/whatsnew/3.6.rst:1237 msgid "Deprecated features" msgstr "Fonctionnalités dépréciées" #: ../Doc/whatsnew/3.6.rst:1239 msgid "" "The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " "This prevents confusion as to what Python interpreter ``pyvenv`` is " "connected to and thus what Python interpreter will be used by the virtual " "environment. (Contributed by Brett Cannon in :issue:`25154`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1244 msgid "" "When performing a relative import, falling back on ``__name__`` and " "``__path__`` from the calling module when ``__spec__`` or ``__package__`` " "are not defined now raises an :exc:`ImportWarning`. (Contributed by Rose " "Ames in :issue:`25791`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1249 msgid "" "Unlike to other :mod:`dbm` implementations, the :mod:`dbm.dumb` module " "creates database in ``'r'`` and ``'w'`` modes if it doesn't exist and allows " "modifying database in ``'r'`` mode. This behavior is now deprecated and " "will be removed in 3.8. (Contributed by Serhiy Storchaka in :issue:`21708`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1255 msgid "" "Undocumented support of general :term:`bytes-like objects ` as paths in :mod:`os` functions, :func:`compile` and similar " "functions is now deprecated. (Contributed by Serhiy Storchaka in :issue:" "`25791` and :issue:`26754`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1260 msgid "" "The undocumented ``extra_path`` argument to a distutils Distribution is now " "considered deprecated, will raise a warning during install if set. Support " "for this parameter will be dropped in a future Python release and likely " "earlier through third party tools. See :issue:`27919` for details." msgstr "" #: ../Doc/whatsnew/3.6.rst:1266 msgid "" "A backslash-character pair that is not a valid escape sequence now generates " "a DeprecationWarning. Although this will eventually become a SyntaxError, " "that will not be for several Python releases. (Contributed by Emanuel Barry " "in :issue:`27364`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1271 msgid "" "Inline flags ``(?letters)`` now should be used only at the start of the " "regular expression. Inline flags in the middle of the regular expression " "affects global flags in Python :mod:`re` module. This is an exception to " "other regular expression engines that either apply flags to only part of the " "regular expression or treat them as an error. To avoid distinguishing " "inline flags in the middle of the regular expression now emit a deprecation " "warning. It will be an error in future Python releases. (Contributed by " "Serhiy Storchaka in :issue:`22493`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1280 msgid "" "SSL-related arguments like ``certfile``, ``keyfile`` and ``check_hostname`` " "in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, and :" "mod:`smtplib` have been deprecated in favor of ``context``. (Contributed by " "Christian Heimes in :issue:`28022`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1285 msgid "" "A couple of protocols and functions of the :mod:`ssl` module are now " "deprecated. Some features will no longer be available in future versions of " "OpenSSL. Other features are deprecated in favor of a different API. " "(Contributed by Christian Heimes in :issue:`28022` and :issue:`26470`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1292 msgid "Deprecated Python behavior" msgstr "" #: ../Doc/whatsnew/3.6.rst:1294 msgid "" "Raising the :exc:`StopIteration` exception inside a generator will now " "generate a :exc:`DeprecationWarning`, and will trigger a :exc:`RuntimeError` " "in Python 3.7. See :ref:`whatsnew-pep-479` for details." msgstr "" #: ../Doc/whatsnew/3.6.rst:1300 msgid "Removed" msgstr "" #: ../Doc/whatsnew/3.6.rst:1303 msgid "API and Feature Removals" msgstr "" #: ../Doc/whatsnew/3.6.rst:1305 msgid "" "``inspect.getmoduleinfo()`` was removed (was deprecated since CPython 3.3). :" "func:`inspect.getmodulename` should be used for obtaining the module name " "for a given path." msgstr "" #: ../Doc/whatsnew/3.6.rst:1309 msgid "" "``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " "``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." "find_lines``, ``traceback.find_strings``, ``traceback." "find_executable_lines`` methods were removed from the :mod:`traceback` " "module. They were undocumented methods deprecated since Python 3.2 and " "equivalent functionality is available from private methods." msgstr "" #: ../Doc/whatsnew/3.6.rst:1316 msgid "" "The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods in :mod:" "`tkinter` widget classes were removed (corresponding Tk commands were " "obsolete since Tk 4.0)." msgstr "" #: ../Doc/whatsnew/3.6.rst:1320 msgid "" "The :meth:`~zipfile.ZipFile.open` method of the :class:`zipfile.ZipFile` " "class no longer supports the ``'U'`` mode (was deprecated since Python 3.4). " "Use :class:`io.TextIOWrapper` for reading compressed text files in :term:" "`universal newlines` mode." msgstr "" #: ../Doc/whatsnew/3.6.rst:1325 msgid "" "The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " "``STROPTS`` modules have been removed. They had been available in the " "platform specific ``Lib/plat-*/`` directories, but were chronically out of " "date, inconsistently available across platforms, and unmaintained. The " "script that created these modules is still available in the source " "distribution at :source:`Tools/scripts/h2py.py`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1334 msgid "Porting to Python 3.6" msgstr "" #: ../Doc/whatsnew/3.6.rst:1336 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" #: ../Doc/whatsnew/3.6.rst:1340 msgid "Changes in 'python' Command Behavior" msgstr "" #: ../Doc/whatsnew/3.6.rst:1342 msgid "" "The output of a special Python build with defined ``COUNT_ALLOCS``, " "``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " "It can be re-enabled using the ``-X showalloccount`` option. It now outputs " "to ``stderr`` instead of ``stdout``. (Contributed by Serhiy Storchaka in :" "issue:`23034`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1350 msgid "Changes in the Python API" msgstr "" #: ../Doc/whatsnew/3.6.rst:1352 msgid "" ":mod:`sqlite3` no longer implicitly commit an open transaction before DDL " "statements." msgstr "" #: ../Doc/whatsnew/3.6.rst:1355 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security." msgstr "" #: ../Doc/whatsnew/3.6.rst:1358 msgid "" "When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." "abc.Loader.create_module` must also be defined." msgstr "" #: ../Doc/whatsnew/3.6.rst:1361 msgid "" ":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " "argument is not set. Previously only ``NULL`` was returned." msgstr "" #: ../Doc/whatsnew/3.6.rst:1364 msgid "" "The format of the ``co_lnotab`` attribute of code objects changed to support " "negative line number delta. By default, Python does not emit bytecode with " "negative line number delta. Functions using ``frame.f_lineno``, " "``PyFrame_GetLineNumber()`` or ``PyCode_Addr2Line()`` are not affected. " "Functions decoding directly ``co_lnotab`` should be updated to use a signed " "8-bit integer type for the line number delta, but it's only required to " "support applications using negative line number delta. See ``Objects/" "lnotab_notes.txt`` for the ``co_lnotab`` format and how to decode it, and " "see the :pep:`511` for the rationale." msgstr "" #: ../Doc/whatsnew/3.6.rst:1374 msgid "" "The functions in the :mod:`compileall` module now return booleans instead of " "``1`` or ``0`` to represent success or failure, respectively. Thanks to " "booleans being a subclass of integers, this should only be an issue if you " "were doing identity checks for ``1`` or ``0``. See :issue:`25768`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1379 msgid "" "Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" "`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " "raises :exc:`ValueError` for out-of-range values, rather than returning :" "const:`None`. See :issue:`20059`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1384 msgid "" "The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" "`PendingDeprecationWarning`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1387 msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " "attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" "`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, :mod:" "`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, :mod:" "`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:`subprocess`, :mod:" "`tarfile`, :mod:`threading` and :mod:`wave`. This means they will export " "new symbols when ``import *`` is used. See :issue:`23883`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1397 msgid "" "When performing a relative import, if ``__package__`` does not compare equal " "to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by " "Brett Cannon in :issue:`25791`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1401 msgid "" "When a relative import is performed and no parent package is known, then :" "exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " "raised. (Contributed by Brett Cannon in :issue:`18018`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1405 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " "now only catch exceptions derived from :exc:`Exception`. Therefore if a " "request handler raises an exception like :exc:`SystemExit` or :exc:" "`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` is no " "longer called, and the exception will stop a single-threaded server. " "(Contributed by Martin Panter in :issue:`23430`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1414 msgid "" ":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" "`KeyError` if the user doesn't have privileges." msgstr "" #: ../Doc/whatsnew/3.6.rst:1417 msgid "" "The :meth:`socket.socket.close` method now raises an exception if an error " "(e.g. EBADF) was reported by the underlying system call. See :issue:`26685`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1421 msgid "" "The *decode_data* argument for :class:`smtpd.SMTPChannel` and :class:`smtpd." "SMTPServer` constructors is now ``False`` by default. This means that the " "argument passed to :meth:`~smtpd.SMTPServer.process_message` is now a bytes " "object by default, and ``process_message()`` will be passed keyword " "arguments. Code that has already been updated in accordance with the " "deprecation warning generated by 3.5 will not be affected." msgstr "" #: ../Doc/whatsnew/3.6.rst:1429 msgid "" "All optional parameters of the :func:`~json.dump`, :func:`~json.dumps`, :" "func:`~json.load` and :func:`~json.loads` functions and :class:`~json." "JSONEncoder` and :class:`~json.JSONDecoder` class constructors in the :mod:" "`json` module are now :ref:`keyword-only `. " "(Contributed by Serhiy Storchaka in :issue:`18726`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1436 msgid "" "As part of :pep:`487`, the handling of keyword arguments passed to :class:" "`type` (other than the metaclass hint, ``metaclass``) is now consistently " "delegated to :meth:`object.__init_subclass__`. This means that :meth:`type." "__new__` and :meth:`type.__init__` both now accept arbitrary keyword " "arguments, but :meth:`object.__init_subclass__` (which is called from :meth:" "`type.__new__`) will reject them by default. Custom metaclasses accepting " "additional keyword arguments will need to adjust their calls to :meth:`type." "__new__` (whether direct or via :class:`super`) accordingly." msgstr "" #: ../Doc/whatsnew/3.6.rst:1445 msgid "" "In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " "has been removed and is no longer honored. Instead, the gzipped tarfile " "format is the default on all platforms and no platform-specific selection is " "made. In environments where distributions are built on Windows and zip " "distributions are required, configure the project with a ``setup.cfg`` file " "containing the following::" msgstr "" #: ../Doc/whatsnew/3.6.rst:1456 msgid "" "This behavior has also been backported to earlier Python versions by " "Setuptools 26.0.0." msgstr "" #: ../Doc/whatsnew/3.6.rst:1459 msgid "" "In the :mod:`urllib.request` module and the :meth:`http.client." "HTTPConnection.request` method, if no Content-Length header field has been " "specified and the request body is a file object, it is now sent with HTTP " "1.1 chunked encoding. If a file object has to be sent to a HTTP 1.0 server, " "the Content-Length value now has to be specified by the caller. See :issue:" "`12319`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1467 msgid "Changes in the C API" msgstr "" #: ../Doc/whatsnew/3.6.rst:1469 msgid "" ":c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " "allocator ` rather than system :c:func:`malloc`. Applications " "calling :c:func:`PyMem_Malloc` without holding the GIL can now crash. Set " "the :envvar:`PYTHONMALLOC` environment variable to ``debug`` to validate the " "usage of memory allocators in your application. See :issue:`26249`." msgstr "" #: ../Doc/whatsnew/3.6.rst:1475 msgid "" ":c:func:`Py_Exit` (and the main interpreter) now override the exit status " "with 120 if flushing buffered data failed. See :issue:`5319`." msgstr ""