saeidsharafi / changelog
a package to show CHANGELOG.md to users
Requires
- php: ^8.1|^8.2
- illuminate/console: ^9.0|^10.0|^11.0|^12.0
- illuminate/filesystem: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^6.23|^7.0|^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention of what PSRs you support to avoid any confusion with users and contributors.
Installation
You can install the package via composer:
composer require saeidsharafi/changelog
Usage
// Usage description here
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Changelog File Formats
This package supports changelogs in Markdown, YAML, or JSON formats. The file is auto-detected in this order: changelog.yaml
, changelog.json
, CHANGELOG.md
.
YAML Example
- version: 1.2.0 date: 2025-05-03 title: "Release Title" changes: - title: "Added new feature X" subtitles: - "Subfeature 1" - "Subfeature 2" - title: "Fixed bug Y" subtitles: - "Bugfix details" notes: - "Release note 1" - version: 1.1.0 date: 2025-04-01 title: "Previous Release" changes: - title: "Improved performance" subtitles: - "Performance details" notes: - "Welcome!"
JSON Example
[ { "version": "1.2.0", "date": "2025-05-03", "title": "Release Title", "changes": [ { "title": "Added new feature X", "subtitles": ["Subfeature 1", "Subfeature 2"] }, { "title": "Fixed bug Y", "subtitles": ["Bugfix details"] } ], "notes": ["Release note 1"] }, { "version": "1.1.0", "date": "2025-04-01", "title": "Previous Release", "changes": [ { "title": "Improved performance", "subtitles": ["Performance details"] } ], "notes": ["Welcome!"] } ]
Markdown Example
# Changelog
## 1.2.0 - 2025-05-03
**Release Title**
> [!NOTE] Please fill in the following structure manually.
```yaml
version: 1.2.0
date: 2025-05-03
title: Release Title
changes:
- title: Added new feature X
subtitles:
- Subfeature 1
- Subfeature 2
- title: Fixed bug Y
subtitles:
- Bugfix details
notes:
- Release note 1
1.1.0 - 2025-04-01
Previous Release
[!NOTE] Please fill in the following structure manually.
version: 1.1.0 date: 2025-04-01 title: Previous Release changes: - title: Improved performance subtitles: - Performance details notes: - Welcome!
## Artisan Command: changelog:entry
You can scaffold a new changelog entry using:
```bash
php artisan changelog:entry --app-version=1.3.0 --date=2025-06-01 --silent
Options:
--file
Specify a custom changelog file path (overrides autodetect, e.g.--file=/path/to/changelog.yaml
)--app-version
Version number (e.g. 1.3.0)--date
Release date (YYYY-MM-DD)--silent
Silently create a placeholder entry without prompts
If options are omitted, you will be prompted interactively for version, date, title, changes (with subtitles), and notes.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email saeidsharafi263@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.