- How does Jetpack Changelogger prevent merge conflicts in Laravel changelogs?
- The package avoids conflicts by storing changelog entries as individual files in a `changelog` directory, named after Git branches. Since filenames are unique, multiple PRs won’t overwrite each other, unlike traditional changelog files edited directly. This works seamlessly with Laravel’s Git-based workflows.
- Can I use Jetpack Changelogger with Laravel’s semantic versioning (e.g., ^5.8.0)?
- Yes, the package includes a built-in SemVer plugin to auto-bump versions (patch/minor/major) based on change significance marked in PR files. However, Laravel’s `^`/`~` constraints may require tweaking the plugin or using the WordPress-style versioning plugin as an alternative.
- What Laravel versions does Jetpack Changelogger support?
- The package is PHP-based and Composer-dependent, so it works with any Laravel version (5.8+). It doesn’t require Laravel-specific dependencies, making it compatible with all modern Laravel projects. Test it in your CI to confirm edge cases.
- How do I configure Jetpack Changelogger for Laravel’s release workflow?
- Add the tool as a dev dependency (`composer require --dev automattic/jetpack-changelogger`), then configure it in `composer.json` under `extra.changelogger`. Use `changelogger validate` in CI to enforce change file formats, and `changelogger write` to generate the final changelog during releases.
- Will Jetpack Changelogger work if my Laravel team uses non-standard branch names (e.g., `feature/prefix-123`)?
- By default, it relies on unique branch names for filenames. If your team uses prefixes or non-unique names, you’ll need to customize the filename generation logic (e.g., via a plugin or script) or use UUID-based filenames instead of branch names.
- Can I integrate Jetpack Changelogger with Laravel’s CI/CD (e.g., GitHub Actions)?
- Absolutely. Add `changelogger validate` to your CI pipeline to catch malformed change files early, and run `changelogger write` during release steps. It integrates with Laravel’s CI tools like GitHub Actions or GitLab CI without requiring Laravel-specific plugins.
- Does Jetpack Changelogger support custom changelog formats (e.g., Laravel’s UPGRADING.md)?
- The package uses the Keep a Changelog formatter by default but supports plugins for custom formats. You can create a plugin to output Laravel-specific sections (e.g., Security, Breaking Changes) or modify the template in `composer.json` under `link-template` and `ordering`.
- How do I handle pre-release versions (e.g., `-beta`, `-dev`) in Laravel with this tool?
- The SemVer plugin supports pre-release tags, but you’ll need to configure the versioning plugin to include them in the changelog. For Laravel, you might also need to adjust the plugin to align with your release process (e.g., using `composer version` hooks or custom scripts).
- What happens if `changelogger write` fails during a Laravel release?
- Failed writes will throw errors, which you can catch in CI to block releases. For critical projects, add a fallback (e.g., manual changelog generation or a backup script) or use Git hooks to retry. The package doesn’t auto-recover, so CI checks are essential.
- Are there alternatives to Jetpack Changelogger for Laravel changelogs?
- Alternatives include GitHub’s auto-generated release notes (limited customization), `keepachangelog.com` (manual), or Laravel-specific tools like `spatie/laravel-release`. Jetpack Changelogger stands out for its PR-based workflow and SemVer automation, but evaluate your team’s needs—smaller teams might prefer simplicity.