Releases: Roave/BackwardCompatibilityCheck
7.0.0
Release Notes for 7.0.0
Backwards incompatible release (major)
Due to BC breaks in symfony/console:^6
, some incompatible changes were introduced:
The parameter $definition of Symfony\Component\Console\Command\Command#setDefinition() changed from no type to a non-contravariant array|Symfony\Component\Console\Input\InputDefinition
The parameter $default of Symfony\Component\Console\Command\Command#addArgument() changed from no type to a non-contravariant mixed|null
The parameter $shortcut of Symfony\Component\Console\Command\Command#addOption() changed from no type to a non-contravariant string|array
The parameter $default of Symfony\Component\Console\Command\Command#addOption() changed from no type to a non-contravariant mixed|null
7.0.0
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 1
dependencies,php
- 494: Bump psr/log from 2.0.0 to 3.0.0 thanks to @dependabot[bot]
bc break,dependencies,php
- 493: Bump symfony/console from 5.4.5 to 6.0.5 thanks to @dependabot[bot]
6.4.0
Release Notes for 6.4.0
Feature release (minor)
6.4.0
- Total issues resolved: 0
- Total pull requests resolved: 10
- Total contributors: 1
dependencies,php
- 492: Bump composer/composer from 2.2.10 to 2.3.2 thanks to @dependabot[bot]
- 491: Bump phpstan/phpdoc-parser from 1.4.1 to 1.4.2 thanks to @dependabot[bot]
- 490: Bump phpstan/phpdoc-parser from 1.4.0 to 1.4.1 thanks to @dependabot[bot]
- 489: Bump slevomat/coding-standard from 7.0.20 to 7.1 thanks to @dependabot[bot]
- 488: Bump composer/composer from 2.2.9 to 2.2.10 thanks to @dependabot[bot]
- 487: Bump phpdocumentor/type-resolver from 1.6.0 to 1.6.1 thanks to @dependabot[bot]
- 486: Bump phpstan/phpdoc-parser from 1.2.0 to 1.4.0 thanks to @dependabot[bot]
- 485: Bump slevomat/coding-standard from 7.0.19 to 7.0.20 thanks to @dependabot[bot]
dependencies,github_actions
6.3.0
Release Notes for 6.3.0
Feature release (minor)
6.3.0
- Total issues resolved: 1
- Total pull requests resolved: 2
- Total contributors: 3
bug,enhancement
- 476: Normalize
__DIR__
and__FILE__
by changing the base path ofLocatedSource
instances, prevent false-positive BC breaks on those magic constants thanks to @Ocramius and @mimmi20
bug,duplicate
6.2.0
Release Notes for 6.2.0 "Russian Warship go Fuck Yourself"
Feature release (minor)
6.2.0 "Russian Warship go Fuck Yourself"
- Total issues resolved: 0
- Total pull requests resolved: 41
- Total contributors: 3
enhancement
- 474: @Roave stands against the war that Russia declared on Ukraine by invading a sovereign, peaceful and democratic country thanks to @Ocramius
dependencies,php
- 473: Bump phpunit/phpunit from 9.5.13 to 9.5.18 thanks to @dependabot[bot]
- 472: Bump phpunit/php-code-coverage from 9.2.10 to 9.2.15 thanks to @dependabot[bot]
- 471: Bump ocramius/package-versions from 2.5.0 to 2.5.1 thanks to @dependabot[bot]
- 470: Bump symfony/polyfill-php73 from 1.24.0 to 1.25.0 thanks to @dependabot[bot]
- 469: Bump symfony/polyfill-intl-grapheme from 1.24.0 to 1.25.0 thanks to @dependabot[bot]
- 468: Bump phpunit/phpunit from 9.5.13 to 9.5.17 thanks to @dependabot[bot]
- 467: Bump symfony/filesystem from 6.0.5 to 6.0.6 thanks to @dependabot[bot]
- 466: Bump symfony/polyfill-intl-normalizer from 1.24.0 to 1.25.0 thanks to @dependabot[bot]
- 465: Bump myclabs/deep-copy from 1.10.3 to 1.11.0 thanks to @dependabot[bot]
- 464: Bump doctrine/instantiator from 1.4.0 to 1.4.1 thanks to @dependabot[bot]
- 463: Bump myclabs/deep-copy from 1.10.2 to 1.10.3 thanks to @dependabot[bot]
- 461: Bump slevomat/coding-standard from 7.0.18 to 7.0.19 thanks to @dependabot[bot]
- 460: Bump symfony/filesystem from 6.0.3 to 6.0.5 thanks to @dependabot[bot]
- 459: Bump symfony/console from 5.4.3 to 5.4.5 thanks to @dependabot[bot]
- 458: Bump phpunit/php-code-coverage from 9.2.10 to 9.2.14 thanks to @dependabot[bot]
- 457: Bump php-standard-library/psalm-plugin from 1.1.4 to 1.1.5 thanks to @dependabot[bot]
- 456: Bump vimeo/psalm from 4.21.0 to 4.22.0 thanks to @dependabot[bot]
- 455: Bump composer/composer from 2.2.6 to 2.2.7 thanks to @dependabot[bot]
- 454: Bump roave/better-reflection from 5.1.0 to 5.2.0 thanks to @dependabot[bot]
- 453: Bump composer/xdebug-handler from 2.0.4 to 2.0.5 thanks to @dependabot[bot]
- 452: Bump phpunit/phpunit from 9.5.13 to 9.5.16 thanks to @dependabot[bot]
- 451: Bump phpunit/php-code-coverage from 9.2.10 to 9.2.13 thanks to @dependabot[bot]
- 449: Bump roave/better-reflection from 5.0.7 to 5.1.0 thanks to @dependabot[bot]
- 448: Bump phar-io/version from 3.1.1 to 3.2.1 thanks to @dependabot[bot]
- 447: Bump amphp/amp from 2.6.1 to 2.6.2 thanks to @dependabot[bot]
- 446: Bump vimeo/psalm from 4.20.0 to 4.21.0 thanks to @dependabot[bot]
- 445: Bump phpunit/php-code-coverage from 9.2.10 to 9.2.11 thanks to @dependabot[bot]
- 444: Bump phpunit/phpunit from 9.5.13 to 9.5.14 thanks to @dependabot[bot]
- 443: Bump roave/infection-static-analysis-plugin from 1.16.0 to 1.17.0 thanks to @dependabot[bot]
- 442: Bump sebastian/global-state from 5.0.4 to 5.0.5 thanks to @dependabot[bot]
- 441: Bump react/promise from 2.8.0 to 2.9.0 thanks to @dependabot[bot]
- 440: Bump sebastian/global-state from 5.0.3 to 5.0.4 thanks to @dependabot[bot]
- 438: Bump phar-io/version from 3.1.0 to 3.1.1 thanks to @dependabot[bot]
- 436: Bump php-standard-library/psalm-plugin from 1.1.3 to 1.1.4 thanks to @dependabot[bot]
- 435: Bump dealerdirect/phpcodesniffer-composer-installer from 0.7.1 to 0.7.2 thanks to @dependabot[bot]
- 434: Bump composer/composer from 2.2.5 to 2.2.6 thanks to @dependabot[bot]
- 433: Bump composer/semver from 3.2.7 to 3.2.9 thanks to @dependabot[bot]
dependencies,github_actions
- 462: Bump actions/checkout from 2 to 3 thanks to @dependabot[bot]
- 439: Bump laminas/laminas-continuous-integration-action from 1.17.1 to 1.18.0 thanks to @dependabot[bot]
bug
- 432: Merge release 6.1.1 into 6.2.x thanks to @github-actions[bot]
6.1.1
Release Notes for 6.1.1
6.1.x bugfix release (patch)
6.1.1
- Total issues resolved: 1
- Total pull requests resolved: 1
- Total contributors: 2
bug
6.1.0
Release Notes for 6.1.0
Feature release (minor)
6.1.0
- Total issues resolved: 1
- Total pull requests resolved: 7
- Total contributors: 4
enhancement
dependencies,php
- 405: Bump roave/infection-static-analysis-plugin from 1.13.0 to 1.14.0 thanks to @dependabot[bot]
- 376: Bump vimeo/psalm from 4.16.0 to 4.16.1 thanks to @dependabot[bot]
- 373: Bump vimeo/psalm from 4.15.0 to 4.16.0 thanks to @dependabot[bot]
bug
- 387: Merge release 6.0.1 into 6.1.x thanks to @github-actions[bot]
dependencies,github_actions
- 375: Bump laminas/laminas-continuous-integration-action from 1.14.2 to 1.14.3 thanks to @dependabot[bot]
bug,duplicate
6.0.1
Release Notes for 6.0.1
6.0.x bugfix release (patch)
6.0.1
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
bug
6.0.0
roave/backward-compatibility-check
6.0.0
Merry Christmas! 🎄 🎅
This release of roave/backward-compatibility-check
brings some major features:
php:~8.0.12
andphp:~8.1.0
supportcomposer/composer:^2.2.1
support- detection of BC breaks due to renamed method parameters: since PHP 8.0 introduced named parameters,
changing the name of a parameter is considered backwards-incompatible, unless you annotate the function/method
with@no-named-arguments
. - detection of BC breaks due to class property native type changes
- detection of BC breaks due to type variance in parameters/return values in union and intersection types
--format=github-actions
output format, for better integration with GitHub Actions- ability to run with
--install-development-dependencies
, to also include yourrequire-dev
in autoload definitions,
during analysis. - internal type safety with
vimeo/psalm
- full mutation test coverage with
roave/infection-static-analysis-plugin
BC Breaks
This release includes multiple changes to bring it up-to-date with the latest capabilities
from roave/better-reflection:5.0.0
.
In order to upgrade to the latest and greatest of each library, some internals of this library
have changed radically.
If you were using the library as a CLI tool only, you only need to worry about these new checks,
which may affect your build automation:
- property type change analysis
- parameter name change analysis
If you were extending/customizing this library, chances are that you may need to perform major adjustments,
in order to reach compatibility with 6.0.0
.
Generated list of BC breaks:
Changed
- [BC] The parameter $definedSymbols of Roave\BackwardCompatibility\CompareApi#__invoke() changed from Roave\BetterReflection\Reflector\ClassReflector to Roave\BetterReflection\Reflector\Reflector
- [BC] The parameter $pastSourcesWithDependencies of Roave\BackwardCompatibility\CompareApi#__invoke() changed from Roave\BetterReflection\Reflector\ClassReflector to Roave\BetterReflection\Reflector\Reflector
- [BC] The parameter $newSourcesWithDependencies of Roave\BackwardCompatibility\CompareApi#__invoke() changed from Roave\BetterReflection\Reflector\ClassReflector to Roave\BetterReflection\Reflector\Reflector
- [BC] The return type of Roave\BackwardCompatibility\Changes#getIterator() changed from iterable to the non-covariant Traversable
- [BC] The number of required arguments for Roave\BackwardCompatibility\LocateDependencies\LocateDependenciesViaComposer#__invoke() increased from 1 to 2
- [BC] The number of required arguments for Roave\BackwardCompatibility\LocateDependencies\LocateDependencies#__invoke() increased from 1 to 2
- [BC] The return type of Roave\BackwardCompatibility\Factory\ComposerInstallationReflectorFactory#__invoke() changed from Roave\BetterReflection\Reflector\ClassReflector to the non-covariant Roave\BetterReflection\Reflector\Reflector
- [BC] The parameter $type of Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsCovariant#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionType|null to a non-contravariant Roave\BetterReflection\Reflection\ReflectionIntersectionType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionNamedType|null
- [BC] The parameter $comparedType of Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsCovariant#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionType|null to a non-contravariant Roave\BetterReflection\Reflection\ReflectionIntersectionType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionNamedType|null
- [BC] The parameter $type of Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsContravariant#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionType|null to a non-contravariant Roave\BetterReflection\Reflection\ReflectionIntersectionType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionNamedType|null
- [BC] The parameter $comparedType of Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsContravariant#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionType|null to a non-contravariant Roave\BetterReflection\Reflection\ReflectionIntersectionType|Roave\BetterReflection\Reflection\ReflectionUnionType|Roave\BetterReflection\Reflection\ReflectionNamedType|null
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\SkipFunctionBasedErrors#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\SkipFunctionBasedErrors#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeCovarianceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeCovarianceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeByReferenceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeByReferenceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\RequiredParameterAmountIncreased#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\RequiredParameterAmountIncreased#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeContravarianceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeContravarianceChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $toFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection\Reflection\ReflectionMethod|Roave\BetterReflection\Reflection\ReflectionFunction
- [BC] The parameter $fromFunction of Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterDefaultValueChanged#__invoke() changed from Roave\BetterReflection\Reflection\ReflectionFunctionAbstract to a non-contravariant Roave\BetterReflection...
5.0.0
Release 5.0.0
5.0.0
- Total issues resolved: 4
- Total pull requests resolved: 21
- Total contributors: 8
bug
- 253: Fix #202 -
PropertyRemoved
should only operate onpublic
properties forfinal
classes thanks to @Ocramius - 247: Fix build thanks to @Jean85
- 202: Add test for property visibilty on final classes thanks to @jaapio
bc break,enhancement
- 252: Upgrade dependencies, replace
beberlei/assert
withwebmozart/assert
, upgrade CS ruleset thanks to @Ocramius - 199: #179 bump
nikolaposa/version
dependency to4.0.0
thanks to @Ocramius
dependencies
- 251: Bump symfony/console from 4.4.8 to 4.4.10 thanks to @dependabot-preview[bot] and @Ocramius
- 250: Bump composer/composer from 1.10.5 to 1.10.7 thanks to @dependabot-preview[bot]
- 249: Bump phpunit/phpunit from 9.0.1 to 9.2.5 thanks to @dependabot-preview[bot]
- 240: Bump phpunit/phpunit from 9.0.1 to 9.1.5 thanks to @dependabot-preview[bot]
- 239: Bump symfony/console from 4.4.8 to 4.4.9 thanks to @dependabot-preview[bot] and @Ocramius
- 236: Bump thecodingmachine/safe from 1.1 to 1.1.1 thanks to @dependabot-preview[bot]
- 232: Bump squizlabs/php_codesniffer from 3.5.4 to 3.5.5 thanks to @dependabot-preview[bot]
- 208: Bump symfony/console from 4.4.4 to 4.4.5 thanks to @dependabot-preview[bot]
dependencies,enhancement
- 248: Support BetterReflection 4 thanks to @Jean85
- 211: Update dependencies for infection package thanks to @KartaviK
- 209: Upgraded psalm, removed redundant assertion thanks to @Ocramius
enhancement
- 226: propose new filename for workflow configuration thanks to @Kanti
- 218: mention that changes need to be committed, to be covered thanks to @staabm
- 217: document class loading assumptions thanks to @staabm
- 201: Update github action example thanks to @jaapio