Skip to content

Releases: Roave/BetterReflection

4.0.0

01 Mar 15:13
d64c7fd
Compare
Choose a tag to compare

Release 4.0.0

4.0.0

  • Total issues resolved: 3
  • Total pull requests resolved: 46
  • Total contributors: 12

dependencies

dependencies,enhancement

bug

enhancement

dependencies,duplicate,enhancement

enhancement,reflection compatibility

bug,dependencies

bug,enhancement

dependencies,duplicate

duplicate

BC break,enhancement

duplicate,enhancement,question

3.5.0

28 May 00:06
3.5.0
a93d26f
Compare
Choose a tag to compare

3.4.0

22 Apr 19:16
3.4.0
68f10dc
Compare
Choose a tag to compare

Build Status

This release drops support for PHP 7.1 and introduces major performance improvements
when inspecting sources of projects that use composer.json as main dependency tracking
mechanism.

Specifically, following utilities have been introduced to aid in inspecting project
sources:

  • Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJsonAndInstalledJson - if
    you need to inspect project and dependencies
  • Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJson - if you only want to
    inspect project sources
  • Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForInstalledJson - if you only want
    to inspect project dependencies

To use them, please follow the usage documentation examples, such as following:

<?php

use Roave\BetterReflection\BetterReflection;
use Roave\BetterReflection\Reflector\ClassReflector;
use Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator;
use Roave\BetterReflection\SourceLocator\Type\PhpInternalSourceLocator;
use Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJsonAndInstalledJson;

$astLocator = (new BetterReflection())->astLocator();
$reflector  = new ClassReflector(new AggregateSourceLocator([
    (new MakeLocatorForComposerJsonAndInstalledJson)('path/to/the/project', $astLocator),
    new PhpInternalSourceLocator($astLocator)
]));

$classes = $reflector->getAllClasses();

Total issues resolved: 4

3.3.0

20 Apr 08:10
3.3.0
df78b55
Compare
Choose a tag to compare

Build Status

This release replaces the internal source locator provided by
this package with the more updated and widely used class and
function definitions by jetbrains/phpstorm-stubs, allowing
for quicker updates and more community-based internal symbol
reflection synchronisation.

Total issues resolved: 4

3.2.0

07 Dec 15:27
3.2.0
f54261a
Compare
Choose a tag to compare

This release introduces PHP 7.3 support, reduces the exported package size,
and improves the overall code quality of the package through updated coding
style conventions.

Total issues resolved: 6

3.1.1

31 Jul 07:00
3.1.1
c022c6c
Compare
Choose a tag to compare

This release fixes an incompatibility between ext-reflection
and roave/better-reflection in which ReflectionClass#getConstructor()
led to an exception rather than a null return value in case of
constructors being missing.

Total issues resolved: 1

3.1.0

23 Jul 20:23
3.1.0
ca0298b
Compare
Choose a tag to compare

This release hardens the AutoloadSourceLocator to allow for multiple PSR-4
paths to be crawled for class existence.

Also, it is now possible to alter reflection instances to set the function/method
docBlocks while monkey-patching code.

Total issues resolved: 7

3.0.0

26 May 12:51
3.0.0
Compare
Choose a tag to compare

This release improves the performance and reliability of the library, which is now
fully working with PHP 7.2 and newer nikic/php-parser releases.

Some BC breaks had to be performed:

Total issues resolved: 23

2.0.2

05 Feb 08:15
2.0.2
Compare
Choose a tag to compare

2.0.1

01 Nov 20:51
2.0.1
9583638
Compare
Choose a tag to compare

This release fixes constraint incompatibilities with PHP 7.1.0, newer PHP 7.1.11 UConverter API
and a type error raised when attempting to fetch the AST nodes of an interface's method.

Total issues resolved: 5