Download the PHP package phauthentic/bc-check without Composer
On this page you can find all versions of the php package phauthentic/bc-check. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phauthentic/bc-check
More information about phauthentic/bc-check
Files in phauthentic/bc-check
Package bc-check
Short Description Backward compatibility checker for PHP APIs
License GPL-3.0-or-later
Informations about the package bc-check
BC Check - Backward Compatibility Checker for PHP
BC Check analyzes PHP code between two git commits to detect backward compatibility (BC) breaking changes using AST parsing. It helps library maintainers follow Semantic Versioning by identifying changes that could break dependent code.
"With a system of the size and importance of API, it is necessary to have some formalized rules to govern how updates are incorporated while still keeping the API stable." β Semantic Versioning 2.0.0
Features π
- BC Break Detection:
- Detects removed public/protected classes, methods, properties, and constants
- Detects method signature changes (parameters, types, defaults)
- Detects return type changes
- Detects visibility reductions
- Detects added
final,abstract,static,readonlymodifiers - Detects interface implementation changes
- Detects parent class changes
- Flexible Configuration:
- YAML-based configuration
- Regex patterns for include/exclude filtering
- Custom source directories
- External detector loading for custom BC break detection
- Multiple Output Formats:
- Human-readable text output
- JSON output for programmatic use
- GitHub Actions annotations
- SARIF (Static Analysis Results Interchange Format)
- Checkstyle XML
- JUnit XML
- GitLab Code Quality
- CI/CD Ready:
- Exit codes for build success/failure
- GitHub Actions, GitLab CI, CircleCI, Jenkins examples
- Docker support
Installation βοΈ
Or download the PHAR from the releases page.
Documentation π
- Installation - Install via Composer, PHAR, or Docker
- Usage - CLI usage, examples, output formats
- Configuration - YAML config options, regex patterns
- Detectors - List of all detected BC breaks
- Output Formats - Detailed format examples and specifications
- Custom Detectors - Create your own detectors
- CI Integration - GitHub Actions, GitLab CI, etc.
- Docker External Projects - Run via Docker against legacy codebases
- Development - Development setup and workflows
Quick Start π
For more usage examples and options, see the Usage Guide.
Reporting Issues πͺ²
If you find a bug or have a feature request, please open an issue on the GitHub repository.
When reporting issues, please provide:
- PHP version
- BC Check version
- Minimal code example that reproduces the issue
- Expected vs actual behavior
License βοΈ
Copyright Florian KrΓ€mer
Licensed under the MIT License.
All versions of bc-check with dependencies
nikic/php-parser Version ^5.0
symfony/config Version ^7.0
symfony/console Version ^7.0
symfony/dependency-injection Version ^7.0
symfony/finder Version ^7.0
symfony/messenger Version ^7.0
symfony/process Version ^7.0
symfony/yaml Version ^7.0