Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Keep A Changelog Laravel Package

phly/keep-a-changelog

Generates and maintains a Keep a Changelog–style CHANGELOG.md for PHP projects. Helps you create standardized release notes, add entries, and manage version sections consistently, making it easier to track changes and publish clear, human-readable changelogs.

View on GitHub
Deep Wiki
Context7

Getting Started

Install via Composer: composer require --dev phly/keep-a-changelog. Run the CLI to initialize a changelog: vendor/bin/changelog init, which creates a valid CHANGELOG.md with the standard header and ## [Unreleased] section. The first practical use case is adding a new change while developing: vendor/bin/changelog add --type added --desc "New feature X" — this appends to the ## [Unreleased] section under the appropriate category header (e.g., ### Added). Entries are auto-formatted per Keep a Changelog conventions.

Implementation Patterns

  • Pre-commit hook: Add a script to composer.json scripts (e.g., "changelog:add": "changelog add") and integrate via husky or Git hooks to validate or pre-format entries.
  • CI enforcement: In GitHub Actions or similar, run changelog check to fail builds if CHANGELOG.md is out of sync or missing entries before a PR merge.
  • Release workflow: After version tagging, run changelog release <version> --date="YYYY-MM-DD" — it promotes ## [Unreleased] content to a new versioned section and starts a fresh ## [Unreleased].
  • Team collaboration: Use changelog list --type fixed to audit recent fixes before a release, or changelog show --version v1.2.3 to preview release notes for a tag.

Gotchas and Tips

  • Markdown header consistency: The CLI expects ## [Unreleased] and ## [<version>] headers — avoid renaming or changing casing manually, or the tool may misplace entries. Use --type flags strictly (added, changed, fixed, removed, deprecated, security).
  • Date format matters: Always use ISO 8601 (YYYY-MM-DD) with the --date flag during release; mismatches can cause invalid links or sorting issues.
  • Partial edits cause drift: If you manually edit CHANGELOG.md, ensure no extra blank lines break category detection. The parser is fragile around indentation and spacing — use changelog validate to catch issues.
  • Extension point: Use changelog add --custom-section "Security" for non-standard categories, but prefer using built-in types for interoperability.
  • Git tagging alignment: Run release before tagging — if the version already exists in Git, links may point to non-existent tags. Confirm git describe --tags --abbrev=0 matches the release version.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai