Release Date: 09.12.2024
This is the first stable release of PictureComparer, delivering new features, performance improvements, and significant codebase modernization.
What's New?
Added:
- New Interfaces and Classes:
Grouper
interface and its implementationCRC32Grouper
.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.
- Added tests for algorithms and the new
Changed:
Algorithm
Interface:- Refactored the
Algorithm
interface. - Adjusted all
Algorithm
implementations to align with the updated interface version.
- Refactored the
- Core Components:
- Updated
FileOperator
andFileVisitor
to use the new logging system.
- Updated
- Algorithms:
- Refactored the PixelByPixel algorithm implementation.
- Updated JavaDoc for thePerceptualHash
algorithm. - Documentation:
- Updated
pom.xml
andREADME.md
.
- Updated
Removed:
- Removed Deprecated Components:
RecordProcessor
,ImageRecord
, andRecord
classes.LoggingInterface
and TinyLog support.FileUtils
interface.
Release Notes
- This version focuses on scalability, modularity, and modernizing the codebase.
- Performance improvements have been achieved via the Caffeine Cache integration.
- All major logging has been streamlined using SLF4J.
- Check out our new documentation for more details.
How to Upgrade
- Ensure you are running JDK 21 or higher.
- Update your dependencies to include the latest version of PictureComparer
- Review the new
Processor
class and updatedAlgorithm
interface to adapt custom implementation if necessary.