Python New versions

In the last few years python released a lot of versions lets have a summary of these versions and features.

VersionDateImportant FeatureReference
Python 3.6.14 final2021-06-28
bpo-44022: mod:http.client now avoids infinitely reading potential HTTP headers after a 100 
Continue status response from the server.
bpo-43882: The presence of newline or tab characters in parts of a URL could allow some f

orms of attacks.
Following the controlling specification for URLs defined by WHATWG urllib.parse() 

now removes ASCII
newlines and tabs from URLs, preventing such attack
Python 3.7.112021-06-28
bpo-36820: Break cycle generated when saving an exception in,
and as they keep alive not only the exception but user objects through the __traceback__ attribute.
Patch by Mario Corchero.
bpo-34776: Fix dataclasses to support forward references in type annotations
Python 3.8.11 2021-06-28
bpo-36541: lib2to3 now recognizes named assignment expressions
(the walrus operator, :=)
bpo-39209: Correctly handle multi-line tokens in interactive mode.

Patch by Pablo Galindo.
bpo-39216: Fix constant folding optimization for positional only arguments –

by Anthony Sottile.
bpo-39215: Fix SystemError when nested function has annotation on

positional-only argument – by Anthony Sottile.
bpo-35224: Reverse evaluation order of key: value in dict comprehensions

as proposed in PEP 572. I.e. in {k: v for ...}k will be evaluated before v.
bpo-10544: Yield expressions are now disallowed in comprehensions and

generator expressions except the expression for the outermost iterable.
bpo-32117: Iterable unpacking is now allowed without parentheses in yield

and return statements, e.g. yield 1, 2, 3, *rest. Thanks to David
Cuthbert for the change and Jordan Chapman for added tests.
Python 3.9.6 final 2021-06-28
bpo-43650: Fix MemoryError in shutil.unpack_archive() which fails inside shutil._unpack_zipfile() on large files. Patch by Igor Bolshakov.
bpo-43318: Fix a bug where pdb does not always echo cleared breakpoints.
bpo-43295datetime.datetime.strptime() now raises ValueError instead of IndexError when matching 'z' with the %z format specifier.
bpo-40536: Added the available_timezones() function to the zoneinfo 

module. Patch by Paul Ganssle.
bpo-28120: Fix dict.pop() for splitted dictionary when trying to remove a

“pending key” (Not yet inserted in split-table). Patch by Xiang Zhang.
bpo-28120: Fix dict.pop() for splitted dictionary when trying to remove a

“pending key” (Not yet inserted in split-table). Patch by Xiang Zhang.

Note: Spark runs on Java 8/11, Scala 2.12, Python 3.6+ and R 3.5+. Java 8 prior to version 8u92 support is deprecated as of Spark 3.0.0. For the Scala API, Spark 3.1.2 uses Scala 2.12.

Leave a Reply