From: Raymond Hettinger Date: Tue, 3 Feb 2009 04:19:10 +0000 (+0000) Subject: The default shelve pickle protocol should have been 3. X-Git-Tag: v3.1a1~297 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=85602268dc9d57b8965b619dd313868ebe4b9b8f;p=thirdparty%2FPython%2Fcpython.git The default shelve pickle protocol should have been 3. --- diff --git a/Doc/library/shelve.rst b/Doc/library/shelve.rst index b39a92ca963e..44eff59d67da 100644 --- a/Doc/library/shelve.rst +++ b/Doc/library/shelve.rst @@ -23,7 +23,7 @@ lots of shared sub-objects. The keys are ordinary strings. database file is opened for reading and writing. The optional *flag* parameter has the same interpretation as the *flag* parameter of :func:`dbm.open`. - By default, version 2 pickles are used to serialize values. The version of the + By default, version 3 pickles are used to serialize values. The version of the pickle protocol can be specified with the *protocol* parameter. By default, mutations to persistent-dictionary mutable entries are not diff --git a/Lib/shelve.py b/Lib/shelve.py index cf6dac65f47e..fb2fa93b0100 100644 --- a/Lib/shelve.py +++ b/Lib/shelve.py @@ -84,7 +84,7 @@ class Shelf(collections.MutableMapping): keyencoding="utf-8"): self.dict = dict if protocol is None: - protocol = 2 + protocol = 3 self._protocol = protocol self.writeback = writeback self.cache = {} diff --git a/Misc/NEWS b/Misc/NEWS index 54260466306b..68cea16ac502 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -157,6 +157,8 @@ Library - Issue #1581476: Always use the Tcl global namespace when calling into Tcl. +- The shelve module now defaults to pickle protocol 3. + - Fix a bug in the trace module where a bytes object from co_lnotab had its items being passed through ord().