All Versions
Latest Version
Avg Release Cycle
8 days
Latest Release
536 days ago

Changelog History
Page 4

  • v6.0.1 Changes

    April 16, 2020
    • ๐Ÿ›  Fix restrict mode 3 bug: the obfuscated script crashes or complains of this error: This function could not be called from the plain script (#219)
    • ๐Ÿ›  Fix bug: the obfuscated script raises unknown opcode error when the script is obfuscated by obf_code=2 if there is recursive function call
    • ๐Ÿ›  Fix command init and config bug: the entry script is set to . other than empty when passing --entry=""
    • ๐Ÿ›  Fix bug: the traceback will print very long line if the obfuscated script raises exception
    • ๐Ÿ›  Fix bug: in some special cases the obfuscated scripts which are obfuscated with--enable-suffix still conflict with other obfuscated packages
    • Refine the error message as violating restrict mode
    • ๐Ÿ‘ป The obfuscated script will raise exception ReuntimeError other than quit directly when something is wrong
      ๐Ÿ–จ Now it will print a pretty traceback to find where is the problem
    • When generating license.lic for the obfuscated scripts, the license version information will be embedded into the license file implicitly
    • ๐Ÿ‘ป Do not transfer exception type to PytransformError as pyarmor initializes failed
  • v5.9.8 Changes

    April 14, 2020
    • ๐Ÿ›  Fix restrict mode 3 bug: the obfuscated function failed if it's called from generator function even in the obfuscated script.
    • In pack command it will try to use the encoding coding: xxx in the first comment line of .spec file
  • v5.9.7 Changes

    April 09, 2020
    • ๐Ÿ›  Fix pack issue: it will raise UnicodeDecodeError when the source path includes non-ascii characters(#217)
    • ๐Ÿ›  Fix obfuscate issue for Python2: it will raise UnicodeDecodeError when the source path includes non-ascii characters
    • ๐Ÿ–จ Refine pack command: it will print the output of PyInstaller to the console either
  • v5.9.6 Changes

    April 06, 2020
  • v5.9.5 Changes

    March 28, 2020
    • ๐Ÿ”„ Change the plugin search policy, do not support enviorment variable PYARMOR_PLUGIN, but search folder plugins in the pyarmor package path.
    • โž• Add a new path plugins in the package source, there are several common
      ๐Ÿ”Œ plugins. So it's easy to check internet time by this way

      pyarmor obfuscate --plugin check_ntp_time

    Before that both of these lines should be inserted into

    # {PyArmor Plugins}# PyArmor Plugin: check\_ntp\_time()
  • v5.9.4 Changes

    March 25, 2020
  • v5.9.3 Changes

    March 11, 2020
    • โž• Add new option --enable-period-mode in the command licenses
    • When running the obfuscated scripts it will check license periodly (per hour) if the option --enable-period-mode is set in the license file
  • v5.9.2 Changes

    March 06, 2020
    • ๐Ÿ›  Fix bug: the command pyarmor runtime --platform alpine.x86_64 raises error (#201)
    • ๐Ÿ›  Fix bug: the platform linux.armv6 doesn't work in Raspberry PI ZW, rebuild the dynamic library with -march=armv6 -mfloat-abi=hard -marm
  • v5.9.1 Changes

    March 02, 2020
    • ๐Ÿ“ฆ Python debugger and profile tool could work with the plain python scripts even if the obfuscated packages are imported. Note that the obfuscated scripts still couldn't be traced (#175 #179)
    • Refine pack command, use pyi-makespec to generate .spec file(#199)
    • ๐Ÿ›  Fix advanced mode fails in some linux platforms(#197)
    • ๐Ÿ‘Œ Support platform linux.armv6
    • ๐Ÿ›  Fix python38 issue: in the wrap mode the footer block isn't executed
  • v5.9.0 Changes

    January 19, 2020

    ๐Ÿ“ฆ pyarmor-webui is published as a separated package, it has been removed from source package of pyarmor. Now it's a full feature webui, and could be installed by pip install pyarmor-webui.

    • ๐Ÿ‘Œ Support environment variable PYARMOR_HOME as one extra path to find the license.lic of pyarmor. Now the search order is:
      • In the package path of pyarmor
      • $PYARMOR_HOME/.pyarmor/license.lic
      • $HOME/.pyarmor/license.lic
      • $USERPROFILE/.pyarmor/license.lic (Only for Windows)
    • In command licenses if option output is set, do not append extra path licenses in the final output path
    • ๐Ÿ’ป In command obfuscate with option --exact, all the scripts list in the command line will be taken as entry script.
    • The last argument in command pack could be a project path or .json file
    • โž• Add new option --name in the command pack
    • Add new project attribute license_file, bootstrap_code
    • โž• Add new option --with-license, --bootstrap in the command config
    • โž• Add new option --bootstrap in the command obfuscate
    • ๐Ÿ“ฆ The options --package-runtime doesn't support 2 and 3, use --bootstrap=2 or --bootstrap=3 instead
    • ๐Ÿ–จ For command licenses the generated license could be printed to stdout by setting the option --output to stdout