$ cat >.stentor.d/1.feature.md << EOF
Added the foo feature.
The foo feature is full of foos,
and is awesome.
EOF
$ cat >.stentor.d/2.fix.md << EOF
Fixed parsing foos that contain special characters
`fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
EOF
(Optional) Create initial CHANGELOG.md.
This is optional,
but lets you write an intro section.
$ cat >CHANGELOG.md << EOF
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Changes for the next release can be found in the [".stentor.d" directory](./.stentor.d).
<!-- stentor output starts -->
EOF
Commit the changes.
First release
This assumes that you are making a first release,
ie. there is no "previous" version.
Run git log,
go to the start of your commit history,
and record the first commit hash.
Run stentor to see the output it would add to the CHANGELOG.md file.
$ stentor v0.1.0 2e808ef3f3a64e8c5965bcc130d4006d6abb56a1
## [v0.1.0] - 2006-01-02
### Features
- Added the foo feature
The foo feature is full of foos, and is awesome.
[#1](https://github.com/myname/myrepo/issues/1)
### Bug fixes
- Fixed parsing foos that contain special characters
`fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
[#2](https://github.com/myname/myrepo/issues/2)
[v0.1.0]: https://github.com/myname/myrepo/compare/2e808ef3f3a64e8c5965bcc130d4006d6abb56a1...v0.1.0
---
General release
. Run stentor to see the output it would add to the CHANGELOG.md file.
$ stentor v0.2.0 v0.1.0
## [v0.2.0] - 2006-01-02
### Features
- Added the foo feature
The foo feature is full of foos, and is awesome.
[#1](https://github.com/myname/myrepo/issues/1)
### Bug fixes
- Fixed parsing foos that contain special characters
`fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
[#2](https://github.com/myname/myrepo/issues/2)
[v0.2.0]: https://github.com/myname/myrepo/compare/v0.1.0...v0.2.0
---
Use the -release flag to consume the fragments
and update the news file.
Note: If a CHANGELOG.md does not exist already, one will be created.
$ stentor -release v0.2.0 v0.1.0
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: CHANGELOG.md
deleted: .stentor.d/1.feature.md
deleted: .stentor.d/2.fix.md
no changes added to commit (use "git add" and/or "git commit -a")
Subsequent releases
Run stentor to see the output it would add to CHANGELOG.md.
$ stentor v0.2.0 v0.1.0
## [v0.2.0] - 2006-01-02
### Features
- Added the foo feature
The foo feature is full of foos, and is awesome.
[#1](https://github.com/myname/myrepo/issues/1)
### Bug fixes
- Fixed parsing foos that contain special characters
`fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
[#2](https://github.com/myname/myrepo/issues/2)
[v0.2.0]: https://github.com/myname/myrepo/compare/v0.1.0...v0.2.0
---
$ git add .stentor.d/
$ git commit -m "Setup stentor to generate CHANGELOG.md"
Use the -release flag to consume the fragments
and update the news file.
Note: If a CHANGELOG.md does not exist already, one will be created.
$ stentor -release v0.2.0 v0.1.0
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: CHANGELOG.md
deleted: .stentor.d/1.feature.md
deleted: .stentor.d/2.fix.md
no changes added to commit (use "git add" and/or "git commit -a")