Download the PHP package marcocesarato/php-conventional-changelog without Composer
On this page you can find all versions of the php package marcocesarato/php-conventional-changelog. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download marcocesarato/php-conventional-changelog
More information about marcocesarato/php-conventional-changelog
Files in marcocesarato/php-conventional-changelog
Package php-conventional-changelog
Short Description Generate changelogs and release notes from a project's commit messages and metadata and automate versioning with semver.org and conventionalcommits.org
License GPL-3.0-or-later
Informations about the package php-conventional-changelog
PHP Conventional Changelog
![Version](https://img.shields.io/badge/version-1.17.2-brightgreen?style=for-the-badge)
![Requirements](https://img.shields.io/badge/php-%3E%3D%207.1.3-4F5D95?style=for-the-badge)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow?style=for-the-badge)](https://conventionalcommits.org)
![License](https://img.shields.io/github/license/marcocesarato/php-conventional-changelog?style=for-the-badge)
[![GitHub](https://img.shields.io/badge/GitHub-Repo-6f42c1?style=for-the-badge)](https://github.com/marcocesarato/php-conventional-changelog)
#### If this project helped you out, please support us with a star :star:
![](docs/images/logo.png)
Description
When a new release of a software project is announced, it is convenient to generate documents that let the project users know what were the changes and other relevant notes about the new project release.
This package can help to automatically generate changelog and release note files, so the developers of the project reduce the work that is necessary to finalize and check the new release of the project.
This package can generate a changelog from a project's committing history messages and metadata using composer and automate versioning with semver and conventional-commits.
It provides a command that can be run from the terminal, or using composer scripts, to generate a changelog file in markdown for the current project.
The command may take parameters that define the releases of the project that will be considered to extract the changes from the git history to generate the file. The package uses a configuration system with that permit to customize the settings you may want to have your desired changelog generated.
Look at our CHANGELOG file if you are looking for an example of a possible final result.
How to contribute
Have an idea? Found a bug? Please raise to ISSUES or PULL REQUEST. Contributions are welcome and are greatly appreciated! Every little bit helps.
📘 Requirements
📖 Installation
You can install it easily with composer
composer require --dev marcocesarato/php-conventional-changelog
Scripts (Optional)
For easy use the changelog generator or release faster your new version you can add to your composer.json
the scripts:
Notes: you can customize it according to your needs
Now you can just run composer changelog
or composer release
(the last one will autobump the version code and commit changes) to generate your changelog.
📘 Configuration
Notes: this procedure is optional and permit to overwriting/merging the default settings
For customize settings you just needs to create a file named .changelog
on the root of your project/on the working
dir or use the --config
option to specify the location of your configuration file.
Notes:
- When a setting on the configuration file is not necessary just omit it
- The default ignored types are:
build
,chore
,ci
,docs
,perf
,refactor
,revert
,style
,test
- To allow all types just keep empty
types
and set emptyignoreTypes
You can have more info about reading the config documentation.
💻 Usage
The changelog generator will generate a log of changes from the date of the last tag to the current date, and it will put all commit logs in the latest version just created.
Notes:
- Some of these options listed on examples could be used together at the same time (ex.
--first-release --commit
)- Auto bump of version code using the Semantic Versioning (
MAJOR.MINOR.PATCH
) is enabled by default if not specified the release method.
MAJOR
: At least one breaking change.MINOR
: At least one new feature.PATCH
: Default- Use these options to specify the release method:
--major
,--minor
,--patch
,--rc
,--beta
,--alpha
.
Examples
First version
Notes: use this option only if you don't need all history changes or is the first version, else run with
--history
option
To generate your changelog for the first version run:
New version
To generate your changelog (without committing files)
New release (with commit and tag)
To generate your changelog with auto commit and auto versioning tagging run:
or to amend at an existing commit you can run:
History
To generate your changelog with the entire history of changes of all releases
Warn: this operation will overwrite the
CHANGELOG.md
file if it already exists
Date range
To generate your changelog from a specified date to another specified date
Tag range
To generate your changelog from a specified tag to another specified tag
Specific version
To generate your changelog with a specific version code
Commands List
Info: You can have more info about running
php vendor/bin/conventional-changelog --help
All versions of php-conventional-changelog with dependencies
ext-json Version *
symfony/console Version ^4 || ^5 || ^6 || ^7
ext-mbstring Version *