This package adds changelog management over the command line and version release management. You can add new changelog items, and if you release, the changelog is updated with the new version and the version file. Thus, it is easy to manage a customer changelog.
The changelog is a JSON file that can easily be integrated into a controller to present to the end customer.
See ROADMAP for new functions.
HINT: Please run 'php artisan vendor:publish --tag=resources'
Release Changelog Generator | PHP | Laravel |
---|---|---|
0.1.x | >=8.0 | 9 |
0.2.0 | >=8.0 | 9 |
0.2.1 | >=8.0 | 9 / 10 (not tested) |
0.3.x | >=8.1 | 9 / 10 |
0.4.x | >=8.2 | 11 |
You can install the package via Composer:
composer require lightszentip/laravel-release-changelog-generator
Please publish the necessary files with:
php artisan vendor:publish --provider="Lightszentip\LaravelReleaseChangelogGenerator\ServiceProvider"
php artisan vendor:publish --tag=resources
If the command is used without arguments, the command line creates an ask for all necessary arguments.
php artisan changelog:add --type="feat" --message="Implement the whole function for magic"
You can find the result in resources/.changes/changelog.json
php artisan changelog:release --releasename="My First Release" --type=patch
This updates the version.yml to the next patch version and add in the changelog.json a new release with all current changelog items.
This will update the CHANGELOG.md file in the root with your changes.
php artisan changelog:generate-md
@releasechangelog
To get a special format for the version, you find in the 'releasechangelog.php' in the config dir the item ' version_formats'. You can add new formats and/or change the existing ones. To use it:
@releasechangelog('full')
app('releasechangelog.version')->showVersion($format)
prerelease
set to false to remove the "rc" part from version
To use another pre-release name as 'rc', change it on version.yml direct.
label: v
major: 1
minor: 0
patch: 1
prerelease: rc
prereleasenumber: 0
buildmetadata: null
timestamp:
date: null
timestamp: null
{"unreleased":{"name":"tbd","date":"","release":false},
"1.0.1.rc0":{"name":"My First Release","date":"2022-12-22 23:56:34","release":true,"feat":[{"message":"My first feature"},{"message":"Implement the whole function for magic"}]}}
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.