- Simplified email check method to ensure param_value is a string.
- Streamlined apply method for better handling of parameter values.
- Enhanced error handling when accessing parameters in Base objects.
- Added debug counters for processed objects in the ParameterProcessor class.
- Updated test cases to reflect changes in input parameters.
- Moved EmailMatcher and PatternChecker to a new matchers module.
- Introduced ParameterMatcher as an abstract class for matching strategies.
- Added PrefixMatcher and PatternMatcher classes for specific matching logic.
- Removed redundant code from the helpers module.
- Introduced a comprehensive developer guide for the Data Shield function.
- Detailed deployment workflows, including release creation and dependency management.
- Explained core components like parameter matching, traversal systems, and actions.
- Updated user guide with sanitization modes and usage instructions.
- Added troubleshooting tips for common issues.
- Updated the main function for better parameter sanitisation.
- Removed old ParameterProcessor class and integrated its functionality directly.
- Added new methods to handle v3-style properties and legacy v2 parameters.
- Improved email anonymisation logic in helper classes.
- Enhanced removal action to handle both dicts and Base objects.
- Improved error handling for dynamic attribute removal in Base objects.
- Updated anonymization action to support Revit-style parameters.
- Streamlined function inputs processing in the main automate function.
- Added new method for processing Revit parameters specifically.
- Introduced `AnonymizationAction` class for email handling.
- Added `EmailMatcher` to identify and anonymize emails.
- Updated `ParameterProcessor` to support value checking.
- Modified main function to create an anonymization action.
- Removed placeholder for the anonymization action.
Updated the strict mode in the matcher to check if the parameter name starts with the match value instead of being an exact match. This improves flexibility while still maintaining case insensitivity for non-strict matches.
- Introduced a new `ParameterMatcher` class for flexible matching.
- Added `PrefixMatcher` and `PatternMatcher` subclasses for specific match logic.
- Updated `ParameterAction` to include a check method.
- Replaced old removal action with a more generic `RemovalAction`.
- Enhanced input schema to clarify sanitization modes and parameters.
- Improved documentation throughout the codebase.
- Removed uv installation from workflows and Dockerfile.
- Consolidated tooling installations into a single step.
- Changed dependency installation to use requirements.txt instead of pyproject.toml.
- Set PYTHONPATH in the Dockerfile for module accessibility.
- Switched to using requirements.txt for installing dependencies.
- Removed the use of a specific package manager for syncing.
- Cleaned up the requirements file by removing autogenerated comments and unnecessary entries.
- Changed `uv pip install` to `uv pip sync` in workflow and Dockerfile.
- Added new package with dependencies in lock file.
- Removed old package definition from lock file.
- Changed pip upgrade and install commands to use 'uv'
- Updated workflow for installing dependencies
- Modified Dockerfile to reflect new installation approach
- Updated import paths to improve clarity.
- Removed unused imports from the initialisation file.
- Organised imports in various modules for consistency.
- Removed unnecessary imports from the main module.
- Consolidated import statements for `FunctionInputs` and `automate_function`.
- Updated test file to reflect new import paths.
- Changed project name format from hyphen to underscore.
- Updated package finding configuration in setup tools.
- Renamed several files and adjusted imports accordingly.
- Removed an empty helper file that was no longer needed.
- Added a new `__init__.py` for better module organisation.
- Changed Python version to 3.12.4 in workflows
- Switched to using 'uv' for dependency installation
- Updated Dockerfile to reflect new base image and install method
- Added package configuration in pyproject.toml
- Simplified `PrefixRemovalAction` by removing inheritance.
- Consolidated parameter removal logic into a single method.
- Enhanced tracking of affected parameters for reporting.
- Updated processing to prioritise v3 structure while keeping v2 support as a placeholder.
- Cleaned up comments and improved code readability.
- Switched from Poetry to pip for managing dependencies.
- Updated Python version in the Dockerfile to 3.13.
- Simplified installation steps in CI workflow and Dockerfile.
- Added .gitignore to exclude IDE-specific files.
- Created inspection profiles for code quality checks.
- Set up project metadata in various XML files.
- Removed unused dependencies from the lock file.
- Refactored main.py to streamline function calls and imports.