@@ -2243,6 +2243,21 @@ details, see the documentation for ``loop.create_datagram_endpoint()``.
22432243(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in
22442244:issue: `37228 `.)
22452245
2246+ Notable changes in Python 3.8.2
2247+ ===============================
2248+
2249+ Fixed a regression with the ``ignore `` callback of :func: `shutil.copytree `.
2250+ The argument types are now str and List[str] again.
2251+ (Contributed by Manuel Barkhau and Giampaolo Rodola in :gh: `83571 `.)
2252+
2253+ Notable changes in Python 3.8.3
2254+ ===============================
2255+
2256+ The constant values of future flags in the :mod: `__future__ ` module
2257+ are updated in order to prevent collision with compiler flags. Previously
2258+ ``PyCF_ALLOW_TOP_LEVEL_AWAIT `` was clashing with ``CO_FUTURE_DIVISION ``.
2259+ (Contributed by Batuhan Taskaya in :gh: `83743 `)
2260+
22462261Notable changes in Python 3.8.8
22472262===============================
22482263
@@ -2256,9 +2271,55 @@ functions internally. For more details, please see their respective
22562271documentation.
22572272(Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue: `42967 `.)
22582273
2274+ Notable changes in Python 3.8.9
2275+ ===============================
2276+
2277+ A security fix alters the :class: `ftplib.FTP ` behavior to not trust the
2278+ IPv4 address sent from the remote server when setting up a passive data
2279+ channel. We reuse the ftp server IP address instead. For unusual code
2280+ requiring the old behavior, set a ``trust_server_pasv_ipv4_address ``
2281+ attribute on your FTP instance to ``True ``. (See :gh: `87451 `)
2282+
2283+ Notable changes in Python 3.8.10
2284+ ================================
2285+
2286+ macOS 11.0 (Big Sur) and Apple Silicon Mac support
2287+ --------------------------------------------------
2288+
2289+ As of 3.8.10, Python now supports building and running on macOS 11
2290+ (Big Sur) and on Apple Silicon Macs (based on the ``ARM64 `` architecture).
2291+ A new universal build variant, ``universal2 ``, is now available to natively
2292+ support both ``ARM64 `` and ``Intel 64 `` in one set of executables.
2293+ Note that support for "weaklinking", building binaries targeted for newer
2294+ versions of macOS that will also run correctly on older versions by
2295+ testing at runtime for missing features, is not included in this backport
2296+ from Python 3.9; to support a range of macOS versions, continue to target
2297+ for and build on the oldest version in the range.
2298+
2299+ (Originally contributed by Ronald Oussoren and Lawrence D'Anna in :gh: `85272 `,
2300+ with fixes by FX Coudert and Eli Rykoff, and backported to 3.8 by Maxime Bélanger
2301+ and Ned Deily)
2302+
2303+ Notable changes in Python 3.8.10
2304+ ================================
2305+
2306+ urllib.parse
2307+ ------------
2308+
2309+ The presence of newline or tab characters in parts of a URL allows for some
2310+ forms of attacks. Following the WHATWG specification that updates :rfc: `3986 `,
2311+ ASCII newline ``\n ``, ``\r `` and tab ``\t `` characters are stripped from the
2312+ URL by the parser in :mod: `urllib.parse ` preventing such attacks. The removal
2313+ characters are controlled by a new module level variable
2314+ ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE ``. (See :issue: `43882 `)
2315+
2316+
22592317Notable changes in Python 3.8.12
22602318================================
22612319
2320+ Changes in the Python API
2321+ -------------------------
2322+
22622323Starting with Python 3.8.12 the :mod: `ipaddress ` module no longer accepts
22632324any leading zeros in IPv4 address strings. Leading zeros are ambiguous and
22642325interpreted as octal notation by some libraries. For example the legacy
@@ -2268,3 +2329,33 @@ any leading zeros.
22682329
22692330(Originally contributed by Christian Heimes in :issue: `36384 `, and backported
22702331to 3.8 by Achraf Merzouki.)
2332+
2333+ Notable security feature in 3.8.14
2334+ ==================================
2335+
2336+ Converting between :class: `int ` and :class: `str ` in bases other than 2
2337+ (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal)
2338+ now raises a :exc: `ValueError ` if the number of digits in string form is
2339+ above a limit to avoid potential denial of service attacks due to the
2340+ algorithmic complexity. This is a mitigation for `CVE-2020-10735
2341+ <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735> `_.
2342+ This limit can be configured or disabled by environment variable, command
2343+ line flag, or :mod: `sys ` APIs. See the :ref: `integer string conversion
2344+ length limitation <int_max_str_digits>` documentation. The default limit
2345+ is 4300 digits in string form.
2346+
2347+ Notable changes in 3.8.17
2348+ =========================
2349+
2350+ tarfile
2351+ -------
2352+
2353+ * The extraction methods in :mod: `tarfile `, and :func: `shutil.unpack_archive `,
2354+ have a new a *filter * argument that allows limiting tar features than may be
2355+ surprising or dangerous, such as creating files outside the destination
2356+ directory.
2357+ See :ref: `tarfile-extraction-filter ` for details.
2358+ In Python 3.12, use without the *filter * argument will show a
2359+ :exc: `DeprecationWarning `.
2360+ In Python 3.14, the default will switch to ``'data' ``.
2361+ (Contributed by Petr Viktorin in :pep: `706 `.)
0 commit comments