Changelog
This page documents the version history and changes made to TrigDroid.
Version 1.0.0 (Current)
New Features:
Modern dual-layer architecture with SOLID principles
TypeScript Frida hooks with type safety
Comprehensive CLI interface using Click
Python API for programmatic usage
Type-safe configuration with Pydantic
Device management with AndroidDevice and DeviceManager
Pluggable test runners architecture
Dependency injection container with ServiceLocator
Extensive sensor manipulation capabilities
Network state control (WiFi, data, Bluetooth)
Frida runtime instrumentation support
Device property manipulation
Automated UI interaction testing
Comprehensive logging and changelog system
Architecture Improvements:
Layer 1: Public API (
src/trigdroid/
)CLI Interface with rich device management
Python API with TrigDroidAPI class
Type-safe TestConfiguration
Comprehensive TestResult classes
AndroidDevice and DeviceManager wrappers
Layer 2: Infrastructure (
src/TrigDroid_Infrastructure/
)Protocol-based abstractions (ILogger, ITestRunner, IAndroidDevice)
DI container with ServiceLocator
Pluggable test execution (SensorTestRunner, FridaTestRunner)
Application orchestrator for workflow coordination
TypeScript Frida Hooks (
frida-hooks/
)Modern TypeScript implementation
Modular design with individual hook files
Type safety with
@types/frida-gum
NPM build integration
Security Focus:
Designed specifically for defensive security research
Malware analysis capabilities
Authorized testing workflows
Isolated environment recommendations
Testing & Quality:
Comprehensive test suite with pytest
Unit tests with mocked dependencies
Integration tests for component interaction
Device tests requiring Android device/emulator
Frida tests for instrumentation features
Test coverage reporting
Code quality tools (black, isort, mypy, ruff, pylint)
Documentation:
Complete Sphinx documentation with Read the Docs theme
API reference documentation
User guides and tutorials
Development guidelines
Installation instructions
Troubleshooting guides
Development Tools:
Development environment setup with pip install -e “.[full,dev]”
Code formatting with black and isort
Type checking with mypy
Linting with ruff and pylint
Automated testing with pytest
Build system with hatch
Legacy Versions
Previous versions of TrigDroid used different architectures and implementation approaches. The 1.0.0 release represents a complete modernization of the framework with improved maintainability, testability, and extensibility.
Key Changes from Legacy:
Migration from monolithic to modular architecture
Introduction of dependency injection and service locator patterns
Type safety improvements with Pydantic and TypeScript
Modern Python packaging with pyproject.toml
Comprehensive testing infrastructure
Professional documentation system
Migration Guide
If you’re migrating from a legacy version of TrigDroid, please note the following breaking changes:
Command Line Interface:
New CLI structure using Click framework
Updated command arguments and options
New device management commands
Python API:
New TrigDroidAPI class replaces legacy interfaces
TestConfiguration replaces old configuration methods
Updated result handling with TestResult classes
Configuration:
YAML configuration support
Type-safe configuration validation
New configuration file format
Testing:
New test runner architecture
Updated Frida hook implementation
Improved error handling and logging
For detailed migration instructions, please refer to the development guide or contact the development team.