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