The various datetime object __setstate__() methods are no longer public
(pickling no longer needs them, and immutable objects shouldn't have
visible __setstate__() methods regardless). Rearranged the code to
put the internal setstate functions in the constructor sections.
Repaired the timedelta reduce() method, which was still producing
stuff that required a public timedelta.__setstate__() when unpickling.
diff --git a/Misc/NEWS b/Misc/NEWS
index 8075943..38e7db2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -24,7 +24,7 @@
See SF bug #667147.
- Fixed an invalid RuntimeWarning and an undetected error when trying
- to convert a long integer into a float which couldn't fit.
+ to convert a long integer into a float which couldn't fit.
See SF bug #676155.
Extension modules
@@ -126,6 +126,11 @@
possible to have timestamps that differ by a second, yet where
datetimes constructed from them are equal.
+ The pickle format of date, time and datetime objects has changed
+ completely. The undocumented pickler and unpickler functions no
+ longer exist. The undocumented __setstate__() methods no longer
+ exist either.
+
Library
-------