BackwardCompatibilityCheck icon indicating copy to clipboard operation
BackwardCompatibilityCheck copied to clipboard

:ab: Tool to compare two revisions of a class API to check for BC breaks

Results 54 BackwardCompatibilityCheck issues
Sort by recently updated
recently updated
newest added

Example: ```php abstract class X { final public function test(string $var): self } ``` changed to: ```php abstract class X { final public function test(?string $var): self } ``` result...

enhancement
help wanted

An `@internal` class still may be used by the consuming code as one of its non-internal parent types. If a breaking change happens in the non-internal subset of the ancestry...

enhancement
help wanted

When trying to add this library to SonataAdmin (https://github.com/sonata-project/SonataAdminBundle/pull/6802) we get an error: https://github.com/vladyslavstartsev/SonataAdminBundle/runs/1755213208?check_suite_focus=true ``` In IdentifierNotFound.php line 30: Roave\BetterReflection\Reflection\ReflectionClass "Sonata\AdminBundle\Objec t\InternalMetadataInterface" could not be found in the located source...

I use this tool with Docker to check our internal libraries if our devs don't add bc breaks. I run it manually on my local machine for larger PRs, not...

question
dependencies

This is probably interesting for @Majkl578. ```gherkin Given following `composer.json` { "extra": { "branch-alias": { "develop": "3.x-dev", "master": "2.x-dev" } } } And a tag `2.2.0` exists And `HEAD` is...

enhancement
help wanted

when the process is triggered/started it does not allow interruption. I guess there is some signal handling missing?

As documented in #134, type inference based on documented types is weak. In practice, we want to detect type variance changes for complex types, such as `@var Foo`. We also...

enhancement
help wanted

As discussed with @asgrim in https://github.com/Roave/BackwardCompatibilityCheck/issues/77: > That's acceptable I think... Or maybe simply collect errors and display at the end? Thinking a summary output like phpunit/phpcs like: > >...

enhancement
bc break

We currently ship a massive single block of BC compliance rules hardcoded via dependency injection. It would be interesting to configure rules as following: ```sh ./bin/roave-backward-compatibility-check --rules=SomeInvokableClass ``` Where `SomeInvokableClass...

enhancement