Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.0 - 2021-07-17¶
Added¶
Users can now load custom handlers
Changed¶
Fixed an if statement in functiondef_handler that was checking previously obscured source code
flag is no longer a boolean for obscuring a project
but instead represents the option to load custom handlers
Removed¶
0.8.0 - 2021-06-17¶
Added¶
NameHandler handles calls and returns now
Added some methods to DefinitionTracker to reduce the number of checks in handlers
Added a disclaimer to the readme
Can now handle method calls as attributes
Added arg_handler to obscure function parameters
Changed¶
Treats the self referential as a regular argument so it becomes obscured
Obscuring when the output directory already exists no longer throws an error, instead it just notifies the user
Removed¶
0.7.0 - 2021-06-01¶
Added¶
Release script to handle updating version numbers and changelog
Changed¶
NameHandler now obscures base classes and handles all ast.Names
AttributeHandler handles class properties now
All utilities go in their own module in the utils package
Logging is optional with the -l flag
FunctionDefHandler now handles functions inside of functions becuase.. python
Removed¶
0.6.0 - 2021-05-24¶
Added¶
Added deployment scripts for pypi and testpypi
Added a license
Added a NameHandler class (unimplemented)
Added a ConstantHandler class, it now obscures strings, integers and floats
Added tests for obscure.py
Changed¶
Updated readme
Updated travis.yml to deploy to pypi
Removed¶
0.5.0 - 2021-05-23¶
Added¶
Added better functionality for ClassDefHandler building dictionaries of classes
Added better funtionality for FunctionDefHandler building dictionaries of functions
Added obscurepy/scripts/obscure.py which holds a click based command line interface
Changed¶
Updated class and sequence diagrams
Updated setup.py to properly integrate with click
Updated the readme with installation and usage instructions
Removed¶
0.4.0 - 2021-05-21¶
Added¶
Added functionality to the Obfuscator class to complete the pipeline from file to tree to obfuscated file
Added support for pre 3.9 versions of python, since ast.unparse released in 3.9, astunparse was the library used
Added several tests for the Obfuscator class
Changed¶
Removed¶
0.3.0 - 2021-05-20¶
Added¶
Added treeutils package
Added treeutils.class_scope_utils.py
Added treeutils.function_scope_utils.py
Added tests for treeutils package
Added scripts/coverage.sh to execute code coverage reports
Added coverage.sh to .travis.yml
Changed¶
utils.tree.py is now treeutils.general.py
Removed¶
0.2.2 - 2021-05-19¶
Added¶
Changed¶
Made docs cleaner by grouping modules in the same package together
Removed¶
0.2.0 - 2021-05-19¶
Added¶
Added assign_handler.py to handle ast.Assign nodes
Added call_handler.py to handle ast.Call nodes
Added a _debug_name property to handlers
Added an execution_priority property to handlers to sort their execution order
Added methods to DefinitionTracker to name classes, functions and variables that are added to definitions
Added a new module in utils called tree.py, it contains a function to add a parent reference to all ast nodes this may be useful for determining the scope of variables
Added tests for CallHandler, AssignHandler, ClassHandler, FunctionHandler and a test for the complete chain
Changed¶
Changed string_literal_handler.py and StringLiteralHandler to just literal_handler.py and LiteralHandler
Updated docstrings for sphinx
Changed DefinitionTracker.definitions to hold dictionaries instead of lists
obscurepy.utils.loader.__create_handlers() now sorts them by execution_priority
Removed¶
Removed methods.md