CHANGELOG ========= 7.1 --- * Introduce `PropertyDocBlockExtractorInterface` to extract a property's doc block * Restrict access to `PhpStanExtractor` based on visibility * Add `PropertyTypeExtractorInterface::getType()` as experimental 6.4 --- * Make properties writable when a setter in camelCase exists, similar to the camelCase getter 6.1 --- * Add support for phpDocumentor and PHPStan pseudo-types * Add PHP 8.0 promoted properties `@param` mutation support to `PhpDocExtractor` * Add PHP 8.0 promoted properties `@param` mutation support to `PhpStanExtractor` 6.0 --- * Remove the `Type::getCollectionKeyType()` and `Type::getCollectionValueType()` methods, use `Type::getCollectionKeyTypes()` and `Type::getCollectionValueTypes()` instead * Remove the `enable_magic_call_extraction` context option in `ReflectionExtractor::getWriteInfo()` and `ReflectionExtractor::getReadInfo()` in favor of `enable_magic_methods_extraction` 5.4 --- * Add PhpStanExtractor 5.3 --- * Add support for multiple types for collection keys & values * Deprecate the `Type::getCollectionKeyType()` and `Type::getCollectionValueType()` methods, use `Type::getCollectionKeyTypes()` and `Type::getCollectionValueTypes()` instead 5.2.0 ----- * deprecated the `enable_magic_call_extraction` context option in `ReflectionExtractor::getWriteInfo()` and `ReflectionExtractor::getReadInfo()` in favor of `enable_magic_methods_extraction` 5.1.0 ----- * Add support for extracting accessor and mutator via PHP Reflection 4.3.0 ----- * Added the ability to extract private and protected properties and methods on `ReflectionExtractor` * Added the ability to extract property type based on its initial value 4.2.0 ----- * added `PropertyInitializableExtractorInterface` to test if a property can be initialized through the constructor (implemented by `ReflectionExtractor`) 3.3.0 ----- * Added `PropertyInfoPass`