Skip to content

5.0.0

Compare
Choose a tag to compare
@Ocramius Ocramius released this 25 Dec 18:05
· 200 commits to 5.1.x since this release
5.0.0
24a0301

Merry Christmas! 馃巹 馃巺

Major version, major work

This release is a new major version of roave/better-reflection, containing
over 600 commits, 163 pull requests, and more than 400 reviews, provided (mostly,
but not exclusively) by:

Thank you all: your thankless work means a lot.

Most relevant changes

The biggest improvements in this release are:

Language version support

Because of the incredible amount of tiny (yet high impact) backwards incompatible breakages
in php itself, we had to completely cut compatibility
between php:^7.4 and this library: a major version increase was required to support PHP 8.0,
and it is likely that this will happen again with new backwards-incompatible changes in PHP 8.2
and other future language versions.

Supporting both PHP 7.4 and PHP 8.0 was not feasibly possible without a dedicated budget for
the project: we hope that the improvements will help the ecosystem grow, and move to newer
versions of the language as soon as possible.

We may re-consider this approach, should patronage allow for full-time work on this library.

Breaking changes

If you extend or implement classes or interfaces of this library, we strongly endorse to
run vimeo/psalm or phpstan/phpstan on your codebase, to identify possibly breakage points.

Most notable breaking changes since 4.12.0:

Better reflector API

Following reflectors were merged into a single Roave\BetterReflection\Reflector\Reflector interface:

  • Roave\BetterReflection\Reflector\ClassReflector
  • Roave\BetterReflection\Reflector\FunctionReflector
  • Roave\BetterReflection\Reflector\ConstantReflector

Where you previously created a specific reflector, you would now use a new \Roave\BetterReflection\Reflector\DefaultReflector(...),
or rely on the default (new \Roave\BetterReflection\BetterReflection())->reflector() factory method.

Monkey-patching support removed

While BetterReflection 4.x advertised "monkey-patching" support, as in "modifying reflection symbols before they
are loaded by PHP", this functionality was too superficial, and supporting it fully would have required major
increase of the API surface of the library.

In order to focus our efforts on compatibility with core reflection, and support of newer PHP versions, we decided
to keep the library at what it does best: finding and reflecting code.

Therefore, all support for monkey-patching code has been removed: BetterReflection can still give you the AST
and source locations for your code, but changing and writing to it is now up to you, and the abstraction that
you prefer to use to do so.

DocBlock parsing removed

In 2020 and 2021, the detail in type declarations increased a lot, thanks to phpstan/phpstan and vimeo/psalm
pushing the ecosystem towards a more type-safe future.

DocBlock types now include generic types, purity markers,
inheritance refinements and cross-file references.

We can't really keep up with it (due to the ever-evolving standard) and the type parsing support that we provided
so far is insufficient to keep up with modern docBlock-based type definitions.

Therefore, DocBlock support has been completely removed: this library will limit itself to providing the
DocBlock contents, but without interpreting them.

Better types for reflection functions and types

Roave\BetterReflection\Reflection\ReflectionFunctionAbstract is now a trait: most methods that
used to accept it now require a union type of ReflectionFunction|ReflectionMethod to operate.

The same applies to Roave\BetterReflection\Reflection\ReflectionType: most type signatures in the
library will not operate with (or return) a ReflectionType, but instead a union type such as
NamedType|UnionType|IntersectionType|null, to better represent the limits of what this library
can understand, and to better highlight future backwards-incompatible changes.

Constant expressions can now yield objects and resources

Before PHP 8.0, it was not possible to put non-scalar values in const and constant() expressions,
at least from userland. This changed recently, and BetterReflection had to adapt too.

Evaluating AST expressions, such as when calling ReflectionConstant#getValue(), can now produce mixed
values, whereas only scalar and array values supported before

List of BC breaks

This is a list of detected BC breaks, generated via roave/backward-compatibility-check:6.0.x-dev.
It is a long list, but it is useful as a reference, should you encounter specific breakages in particular
methods that you rely upon.

[BC] REMOVED: Class Roave\BetterReflection\TypesFinder\ResolveTypes has been deleted
[BC] REMOVED: Class Roave\BetterReflection\TypesFinder\PhpDocumentor\NamespaceNodeToReflectionTypeContext has been deleted
[BC] REMOVED: Class Roave\BetterReflection\TypesFinder\FindReturnType has been deleted
[BC] REMOVED: Class Roave\BetterReflection\TypesFinder\FindPropertyType has been deleted
[BC] REMOVED: Class Roave\BetterReflection\TypesFinder\FindParameterType has been deleted
[BC] REMOVED: Method Roave\BetterReflection\BetterReflection#classReflector() was removed
[BC] REMOVED: Method Roave\BetterReflection\BetterReflection#functionReflector() was removed
[BC] REMOVED: Method Roave\BetterReflection\BetterReflection#constantReflector() was removed
[BC] CHANGED: Roave\BetterReflection\SourceLocator\Located\InternalLocatedSource was marked "@internal"
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\SourceLocator\Located\InternalLocatedSource#__construct() increased from 2 to 3
[BC] CHANGED: Parameter 1 of Roave\BetterReflection\SourceLocator\Located\InternalLocatedSource#__construct() changed name from extensionName to name
[BC] CHANGED: Roave\BetterReflection\SourceLocator\Located\EvaledLocatedSource was marked "@internal"
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\SourceLocator\Located\EvaledLocatedSource#__construct() increased from 1 to 2
[BC] CHANGED: The parameter $nonSplFileInfo of Roave\BetterReflection\SourceLocator\Exception\InvalidFileInfo::fromNonSplFileInfo() changed from no type to mixed
[BC] REMOVED: Method Roave\BetterReflection\SourceLocator\Exception\InvalidDirectory::fromNonStringValue() was removed
[BC] ADDED: Method reflectClass() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] ADDED: Method reflectAllClasses() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] ADDED: Method reflectFunction() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] ADDED: Method reflectAllFunctions() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] ADDED: Method reflectConstant() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] ADDED: Method reflectAllConstants() was added to interface Roave\BetterReflection\Reflector\Reflector
[BC] REMOVED: Method Roave\BetterReflection\Reflector\Reflector#reflect() was removed
[BC] REMOVED: Class Roave\BetterReflection\Reflector\FunctionReflector has been deleted
[BC] REMOVED: Class Roave\BetterReflection\Reflector\ConstantReflector has been deleted
[BC] REMOVED: Class Roave\BetterReflection\Reflector\ClassReflector has been deleted
[BC] CHANGED: Class Roave\BetterReflection\Reflection\ReflectionType became abstract
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionType::createFromTypeAndReflector() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionType#isBuiltin() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionType#targetReflectionClass() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionType#getName() was removed
[BC] CHANGED: Method allowsNull() of class Roave\BetterReflection\Reflection\ReflectionType changed from concrete to abstract
[BC] CHANGED: Method __toString() of class Roave\BetterReflection\Reflection\ReflectionType changed from concrete to abstract
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#setVisibility() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#getDocBlockTypeStrings() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#getDocBlockTypes() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#setType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionProperty#removeType() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionProperty#getDefaultValue() changed from no type to string|int|float|bool|array|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionProperty#getValue() changed from no type to mixed
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\ReflectionProperty#setValue() changed from no type to a non-contravariant mixed|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\ReflectionProperty#setValue() changed from no type to mixed
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\ReflectionProperty#setValue() changed from no type to mixed|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionProperty#getType() changed from Roave\BetterReflection\Reflection\ReflectionType|null to Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#getDocBlockTypeStrings() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#getDocBlockTypes() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#setType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionParameter#removeType() was removed
[BC] CHANGED: The parameter $spec of Roave\BetterReflection\Reflection\ReflectionParameter::createFromSpec() changed from no type to a non-contravariant array|string|Closure
[BC] CHANGED: The parameter $spec of Roave\BetterReflection\Reflection\ReflectionParameter::createFromSpec() changed from no type to array|string|Closure
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionParameter#getDeclaringFunction() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to the non-covariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionParameter#getDeclaringFunction() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionParameter#getDefaultValue() changed from no type to string|int|float|bool|array|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionParameter#getType() changed from Roave\BetterReflection\Reflection\ReflectionType|null to Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#setFinal() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#removeMethod() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#addMethod() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#removeProperty() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionObject#addProperty() was removed
[BC] CHANGED: Parameter 0 of Roave\BetterReflection\Reflection\ReflectionObject::createFromInstance() changed name from object to instance
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionObject#getConstant() changed from no type to string|int|float|bool|array|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\ReflectionObject#isInstance() changed from no type to a non-contravariant object
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\ReflectionObject#isInstance() changed from no type to object
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\ReflectionObject#setStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionObject#getStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionObject#getAst() changed from PhpParser\Node\Stmt\ClassLike to PhpParser\Node\Stmt\Class_|PhpParser\Node\Stmt\Interface_|PhpParser\Node\Stmt\Trait_|PhpParser\Node\Stmt\Enum_
[BC] REMOVED: Constant Roave\BetterReflection\Reflection\ReflectionMethod::CLOSURE_NAME was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#__construct() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#populateFunctionAbstract() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getNode() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getDocBlockReturnTypes() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromClosure() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromString() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromAst() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#addParameter() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeParameter() was removed
[BC] REMOVED: These ancestors of Roave\BetterReflection\Reflection\ReflectionMethod have been removed: ["Roave\\BetterReflection\\Reflection\\ReflectionFunctionAbstract"]
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionMethod#invoke() changed from no type to mixed
[BC] CHANGED: The parameter $args of Roave\BetterReflection\Reflection\ReflectionMethod#invoke() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionMethod#invokeArgs() changed from no type to mixed
[BC] CHANGED: Method __construct() of class Roave\BetterReflection\Reflection\ReflectionFunctionAbstract visibility reduced from protected to private
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#__construct() increased from 0 to 8
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getReturnType() changed from Roave\BetterReflection\Reflection\ReflectionType|null to Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getAst() changed from PhpParser\Node\FunctionLike to PhpParser\Node\Stmt\ClassMethod
[BC] CHANGED: Class Roave\BetterReflection\Reflection\ReflectionFunctionAbstract became a trait
[BC] REMOVED: Constant Roave\BetterReflection\Reflection\ReflectionFunctionAbstract::CLOSURE_NAME was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#__construct() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#populateFunctionAbstract() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getNode() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getDocBlockReturnTypes() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromClosure() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromString() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromAst() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#addParameter() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeParameter() was removed
[BC] CHANGED: Method getShortName() of class Roave\BetterReflection\Reflection\ReflectionFunctionAbstract changed from concrete to abstract
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getReturnType() changed from Roave\BetterReflection\Reflection\ReflectionType|null to Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null
[BC] CHANGED: Method getAst() of class Roave\BetterReflection\Reflection\ReflectionFunctionAbstract changed from concrete to abstract
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getAst() changed from PhpParser\Node\FunctionLike to PhpParser\Node\Stmt\ClassMethod|PhpParser\Node\Stmt\Function_|PhpParser\Node\Expr\Closure|PhpParser\Node\Expr\ArrowFunction
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#__construct() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#populateFunctionAbstract() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getNode() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getDocBlockReturnTypes() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeReturnType() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromClosure() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromString() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#setBodyFromAst() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#addParameter() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#removeParameter() was removed
[BC] REMOVED: These ancestors of Roave\BetterReflection\Reflection\ReflectionFunction have been removed: ["Roave\\BetterReflection\\Reflection\\ReflectionFunctionAbstract"]
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunction#invoke() changed from no type to mixed
[BC] CHANGED: The parameter $args of Roave\BetterReflection\Reflection\ReflectionFunction#invoke() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunction#invokeArgs() changed from no type to mixed
[BC] CHANGED: Method __construct() of class Roave\BetterReflection\Reflection\ReflectionFunctionAbstract visibility reduced from protected to private
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#__construct() increased from 0 to 3
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getReturnType() changed from Roave\BetterReflection\Reflection\ReflectionType|null to Roave\BetterReflection\Reflection\ReflectionNamedType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionIntersectionType|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionFunctionAbstract#getAst() changed from PhpParser\Node\FunctionLike to PhpParser\Node\Stmt\Function_|PhpParser\Node\Expr\Closure|PhpParser\Node\Expr\ArrowFunction
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionConstant#getValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClassConstant#getValue() changed from no type to mixed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#setFinal() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#removeMethod() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#addMethod() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#addProperty() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\ReflectionClass#removeProperty() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClass#getConstant() changed from no type to string|int|float|bool|array|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClass#getStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\ReflectionClass#setStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\ReflectionClass#getAst() changed from PhpParser\Node\Stmt\ClassLike to PhpParser\Node\Stmt\Class_|PhpParser\Node\Stmt\Interface_|PhpParser\Node\Stmt\Trait_|PhpParser\Node\Stmt\Enum_
[BC] REMOVED: Class Roave\BetterReflection\Reflection\Exception\ReflectionTypeDoesNotPointToAClassAlikeType has been deleted
[BC] REMOVED: Class Roave\BetterReflection\Reflection\Exception\InvalidAbstractFunctionNodeType has been deleted
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionType became abstract
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionType#__construct() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionType::fromReturnTypeOrNull() was removed
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionType#isBuiltin() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionType#allowsNull() changed from bool to the non-covariant no type
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionType#allowsNull() changed from bool to no type
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionProperty became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionProperty::export() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getValue() changed from no type to mixed
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getValue() changed from no type to a non-contravariant object|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getValue() changed from no type to object|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setValue() changed from no type to void
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setValue() changed from no type to a non-contravariant mixed|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setValue() changed from no type to mixed
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setValue() changed from no type to mixed|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#hasType() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getType() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionUnionType|Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType|Roave\BetterReflection\Reflection\Adapter\ReflectionIntersectionType|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isPublic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isPrivate() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isProtected() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isStatic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#isDefault() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getModifiers() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getDeclaringClass() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClass
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#getDocComment() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setAccessible() changed from no type to void
[BC] CHANGED: The parameter $accessible of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setAccessible() changed from no type to a non-contravariant bool
[BC] CHANGED: The parameter $accessible of Roave\BetterReflection\Reflection\Adapter\ReflectionProperty#setAccessible() changed from no type to bool
[BC] CHANGED: The return type of ReflectionProperty#isInitialized() changed from no type to bool
[BC] CHANGED: The return type of ReflectionProperty#getDefaultValue() changed from no type to mixed
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionParameter became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionParameter::export() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isPassedByReference() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#canBePassedByValue() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getDeclaringFunction() changed from no type to ReflectionFunctionAbstract
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getDeclaringClass() changed from no type to ReflectionClass|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getClass() changed from no type to ReflectionClass|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isArray() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isCallable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#allowsNull() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getPosition() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isOptional() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isVariadic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isDefaultValueAvailable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getDefaultValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#isDefaultValueConstant() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getDefaultValueConstantName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#hasType() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionParameter#getType() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType|Roave\BetterReflection\Reflection\Adapter\ReflectionUnionType|Roave\BetterReflection\Reflection\Adapter\ReflectionIntersectionType|Roave\BetterReflection\Reflection\Adapter\ReflectionType|null
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionObject became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionObject::export() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInternal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isUserDefined() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInstantiable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isCloneable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getFileName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStartLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getEndLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getDocComment() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getConstructor() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionMethod
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasMethod() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasMethod() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasMethod() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethod() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionMethod
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethod() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethod() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethods() changed from no type to array
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethods() changed from no type to a non-contravariant int|null
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getMethods() changed from no type to int|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasProperty() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasProperty() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasProperty() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperty() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionProperty
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperty() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperty() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperties() changed from no type to array
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperties() changed from no type to a non-contravariant int|null
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getProperties() changed from no type to int|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasConstant() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasConstant() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#hasConstant() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getConstants() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getConstant() changed from no type to mixed
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getConstant() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getConstant() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getInterfaces() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getInterfaceNames() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInterface() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getTraits() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getTraitNames() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getTraitAliases() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isTrait() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isAbstract() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isFinal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getModifiers() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInstance() changed from no type to bool
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInstance() changed from no type to a non-contravariant object
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isInstance() changed from no type to object
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#newInstance() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionObject
[BC] CHANGED: The parameter $arg of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#newInstance() changed from no type to mixed
[BC] CHANGED: Parameter 0 of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#newInstance() changed name from arg to args
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#newInstanceWithoutConstructor() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionObject
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#newInstanceArgs() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionObject
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getParentClass() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClass|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isSubclassOf() changed from no type to bool
[BC] CHANGED: The parameter $class of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isSubclassOf() changed from no type to a non-contravariant ReflectionClass|string
[BC] CHANGED: The parameter $class of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isSubclassOf() changed from no type to ReflectionClass|string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticProperties() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticPropertyValue() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $default of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticPropertyValue() changed from no type to a non-contravariant mixed|null
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticPropertyValue() changed from no type to string
[BC] CHANGED: The parameter $default of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getStaticPropertyValue() changed from no type to mixed|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#setStaticPropertyValue() changed from no type to void
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#setStaticPropertyValue() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#setStaticPropertyValue() changed from no type to string
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#setStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getDefaultProperties() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#isIterateable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#implementsInterface() changed from no type to bool
[BC] CHANGED: The parameter $interface of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#implementsInterface() changed from no type to a non-contravariant ReflectionClass|string
[BC] CHANGED: The parameter $interface of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#implementsInterface() changed from no type to ReflectionClass|string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getExtension() changed from no type to ReflectionExtension|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getExtensionName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#inNamespace() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getNamespaceName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionObject#getShortName() changed from no type to string
[BC] CHANGED: The return type of ReflectionClass#isAnonymous() changed from no type to bool
[BC] CHANGED: The return type of ReflectionClass#getReflectionConstants() changed from no type to array
[BC] CHANGED: The return type of ReflectionClass#getReflectionConstant() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant|false
[BC] CHANGED: The return type of ReflectionClass#isIterable() changed from no type to bool
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType::fromReturnTypeOrNull() was removed
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType#__construct() increased from 1 to 2
[BC] CHANGED: The parameter $betterReflectionType of Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType#__construct() changed from Roave\BetterReflection\Reflection\ReflectionType to a non-contravariant Roave\BetterReflection\Reflection\ReflectionNamedType
[BC] CHANGED: The parameter $betterReflectionType of Roave\BetterReflection\Reflection\Adapter\ReflectionNamedType#__construct() changed from Roave\BetterReflection\Reflection\ReflectionType to Roave\BetterReflection\Reflection\ReflectionNamedType
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionMethod became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionMethod::export() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#inNamespace() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isClosure() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isDeprecated() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isInternal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isUserDefined() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getClosureThis() changed from no type to object|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getClosureScopeClass() changed from no type to ReflectionClass|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getDocComment() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getEndLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getExtension() changed from no type to ReflectionExtension|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getExtensionName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getFileName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getNamespaceName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getNumberOfParameters() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getNumberOfRequiredParameters() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getParameters() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getReturnType() changed from no type to ReflectionType|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getShortName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getStartLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getStaticVariables() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#returnsReference() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isGenerator() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isVariadic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isPublic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isPrivate() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isProtected() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isAbstract() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isFinal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isStatic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isConstructor() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#isDestructor() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getClosure() changed from no type to Closure
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getClosure() changed from no type to a non-contravariant object|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getClosure() changed from no type to object|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getModifiers() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invoke() changed from no type to mixed
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invoke() changed from no type to a non-contravariant object|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invoke() changed from no type to object|null
[BC] CHANGED: The parameter $args of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invoke() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invokeArgs() changed from no type to mixed
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invokeArgs() changed from no type to a non-contravariant object|null
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#invokeArgs() changed from no type to object|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getDeclaringClass() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClass
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#getPrototype() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionMethod
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#setAccessible() changed from no type to void
[BC] CHANGED: The parameter $accessible of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#setAccessible() changed from no type to a non-contravariant bool
[BC] CHANGED: The parameter $accessible of Roave\BetterReflection\Reflection\Adapter\ReflectionMethod#setAccessible() changed from no type to bool
[BC] CHANGED: The return type of ReflectionFunctionAbstract#hasReturnType() changed from no type to bool
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionFunction became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionFunction::export() was removed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#inNamespace() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isClosure() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isDeprecated() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isInternal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isUserDefined() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getClosureThis() changed from no type to object|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getClosureScopeClass() changed from no type to ReflectionClass|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getDocComment() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getEndLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getExtension() changed from no type to ReflectionExtension|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getExtensionName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getFileName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getNamespaceName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getNumberOfParameters() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getNumberOfRequiredParameters() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getParameters() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getReturnType() changed from no type to ReflectionType|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getShortName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getStartLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getStaticVariables() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#returnsReference() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isGenerator() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isVariadic() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#isDisabled() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#invoke() changed from no type to mixed
[BC] CHANGED: The parameter $args of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#invoke() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#invokeArgs() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionFunction#getClosure() changed from no type to Closure
[BC] CHANGED: The return type of ReflectionFunctionAbstract#hasReturnType() changed from no type to bool
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant became final
[BC] CHANGED: The parameter $betterClassConstant of Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant#__construct() changed from Roave\BetterReflection\Reflection\ReflectionClassConstant to Roave\BetterReflection\Reflection\ReflectionClassConstant|Roave\BetterReflection\Reflection\ReflectionEnumCase
[BC] CHANGED: Parameter 0 of Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant#__construct() changed name from betterClassConstant to betterClassConstantOrEnumCase
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant#getValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant#getDocComment() changed from no type to string|false
[BC] CHANGED: Class Roave\BetterReflection\Reflection\Adapter\ReflectionClass became final
[BC] REMOVED: Method Roave\BetterReflection\Reflection\Adapter\ReflectionClass::export() was removed
[BC] CHANGED: The parameter $betterReflectionClass of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#__construct() changed from Roave\BetterReflection\Reflection\ReflectionClass to Roave\BetterReflection\Reflection\ReflectionClass|Roave\BetterReflection\Reflection\ReflectionEnum
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#__toString() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#__get() changed from no type to mixed
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#__get() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#__get() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isAnonymous() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInternal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isUserDefined() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInstantiable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isCloneable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getFileName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStartLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getEndLine() changed from no type to int|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getDocComment() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getConstructor() changed from no type to ReflectionMethod|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasMethod() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasMethod() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasMethod() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethod() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionMethod
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethod() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethod() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethods() changed from no type to array
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethods() changed from no type to a non-contravariant int|null
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getMethods() changed from no type to int|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasProperty() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasProperty() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasProperty() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperty() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionProperty
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperty() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperty() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperties() changed from no type to array
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperties() changed from no type to a non-contravariant int|null
[BC] CHANGED: The parameter $filter of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getProperties() changed from no type to int|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasConstant() changed from no type to bool
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasConstant() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#hasConstant() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getConstants() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getConstant() changed from no type to mixed
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getConstant() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getConstant() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getReflectionConstant() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClassConstant|false
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getReflectionConstant() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getReflectionConstant() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getReflectionConstants() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getInterfaces() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getInterfaceNames() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInterface() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getTraits() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getTraitNames() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getTraitAliases() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isTrait() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isAbstract() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isFinal() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getModifiers() changed from no type to int
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInstance() changed from no type to bool
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInstance() changed from no type to a non-contravariant object
[BC] CHANGED: The parameter $object of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isInstance() changed from no type to object
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#newInstance() changed from no type to self
[BC] CHANGED: The parameter $arg of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#newInstance() changed from no type to mixed
[BC] CHANGED: Parameter 0 of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#newInstance() changed name from arg to args
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#newInstanceWithoutConstructor() changed from no type to object
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#newInstanceArgs() changed from no type to object
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getParentClass() changed from no type to Roave\BetterReflection\Reflection\Adapter\ReflectionClass|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isSubclassOf() changed from no type to bool
[BC] CHANGED: The parameter $class of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isSubclassOf() changed from no type to a non-contravariant ReflectionClass|string
[BC] CHANGED: The parameter $class of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isSubclassOf() changed from no type to ReflectionClass|string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticProperties() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticPropertyValue() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $default of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticPropertyValue() changed from no type to a non-contravariant mixed|null
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticPropertyValue() changed from no type to string
[BC] CHANGED: The parameter $default of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getStaticPropertyValue() changed from no type to mixed|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#setStaticPropertyValue() changed from no type to void
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#setStaticPropertyValue() changed from no type to a non-contravariant string
[BC] CHANGED: The parameter $name of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#setStaticPropertyValue() changed from no type to string
[BC] CHANGED: The parameter $value of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#setStaticPropertyValue() changed from no type to mixed
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getDefaultProperties() changed from no type to array
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#isIterateable() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#implementsInterface() changed from no type to bool
[BC] CHANGED: The parameter $interface of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#implementsInterface() changed from no type to a non-contravariant ReflectionClass|string
[BC] CHANGED: The parameter $interface of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#implementsInterface() changed from no type to ReflectionClass|string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getExtension() changed from no type to ReflectionExtension|null
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getExtensionName() changed from no type to string|false
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#inNamespace() changed from no type to bool
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getNamespaceName() changed from no type to string
[BC] CHANGED: The return type of Roave\BetterReflection\Reflection\Adapter\ReflectionClass#getShortName() changed from no type to string
[BC] CHANGED: The return type of ReflectionClass#isIterable() changed from no type to bool
[BC] REMOVED: Method Roave\BetterReflection\NodeCompiler\CompilerContext#hasSelf() was removed
[BC] REMOVED: Method Roave\BetterReflection\NodeCompiler\CompilerContext#getSelf() was removed
[BC] CHANGED: Roave\BetterReflection\NodeCompiler\CompilerContext was marked "@internal"
[BC] CHANGED: The parameter $self of Roave\BetterReflection\NodeCompiler\CompilerContext#__construct() changed from Roave\BetterReflection\Reflection\ReflectionClass|null to a non-contravariant Roave\BetterReflection\Reflection\ReflectionClass|Roave\BetterReflection\Reflection\ReflectionProperty|Roave\BetterReflection\Reflection\ReflectionClassConstant|Roave\BetterReflection\Reflection\ReflectionEnumCase|Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction|Roave\BetterReflection\Reflection\ReflectionParameter|Roave\BetterReflection\Reflection\ReflectionConstant
[BC] CHANGED: The parameter $self of Roave\BetterReflection\NodeCompiler\CompilerContext#__construct() changed from Roave\BetterReflection\Reflection\ReflectionClass|null to Roave\BetterReflection\Reflection\ReflectionClass|Roave\BetterReflection\Reflection\ReflectionProperty|Roave\BetterReflection\Reflection\ReflectionClassConstant|Roave\BetterReflection\Reflection\ReflectionEnumCase|Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction|Roave\BetterReflection\Reflection\ReflectionParameter|Roave\BetterReflection\Reflection\ReflectionConstant
[BC] CHANGED: Parameter 1 of Roave\BetterReflection\NodeCompiler\CompilerContext#__construct() changed name from self to contextReflection
[BC] CHANGED: The return type of Roave\BetterReflection\NodeCompiler\CompilerContext#getFileName() changed from string to the non-covariant string|null
[BC] CHANGED: The return type of Roave\BetterReflection\NodeCompiler\CompilerContext#getFileName() changed from string to string|null
[BC] CHANGED: Roave\BetterReflection\NodeCompiler\CompileNodeToValue was marked "@internal"
[BC] CHANGED: The return type of Roave\BetterReflection\NodeCompiler\CompileNodeToValue#__invoke() changed from no type to Roave\BetterReflection\NodeCompiler\CompiledValue
[BC] CHANGED: Roave\BetterReflection\NodeCompiler\Exception\UnableToCompileNode was marked "@internal"
[BC] CHANGED: The number of required arguments for Roave\BetterReflection\NodeCompiler\Exception\UnableToCompileNode::becauseOfNotFoundConstantReference() increased from 2 to 3
[BC] REMOVED: Method Roave\BetterReflection\Identifier\IdentifierType#isMatchingReflector() was removed

5.0.0

  • Total issues resolved: 31
  • Total pull requests resolved: 163
  • Total contributors: 20

dependencies,enhancement

bug

enhancement

bug,dependencies

dependencies,php

BC break,enhancement

BC break,dependencies,enhancement

enhancement,reflection compatibility

dependencies,enhancement,php

bug,reflection compatibility

enhancement,hacktoberfest-accepted

dependencies,enhancement,hacktoberfest-accepted

hacktoberfest-accepted

bug,enhancement,hacktoberfest-accepted

bug,hacktoberfest-accepted

bug,duplicate,needs more info

bug,invalid,needs more info

bug,enhancement

dependencies

dependencies,duplicate

bug,easypick

feature request,question

BC break,reflection compatibility

question

bug,easypick,reflection compatibility