PHPackages                             phauthentic/bc-check - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. phauthentic/bc-check

ActiveProject[Utility &amp; Helpers](/categories/utility)

phauthentic/bc-check
====================

Backward compatibility checker for PHP APIs

1.0.0-rc3(4mo ago)03.5k↓82.1%1GPL-3.0-or-laterPHPPHP ^8.3CI passing

Since Feb 2Pushed 4mo agoCompare

[ Source](https://github.com/Phauthentic/backward-compatibility-checker)[ Packagist](https://packagist.org/packages/phauthentic/bc-check)[ RSS](/packages/phauthentic-bc-check/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (3)Dependencies (22)Versions (9)Used By (0)

BC Check - Backward Compatibility Checker for PHP
=================================================

[](#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](https://semver.org/) 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](https://semver.org/)

Features 💎
----------

[](#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`, `readonly` modifiers
    - 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 ⚙️
---------------

[](#installation-️)

```
composer require --dev phauthentic/bc-check
```

Or download the PHAR from the [releases page](https://github.com/Phauthentic/bc-check/releases).

Documentation 📚
---------------

[](#documentation-)

- [Installation](docs/Installation.md) - Install via Composer, PHAR, or Docker
- [Usage](docs/Usage.md) - CLI usage, examples, output formats
- [Configuration](docs/Configuration.md) - YAML config options, regex patterns
- [Detectors](docs/Detectors.md) - List of all detected BC breaks
- [Output Formats](docs/Output-Formats.md) - Detailed format examples and specifications
- [Custom Detectors](docs/Custom-Detectors.md) - Create your own detectors
- [CI Integration](docs/CI-Integration.md) - GitHub Actions, GitLab CI, etc.
- [Docker External Projects](docs/Docker-External-Projects.md) - Run via Docker against legacy codebases
- [Development](docs/Development.md) - Development setup and workflows

Quick Start 🚀
-------------

[](#quick-start-)

```
# Basic usage
vendor/bin/bc-check check /path/to/repo v1.0.0 v2.0.0

# With configuration file
vendor/bin/bc-check check /path/to/repo v1.0.0 v2.0.0 --config=bc-check.yaml

# JSON output
vendor/bin/bc-check check /path/to/repo v1.0.0 v2.0.0 --format=json
```

For more usage examples and options, see the [Usage Guide](docs/Usage.md).

Reporting Issues 🪲
------------------

[](#reporting-issues-)

If you find a bug or have a feature request, please open an issue on the [GitHub repository](https://github.com/Phauthentic/bc-check/issues/new).

When reporting issues, please provide:

- PHP version
- BC Check version
- Minimal code example that reproduces the issue
- Expected vs actual behavior

License ⚖️
----------

[](#license-️)

Copyright Florian Krämer

Licensed under the [MIT License](LICENSE.txt).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance74

Regular maintenance activity

Popularity24

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

4

Last Release

145d ago

PHP version history (2 changes)1.0.0-rc1PHP ^8.4

1.0.0-rc3PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4996022?v=4)[Florian Krämer](/maintainers/floriankraemer)[@floriankraemer](https://github.com/floriankraemer)

---

Top Contributors

[![floriankraemer](https://avatars.githubusercontent.com/u/4996022?v=4)](https://github.com/floriankraemer "floriankraemer (24 commits)")

---

Tags

analyzerbackward-compatibilityphptools

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/phauthentic-bc-check/health.svg)

```
[![Health](https://phpackages.com/badges/phauthentic-bc-check/health.svg)](https://phpackages.com/packages/phauthentic-bc-check)
```

###  Alternatives

[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54743.1k4](/packages/jolicode-castor)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
