Python 3.8

Python Software Foundation·Python.Python.3.8

Python is a programming language that lets you work more quickly and integrate your systems more effectively.

winget install --id Python.Python.3.8 --exact --source winget

Latest 3.8.10·May 3, 2021

Release Notes

Security

  • bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland.
  • bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module.
  • bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. Core and Builtins
  • bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations.
  • bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). Library
  • bpo-43993: Update bundled pip to 21.1.1.
  • bpo-43937: Fixed the turtle module working with non-default root window.
  • bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0
  • bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate.
  • bpo-43607: urllib can now convert Windows paths with \?\ prefixes into URL paths.
  • bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version.
  • bpo-42248: [Enum] ensure exceptions raised in missing_ are released
  • bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs.
  • bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0)
  • bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition.
  • bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes.
  • bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window.
  • bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window.
  • bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL.
  • bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError.
  • bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error.
  • bpo-34463: Fixed discrepancy between traceback and the interpreter in formatting of SyntaxError with lineno not set (traceback was changed to match interpreter).
  • bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.
  • bpo-26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt.
  • bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa.
  • bpo-28577: The hosts method on 32-bit prefix length IPv4Networks and 128-bit prefix IPv6Networks now returns a list containing the single Address instead of an empty list.
  • bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz. Documentation
  • bpo-43959: The documentation on the PyContextVar C-API was clarified.
  • bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError.
  • bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type. Tests
  • bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner.
  • bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing.
  • bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR. Windows
  • bpo-35306: Avoid raising errors from pathlib.Path.exists() when passed an invalid filename.
  • bpo-38822: Fixed os.stat() failing on inaccessible directories with a trailing slash, rather than falling back to the parent directory’s metadata. This implicitly affected os.path.exists() and os.path.isdir().
  • bpo-26227: Fixed decoding of host names in socket.gethostbyaddr() and socket.gethostbyname_ex().
  • bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. Earlier releases were mislabelled and actually included 1.1.1i again.
  • bpo-43492: Upgrade Windows installer to use SQLite 3.35.5. macOS
  • bpo-44009: Provide “python3.x-intel64” executable to allow reliably forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64 emulation on Apple Silicon Macs. This can be useful for testing or when universal2 wheels are not yet available.
  • bpo-41100: As of 3.8.10, Python now supports building and running on macOS 11 (Big Sur) and on Apple Silicon Macs (based on the ARM64 architecture). A new universal build variant, universal2, is also available to natively support both ARM64 and Intel 64 in one set of executables. This backport from Python 3.9 does not include support for “weaklinking”; to support a range of macOS versions, continue to target for and build on the oldest version in the range; for 3.8.x, the universal2 variant is only useful on macOS 11 or later.
  • bpo-43492: Update macOS installer to use SQLite 3.35.4. IDLE
  • bpo-43655: IDLE dialog windows are now recognized as dialogs by window managers on macOS and X Window. C API
  • bpo-43962: _PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and always increments id_refcount. Previously, calling _xxsubinterpreters.get_current() could create an id_refcount inconsistency when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by Victor Stinner.

Installer type: burn

x86userAD07633A1F0CD795F3BF9DA33729F662281DF196B4567FA795829F3BB38A30AC
x86machineAD07633A1F0CD795F3BF9DA33729F662281DF196B4567FA795829F3BB38A30AC
x64user7628244CB53408B50639D2C1287C659F4E29D3DFDB9084B11AED5870C0C6A48A
x64machine7628244CB53408B50639D2C1287C659F4E29D3DFDB9084B11AED5870C0C6A48A

Details

Homepage
https://www.python.org/
License
PSF-2.0
Publisher
Python Software Foundation
Support
https://www.python.org/about/help/
Privacy Policy
https://www.python.org/privacy/
Copyright
Copyright (c) 2001-2021 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved.
Moniker
python3.8

Tags

languageprogrammingprogramming-languagepythonpython3script

Older versions (10)

3.8.9
x86user0ECECC9B234A2FF92B2AE8F0C62E9F7BEF9FA7E39FE980BB7FA7BBDC2BFD14E5
x86machine0ECECC9B234A2FF92B2AE8F0C62E9F7BEF9FA7E39FE980BB7FA7BBDC2BFD14E5
x64userE15BC52914B6DAEE9630360BFE3708EE646D4E4CE34BF5368066213009AF70A6
x64machineE15BC52914B6DAEE9630360BFE3708EE646D4E4CE34BF5368066213009AF70A6
3.8.8
x86user64667D3185C57C493760CE1CE35C8C529CA46CE7188E02FB75FAC6FCF72B9510
x86machine64667D3185C57C493760CE1CE35C8C529CA46CE7188E02FB75FAC6FCF72B9510
x64user0E4B57099657C2304132D961E6939EED0C7DA3CC4F15078008F9D5BA0A30726E
x64machine0E4B57099657C2304132D961E6939EED0C7DA3CC4F15078008F9D5BA0A30726E
3.8.7
x86user6DBA69E974634AD1EEBDC289C78AB48970913E93C81DEC90635963ABD6555370
x86machine6DBA69E974634AD1EEBDC289C78AB48970913E93C81DEC90635963ABD6555370
x64userB8D539D67A9C97A1ACC30DC871821D140C383F160D8A1CD3B5A1A5A0D351AF68
x64machineB8D539D67A9C97A1ACC30DC871821D140C383F160D8A1CD3B5A1A5A0D351AF68
3.8.6
x86user287D5DF01FF22FF09E6A487AE018603EE19EADE71D462EC703850C96F1D5E8A0
x86machine287D5DF01FF22FF09E6A487AE018603EE19EADE71D462EC703850C96F1D5E8A0
x64user328A257F189CB500606BB26AB0FBDD298ED0E05D8C36540A322A1744F489A0A0
x64machine328A257F189CB500606BB26AB0FBDD298ED0E05D8C36540A322A1744F489A0A0
3.8.5
x86userF5FE57AEAA90FF4C5AFED629B51880B53E4CABD0EBCADB33F56CA56FA1654DE8
x86machineF5FE57AEAA90FF4C5AFED629B51880B53E4CABD0EBCADB33F56CA56FA1654DE8
x64userCD427C7B17337D7C13761CA20877D2D8BE661BD30415DDC17072A31A65A91B64
x64machineCD427C7B17337D7C13761CA20877D2D8BE661BD30415DDC17072A31A65A91B64
3.8.4
x86userCD0664574EFD4A1ED29D10EE10E1DC7A45B8922E03191344CF9FBE179FCEADA3
x86machineCD0664574EFD4A1ED29D10EE10E1DC7A45B8922E03191344CF9FBE179FCEADA3
x64user24CEAD226C8B3DE579E246AA4152BD6C2FF8A613A65998EAC8B66920D9821919
x64machine24CEAD226C8B3DE579E246AA4152BD6C2FF8A613A65998EAC8B66920D9821919
3.8.3
x86userE5EA9F5646FE3CFF2621B61A55A98EA5B3E9CA7DD7CC14C13535E55C88686872
x86machineE5EA9F5646FE3CFF2621B61A55A98EA5B3E9CA7DD7CC14C13535E55C88686872
x64userC74898382A5192D4B506767CBB4B41B8E80B734B8A7CE1FBB13E4ABA8FFE5BF6
x64machineC74898382A5192D4B506767CBB4B41B8E80B734B8A7CE1FBB13E4ABA8FFE5BF6
3.8.2
x86user03AC5754A69C9C11C08D1F4D694C14625A4D27348AD4DD2D1253E2547819DB2C
x86machine03AC5754A69C9C11C08D1F4D694C14625A4D27348AD4DD2D1253E2547819DB2C
x64user8E400E3F32CDCB746E62E0DB4D3AE4CBA1F927141EBC4D0D5A4006B0DAEE8921
x64machine8E400E3F32CDCB746E62E0DB4D3AE4CBA1F927141EBC4D0D5A4006B0DAEE8921
3.8.1
x86user136EE5B41BB73D8DD22A0D753B04699507F7C4D5CD295BDF1B63920852929608
x86machine136EE5B41BB73D8DD22A0D753B04699507F7C4D5CD295BDF1B63920852929608
x64userBEBC242C11B8D83D8671C7B8E047E64DD78F7AE9AEF29613B9EE176BF8E35367
x64machineBEBC242C11B8D83D8671C7B8E047E64DD78F7AE9AEF29613B9EE176BF8E35367
3.8.0
x86userB471908DE5E10D8FB5C3351A5AFFB1172DA7790C533E0C9FFBAEEC9C11611B15
x86machineB471908DE5E10D8FB5C3351A5AFFB1172DA7790C533E0C9FFBAEEC9C11611B15
x64userA9BBC6088A3E4C7112826E21BFEE6277F7B6D93259F7C57176139231BB7071E4
x64machineA9BBC6088A3E4C7112826E21BFEE6277F7B6D93259F7C57176139231BB7071E4