Opened 4 years ago
Closed 4 years ago
#4767 closed task (fixed)
python3-3.9.1
Reported by: | Bruce Dubbs | Owned by: | lfs-book |
---|---|---|---|
Priority: | high | Milestone: | 10.1 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
New point version.
Change History (3)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Priority: | normal → high |
---|
Security
bpo-42103: Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format.
bpo-42051: The :mod:plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities. This should not affect users as entity declarations are not used in regular plist files.
bpo-40791: Add volatile to the accumulator variable in hmac.compare_digest, making constant-time-defeating optimizations less likely.
Marking high due to security fixes.
Note:
See TracTickets
for help on using tickets.
What's New in Python 3.9.1 final?
*Release date: 2020-12-07*
Core and Builtins
types.GenericAlias
will now raise a
TypeError
when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if the interpreter was compiled with debug symbols. This does not affect interpreters compiled for release. Patch by Ken Jin.
Library
inspect.findsource
now raises :exc:OSError
instead of :exc:IndexError
when :attr:co_lineno
of a code object is greater than the file length. This can happen, for example, when a file is edited after it was imported.inspect.getsource
.~traceback.TracebackException
no longer holds a reference to the exception's traceback object. Consequently, instances of TracebackException for equivalent but non-equal exceptions now compare as equal.pickle.whichmodule
in which importingmultiprocessing
could change the how pickle identifies which module an object belongs to, potentially breaking the unpickling of those objects.asyncio.IncompleteReadError
whenexpected
is
None
.
Tests
test_asyncio.test_call_later()
race condition: don't measure asyncio performance in the
call_later()
unit test. The test failed randomly on the CI.
macOS
IDLE
What's New in Python 3.9.1 release candidate 1?
*Release date: 2020-11-24*
Security
plistlib
module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities. This should not affect users as entity declarations are not used in regular plist files.volatile
to the accumulator variable in
hmac.compare_digest
, making constant-time-defeating optimizations less likely.
Core and Builtins
SIGINT
event,
_PyOS_SigintEvent()
, is now created even if Python is configured to not install signal handlers (if :c:member:`PyConfig.install_signal_handlers` equals to 0, or
Py_InitializeEx(0)
).
types.GenericAlias
objects can now be the targets of weakrefs.barry_as_flufl
rule. Patch by Pablo Galindo.
PyFunctionObject
, which resulted in operations on uninitialized memory. Patch by Yonatan Goldschmidt.
primary
didn't fail immediately. This led to invalid expressions like `a {b}to throw a :exc:
SyntaxError` with a wrong offset, or invalid expressions ending with a curly brace likea {
to not fail immediately in the REPL.object.__eq__
.sys.modules
when import fails.
issubclass
and :func:isinstance
when getting thebases
attribute leads to infinite recursion.
Library
tkinter.ttk.Style.map
. The function accepts now the representation of the default state as empty sequence (as returned byStyle.map()
). The structure of the result is now the same on all platform and does not depend on the value of
wantobjects
.
typing.Literal
parameter handling (flatten, deduplicate, use type to cache key).
threading.Thread
class at fork: do nothing if the thread is already stopped (ex: fork called at Python exit). Previously, an error was logged in the child process.onerror
callback from
shutil.rmtree
now receives correct function when
os.open
fails.
os.sendfile()
on illumos.~time.thread_time
is now implemented withgethrvtime()
because
clock_gettime(CLOCK_THREAD_CPUTIME_ID)
is not always available. Patch by Jakub Kulik.
repr
of :mod:typing
types containing :ref:Generic Alias Types <types-genericalias>
previously did not show the parameterized types in theGenericAlias
. They have now been changed to do so.
xdg-settings
.
binhex.binhex()
consisently writes macOS 9 line endings.
subprocess.Popen
in case an uid (gid) specified inuser
(group
,extra_groups
) overflowsuid_t
(gid_t
).~plistlib.InvalidFileException
and :exc:RecursionError
are now the only errors caused by loading malformed binary Plist file (previously ValueError and TypeError could be raised in some specific cases)._codecs.charmap_decode
when called with a mapped value outside the range of valid Unicode code points.datetime.time
subclasses.ctypes.util.find_library
to returnNone
when triying to locate a library in an environment when gcc>=9 is available and
ldconfig
is not.
symtable
module that was causing module-scope global variables to not be reported as both local and global.str()
for the
type
attribute of the
tkinter.Event
object always returns now the numeric code returned by Tk instead of the name of the event type.
tkinter.EventType
Enum so all members are strings, and none are tuplestarfile
module to write only basename of TAR file to GZIP compression header.ctypes.wintypes
to be imported on non-Windows systems.
shutil.which
now ignores empty entries in :envvar:PATHEXT
instead of treating them as a match.--outfile
for :mod:
cProfile
/ :mod:profile
not writing the output file in the original directory when the program being profiled changes the working directory.Documentation
classes <class>
and :term:types <type>
in the standard library, and for user-defined classes and types if the classmethod :meth:__class_getitem__
is provided.generic alias type <types-genericalias>
and :data:types.GenericAlias
. Also added an entry in glossary for :term:generic types <generic type>
.PyType_FromModuleAndSpec
.
Tests
_testinternalcapi
module in Windows installer for test suite
test_lib2to3
if the module has already imported at the time the test executes. Patch by Pablo Galindo.
eval()
on content received via HTTP.
urllib.request.urlcleanup()
to reset the global
urllib.request._opener
. Patch by Victor Stinner.
test_tk.test_widgets.ScaleTest
happening when executing the test with Tk 8.6.10.
Build
pycore_bitutils.h
internal header on old clang version without
builtin_bswap16()
(ex: Xcode 4.6.3 on Mac OS X 10.7). Patch by Joshua Root and Victor Stinner.
Windows
copysign
(to
_copysign
) in headers.
macOS
--enable-universalsdk
and
--with-universal-archs
options for the configure script now check that the specified architectures can be used.
IDLE
C API
PyMethodDef
's lifetime is managed through theself
argument of a
PyCFunction
.