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.
-
22 new plugins covering additional forensic artifacts:
- NTUSER plugins:
recentdocs,comdlg32,runmru,muicache,appkeys,sysinternals,putty - SOFTWARE plugins:
app_paths,appinit_dlls,appcert_dlls,appcompat_flags,windows_defender,powershell_logging,execution_policy,networklist - SYSTEM plugins:
usb_devices,mounted_devices,shares,pagefile,lsa_packages,pending_file_rename - SAM plugins:
samparse- Parses user accounts with login times, password info, account flags
- NTUSER plugins:
-
Plugin validation system - Plugins are now tracked for validation status
- Validation status stored in
validated_plugins.json, generated by the test framework and shipped with the package is_plugin_validated()function to check validation status- Unvalidated plugins log a warning when executed
- Validation status stored in
-
--include-unvalidatedCLI flag forregipy-plugins-runcommand- By default, only validated plugins are executed
- Use this flag to include plugins that don't have validation test cases
-
include_unvalidatedparameter forrun_relevant_plugins()function- Default:
False(only validated plugins run) - Set to
Trueto include unvalidated plugins
- Default:
- Default plugin behavior: Only validated plugins run by default. This is a safer default as unvalidated plugins may return incomplete or inaccurate data.
- Updated README with comprehensive plugin list organized by hive type
- Updated plugin validation documentation
- Minimum Python version raised to 3.9 - Dropped support for Python 3.6, 3.7, and 3.8
- Removed
attrsdependency - All data classes (Cell,VKRecord,LIRecord,Value,Subkey) now use Python's built-indataclassesmodule instead ofattrs- If you used
attr.asdict()on these classes, switch todataclasses.asdict() - If you used
attr.fields()or other attrs introspection, switch todataclasses.fields()
- If you used
- Removed
setup.py- Package now usespyproject.tomlexclusively (PEP 517/518)
pyproject.tomlwith full PEP 621 metadatapy.typedmarker for PEP 561 type checking support- Pre-commit configuration with ruff and mypy hooks
- Consolidated CI workflow with test matrix for Python 3.9-3.13
- Development documentation in README
- Migrated from
flake8torufffor linting and formatting - Modernized Python syntax throughout codebase (f-strings, type hints, import sorting)
- Consolidated GitHub Actions workflows into unified
ci.ymlandpublish.yml - Updated all GitHub Actions to latest versions (v4/v5)
setup.py(replaced bypyproject.toml).flake8configuration (replaced by ruff config inpyproject.toml)- Legacy GitHub workflow files (
python-package.yml,python-publish.yml,tests.yml)
See GitHub Releases for previous versions.