*This specification is heavily inspired by the [AngularJS commit message format](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format).*
Just as in the summary, use the imperative, present tense: "fix" not "fixed" nor "fixes".
Explain the motivation for the change in the commit message body. This commit message should explain _why_ you are making the change.
You can include a comparison of the previous behavior with the new behavior in order to illustrate the impact of the change.
This is not needed, if the summary is 100% self-explainatory.
## Commit Message Footer
The footer can contain information about breaking changes and deprecations and is also the place to reference issues and other PRs that this commit closes or is related to.
For example:
```
BREAKING CHANGE: <breakingchangesummary>
<BLANKLINE>
<breakingchangedescription+migrationinstructions>
<BLANKLINE>
<BLANKLINE>
Fixes #<issuenumber>
```
or
```
DEPRECATED: <whatisdeprecated>
<BLANKLINE>
<deprecationdescription+recommendedupdatepath>
<BLANKLINE>
<BLANKLINE>
Closes #<prnumber>
```
Breaking Change section should start with the phrase "BREAKING CHANGE: " followed by a summary of the breaking change, a blank line, and a detailed description of the breaking change that also includes migration instructions.
Similarly, a Deprecation section should start with "DEPRECATED: " followed by a short description of what is deprecated, a blank line, and a detailed description of the deprecation that also mentions the recommended update path.