Skip to content

7. Changelog

Maksymilian edited this page Dec 9, 2024 · 4 revisions

Changelog

This Changelog documents all notable changes to the PictureComparer library, starting from version 0.7.0 and moving forward. Changes are categorized into four types of clarity:

  • Added: New features or functionality.
  • Changed: Updates or modifications to existing behavior.
  • Fixed: Bug fixes or error corrections.
  • Removed: Deprecated or removed features.

Version 0.7.0 - Latest

Release Date: 09.12.2024

This is the first stable release of PictureComparer. Key features include:

  • Added

    • New Interfaces and Classes:
      • Grouper interface and its implementation CRC32Grouper.
      • Processor class, which orchestrates the entire processing pipeline.
      • AdaptiveCache class: Implements an Adaptive Cache System using the Caffeine Cache library.
    • Logging:
      • Integrated the SLF4J framework with Logback as the native implementation.
    • Tests:
      • Added tests for algorithms and the new Processor class.
  • Changed

    • Algorithm Interface:
      • Refactored the Algorithm interface.
      • Adjusted all Algorithm implementations to align with the updated interface version.
    • Core Components:
      • Updated FileOperator and FileVisitor to use the new logging system.
    • Algorithms:
    • Refactored the PixelByPixel algorithm implementation.
    • Updated JavaDoc for the PerceptualHash algorithm.
    • Documentation:
      • Updated pom.xml and README.md.
  • Removed

    • Removed Deprecated Components:
      • RecordProcessor, ImageRecord, and Record classes.
      • LoggingInterface and TinyLog support.
      • FileUtils interface.

How to Contribute to the Changelog

If you contribute changes or fixes to the library, please include a clear description of the update in your Pull Request. Use the categories (Added, Changed, Fixed, Removed) to document the changes concisely.


Notes for Future Updates

As new versions are released, this Changelog will be updated to include details about changes, fixes and enhancements. Keeping the Changelog organized ensures that users can easily understand what has been added, modified, or fixed with each release.

Format for Changelog Entries

For contributors, here's a template to follow when documenting changes:

## Version X.Y.Z - Release Title

**Release Date:** _YYYY-MM-DD_

**Added**:
- Description of the new feature.

**Changed**:
- Explanation of the modification.

**Fixed**:
- Details about the bug fix.

**Removed**:
- Information about deprecated or removed functionality.

Accessing Previous Versions

For historical versions or snapshots of the code, you can always access the repository's releases page or browse tagged commits in the GitHub repository.