A PHP tool that compares two source code sets and suggests the appropriate semantic version (MAJOR, MINOR, PATCH) based on detected changes.
PHP Semantic Versioning Checker is a tool that compares two versions of PHP source code and determines the appropriate semantic version increment (MAJOR, MINOR, or PATCH) based on detected API changes. It analyzes differences in classes, functions, interfaces, and traits to help developers adhere to Semantic Versioning 2.0.0.
PHP library maintainers and development teams who need to automate versioning decisions and ensure backward compatibility in their releases.
It provides an automated, rule-based approach to semantic versioning, reducing manual effort and minimizing versioning errors compared to manual inspection.
Compares two source sets and determines the appropriate semantic versioning to apply.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects additions, removals, and modifications across classes, functions, interfaces, and traits, with detailed output showing file locations, line numbers, and reasons, as demonstrated in the extensive example table.
Assigns MAJOR, MINOR, or PATCH levels based on SemVer 2.0.0 rules, using a codified ruleset to ensure consistent versioning decisions and reduce human error.
Designed for continuous integration with a dedicated Git companion tool (php-semver-checker-git), facilitating automated version checks in development workflows.
Supports a comprehensive set of rules that can be updated via documentation and scripts, allowing teams to customize or add new rules for specific project needs.
The README explicitly warns it's an alpha package not recommended for direct composer.json inclusion, indicating potential instability, bugs, or breaking changes in production use.
Requires comparing two directories of source code or additional setup with the separate Git tool, which can be cumbersome compared to integrated versioning systems with built-in automation.
Focuses on structural API changes (e.g., method signatures) and may not detect semantic or logic changes that don't alter code structure, possibly leading to incomplete versioning assessments.