Core and Builtins
-----------------
-- Issue #16416: On Mac OS X, operating system data are now always
- encoded/decoded to/from UTF-8/surrogateescape, instead of the locale encoding
- (which may be ASCII if no locale environment variable is set), to avoid
- inconsistencies with os.fsencode() and os.fsdecode() functions which are
- already using UTF-8/surrogateescape.
+ - Issue #16602: When a weakref's target was part of a long deallocation
+ chain, the object could remain reachable through its weakref even though
+ its refcount had dropped to zero.
+
+- Issue #16495: Remove extraneous NULL encoding check from bytes_decode().
+
+- Issue #16619: Create NameConstant AST class to represent None, True, and False
+ literals. As a result, these constants are never loaded at runtime from
+ builtins.
+
+- Issue #16455: On FreeBSD and Solaris, if the locale is C, the
+ ASCII/surrogateescape codec is now used, instead of the locale encoding, to
+ decode the command line arguments. This change fixes inconsistencies with
+ os.fsencode() and os.fsdecode() because these operating systems announces an
+ ASCII locale encoding, whereas the ISO-8859-1 encoding is used in practice.
+
+- Issue #16562: Optimize dict equality testing. Patch by Serhiy Storchaka.
- Issue #16588: Silence unused-but-set warnings in Python/thread_pthread