@@ -2243,6 +2243,21 @@ details, see the documentation for ``loop.create_datagram_endpoint()``.
2243
2243
(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in
2244
2244
:issue: `37228 `.)
2245
2245
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
+
2246
2261
Notable changes in Python 3.8.8
2247
2262
===============================
2248
2263
@@ -2256,9 +2271,55 @@ functions internally. For more details, please see their respective
2256
2271
documentation.
2257
2272
(Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue: `42967 `.)
2258
2273
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
+
2259
2317
Notable changes in Python 3.8.12
2260
2318
================================
2261
2319
2320
+ Changes in the Python API
2321
+ -------------------------
2322
+
2262
2323
Starting with Python 3.8.12 the :mod: `ipaddress ` module no longer accepts
2263
2324
any leading zeros in IPv4 address strings. Leading zeros are ambiguous and
2264
2325
interpreted as octal notation by some libraries. For example the legacy
@@ -2268,3 +2329,33 @@ any leading zeros.
2268
2329
2269
2330
(Originally contributed by Christian Heimes in :issue: `36384 `, and backported
2270
2331
to 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