Skip to content

Releases: erdogant/pypickle

2.0.1

19 May 20:50

Choose a tag to compare

Some security checks, such as builtins or os, can introduce many false positive detections. I fixed this by making some modules more specific.

  • Checks of builtins, os , sys and subprocess modules are more specific.

2.0.0

18 May 18:36
5058ea8

Choose a tag to compare

This is a large update where many security mechanisms are incorporated in the loading and saving of pickle files.
Updating to this version can break your pipeline! It is recommended to first look at the changes in saving and loading over here and here.
Overall, save and load still work in the same manner, but with restrictions.

The new updates are as following:
Save

  • Home and Temp directories are safe locations to save your pickle file and are allowed by default
  • To save outside the home and temp directory, you need to set the parameter: allow_external=True
  • It is not allowed to save in system-critical paths. See here for more information.
  • The extension of the pickle file must be one of these: .pkl, .pickle, .pklz, .pbz2
  • Path traversal detection is implemented to detect and block path traversal attempts

Load

  • Loading pickle files now contains a validation step that checks for high-risk modules before loading. See here for the list.
  • To load risky modules, it must be explicitly added via the validate parameter or disable the validation using validate=False (not recommended).
  • Before loading pickle files, the modules stored in the pickle file can be checked using the validate_modules function without loading them. See here for more details.

General fixes

  • More logging
  • Code refactoring
  • Code cleaning
  • Updating docstrings
  • This update will solve issues #2 #3

1.1.5

23 Apr 19:06

Choose a tag to compare

Fix for the minimum logging level of INFO. All levels, including None, are available again.

1.1.4

08 Apr 13:50

Choose a tag to compare

  • bugfix syntax error in logger

v1.1.3

03 Apr 09:34

Choose a tag to compare

  • pyproject.toml updates with license.file = "LICENSE"
  • logger updated

1.1.1

02 Mar 19:37

Choose a tag to compare

  • update setup.py into pyproject.toml
  • Added logging

v1.1.0

09 Mar 14:01

Choose a tag to compare

  • Added new input arguments for saving and loading of python 2 versions
    • fix_imports
    • encoding

1.0.0

30 Nov 20:26

Choose a tag to compare

  • added doi

0.1.1

08 Oct 08:30

Choose a tag to compare

  • included licence to setup file
  • added unit tests
  • added citation file

0.1.0

10 Jul 18:11

Choose a tag to compare

  • initialize release