1. Non-ASCII bytes were accepted after shift sequence.
2. A low surrogate could be emitted in case of error in high surrogate.
3. In some circumstances the '\xfd' character was produced instead of the
replacement character '\ufffd' (due to a bug in _PyUnicodeWriter).
Core and Builtins
-----------------
+ - Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
+
+- Issue #25267: The UTF-8 encoder is now up to 75 times as fast for error
+ handlers: ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``.
+ Patch co-written with Serhiy Storchaka.
+
- Issue #25280: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.