Repository navigation
Releases: warwickallen/FileHashDatabase
Releases · warwickallen/FileHashDatabase
Release list
Enable test automation
What's Changed
- Enable test automation by @warwickallen in #3
Overview
This pull request introduces a comprehensive overhaul to bring the FileHashDatabase PowerShell module to a production-ready, professional standard suitable for publication.
Summary of Changes
🚀 Core Module Fixes & Enhancements
- Fixed PowerShell class loading across all supported versions (5.1+)
- Enhanced FileHashDatabase class with robust error handling and path resolution
- Improved module import reliability with multiple fallback strategies
- Better SQLite integration with comprehensive dependency management
🧪 Comprehensive CI/CD Pipeline
- PowerShell version matrix covering 5.1, 7.2, and 7.4
- Enhanced GitHub Actions workflow with native test reporting
- Improved test infrastructure with better error handling and cross-platform paths
- Added diagnostic tools (
Diagnostic.ps1) for troubleshooting module issues
🔧 Development & Build Tools
- Professional build script (
Build/Build.ps1) for local validation - Cross-platform whitespace standardisation with automated cleanup
- Git hooks for code quality ensuring consistent formatting
- Enhanced module manifest with proper metadata and dependencies
Commit Highlights
Module Loading & Compatibility (30ac0ec, f84fb84, 5ecb834)
- Fixed PowerShell class loading issues across all supported versions
- Implemented robust module root detection with multiple fallback methods
CI/CD Pipeline Overhaul (1f109f0, 35e2ceb, edccb27, 23322c4)
- Migrated from Windows 2019 to Windows 2022 (EOL compliance)
- Implemented native GitHub Actions test reporting with rich visual feedback
- Added comprehensive cross-platform testing matrix
- Enhanced error handling and dependency management in CI
Development Tools (30ac0ec, 2e2ff4d)
- Created professional build validation script (
Build/Build.ps1) - Added diagnostic tooling (
Diagnostic.ps1) for troubleshooting - Implemented whitespace standardisation with automated cleanup
- Added Git hooks for maintaining code quality
Database Schema Enhancement (30ac0ec)
- Re-introduced
DeduplicatedFileview for improved duplicate file analysis - Enhanced SQLite schema with better indexing and relationships
Testing Performed
- ✅ Cross-platform validation: Windows (5.1, 7.2, 7.4), Ubuntu (7.4), macOS (7.4)
- ✅ CI/CD pipeline testing: All 5 matrix combinations passing
- ✅ Module loading verification: Class instantiation working across PowerShell versions
- ✅ Dependency handling: Graceful fallbacks when PSSQLite unavailable
- ✅ Code quality: PSScriptAnalyzer compliance maintained
Breaking Changes
None - This release maintains full backward compatibility whilst significantly improving reliability and cross-platform support.
Technical Highlights
Module Architecture
- Version bump: 0.0.2 → 0.0.3
- ScriptsToProcess configuration: Properly loads classes via manifest
- Enhanced error handling: Comprehensive logging and graceful degradation
- Cross-platform paths: Handles Windows, Linux, and macOS path conventions
GitHub Actions Workflow
- Test matrix: 5 combinations covering key PowerShell versions and platforms
- Native reporting: Rich markdown tables with status indicators (✅ for PS 7.x, text for PS 5.1)
- Artifact management: Test results preserved for 30 days
- Dependency resilience: Tests continue even when optional dependencies missing
Compatibility
- PowerShell Versions: 5.1, 6.x, 7.x+
- Operating Systems: Windows
- Dependencies: SQLite (handled internally)
Full Changelog: v0.0.2...v0.0.3