Skip to content

Releases: dashingsoft/pyarmor

Release 3.9.4

07 May 14:04

Choose a tag to compare

  • Rewrite long description of package in pypi

Release 3.9.3

03 May 07:05

Choose a tag to compare

  • Fix issue: __file__ is not really path in main code of module when import obfuscated module

Release 3.9.2

01 May 02:58

Choose a tag to compare

  • Replace option --disable-restrict-mode with --no-restrict in command obfuscate
  • Add option --title in command config
  • Change the output path of entry scripts when entry scripts belong to package
  • Refine document user-guide.md and mechanism.md

Release 3.9.1

29 Apr 14:30

Choose a tag to compare

  • Add option --type for command init
  • Refine document user-guide.md and mechanism.md

Release 3.9.0

16 Apr 15:37

Choose a tag to compare

In v3.9.0, introduce a new way auto-wrap to protect python code when it's imported by outer scripts.

Refer to Mechanism Without Restrict Mode

  • Add new mode wrap for --obf-code-mode
  • Remove func.__refcalls__ in __wraparmor__
  • Add new project attribute is_package
  • Add option --is-package in command config
  • Add option --disable-restrict-mode in command obfuscate
  • Reset build_time when project configuration is changed
  • Change output path when is_package is set in command build
  • Change default value of project when find __init__.py in comand init
  • Project attribute entry supports absolute path

Release 3.8.10

08 Apr 17:36

Choose a tag to compare

  • Fix shared code object issue in __wraparmor__

Release 3.8.9

08 Apr 13:18

Choose a tag to compare

  • Clear frame as long as tb is not Py_None when call __wraparmor__
  • Generator will not be obfuscated in __wraparmor__

Release 3.8.8

07 Apr 14:15

Choose a tag to compare

  • Fix bug: the frame.f_locals still can be accessed in callback function

Release 3.8.7

07 Apr 11:37

Choose a tag to compare

  • The frame.f_locals of wrapper and wrapped function will return an empty dictionary once __wraparmor__ is called.

Release 3.8.6

06 Apr 14:51

Choose a tag to compare

  • The frame.f_locals of wrapper and wrapped function return an empty dictionary, all the other frames still return original value.