@@ -10,6 +10,46 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
1010
1111---
1212
13+ ## [ 1.1.0] - 2026-06-28
14+
15+ ### Added — integrations
16+
17+ - ** Headless mode** (` LucianoPereira\PhpcpdNext\Phpcpd::detect() ` ): a one-call, in-process API that
18+ finds files, runs the same engine the CLI uses, and returns the raw ` CodeCloneMap ` — no banner, no
19+ argv parsing, no file I/O. The CLI and all embedders now share a single detection core (` Engine ` ),
20+ so they can never disagree about what a clone is.
21+ - ** Framework presets** (` --preset=<name> ` , and ` preset: ` in the headless API): a named bundle of
22+ paths, suffixes, and excludes — pure configuration, no runtime dependency. Ships with a ** ` laravel ` **
23+ preset (scans ` app routes database config ` ; skips ` vendor ` , ` storage ` , ` bootstrap/cache ` , ` public ` ,
24+ Blade views, and migration boilerplate). Explicit flags seed-then-override the preset. New presets
25+ are a single ` Preset ` entry in ` src/Presets.php ` .
26+ - ** PHPUnit integration** (` integration/phpunit/ ` ): an ` AssertNoDuplication ` trait and a
27+ ` DuplicationConstraint ` that turn copy/paste detection into a regression test, with offending
28+ locations (and ` [inconsistent] ` flags) printed on failure. Shipped in the ** production**
29+ autoloader under ` LucianoPereira\PhpcpdNext\PHPUnit\ ` , so it works for any project that requires
30+ phpcpd-next (even as ` --dev ` ). phpcpd-next dogfoods it — ` SelfDryTest ` now keeps ` src/ ` clean
31+ through this exact trait.
32+ - ** Laravel via Artisan** : documented (no extra package) by wiring the headless API into a command.
33+
34+ ### Packaging & distribution
35+
36+ - ** Published to Packagist** as ` phpcpd-next/phpcpd ` : ` composer require --dev phpcpd-next/phpcpd ` .
37+ - ` composer.json ` : added ` type ` , ` keywords ` , and a ` suggest ` for ` phpunit/phpunit ` (the optional
38+ PHPUnit integration); moved the ` PHPUnit\ ` namespace into the production autoloader.
39+ - Added ` .gitattributes ` with ` export-ignore ` rules so the dist tarball ships only runtime code
40+ (` src/ ` , ` integration/ ` , the binary), not tests, benchmarks, or tool configs.
41+
42+ ### Tooling
43+
44+ - Committed a ` .php-cs-fixer.dist.php ` codifying the existing code style, so ` composer lint ` /
45+ ` composer check ` run non-interactively.
46+
47+ ### Documentation
48+
49+ - Reworked the README to document the ** full** feature surface accurately: the real default
50+ (Rabin-Karp + TokenBag) and ` --rk ` , all four output formats, the complete option reference split
51+ into stable vs. advanced/research flags, presets, headless mode, and the PHPUnit integration.
52+
1353## [ 1.0.0] - 2026-06-27
1454
1555### Performance
0 commit comments