Tags: shyim/BetterReflection
Tags
### Release Notes for [6.6.0](https://github.com/Roave/BetterReflecti… …on/milestone/89) Feature release (minor) ### 6.6.0 - Total issues resolved: **0** - Total pull requests resolved: **5** - Total contributors: **2** #### enhancement - [1325: Fixed `Expecting E&Roave#95;WARNING and E&Roave#95;USER&Roave#95;WARNING is deprecated and will no longer be possible in PHPUnit 10.`](Roave#1325) thanks to @kukulich - [1320: 100 % mutation score](Roave#1320) thanks to @kukulich #### dependencies,enhancement - [1322: Bump vimeo/psalm from 5.1.0 to 5.6.0](Roave#1322) thanks to @kukulich #### renovate - [1319: Update dependency doctrine/coding-standard to v11](Roave#1319) thanks to @renovate[bot] - [1317: Lock file maintenance](Roave#1317) thanks to @renovate[bot]
### Release Notes for [6.5.0](https://github.com/Roave/BetterReflecti… …on/milestone/86) Feature release (minor) ### 6.5.0 - Total issues resolved: **0** - Total pull requests resolved: **9** - Total contributors: **4** #### dependencies - [1318: Bump jetbrains/phpstorm-stubs from 2022.2 to 2022.3](Roave#1318) thanks to @kukulich #### dependencies,enhancement - [1316: Removed dead PHPUnit `@requires`](Roave#1316) thanks to @kukulich - [1315: Dropped PHP 8.0 support](Roave#1315) thanks to @kukulich #### enhancement,renovate - [1314: Update dependency vimeo/psalm to v5](Roave#1314) thanks to @renovate[bot] #### bug - [1313: Merge release 6.4.1 into 6.5.x](Roave#1313) thanks to @github-actions[bot] #### dependencies,enhancement,renovate - [1308: Lock file maintenance](Roave#1308) thanks to @renovate[bot] #### renovate - [1307: Update dependency roave/backward-compatibility-check to v8](Roave#1307) thanks to @renovate[bot] #### enhancement - [1306: Configure config.platform.php in composer.json](Roave#1306) thanks to @herndlm #### dependencies,renovate - [1305: Lock file maintenance](Roave#1305) thanks to @renovate[bot]
### Release Notes for [6.4.1](https://github.com/Roave/BetterReflecti… …on/milestone/85) 6.4.x bugfix release (patch) ### 6.4.1 - Total issues resolved: **1** - Total pull requests resolved: **1** - Total contributors: **2** #### bug - [1312: Fixed adapter `ReflectionMethod::getStartLine()` and `getEndLine()` when code location is missing](Roave#1312) thanks to @kukulich - [1309: CodeLocationMissing is thrown, also unable to compile initializer](Roave#1309) thanks to @DanielBadura
### Release Notes for [6.4.0](https://github.com/Roave/BetterReflecti… …on/milestone/84) Feature release (minor) ### 6.4.0 - Total issues resolved: **1** - Total pull requests resolved: **5** - Total contributors: **4** #### renovate - [1302: Update dependency roave/backward-compatibility-check to v7](Roave#1302) thanks to @renovate[bot] - [1301: Roll back ramsey/composer-install action to 2.1.0](Roave#1301) thanks to @renovate[bot] #### dependencies,enhancement - [1299: Configure Renovate](Roave#1299) thanks to @renovate[bot] #### enhancement - [1298: Optimized `ReflectionClass::getName()` for anonymous classes](Roave#1298) thanks to @kukulich and @lulco #### dependencies,php - [1292: Bump roave/infection-static-analysis-plugin from 1.24.0 to 1.25.0](Roave#1292) thanks to @dependabot[bot]
### Release Notes for [6.3.0](https://github.com/Roave/BetterReflecti… …on/milestone/82) Feature release (minor) ### 6.3.0 - Total issues resolved: **2** - Total pull requests resolved: **4** - Total contributors: **4** #### bug,reflection compatibility - [1286: Fixed reflection compatibility when method/property/constant/case name is empty](Roave#1286) thanks to @kukulich and @ondrejmirtes #### enhancement - [1285: `Reflection*::getStartLine()/getEndLine()/getStartColumn()/getEndColumn()` throws `\Roave\BetterReflection\Reflection\Exception\CodeLocationMissing` instead of `\RuntimeException`](Roave#1285) thanks to @kukulich and @Ocramius - [1284: Kill the last mutant in `ReflectionClass::getProperties()`](Roave#1284) thanks to @kukulich #### dependencies,php - [1274: Bump vimeo/psalm from 4.27.0 to 4.28.0](Roave#1274) thanks to @dependabot[bot]
### Release Notes for [6.2.0](https://github.com/Roave/BetterReflecti… …on/milestone/80) Feature release (minor) ### 6.2.0 - Total issues resolved: **0** - Total pull requests resolved: **3** - Total contributors: **2** #### enhancement - [1273: Fixed Covered Code MSI percentage](Roave#1273) thanks to @kukulich #### dependencies,php - [1272: Bump phpstan/phpstan from 1.8.7 to 1.8.8](Roave#1272) thanks to @dependabot[bot] - [1271: Bump phpstan/phpstan from 1.8.6 to 1.8.7](Roave#1271) thanks to @dependabot[bot]
### Release Notes for [6.1.0](https://github.com/Roave/BetterReflecti… …on/milestone/77) Feature release (minor) ### 6.1.0 - Total issues resolved: **1** - Total pull requests resolved: **7** - Total contributors: **4** #### enhancement - [1270: Optimisation of getting methods, properties and constants from interfaces](Roave#1270) thanks to @kukulich - [1266: Optimisations of getting methods, properties and constants in `ReflectionClass`](Roave#1266) thanks to @kukulich #### bug - [1269: Fixed detection of interface circular reference](Roave#1269) thanks to @kukulich and @ondrejmirtes - [1268: Circular interface failing test](Roave#1268) thanks to @ondrejmirtes - [1265: `Stringable` interface does not implement `Stringable`](Roave#1265) thanks to @herndlm #### dependencies,php - [1263: Bump symfony/console from 6.0.12 to 6.0.13](Roave#1263) thanks to @dependabot[bot] - [1262: Bump symfony/filesystem from 6.0.12 to 6.0.13](Roave#1262) thanks to @dependabot[bot]
### Release Notes for [6.0.0](https://github.com/Roave/BetterReflecti… …on/milestone/44) Backwards incompatible release (major) Notable breakages: ``` [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionUnionType#getTypes() now returns a non-empty-list<ReflectionNamedType|ReflectionIntersectionType>, where it previously returned list<ReflectionNamedType> [BC] CHANGED: Roave\BetterReflection\SourceLocator\Type\StringSourceLocator::__construct() parameter type changed from string to a non-contravariant non-empty-stringallowsNull [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassLoaderMethod\Exception\SignatureCheckFailed has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassLoaderMethod\FileCacheLoader has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassLoaderMethod\LoaderMethodInterface has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassLoaderMethod\EvalLoader has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\Exception\FailedToLoadClass has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\Exception\ClassAlreadyRegistered has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\Exception\ClassAlreadyLoaded has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassPrinter\ClassPrinterInterface has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassPrinter\PhpParserPrinter has been deleted [BC] REMOVED: Class Roave\BetterReflection\Util\Autoload\ClassLoader has been deleted [BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isAccessible() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionEnum#__construct() was removed [BC] CHANGED: Method __construct() of class Roave\BetterReflection\Reflection\ReflectionEnum visibility reduced from protected to private [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#__construct() was removed [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionClass#__construct() was marked "@internal" [BC] REMOVED: Class Roave\BetterReflection\SourceLocator\Exception\EmptyPhpSourceCode has been deleted [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector was removed [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionUnionType#__construct() was removed [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector visibility reduced from protected to private [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner visibility reduced from protected to private [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionUnionType#__construct() was marked "@internal" [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector was removed [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionNamedType#__construct() was removed [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector visibility reduced from protected to private [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner visibility reduced from protected to private [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionNamedType#__construct() was marked "@internal" [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector was removed [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionType#__construct() was removed [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector was removed [BC] REMOVED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionIntersectionType#__construct() was removed [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$reflector visibility reduced from protected to private [BC] CHANGED: Property Roave\BetterReflection\Reflection\ReflectionType#$owner visibility reduced from protected to private [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionIntersectionType#__construct() was marked "@internal" [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionEnum#__construct() was removed [BC] CHANGED: Method __construct() of class Roave\BetterReflection\Reflection\ReflectionEnum visibility reduced from protected to private [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#__construct() was removed [BC] CHANGED: Roave\BetterReflection\Reflection\ReflectionClass#__construct() was marked "@internal" [BC] CHANGED: The parameter $betterReflectionType of Roave\BetterReflection\Reflection\Adapter\ReflectionType::fromTypeOrNull() changed from Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null to Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#isArray() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#isCallable() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#getClass() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#getDeclaringNamespaceAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#getDeclaringNamespaceAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#getDeclaringNamespaceAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#getAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionEnumCase#getAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionConstant#getAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#getAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#getPositionInAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#__clone() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClassConstant#getAst() was removed [BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClassConstant#getPositionInAst() was removed [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getNamespaceName() changed from string to the non-covariant string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getNamespaceName() changed from string to string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClass#getNamespaceName() changed from string to the non-covariant string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClass#getNamespaceName() changed from string to string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionObject#getNamespaceName() changed from string to the non-covariant string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionObject#getNamespaceName() changed from string to string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionMethod#getNamespaceName() changed from string to the non-covariant string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionMethod#getNamespaceName() changed from string to string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionConstant#getNamespaceName() changed from string to the non-covariant string|null [BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionConstant#getNamespaceName() change ``` ### 6.0.0 - Total issues resolved: **7** - Total pull requests resolved: **49** - Total contributors: **6** #### enhancement - [1258: Fixed return type of `ReflectionClass::getDefaultProperties()`](Roave#1258) thanks to @kukulich - [1256: Detection of circular references in constant, method and property getters](Roave#1256) thanks to @herndlm - [1252: Optimise interface traversion in `ReflectionClass`](Roave#1252) thanks to @herndlm - [1248: Increased minimum covered code mutations core to 100 %](Roave#1248) thanks to @kukulich - [1247: Interface can have only public properties](Roave#1247) thanks to @kukulich - [1243: Some improvements for `ReflectionClass`](Roave#1243) thanks to @kukulich - [1242: Detection of trait use circular references](Roave#1242) thanks to @herndlm - [1241: Detection of interface extends circular references](Roave#1241) thanks to @herndlm - [1240: Detection of circular references](Roave#1240) thanks to @kukulich and @herndlm - [1238: Improved code coverage and mutation score](Roave#1238) thanks to @kukulich - [1236: Improved return type of `Reflection*::getModifiers()`](Roave#1236) thanks to @kukulich - [1234: Method names, property names etc could be only `non-empty-string`](Roave#1234) thanks to @kukulich - [1225: Fixed mutation testing badge](Roave#1225) thanks to @kukulich - [1223: Added methods to get value expression](Roave#1223) thanks to @kukulich - [1222: Deprecate converting initializer expressions to runtime values?](Roave#1222) thanks to @ondrejmirtes - [1221: Improved mutation score](Roave#1221) thanks to @kukulich - [1220: Improved mutation score](Roave#1220) thanks to @kukulich - [1215: CS: `RequireExplicitAssertion` with `enableIntegerRanges=true` and `enableAdvancedStringTypes=true`](Roave#1215) thanks to @kukulich - [1207: Merge release 5.11.0 into 6.0.x](Roave#1207) thanks to @github-actions[bot] - [1199: Merge release 5.10.0 into 6.0.x](Roave#1199) thanks to @github-actions[bot] - [1180: Merge release 5.9.0 into 6.0.x](Roave#1180) thanks to @github-actions[bot] - [1170: Merge release 5.8.0 into 6.0.x](Roave#1170) thanks to @github-actions[bot] - [1153: Merge release 5.7.0 into 6.0.x](Roave#1153) thanks to @github-actions[bot] #### BC break,enhancement - [1257: Less memory usage in `ReflectionMethod::withCurrentClass()`](Roave#1257) thanks to @kukulich - [1255: Mark `ReflectionClass::getMethods()` compatible with other similar getters](Roave#1255) thanks to @kukulich - [1245: Removed support for PHP4 style constructors](Roave#1245) thanks to @kukulich - [1235: Filter parameter for methods, properties and constants is always `int-mask-of`](Roave#1235) thanks to @kukulich - [1233: `ReflectionClass::getMethod()` returns null when method does not exist](Roave#1233) thanks to @kukulich - [1231: `ReflectionClass::getConstant()`, `getConstants()` and `getImmediateConstants()` more consistent with methods and properties methods](Roave#1231) thanks to @kukulich - [1230: Default PHP parser is not memoizing to prevent memory leaks](Roave#1230) thanks to @kukulich - [1229: Removed `ReflectionClass::getAst()` to prevent memory leaks](Roave#1229) thanks to @kukulich and @ondrejmirtes - [1226: Removed `ReflectionMethod::getAst()`, `getBodyAst()`, `getBodyCode()` and `getReturnStatementsAst()` to prevent memory leaks](Roave#1226) thanks to @kukulich - [1224: `Reflection*::getDocComment()` returns null when no doc comment](Roave#1224) thanks to @kukulich - [1219: `Reflection*::getNamespaceName()` returns null when no namespace - namespace as empty string is implemented only in adapters](Roave#1219) thanks to @kukulich - [1218: Removed `ReflectionClassConstant::getAst()` to prevent memory leaks](Roave#1218) thanks to @kukulich and @ondrejmirtes - [1216: Removed `ReflectionProperty::getAst()` to prevent memory leaks](Roave#1216) thanks to @kukulich and @ondrejmirtes - [1214: Removed some node references to prevent memory leaks](Roave#1214) thanks to @kukulich - [1213: Removed `ReflectionParameter::getAst()` to prevent memory leaks](Roave#1213) thanks to @kukulich - [1209: `ReflectionParameter::getClass()`, `ReflectionParameter::isArray()` and `ReflectionParameter::isCallable()` implementations moved only to adapter](Roave#1209) thanks to @kukulich - [1198: PHP 8.2: Support for disjunctive normal form types ](Roave#1198) thanks to @kukulich - [1142: Removed deprecated `Util\Autoload`](Roave#1142) thanks to @kukulich - [1141: Removed useleses method `ReflectionProperty::isAccessible()` in adapter](Roave#1141) thanks to @kukulich - [1140: Reflection types cleanup](Roave#1140) thanks to @kukulich - [1139: `ReflectionEnum::&Roave#95;&Roave#95;construct()` can be private](Roave#1139) thanks to @kukulich - [1138: `StringSourceLocator` is forced to be built with a `non-empty-string`](Roave#1138) thanks to @kukulich and @Ocramius - [981: 6.0 cleanup](Roave#981) thanks to @kukulich #### bug - [1251: Merge release 5.11.1 into 6.0.x](Roave#1251) thanks to @github-actions[bot] - [1246: Fixed `ReflectionNamedType::getClass()` for `self` defined in trait](Roave#1246) thanks to @kukulich #### bug,reflection compatibility - [1237: Fixed adapters compatibility](Roave#1237) thanks to @kukulich #### blocked,enhancement - [1232: Wait for phpstan to integrate/test `6.0.x` before releasing `6.0.0`](Roave#1232) thanks to @Ocramius #### dependencies,php - [1228: Bump slevomat/coding-standard from 8.5.0 to 8.5.1](Roave#1228) thanks to @dependabot[bot] - [1227: Bump phpstan/phpstan from 1.8.5 to 1.8.6](Roave#1227) thanks to @dependabot[bot] #### BC break - [1210: Removed `ReflectionClass::getDeclaringNamespaceAst()` - we don't need to keep a reference to the namespace AST node](Roave#1210) thanks to @kukulich
### Release Notes for [5.11.1](https://github.com/Roave/BetterReflect… …ion/milestone/73) 5.11.x bugfix release (patch) ### 5.11.1 - Total issues resolved: **0** - Total pull requests resolved: **1** - Total contributors: **1** #### bug - [1250: PHP 8.2: Property in readonly class is readonly](Roave#1250) thanks to @kukulich
### Release Notes for [5.11.0](https://github.com/Roave/BetterReflect… …ion/milestone/72) Feature release (minor) ### 5.11.0 - Total issues resolved: **0** - Total pull requests resolved: **2** - Total contributors: **1** #### enhancement,reflection compatibility - [1205: PHP 8.2: Constants in traits](Roave#1205) thanks to @kukulich #### dependencies,enhancement - [1191: Basic support for PHP 8.2](Roave#1191) thanks to @kukulich
PreviousNext