Issue #12892: The utf-16* and utf-32* codecs now reject (lone) surrogates.
The utf-16* and utf-32* encoders no longer allow surrogate code points
(U+D800-U+DFFF) to be encoded.
The utf-32* decoders no longer decode byte sequences that correspond to
surrogate code points.
The surrogatepass error handler now works with the utf-16* and utf-32* codecs.
Based on patches by Victor Stinner and Kang-Hao (Kenny) Lu.
diff --git a/Misc/ACKS b/Misc/ACKS
index 34fac02..436b9ac 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -783,6 +783,7 @@
Jason Lowe
Tony Lownds
Ray Loyzaga
+Kang-Hao (Kenny) Lu
Lukas Lueg
Loren Luke
Fredrik Lundh
diff --git a/Misc/NEWS b/Misc/NEWS
index 7025410..57f5d99 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,12 @@
Core and Builtins
-----------------
+- Issue #12892: The utf-16* and utf-32* encoders no longer allow surrogate code
+ points (U+D800-U+DFFF) to be encoded. The utf-32* decoders no longer decode
+ byte sequences that correspond to surrogate code points. The surrogatepass
+ error handler now works with the utf-16* and utf-32* codecs. Based on
+ patches by Victor Stinner and Kang-Hao (Kenny) Lu.
+
- Issue #17806: Added keyword-argument support for "tabsize" to
str/bytes.expandtabs().