Releases: dashingsoft/pyarmor
Release 8.5.9
New Features
pyarmor-auth
supports new option--host
(refer to #1773)- Support new platforms (no tested): linux.mips32el, linux.mips64el, linux.ppc64le, linux.riscv64, alpine.mips32el, alpine.mips64el, alpine.ppc64le, alpine.riscv64
Changed feature for trial version
- Copy plain script to output directly instead of raising exception if out of license
Fix issues
- Fix issue #1760: Pyarmor Basic or Pro license need to be registered again after several days
- Fix issue #1764:
--pack
with executable file will raise exceptionNo such file or directory
- Fix issue #1772: when
pyarmor cfg data_files=*
, the directoy such as2003.2
will be renamed to2003
in output path - Fix issue #1788: remove whitespaces in the harddisk serial number
- Fix issue #1793: In Windows VM pyarmor raises exception
<built-in function init_ctx> returned a result with an exception set
- Fix issue: in some special arches
pyarmor
raise exceptionModuleNotFound (pytransform3)
- Fix issue: if the scripts are obfuscated by
--obf-module 0
, it raisesRuntimeError: the format of obfuscated script is incorrect (1:1082)
in runtime
Fix Pyarmor-7 issues
- Fix issue #1785:
pyarmor-7 pack
doesn't work with PyInstaller 5.11.0+
Release 8.5.8
New Feature
- Option
--pack
support specfile. If plain script could be packed by one.spec
file, it could be used by--pack
to pack the obfuscated script. For example,pyarmor gen --pack foo.spec foo.py
Fix issues
- Fix pack issues with extra PyInstaller options
- Fix pack issue: some special binary extensions are missed in the final bundle
- Fix pack issue: in Windows case insensitive path does not work
- Fix issue #1758:
--pack
could not work with--enable-rft
,--assert-import
orassert-call
- Fix issue #1756: Match case which form is
Class.Name
wont work with--obf-code 2
Release 8.5.6
Fix issues:
- Fix issue #1745:
--pack
with PyInstaller 6.6 raises exception
Release 8.5.5
New feature:
- Support new configuration item
runtime:patch_extension
to enable/disable patching extensionpyarmor_runtime
, the main purpose is to solve code sign issue in Darwin - Option
--pack
supports new valueFC
,DC
to clean output path without prompt
Fix issues:
- Refine pack output log to make it clear
Release 8.5.4
New feature:
Option --pack
support constant onefile
and onedir
, both of them work for PyInstaller 6.0+
In previous versions --pack
only accepts executable generated by PyInstaller < 6.0.
Since v8.5.4, it accepts string constant onefile
or onefolder
, support PyInstaller 6.0+ and previous versions too. User need not call PyInstaller, pyarmor will do everything. For example, obfuscate plain script main.py
and pack the output to one executable just by this one command:
pyarmor gen --pack onefile main.py
Release 8.5.3
Upgrade Notes:
The behaviour of option --private
is changed
In previous versions the plain script could NOT import the module obfuscated by --private
. Now the plain script could import this obfuscated module, but could not visit module attribute __dict__
.
If still need keep old behaviours, run command pyarmor cfg private_module_as_restrict=1
once before generating the obfuscated scripts.
Fix issues:
- Fix issue #1712: Group license does't work in Windows.x86
- Fix issue: registering Pyarmor failed if firewall blocks extension
pytransform3
Release 8.5.2
Fix issues:
pyarmor man
raisesnormpath
issuse
Release 8.5.1
Fix issues:
- In some Windows x86 platform it raises exception:
unsupported arch "x86"
- Fix Python 3.12 issue #1710:
ModuleNotFoundError: No module named 'distutils'
Release 8.5.0
Upgrade notes:
- Change option
-e/--expired
behaviour. In the previous versions, it checks internet time, but now it will check local time by default. After runpyarmor cfg nts="pool.ntp.org"
, it will be same as previous versions. - When something is wrong with
pyarmor
, it will print suggestion solutions in the console
New features:
- Add new plugin
post_script
which could be used to patch each obfuscated script - Runtime key could be obfuscated if config option
obf_key_mode
is set bypyarmor cfg obf_key_mode=1
- Support binding obfuscated script by machine id, refer to option
-b/--bind-device
in the man page - Add new command
man
,pyarmor man
could help Pyarmor users to learn and use Pyarmor by web-ui, quickly find solutions when something is wrong, and report issues in standard form
Fix issues:
--private
doesn't work with--pack
(PyInstaller), if scripts are obfuscated by--private
, the executable bundle will raise protection errorunauthorized use of script
- Fix Python 3.12 issue: pyarmor raise exception
no module named 'distutils'
Release 8.4.7
Fix issues:
- Fix issue #1585: some special modules could be imported by plain script even if
--restrict
option is used - Fix issue #1647: Raise error
invalid co header size
when obfuscating special scripts - Fix issue #1668: Raise error
invalid device info "xxxxxx"
when binding to too short harddisk serial number - Fix bug:
pyarmor.cli.hdinfo
could not get "Multiple Mac addresses", it raises errorUnsupported hardware type with name