Back to Cpython

3.9.0a6

Misc/NEWS.d/3.9.0a6.rst

3.15.0a825.3 KB
Original Source

.. bpo: 40121 .. date: 2020-03-30-23-16-25 .. nonce: p2LIio .. release date: 2020-04-27 .. section: Security

Fixes audit events raised on creating a new socket.

..

.. bpo: 39073 .. date: 2020-03-15-01-28-36 .. nonce: 6Szd3i .. section: Security

Disallow CR or LF in email.headerregistry.Address arguments to guard against header injection attacks.

..

.. bpo: 39503 .. date: 2020-01-30-16-15-29 .. nonce: B299Yq .. section: Security

:cve:2020-8492: The :class:~urllib.request.AbstractBasicAuthHandler class of the :mod:urllib.request module uses an inefficient regular expression which can be exploited by an attacker to cause a denial of service. Fix the regex to prevent the catastrophic backtracking. Vulnerability reported by Ben Caller and Matt Schwager.

..

.. bpo: 40313 .. date: 2020-04-20-23-58-35 .. nonce: USVRW8 .. section: Core and Builtins

Improve the performance of bytes.hex().

..

.. bpo: 40334 .. date: 2020-04-20-14-06-19 .. nonce: CTLGEp .. section: Core and Builtins

Switch to a new parser, based on PEG. For more details see PEP 617. To temporarily switch back to the old parser, use -X oldparser or PYTHONOLDPARSER=1. In Python 3.10 we will remove the old parser completely, including the parser module (already deprecated) and anything that depends on it.

..

.. bpo: 40267 .. date: 2020-04-14-18-54-50 .. nonce: Q2N6Bw .. section: Core and Builtins

Fix the tokenizer to display the correct error message, when there is a SyntaxError on the last input character and no newline follows. It used to be unexpected EOF while parsing, while it should be invalid syntax.

..

.. bpo: 39522 .. date: 2020-04-14-18-47-00 .. nonce: uVeIV_ .. section: Core and Builtins

Correctly unparse explicit u prefix for strings when postponed evaluation for annotations activated. Patch by Batuhan Taskaya.

..

.. bpo: 40246 .. date: 2020-04-11-17-52-03 .. nonce: vXPze5 .. section: Core and Builtins

Report a specialized error message, invalid string prefix, when the tokenizer encounters a string with an invalid prefix.

..

.. bpo: 40082 .. date: 2020-04-08-22-33-24 .. nonce: WI3-lu .. section: Core and Builtins

Fix the signal handler: it now always uses the main interpreter, rather than trying to get the current Python thread state.

..

.. bpo: 37388 .. date: 2020-04-07-15-44-29 .. nonce: stlxBq .. section: Core and Builtins

str.encode() and str.decode() no longer check the encoding and errors in development mode or in debug mode during Python finalization. The codecs machinery can no longer work on very late calls to str.encode() and str.decode().

..

.. bpo: 40077 .. date: 2020-04-04-12-43-19 .. nonce: m15TTX .. section: Core and Builtins

Fix possible refleaks in :mod:!_json, memo of PyScannerObject should be traversed.

..

.. bpo: 37207 .. date: 2020-04-02-00-25-19 .. nonce: ZTPmKJ .. section: Core and Builtins

Speed up calls to dict() by using the :pep:590 vectorcall calling convention.

..

.. bpo: 40141 .. date: 2020-04-01-21-50-37 .. nonce: 8fCRVj .. section: Core and Builtins

Add column and line information to ast.keyword nodes. Patch by Pablo Galindo.

..

.. bpo: 1635741 .. date: 2020-04-01-00-08-18 .. nonce: bhGWam .. section: Core and Builtins

Port :mod:resource to multiphase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-03-31-22-15-04 .. nonce: 8Ir1a0 .. section: Core and Builtins

Port :mod:math to multiphase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-03-31-21-12-27 .. nonce: S2nkF3 .. section: Core and Builtins

Port _uuid module to multiphase initialization (:pep:489).

..

.. bpo: 40077 .. date: 2020-03-27-01-11-08 .. nonce: wT002V .. section: Core and Builtins

Convert json module to use :c:func:PyType_FromSpec.

..

.. bpo: 40067 .. date: 2020-03-25-20-34-01 .. nonce: 0bFda2 .. section: Core and Builtins

Improve the error message for multiple star expressions in an assignment. Patch by Furkan Onder

..

.. bpo: 1635741 .. date: 2020-03-24-22-26-26 .. nonce: AB38ot .. section: Core and Builtins

Port _functools module to multiphase initialization (PEP 489). Patch by Paulo Henrique Silva.

..

.. bpo: 1635741 .. date: 2020-03-24-22-17-12 .. nonce: jWaMRV .. section: Core and Builtins

Port operator module to multiphase initialization (PEP 489). Patch by Paulo Henrique Silva.

..

.. bpo: 20526 .. date: 2020-03-23-18-08-34 .. nonce: NHNZIv .. section: Core and Builtins

Fix :c:func:PyThreadState_Clear(). PyThreadState.frame is a borrowed reference, not a strong reference: PyThreadState_Clear() must not call Py_CLEAR(tstate->frame).

..

.. bpo: 1635741 .. date: 2020-03-22-01-01-41 .. nonce: gR7Igp .. section: Core and Builtins

Port time module to multiphase initialization (:pep:489). Patch by Paulo Henrique Silva.

..

.. bpo: 1635741 .. date: 2020-03-20-13-42-35 .. nonce: bhIu5M .. section: Core and Builtins

Port _weakref extension module to multiphase initialization (:pep:489).

..

.. bpo: 40020 .. date: 2020-03-19-21-53-41 .. nonce: n-26G7 .. section: Core and Builtins

Fix a leak and subsequent crash in parsetok.c caused by realloc misuse on a rare codepath.

..

.. bpo: 39939 .. date: 2020-03-11-19-17-36 .. nonce: NwCnAM .. section: Core and Builtins

Added str.removeprefix and str.removesuffix methods and corresponding bytes, bytearray, and collections.UserString methods to remove affixes from a string if present. See :pep:616 for a full description. Patch by Dennis Sweeney.

..

.. bpo: 39481 .. date: 2020-01-28-17-19-18 .. nonce: rqSeGl .. section: Core and Builtins

Implement PEP 585. This supports list[int], tuple[str, ...] etc.

..

.. bpo: 32894 .. date: 2019-12-01-21-36-49 .. nonce: 5g_UQr .. section: Core and Builtins

Support unparsing of infinity numbers in postponed annotations. Patch by Batuhan Taşkaya.

..

.. bpo: 37207 .. date: 2019-06-09-10-54-31 .. nonce: bLjgLS .. section: Core and Builtins

Speed up calls to list() by using the :pep:590 vectorcall calling convention. Patch by Mark Shannon.

..

.. bpo: 40398 .. date: 2020-04-26-22-25-36 .. nonce: OdXnR3 .. section: Library

:func:typing.get_args now always returns an empty tuple for special generic aliases.

..

.. bpo: 40396 .. date: 2020-04-26-19-07-40 .. nonce: Fn-is1 .. section: Library

Functions :func:typing.get_origin, :func:typing.get_args and :func:typing.get_type_hints support now generic aliases like list[int].

..

.. bpo: 38061 .. date: 2020-04-24-01-55-00 .. nonce: XmULB3 .. section: Library

Optimize the :mod:subprocess module on FreeBSD using closefrom(). A single close(fd) syscall is cheap, but when sysconf(_SC_OPEN_MAX) is high, the loop calling close(fd) on each file descriptor can take several milliseconds.

The workaround on FreeBSD to improve performance was to load and mount the fdescfs kernel module, but this is not enabled by default.

Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans) and Kubilay Kocak (koobs): https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274

..

.. bpo: 38061 .. date: 2020-04-24-01-27-08 .. nonce: cdlkMz .. section: Library

On FreeBSD, os.closerange(fd_low, fd_high) now calls closefrom(fd_low) if fd_high is greater than or equal to sysconf(_SC_OPEN_MAX).

Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans) and Kubilay Kocak (koobs): https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274

..

.. bpo: 40360 .. date: 2020-04-22-20-55-17 .. nonce: Er8sv- .. section: Library

The :mod:!lib2to3 module is pending deprecation due to :pep:617.

..

.. bpo: 40138 .. date: 2020-04-22-00-05-10 .. nonce: i_oGqa .. section: Library

Fix the Windows implementation of :func:os.waitpid for exit code larger than INT_MAX >> 8. The exit status is now interpreted as an unsigned number.

..

.. bpo: 39942 .. date: 2020-04-20-20-16-02 .. nonce: NvGnTc .. section: Library

Set "main" as the default module name when "name" is missing in :class:typing.TypeVar. Patch by Weipeng Hong.

..

.. bpo: 40275 .. date: 2020-04-20-19-06-55 .. nonce: 9UcN2g .. section: Library

The :mod:logging package is now imported lazily in :mod:unittest only when the :meth:~unittest.TestCase.assertLogs assertion is used.

..

.. bpo: 40275 .. date: 2020-04-20-18-50-25 .. nonce: Ofk6J8 .. section: Library

The :mod:asyncio package is now imported lazily in :mod:unittest only when the :class:~unittest.IsolatedAsyncioTestCase class is used.

..

.. bpo: 40330 .. date: 2020-04-19-17-31-29 .. nonce: DGjoIS .. section: Library

In :meth:ShareableList.__setitem__, check the size of a new string item after encoding it to utf-8, not before.

..

.. bpo: 40148 .. date: 2020-04-19-14-16-43 .. nonce: pDZR6V .. section: Library

Added :meth:pathlib.Path.with_stem to create a new Path with the stem replaced.

..

.. bpo: 40325 .. date: 2020-04-18-19-40-00 .. nonce: KWSvix .. section: Library

Deprecated support for set objects in random.sample().

..

.. bpo: 40257 .. date: 2020-04-18-10-52-15 .. nonce: lv4WTq .. section: Library

Improved help for the :mod:typing module. Docstrings are now shown for all special forms and special generic aliases (like Union and List). Using help() with generic alias like List[int] will show the help for the correspondent concrete type (list in this case).

..

.. bpo: 40257 .. date: 2020-04-15-19-34-11 .. nonce: ux8FUr .. section: Library

:func:inspect.getdoc no longer returns docstring inherited from the type of the object or from parent class if it is a class if it is not defined in the object itself. In :mod:pydoc the documentation string is now shown not only for class, function, method etc, but for any object that has its own __doc__ attribute.

..

.. bpo: 40287 .. date: 2020-04-15-17-21-48 .. nonce: -mkEJH .. section: Library

Fixed SpooledTemporaryFile.seek() to return the position.

..

.. bpo: 40290 .. date: 2020-04-15-16-43-48 .. nonce: eqCMGJ .. section: Library

Added zscore() to statistics.NormalDist().

..

.. bpo: 40282 .. date: 2020-04-15-10-23-52 .. nonce: rIYJmu .. section: Library

Allow random.getrandbits(0) to succeed and to return 0.

..

.. bpo: 40286 .. date: 2020-04-15-00-39-25 .. nonce: ai80FA .. section: Library

Add :func:random.randbytes function and :meth:random.Random.randbytes method to generate random bytes.

..

.. bpo: 40277 .. date: 2020-04-14-21-53-18 .. nonce: NknSaf .. section: Library

:func:collections.namedtuple now provides a human-readable repr for its field accessors.

..

.. bpo: 40270 .. date: 2020-04-14-16-18-49 .. nonce: XVJzeG .. section: Library

The included copy of sqlite3 on Windows is now compiled with the json extension. This allows the use of functions such as json_object.

..

.. bpo: 29255 .. date: 2020-04-14-11-31-07 .. nonce: 4EcyIN .. section: Library

Wait in KqueueSelector.select when no fds are registered

..

.. bpo: 40260 .. date: 2020-04-12-21-18-56 .. nonce: F6VWaE .. section: Library

Ensure :mod:modulefinder uses :func:io.open_code and respects coding comments.

..

.. bpo: 40234 .. date: 2020-04-10-16-13-47 .. nonce: tar4d_ .. section: Library

Allow again to spawn daemon threads in subinterpreters (revert change which denied them).

..

.. bpo: 39207 .. date: 2020-04-10-01-24-58 .. nonce: 2dE5Ox .. section: Library

Workers in :class:~concurrent.futures.ProcessPoolExecutor are now spawned on demand, only when there are no available idle workers to reuse. This optimizes startup overhead and reduces the amount of lost CPU time to idle workers. Patch by Kyle Stanley.

..

.. bpo: 40091 .. date: 2020-04-07-23-26-25 .. nonce: 5M9AW5 .. section: Library

Fix a hang at fork in the logging module: the new private _at_fork_reinit() method is now used to reinitialize locks at fork in the child process.

..

.. bpo: 40149 .. date: 2020-04-07-18-06-38 .. nonce: mMU2iu .. section: Library

Implement traverse and clear slots in _abc._abc_data type.

..

.. bpo: 40208 .. date: 2020-04-06-20-09-33 .. nonce: 3rO_q7 .. section: Library

Remove deprecated :meth:!symtable.SymbolTable.has_exec.

..

.. bpo: 40196 .. date: 2020-04-06-11-05-13 .. nonce: Jqowse .. section: Library

Fix a bug in the :mod:symtable module that was causing incorrectly report global variables as local. Patch by Pablo Galindo.

..

.. bpo: 40190 .. date: 2020-04-05-02-58-17 .. nonce: HF3OWo .. section: Library

Add support for _SC_AIX_REALMEM to :func:posix.sysconf.

..

.. bpo: 40182 .. date: 2020-04-04-23-44-09 .. nonce: Bf_kFN .. section: Library

Removed the _field_types attribute of the :class:typing.NamedTuple class.

..

.. bpo: 36517 .. date: 2020-04-04-17-49-39 .. nonce: Ilj1IJ .. section: Library

Multiple inheritance with :class:typing.NamedTuple now raises an error instead of silently ignoring other types.

..

.. bpo: 40126 .. date: 2020-04-04-00-47-40 .. nonce: Y-bTNP .. section: Library

Fixed reverting multiple patches in unittest.mock. Patcher's __exit__() is now never called if its __enter__() is failed. Returning true from __exit__() silences now the exception.

..

.. bpo: 40094 .. date: 2020-04-02-01-13-28 .. nonce: AeZ34K .. section: Library

CGIHTTPRequestHandler of http.server now logs the CGI script exit code, rather than the CGI script exit status of os.waitpid(). For example, if the script is killed by signal 11, it now logs: "CGI script exit code -11."

..

.. bpo: 40108 .. date: 2020-03-31-01-11-20 .. nonce: EGDVQ_ .. section: Library

Improve the error message when triying to import a module using :mod:runpy and incorrectly using the ".py" extension at the end of the module name. Patch by Pablo Galindo.

..

.. bpo: 40094 .. date: 2020-03-28-18-25-49 .. nonce: v-wQIU .. section: Library

Add :func:os.waitstatus_to_exitcode function: convert a wait status to an exit code.

..

.. bpo: 40089 .. date: 2020-03-27-17-22-34 .. nonce: -lFsD0 .. section: Library

Fix threading._after_fork(): if fork was not called by a thread spawned by threading.Thread, threading._after_fork() now creates a _MainThread instance for _main_thread, instead of a _DummyThread instance.

..

.. bpo: 40089 .. date: 2020-03-27-16-54-29 .. nonce: VTq_8s .. section: Library

Add a private _at_fork_reinit() method to :class:!_thread.Lock, :class:!_thread.RLock, :class:threading.RLock and :class:threading.Condition classes: reinitialize the lock at fork in the child process, reset the lock to the unlocked state. Rename also the private _reset_internal_locks() method of :class:threading.Event to _at_fork_reinit().

..

.. bpo: 25780 .. date: 2020-03-27-08-57-46 .. nonce: kIjVge .. section: Library

Expose :const:~socket.CAN_RAW_JOIN_FILTERS in the :mod:socket module.

..

.. bpo: 39503 .. date: 2020-03-25-16-02-16 .. nonce: YmMbYn .. section: Library

:class:~urllib.request.AbstractBasicAuthHandler of :mod:urllib.request now parses all WWW-Authenticate HTTP headers and accepts multiple challenges per header: use the realm of the first Basic challenge.

..

.. bpo: 39812 .. date: 2020-03-25-00-35-48 .. nonce: rIKnms .. section: Library

Removed daemon threads from :mod:concurrent.futures by adding an internal threading._register_atexit(), which calls registered functions prior to joining all non-daemon threads. This allows for compatibility with subinterpreters, which don't support daemon threads.

..

.. bpo: 40050 .. date: 2020-03-24-16-17-20 .. nonce: 6GrOlz .. section: Library

Fix importlib._bootstrap_external: avoid creating a new winreg builtin module if it's already available in :data:sys.modules, and remove redundant imports.

..

.. bpo: 40014 .. date: 2020-03-23-17-52-00 .. nonce: Ya70VG .. section: Library

Fix os.getgrouplist(): if getgrouplist() function fails because the group list is too small, retry with a larger group list. On failure, the glibc implementation of getgrouplist() sets ngroups to the total number of groups. For other implementations, double the group list size.

..

.. bpo: 40017 .. date: 2020-03-21-00-46-18 .. nonce: HFpHZS .. section: Library

Add :const:time.CLOCK_TAI constant if the operating system support it.

..

.. bpo: 40016 .. date: 2020-03-19-19-40-27 .. nonce: JWtxqJ .. section: Library

In re docstring, clarify the relationship between inline and argument compile flags.

..

.. bpo: 39953 .. date: 2020-03-19-16-33-03 .. nonce: yy5lC_ .. section: Library

Update internal table of OpenSSL error codes in the ssl module.

..

.. bpo: 36144 .. date: 2020-03-18-14-51-41 .. nonce: lQm_RK .. section: Library

Added :pep:584 operators to :class:weakref.WeakValueDictionary.

..

.. bpo: 36144 .. date: 2020-03-18-14-02-58 .. nonce: ooyn6Z .. section: Library

Added :pep:584 operators to :class:weakref.WeakKeyDictionary.

..

.. bpo: 38891 .. date: 2020-03-15-08-06-05 .. nonce: 56Yokh .. section: Library

Fix linear runtime behaviour of the __getitem__ and __setitem__ methods in :class:multiprocessing.shared_memory.ShareableList. This avoids quadratic performance when iterating a ShareableList. Patch by Thomas Krennwallner.

..

.. bpo: 39682 .. date: 2020-03-08-11-00-01 .. nonce: AxXZNz .. section: Library

Remove undocumented support for closing a pathlib.Path object via its context manager. The context manager magic methods remain, but they are now a no-op, making Path objects immutable.

..

.. bpo: 36144 .. date: 2020-03-07-11-26-08 .. nonce: FG9jqy .. section: Library

Added :pep:584 operators (| and |=) to :class:collections.ChainMap.

..

.. bpo: 39011 .. date: 2020-02-12-01-48-51 .. nonce: hGve_t .. section: Library

Normalization of line endings in ElementTree attributes was removed, as line endings which were replaced by entity numbers should be preserved in original form.

..

.. bpo: 38410 .. date: 2019-10-09-08-14-25 .. nonce: _YyoMV .. section: Library

Properly handle :func:sys.audit failures in :func:sys.set_asyncgen_hooks.

..

.. bpo: 36541 .. date: 2019-06-18-19-38-27 .. nonce: XI8mi1 .. section: Library

lib2to3 now recognizes named assignment expressions (the walrus operator, :=)

..

.. bpo: 35967 .. date: 2019-04-14-14-11-07 .. nonce: KUMT9E .. section: Library

In platform, delay the invocation of 'uname -p' until the processor attribute is requested.

..

.. bpo: 35113 .. date: 2018-11-03-16-18-20 .. nonce: vwvWKG .. section: Library

:meth:inspect.getsource now returns correct source code for inner class with same name as module level class. Decorators are also returned as part of source of the class. Patch by Karthikeyan Singaravelan.

..

.. bpo: 33262 .. date: 2018-04-17-13-23-29 .. nonce: vHC7YQ .. section: Library

Deprecate passing None as an argument for :func:shlex.split's s parameter. Patch by Zackery Spytz.

..

.. bpo: 31758 .. date: 2017-10-14-21-02-40 .. nonce: 563ZZb .. section: Library

Prevent crashes when using an uninitialized _elementtree.XMLParser object. Patch by Oren Milman.

..

.. bpo: 27635 .. date: 2020-04-01-00-27-03 .. nonce: VwxUty .. section: Documentation

The pickle documentation incorrectly claimed that __new__ isn't called by default when unpickling.

..

.. bpo: 39879 .. date: 2020-03-16-18-12-02 .. nonce: CnQ7Cv .. section: Documentation

Updated :ref:datamodel docs to include :func:dict insertion order preservation. Patch by Furkan Onder and Samy Lahfa.

..

.. bpo: 38387 .. date: 2019-10-06-23-44-15 .. nonce: fZoq0S .. section: Documentation

Document :c:macro:PyDoc_STRVAR macro in the C-API reference.

..

.. bpo: 13743 .. date: 2019-09-25-23-20-55 .. nonce: 5ToLDy .. section: Documentation

Some methods within xml.dom.minidom.Element class are now better documented.

..

.. bpo: 31904 .. date: 2020-04-09-16-29-18 .. nonce: ej348T .. section: Tests

Set expected default encoding in test_c_locale_coercion.py for VxWorks RTOS.

..

.. bpo: 40162 .. date: 2020-04-03-02-40-16 .. nonce: v3pQW_ .. section: Tests

Update Travis CI configuration to OpenSSL 1.1.1f.

..

.. bpo: 40146 .. date: 2020-04-02-02-14-37 .. nonce: J-Yo9G .. section: Tests

Update OpenSSL to 1.1.1f in Azure Pipelines.

..

.. bpo: 40094 .. date: 2020-03-31-18-57-52 .. nonce: m3fTJe .. section: Tests

Add :func:test.support.wait_process function.

..

.. bpo: 40003 .. date: 2020-03-31-16-07-15 .. nonce: SOruLY .. section: Tests

test.bisect_cmd now copies Python command line options like -O or -W. Moreover, emit a warning if test.bisect_cmd is used with -w/--verbose2 option.

..

.. bpo: 39380 .. date: 2020-03-22-20-00-04 .. nonce: ZXlRQU .. section: Tests

Add the encoding in :class:ftplib.FTP and :class:ftplib.FTP_TLS to the constructor as keyword-only and change the default from latin-1 to utf-8 to follow :rfc:2640.

..

.. bpo: 39793 .. date: 2020-02-29-12-58-17 .. nonce: Og2SUN .. section: Tests

Use the same domain when testing make_msgid. Patch by Batuhan Taskaya.

..

.. bpo: 1812 .. date: 2019-11-25-21-46-47 .. nonce: sAbTbY .. section: Tests

Fix newline handling in doctest.testfile when loading from a package whose loader has a get_data method. Patch by Peter Donis.

..

.. bpo: 38360 .. date: 2020-04-22-02-33-54 .. nonce: 74C68u .. section: Build

Support single-argument form of macOS -isysroot flag.

..

.. bpo: 40158 .. date: 2020-04-03-17-54-33 .. nonce: MWUTs4 .. section: Build

Fix CPython MSBuild Properties in NuGet Package (build/native/python.props)

..

.. bpo: 38527 .. date: 2020-03-28-10-43-09 .. nonce: fqCRgD .. section: Build

Fix configure check on Solaris for "float word ordering": sometimes, the correct "grep" command was not being used. Patch by Arnon Yaari.

..

.. bpo: 40164 .. date: 2020-04-04-13-13-44 .. nonce: SPrSn5 .. section: Windows

Updates Windows to OpenSSL 1.1.1f

..

.. bpo: 8901 .. date: 2020-01-24-09-15-41 .. nonce: hVnhGO .. section: Windows

Ignore the Windows registry when the -E option is used.

..

.. bpo: 38329 .. date: 2020-04-22-03-39-22 .. nonce: H0a8JV .. section: macOS

python.org macOS installers now update the Current version symlink of /Library/Frameworks/Python.framework/Versions for 3.9 installs. Previously, Current was only updated for Python 2.x installs. This should make it easier to embed Python 3 into other macOS applications.

..

.. bpo: 40164 .. date: 2020-04-21-19-46-35 .. nonce: 6HA6IC .. section: macOS

Update macOS installer builds to use OpenSSL 1.1.1g.

..

.. bpo: 38439 .. date: 2019-12-05-14-20-53 .. nonce: j_L2PI .. section: IDLE

Add a 256×256 pixel IDLE icon to support more modern environments. Created by Andrew Clover. Delete the unused macOS idle.icns icon file.

..

.. bpo: 38689 .. date: 2019-11-14-12-59-19 .. nonce: Lgfxva .. section: IDLE

IDLE will no longer freeze when inspect.signature fails when fetching a calltip.

..

.. bpo: 40385 .. date: 2020-04-24-21-08-19 .. nonce: nWIQdq .. section: Tools/Demos

Removed the checkpyc.py tool. Please see compileall without force mode as a potential alternative.

..

.. bpo: 40179 .. date: 2020-04-04-19-35-22 .. nonce: u9FH10 .. section: Tools/Demos

Fixed translation of #elif in Argument Clinic.

..

.. bpo: 40094 .. date: 2020-04-02-01-22-21 .. nonce: 1XQQF6 .. section: Tools/Demos

Fix which.py script exit code: it now uses :func:os.waitstatus_to_exitcode to convert :func:os.system exit status into an exit code.

..

.. bpo: 40241 .. date: 2020-04-13-02-56-24 .. nonce: _FOf7E .. section: C API

Move the :c:type:!PyGC_Head structure to the internal C API.

..

.. bpo: 40170 .. date: 2020-04-11-06-12-44 .. nonce: cmM9oK .. section: C API

Convert :c:func:PyObject_IS_GC macro to a function to hide implementation details.

..

.. bpo: 40241 .. date: 2020-04-10-19-43-04 .. nonce: Xm3w-1 .. section: C API

Add the functions :c:func:PyObject_GC_IsTracked and :c:func:PyObject_GC_IsFinalized to the public API to allow to query if Python objects are being currently tracked or have been already finalized by the garbage collector respectively. Patch by Pablo Galindo.

..

.. bpo: 40170 .. date: 2020-04-05-00-37-34 .. nonce: Seuh3D .. section: C API

The :c:func:!PyObject_NEW macro becomes an alias to the :c:func:PyObject_New macro, and the :c:func:!PyObject_NEW_VAR macro becomes an alias to the :c:func:PyObject_NewVar macro, to hide implementation details. They no longer access directly the :c:member:PyTypeObject.tp_basicsize member.

..

.. bpo: 40170 .. date: 2020-04-05-00-21-38 .. nonce: Tx0vy6 .. section: C API

:c:func:PyType_HasFeature now always calls :c:func:PyType_GetFlags to hide implementation details. Previously, it accessed directly the :c:member:PyTypeObject.tp_flags member when the limited C API was not used.

..

.. bpo: 40170 .. date: 2020-04-05-00-10-45 .. nonce: 6nFYbY .. section: C API

Convert the :c:func:!PyObject_GET_WEAKREFS_LISTPTR macro to a function to hide implementation details: the macro accessed directly to the :c:member:PyTypeObject.tp_weaklistoffset member.

..

.. bpo: 40170 .. date: 2020-04-05-00-02-13 .. nonce: IFsGZ- .. section: C API

Convert :c:func:PyObject_CheckBuffer macro to a function to hide implementation details: the macro accessed directly the :c:member:PyTypeObject.tp_as_buffer member.

..

.. bpo: 40170 .. date: 2020-04-04-23-51-59 .. nonce: uXQ701 .. section: C API

Always declare :c:func:PyIndex_Check as an opaque function to hide implementation details: remove PyIndex_Check() macro. The macro accessed directly the :c:member:PyTypeObject.tp_as_number member.

..

.. bpo: 39947 .. date: 2020-03-25-19-44-55 .. nonce: 2OxvPt .. section: C API

Add :c:func:PyThreadState_GetID function: get the unique identifier of a Python thread state.