Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and .NET virtual machines.
Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial products.
Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz.
Fixed a crash in compiling string annotations containing a lambda with a keyword-only argument that doesn’t have a default value.
Fix dict(od) didn’t copy iteration order of OrderedDict.
Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread.
Fixed integer overflow in the digest() and hexdigest() methods for the SHAKE algorithm in the hashlib module.
Enum: fix grandchildren subclassing when parent mixed with concrete data types.
Fixed unittest.TestCase.debug() when used to call test methods with subtests. Patch by Bruno Oliveira.
Fix inspect module polluted sys.modules when parsing __text_signature__ of callable.
Fix self-cancellation in C implementation of asyncio.Task
Use a monotonic clock to compute timeouts in Executor.map() and as_completed(), in order to prevent timeouts from deviating when the system clock is adjusted.
Use socket.CMSG_SPACE() to calculate ancillary data size instead of socket.CMSG_LEN() in multiprocessing.reduction.recvfds() as RFC 3542 requires the use of the former for portable applications.
In QueueHandler, clear exc_text from LogRecord to prevent traceback from being written twice.
Acquire the logging module’s commonly used internal locks while fork()ing to avoid deadlocks in the child process.
Fix a reference issue inside multiprocessing. Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly.
chm document displays non-ASCII characters properly on some MBCS Windows systems.
Fixed test_gdb when Python is compiled with flags -mcet -fcf-protection -O0.
Revert to using the released Tk 8.6.8 with macOS installers instead of the Tk 8.6.x development snapshot used with 3.7.1rc1 and 3.6.7rc1. The snapshot introduced at least one significant regression (bpo-34927).
Ensure that PyObject_Print() always returns -1 on error. Patch by Zackery Spytz.