NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #3018 most downloaded on Packagist
Provides collectors for classy constructs (classes, enums, interfaces, and traits).
Last release 13 days ago
24 Sep 2026
Ships fairly regularly
a new release about every 7 months
Most releases are documented
notes for 18 of 22 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
22 releases · first in 2017
composer(deps-dev): Bump phpstan/phpstan-deprecation-rules from 2.0.3 to 2.0.4 by @dependabot [bot] in #1162
zizmor by @localheinz in #1200renew.yaml into configuration by @localheinz in #1206ubuntu-24.04 instead of ubuntu-latest by @localheinz in #1269https instead of http for monthly downloads badge by @localheinz in #1270Note truncated.
One column per quarter.
For a full diff see [3.0.0...3.1.0][3.0.0...3.1.0].
github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 7.0.0 to 7.1.0 by @dependabot [bot] in #1120
File instead of string when referencing paths to files by @localheinz in #1123string when attempting to create a File by @localheinz in #1124ExceptionInterface to Exception by @localheinz in #1125File to FilePath by @localheinz in #1126FileCouldNotBeParsed::fromFileAndParseError() to FileCouldNotBeParsed::atFilePathWithParseError() by @localheinz in #1127Source by @localheinz in #1128Source instead of string when referencing source code by @localheinz in #1130FileCouldNotBeParsed when attempting to collect Constructs from from Finder yielding SplFileInfo with unparseable code by @localheinz in #1131ConstructFromFile to ConstructFromFilePath by @localheinz in #1133ConstructFromFileCollector to ConstructFromFilePathCollector by @localheinz in #1134Full Changelog: 2.0.0...3.0.0
For a full diff see [2.0.0...3.0.0][2.0.0...3.0.0].
Source ([#1128]), by [@localheinz]File instead of string when referencing paths to files ([#1123]), by [@localheinz]InvalidFile exception when attempting to create a File from blank or empty strings ([#1124]), by [@localheinz]ExceptionInterface to Exception ([#1125]), by [@localheinz]File to FilePath ([#1126]), by [@localheinz]FileCouldNotBeParsed::fromFileAndParseError() to FileCouldNotBeParsed::atFilePathWithParseError() ([#1127]), by [@localheinz]Source instead of string when referencing source code ([#1130]), by [@localheinz]FileCouldNotBeParsed when attempting to collect Constructs from a Finder yielding SplFileInfos with unparseable source code ([#1131]), by [@localheinz]FileCouldNotBeRead::at() and FileDoesNotExist::at() to FileCouldNotBeRead::atFilePath() and FileDoesNotExist::atFilePath() ([#1132]), by [@localheinz]ConstructFromFile to ConstructFromFilePath ([#1133]), by [@localheinz]ConstructFromFileCollector and DefaultConstructFromFileCollector to ConstructFromFilePathCollector and DefaultConstructFromFilePathCollector ([#1134]), by [@localheinz]github-actions(deps): Bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot [bot] in #1080
Construct::__toString() by @localheinz in #1118Full Changelog: 1.9.0...2.0.0
For a full diff see [1.9.0...2.0.0][1.9.0...2.0.0].
Constructs are collected, using Collector\ConstructFromSourceCollector, Collector\ConstructFromFileCollector, Collector\ConstructFromSplFileInfoCollector, and Collector\ConstructFromFinderCollector, instead of Constructs, which return lists of ConstructFromSource, ConstructFromFile, and ConstructFromSplFileInfo, each of which compose the Name and the Type of a Construct ([#1119]), by [@localheinz]composer(deps-dev): Bump ergebnis/phpunit-slow-test-detector from 2.19.1 to 2.20.0 by @dependabot [bot] in #1069
Full Changelog: 1.8.0...1.9.0
For a full diff see [1.8.0...1.9.0][1.8.0...1.9.0].
composer(deps-dev): Bump phpstan/phpstan-deprecation-rules from 2.0.1 to 2.0.2 by @dependabot [bot] in #1032
Full Changelog: 1.7.0...1.8.0
For a full diff see [1.7.0...1.8.0][1.7.0...1.8.0].
Enhancement: Synchronize with ergebnis/php-package-template by @localheinz in #808
ergebnis/php-package-template by @localheinz in #808ergebnis/php-package-template by @localheinz in #810ergebnis/php-package-template by @localheinz in #826list in DocBlocks by @localheinz in #927vimeo/psalm to phpstan/phpstan by @localheinz in #988ergebnis/php-package-template by @localheinz in #990Full Changelog: 1.6.0...1.7.0
For a full diff see [1.6.0...1.7.0][1.6.0...1.7.0].
Fix: Do not configure platform by @localheinz in #793
platform by @localheinz in #793ergebnis/php-package-template by @localheinz in #796Full Changelog: 1.5.0...1.6.0
For a full diff see [1.5.0...1.6.0][1.5.0...1.6.0].
Fix: Use ~ operator to limit compatibility with PHP versions by @localheinz in #630
~ operator to limit compatibility with PHP versions by @localheinz in #630ergebnis/php-package-template by @localheinz in #688ergebnis/php-package-template by @localheinz in #705ergebnis/php-package-template by @localheinz in #750Full Changelog: 1.4.0...1.5.0
For a full diff see [1.4.0...1.5.0][1.4.0...1.5.0].
Fix: Update README.md by @localheinz in #496
README.md by @localheinz in #496XDEBUG_MODE to coverage when collecting code coverage by @localheinz in #499ergebnis/.github by @localheinz in #537ergebnis/php-package-template by @localheinz in #539Full Changelog: 1.3.0...1.4.0
For a full diff see [1.3.0...1.4.0][1.3.0...1.4.0].
Fix: Do not use deprecated --diff-format option ( #492 ), by @localheinz
Php73 rule set (#482), by @localheinzergebnis/composer-normalize from 2.19.0 to 2.20.0 (#484), by @dependabot[bot]infection/infection from 0.15.3 to 0.25.5 (#487), by @dependabot[bot]infection/infection via configuration file only (#489), by @localheinzphpunit/phpunit from 8.5.22 to 9.5.11 (#485), by @dependabot[bot]ergebnis/composer-normalize from 2.20.0 to 2.22.0 (#491), by @dependabot[bot]--diff-format option (#492), by @localheinzergebnis/php-cs-fixer-config from 2.14.0 to 3.4.0 (#490), by @dependabot[bot]Php74 rule set (#493), by @localheinzCHANGELOG.md (#495), by @localheinzFor a full diff see [1.2.0...1.3.0][1.2.0...1.3.0].
Fix: Use methods instead of deprecated magic properties ( #464 ), by @localheinz
phpstan/phpstan from 0.12.70 to 0.12.71 (#345), by @dependabot[bot]actions/cache from v2.1.3 to v2.1.4 (#346), by @dependabot[bot]actions/stale from v3.0.15 to v3.0.16 (#347), by @dependabot[bot]phpstan/phpstan from 0.12.71 to 0.12.73 (#348), by @dependabot[bot]phpstan/phpstan from 0.12.73 to 0.12.74 (#349), by @dependabot[bot]phpstan/phpstan from 0.12.74 to 0.12.75 (#352), by @dependabot[bot]vimeo/psalm from 4.4.1 to 4.5.2 (#353), by @dependabot[bot]phpstan/phpstan from 0.12.75 to 0.12.76 (#354), by @dependabot[bot]vimeo/psalm from 4.5.2 to 4.6.0 (#355), by @dependabot[bot]phpstan/phpstan from 0.12.76 to 0.12.77 (#357), by @dependabot[bot]vimeo/psalm from 4.6.0 to 4.6.1 (#356), by @dependabot[bot]actions/stale from v3.0.16 to v3.0.17 (#358), by @dependabot[bot]stefanzweifel/git-auto-commit-action from v4.8.0 to v4.9.0 (#359), by @dependabot[bot]phpstan/phpstan from 0.12.77 to 0.12.78 (#360), by @dependabot[bot]shivammathur/setup-php from 2.9.0 to 2.10.0 (#361), by @dependabot[bot]stefanzweifel/git-auto-commit-action from v4.9.0 to v4.9.1 (#362), by @dependabot[bot]vimeo/psalm from 4.6.1 to 4.6.2 (#363), by @dependabot[bot]phpstan/phpstan from 0.12.78 to 0.12.79 (#364), by @dependabot[bot]phpstan/phpstan from 0.12.79 to 0.12.80 (#365), by @dependabot[bot]stefanzweifel/git-auto-commit-action from v4.9.1 to v4.9.2 (#366), by @dependabot[bot]ergebnis/composer-normalize from 2.13.2 to 2.13.3 (#367), by @dependabot[bot]actions/stale from v3.0.17 to v3.0.18 (#368), by @dependabot[bot]phpstan/phpstan from 0.12.80 to 0.12.81 (#369), by @dependabot[bot]vimeo/psalm from 4.6.2 to 4.6.4 (#371), by @dependabot[bot]phpunit/phpunit from 8.5.14 to 8.5.15 (#372), by @dependabot[bot]phpstan/phpstan from 0.12.81 to 0.12.82 (#373), by @dependabot[bot]vimeo/psalm from 4.6.4 to 4.7.0 (#374), by @dependabot[bot]stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 (#376), by @dependabot[bot]actions/cache from v2.1.4 to v2.1.5 (#377), by @dependabot[bot]phpstan/phpstan from 0.12.82 to 0.12.84 (#378), by @dependabot[bot]actions/cache from 2.1.5 to 2.1.6 (#397), by @dependabot[bot]ergebnis/php-cs-fixer-config from 2.13.0 to 2.14.0 (#387), by @dependabot[bot]actions/stale from 3.0.18 to 4 (#411), by @dependabot[bot]stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 (#390), by @dependabot[bot]phpstan/phpstan from 0.12.84 to 0.12.94 (#415), by @dependabot[bot]vimeo/psalm from 4.7.0 to 4.9.2 (#417), by @dependabot[bot]phpunit/phpunit from 8.5.15 to 8.5.19 (#416), by @dependabot[bot]psalm/plugin-phpunit from 0.15.1 to 0.16.1 (#405), by @dependabot[bot]shivammathur/setup-php from 2.10.0 to 2.12.0 (#412), by @dependabot[bot]phpstan/phpstan-strict-rules from 0.12.9 to 0.12.10 (#409), by @dependabot[bot]ergebnis/composer-normalize from 2.13.3 to 2.15.0 (#403), by @dependabot[bot]vimeo/psalm from 4.9.2 to 4.9.3 (#419), by @dependabot[bot]actions/github-script from 4.0.2 to 4.1 (#420), by @dependabot[bot]phpstan/phpstan from 0.12.94 to 0.12.95 (#421), by @dependabot[bot]phpstan/phpstan from 0.12.95 to 0.12.96 (#424), by @dependabot[bot]shivammathur/setup-php from 2.12.0 to 2.13.0 (#422), by @dependabot[bot]phpstan/phpstan-strict-rules from 0.12.10 to 0.12.11 (#423), by @dependabot[bot]phpunit/phpunit from 8.5.19 to 8.5.20 (#425), by @dependabot[bot]phpstan/phpstan from 0.12.96 to 0.12.97 (#426), by @dependabot[bot]phpstan/phpstan from 0.12.97 to 0.12.98 (#427), by @dependabot[bot]vimeo/psalm from 4.9.3 to 4.10.0 (#428), by @dependabot[bot]stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 (#430), by @dependabot[bot]shivammathur/setup-php from 2.13.0 to 2.14.0 (#429), by @dependabot[bot]phpstan/phpstan from 0.12.98 to 0.12.99 (#431), by @dependabot[bot]actions/github-script from 4.1 to 5 (#432), by @dependabot[bot]phpunit/phpunit from 8.5.20 to 8.5.21 (#433), by @dependabot[bot]octokit (#434), by @localheinzshivammathur/setup-php from 2.14.0 to 2.15.0 (#435), by @dependabot[bot]actions/checkout from 2.3.4 to 2.3.5 (#436), by @dependabot[bot]vimeo/psalm from 4.10.0 to 4.11.1 (#437), by @dependabot[bot]vimeo/psalm from 4.11.1 to 4.11.2 (#438), by @dependabot[bot]actions/checkout from 2.3.5 to 2.4.0 (#439), by @dependabot[bot]vimeo/psalm from 4.11.2 to 4.12.0 (#440), by @dependabot[bot]ergebnis/composer-normalize from 2.15.0 to 2.16.0 (#441), by @dependabot[bot]actions/cache from 2.1.6 to 2.1.7 (#443), by @dependabot[bot]vimeo/psalm from 4.12.0 to 4.13.1 (#444), by @dependabot[bot]shivammathur/setup-php from 2.15.0 to 2.16.0 (#445), by @dependabot[bot]phpunit/phpunit from 8.5.21 to 8.5.22 (#450), by @dependabot[bot]phpstan/phpstan (#455), by @localheinz8.1 (#457), by @localheinzvimeo/psalm from 4.13.1 to 4.16.1 (#451), by @dependabot[bot].php_cs to .php-cs-fixer.php (#461), by @localheinzergebnis/composer-normalize from 2.16.0 to 2.19.0 (#452), by @dependabot[bot]Helper from ergebnis/test-util (#462), by @localheinzergebnis/test-util (#463), by @localheinzrange() (#466), by @localheinzvimeo/psalm (#469), by @localheinzmake static-code-analysis-baseline (#468), by @localheinzPhp72 rule set (#472), by @localheinzScenario (#475), by @localheinzPhpVersion (#477), by @localheinzpcov (#480), by @localheinzenum (#478), by @localheinzFor a full diff see [1.1.1...1.2.0][1.1.0...1.2.0].
enum ([#478]), by [@localheinz]Construct::__toString() ([#467]), by [@localheinz]For a full diff see [1.1.0...1.1.1][1.1.0...1.1.1].
For a full diff see [1.1.0...1.1.1][1.1.0...1.1.1].
For a full diff see [1.0.1...1.1.0][1.0.1...1.1.0].
For a full diff see [1.0.1...1.1.0][1.0.1...1.1.0].
For a full diff see [1.0.0...1.0.1][1.0.0...1.0.1].
For a full diff see [1.0.0...1.0.1][1.0.0...1.0.1].
For a full diff see [0.5.2...1.0.0][0.5.2...1.0.0].
For a full diff see [0.5.2...1.0.0][0.5.2...1.0.0].
For a full diff see [0.5.1...0.5.2][0.5.1...0.5.2].
For a full diff see [0.5.1...0.5.2][0.5.1...0.5.2].
For a full diff see [0.5.0...0.5.1][0.5.0...0.5.1].
For a full diff see [0.5.0...0.5.1][0.5.0...0.5.1].
replace configuration from composer.json ([#100]), by [@localheinz]For a full diff see [0.4.0...0.5.0][0.4.0...0.5.0].
For a full diff see 0.4.0...0.5.0.
Renamed vendor namespace Localheinz to Ergebnis after move to @ergebnis (#88), by @localheinz
Run
$ composer remove localheinz/classy
and
$ composer require ergebnis/classy
to update.
Run
$ find . -type f -exec sed -i '.bak' 's/Localheinz\\Classy/Ergebnis\\Classy/g' {} \;
to replace occurrences of Localheinz\Classy with Ergebnis\Classy.
Run
$ find -type f -name '*.bak' -delete
to delete backup files created in the previous step.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →