Skip to content
Compare
Choose a tag to compare
@github-actions github-actions released this 23 Jul 04:30
· 27 commits to main since this release
8b49c62

Major Changes

  • 1326e99: ## πŸ’₯ Major Release: New @wdio/image-comparison-core Package

    πŸ—οΈ Architectural Refactor

    This release introduces a completely new core architecture with the dedicated @wdio/image-comparison-core package, replacing the generic webdriver-image-comparison module with a WDIO-specific solution.

    What was the problem?

    • The old webdriver-image-comparison package was designed for generic webdriver usage
    • Complex integration between generic and WDIO-specific code
    • Limited test coverage (~58%) making maintenance difficult
    • Mixed responsibilities between core logic and service integration

    What changed?

    βœ… New dedicated core package: @wdio/image-comparison-core - purpose-built for WebdriverIO
    βœ… Cleaner architecture: Modular design with clear separation of concerns
    βœ… Enhanced test coverage: Improved from ~58% to ~90% across all metrics
    βœ… Better maintainability: Organized codebase with comprehensive TypeScript interfaces
    βœ… WDIO-specific dependencies: Only depends on @wdio/logger, @wdio/types, etc.

    πŸ§ͺ Testing Improvements

    • 100% branch coverage on critical decision points
    • Comprehensive unit tests for all major functions
    • Optimized mocks for complex scenarios
    • Better test isolation and reliability
    Before/After % Stmts % Branch % Funcs % Lines
    Previous 58.59 91.4 80.71 58.59
    After refactor 90.55 96.38 93.99 90.55

    πŸ”§ Service Integration

    The @wdio/visual-service now imports from the new @wdio/image-comparison-core package while maintaining the same public API and functionality for users.

    πŸ“ˆ Performance & Quality

    • Modular architecture: Easier to maintain and extend
    • Type safety: Comprehensive TypeScript coverage
    • Clean exports: Well-defined public API
    • Internal interfaces: Proper separation of concerns

    πŸ”„ Backward Compatibility

    βœ… No breaking changes for end users
    βœ… Same public API maintained
    βœ… Existing configurations continue to work
    βœ… All existing functionality preserved

    🎯 Future Benefits

    This refactor sets the foundation for:

    • Easier addition of new features
    • Better bug fixing capabilities
    • Enhanced mobile and native app support
    • More reliable MultiRemote functionality

    πŸ“¦ Dependency Updates

    • Updated most dependencies to their latest versions
    • Improved security with latest package versions
    • Better compatibility with current WebdriverIO ecosystem
    • Enhanced performance through updated dependencies
    • Remove unused packages

    Note: This is an architectural improvement that modernizes the codebase while maintaining full backward compatibility. All existing functionality remains unchanged for users.


    Committers: 1