- Fix regression in 0.6.0 which breaks the pickling of local function defined in a module, making it impossible to access builtins. (issue #211)
-
Ensure that unpickling a function defined in a dynamic module several times sequentially does not reset the values of global variables. (issue #187)
-
Restrict the ability to pickle annotations to python3.7+ (issue #193 and issue #196)
-
Stop using the deprecated
imp
module under Python 3. (issue #207) -
Fixed pickling issue with singleton types
NoneType
,type(...)
andtype(NotImplemented)
(issue #209)
- Ensure that unpickling a locally defined function that accesses the global variables of a module does not reset the values of the global variables if they are already initialized. (issue #187)
- Fixed inconsistent version in
cloudpickle.__version__
.
-
Fixed a pickling issue for ABC in python3.7+ (issue #180).
-
Fixed a bug when pickling functions in
__main__
that access global variables (issue #187).
-
Fixed a crash in Python 2 when serializing non-hashable instancemethods of built-in types (issue #144).
-
itertools objects can also pickled (PR #156).
-
logging.RootLogger
can be also pickled (PR #160).
-
Fixed a regression:
AttributeError
when loading pickles that hold a reference to a dynamically defined class from the__main__
module. (issue #131). -
Make it possible to pickle classes and functions defined in faulty modules that raise an exception when trying to look-up their attributes by name.
- Fixed
cloudpickle.__version__
.
- Use
pickle.HIGHEST_PROTOCOL
by default.
logging.RootLogger
can be also pickled (PR #160).
-
Fixed a regression:
AttributeError
when loading pickles that hold a reference to a dynamically defined class from the__main__
module. (issue #131). -
Fixed a crash in Python 2 when serializing non-hashable instancemethods of built-in types. (issue #144)
- Restored compatibility with pickles from 0.4.0.
- Handle the
func.__qualname__
attribute.
- Fixed a crash when pickling dynamic classes whose
__dict__
attribute was defined as aproperty
. Most notably, this affected dynamic namedtuples in Python 2. (cloudpipe#113) - Cloudpickle now preserves the
__module__
attribute of functions (cloudpipe#118). - Fixed a crash when pickling modules that don't have a
__package__
attribute (cloudpipe#116).
- Fix functions with empty cells
- Allow pickling Logger objects
- Fix crash when pickling dynamic class cycles
- Ignore "None" mdoules added to sys.modules
- Support WeakSets and ABCMeta instances
- Remove non-standard
__transient__
support - Catch exception from
pickle.whichmodule()
- Fix version information and ship a changelog
- Import submodules accessed by pickled functions
- Support recursive functions inside closures
- Fix
ResourceWarnings
andDeprecationWarnings
- Assume modules with
__file__
attribute are not dynamic
- Support Python 3.6
- Support Tornado Coroutines
- Support builtin methods
- Packaging fix
- Support
method_descriptor
- Support unbound instancemethods
- Fixes for PyPy3
- More support for pickling dynamic imports
Released on 2015-04-16 from the (real) clouds somewhere between Montréal and Atlanta.