- Restore the
noload
behaviour from Python 2.6 and provide thenoload
method on the non-C-accelerated unpicklers under PyPy and Python 2. - Add support for PyPy, PyPy3, and Python 3.4.
- Import accelerator from our extension module under Py3k. See #6, #7.
- Fix unpickler's
load_short_binstring
across supported platforms.
- Update all code and tests to Python 2.6.8, 2.7.5, 3.2.5, 3.3.2 .
- Add the modules
zodbpickle.fastpickle
andzodbpickle.slowpickle
. This provides a version-independent choice of the C or Python implementation. - Fix a minor bug on OS X
- Removed support for the
bytes_as_strings
arguments to pickling APIs: the pickles created when that argument was true might not be unpickled without passingencoding='bytes'
, which ZODB couldn't reliably enforce. On Py3k, ZODB will be usingprotocol=3
pickles anyway.
- Add protocol 3 opcodes to the C version of the
noload()
dispatcher.
- Packaging error: remove spurious
-ASIDE
file from sdist.
- Fix NameError in pure-Python version of
Unpickler.noload_appends
. - Fix NameError in pure-Python version of
Unpickler.noload_setitems
.
- Fix typo in Python2 version of
zodbpickle.pickle
module.
- Support the common pickle module interface for Python 2.6, 2.7, 3.2, and 3.3.
- Split the Python implementations / tests into Python2- and Py3k-specific variants.
- Added a fork of the Python 2.7
_pickle.c
, for use under Python2. The fork adds support for the Py3kprotocol 3
opcodes. - Added a custom
binary
type for use in Python2 apps. Derived frombytes
, thebinary
type allows Python2 apps to pickle binary data using opcodes which will cause it to be unpickled asbytes
on Py3k. Under Py3k, thebinary
type is just an alias forbytes
.
- Added
noload
code to Python 3.2 version ofUnpickler
. As with the Python 3.3 version, this code remains untested. - Added
bytes_as_strings
option to the Python 3.2 version ofPickler
,dump
, anddumps
.
- Added
bytes_as_strings
option toPickler
,dump
, anddumps
. - Incomplete support for Python 3.2:
- Move
_pickle.c
->_pickle_33.c
. - Clone Python 3.2.3's
_pickle.c
->_pickle_32.c
and apply the same patch. - Choose between them at build time based on
sys.version_info
. - Disable some tests of 3.3-only features.
- Missing: implementation of
noload()
in_pickle_32.c
. - Missing: implementation of
bytes_as_strings=True
in_pickle_32.c
.
- Move
- Initial release of Python 3.3's pickle with the patches of Python issue 6784 applied.
- Added support for
errors="bytes"
.