Releases: systemsdk/phpcpd
Releases · systemsdk/phpcpd
Release list
v9.1.0
- Add JSON and SARIF 2.1.0 loggers for CI/CD integrations
- Implement
[inconsistent]clone detection and fix fuzzy matching logic - Fix attribute boundary detection for both parsing strategies
- Fix directory scanning bug with the
--excludeoption - Update composer dependencies
- Add audit counters for #[SuppressCpd] to CLI, JSON, and XML reports
- Introduce a fluent
Configbuilder pattern loaded fromphpcpd.config.phpwith a dist template - Add
--quietoption to suppress non-essential CLI output for CI/CD environments (fixes #205) - Implement CI/CD exit code controls via
--max-percentageand--ignore-violations-on-exitoptions (fixes #190) - Add an overlap filter to automatically prevent duplicate reporting of intersecting or nested clone ranges
- Updated documentation
v9.0.0
Updated
- Updated the minimum PHP requirement to version 8.4, meaning this tool is no longer supported on PHP 8.3.
- Updated the Suffix Tree engine to use PHP native arrays, completely eliminating hash collisions, achieving zero memory bloat, and boosting performance by up to 17%.
- Updated the PMD-CPD XML report generator to use the modern Dom\XMLDocument extension.
- Updated Composer dependencies and improved the development environment for the support team.
v8.3.0
Added
- Added
--ignore-no-files optionto return a success exit code if no files were found. - Added
#[SuppressCpd]to ignore code clones inside a class or method (use Systemsdk\PhpCPD\Attributes\SuppressCpd;).
Updated
- Improved Suffix Tree-based algorithm for code clone detection.
- Updated Dev environment: Updated XDebug, Phing, dev composer dependencies.
v8.2.4
v8.2.3
v8.2.2
v8.2.1
v8.2.0
v8.1.1
v8.1.0
phpcpd 8.1.0 release. Added Suffix Tree-based algorithm for code clone detection (experimental), added progress bar. Made codebase refactoring. Updated packages: sebastian/cli-parser, sebastian/version, phpunit/php-file-iterator, phpunit/php-timer. Updated tests to the PHPUnit 12.