marcocesarato/php-conventional-changelog
Automatically generate changelogs and release notes from your Git history using Conventional Commits and SemVer. CLI tool with configurable templates and options to extract releases and output Markdown changelogs, suitable for Composer scripts and CI workflows.
composer.json.composer.json version fields) and CI/CD pipelines (e.g., GitHub/GitLab releases)..changelog file or CLI flags, allowing alignment with Laravel’s project-specific conventions (e.g., commit message templates, release workflows).composer changelog).php artisan release or custom scripts) without duplication.commit-msg with husky or Laravel’s git-hooks package) to validate messages.--history flag or custom --from-tag/--to-tag ranges.--root config)..changelog files may diverge across teams.
.env) or package presets to standardize settings.--sign-tag, which may not be universally configured.
--annotate-tag and document GPG setup as optional.commitizen)?php artisan release?.changelog settings be version-controlled or team-specific?config/changelog.php) simplify this?--ver flag) be documented for edge cases?--from-date)..changelog config to match Laravel’s conventions.CHANGELOG.md.main branch pushes with feat: or fix: commits).--ver flag for critical releases).| Laravel Feature | Compatibility | Notes |
|---|---|---|
| Composer Scripts | ✅ Full support | Use composer.json scripts (e.g., "release": "conventional-changelog --commit"). |
| Artisan Commands | ✅ Partial (wrapper needed) | Create a custom Artisan command to call the CLI tool. |
| Git Hooks | ✅ Indirect (via husky or Laravel) |
Use commit-msg hooks to validate Conventional Commits. |
| CI/CD (GitHub Actions) | ✅ Full support | Add as a step in workflows (e.g., php vendor/bin/conventional-changelog --commit). |
| Laravel Forge/Envoyer | ✅ Full support | Deploy scripts can trigger changelog generation. |
| Monorepos (Laravel Breeze) | ⚠️ Limited | May need --root or path adjustments. |
| Custom Commit Templates | ✅ Full support | Align templates with Conventional Commits. |
feat:/fix: pushes.--commit --annotate-tag to create release tags.CHANGELOG.md in the repo.--from-tag to regenerate changelog for the correct range..changelog if Laravel’s release process evolves (e.g., new commit types).marcocesarato/php-conventional-changelog (last release: 2026-03-27).--verbose flag or Git history inspection..changelog settings early..changelog to IDE templates (e.g., VSCode) for consistency.CONTRIBUTING.md section on commit message rules..changelog configuration.--ver for manual versions).composer release:minor).--no-change-without-commits or Git history.composer.json permissions and Package Bump config.--verbose or GIT_TRACE=1 for Git-level debugging.--from-tag or --from-date to limit scope.How can I help you explore Laravel packages today?