Relnotes is a tool to automatically generate a file containing every merged pull request for a GitHub repository. It comes with a simple configuration file and powerful templating allowing you to easily create release notes in your preferred format and organisation.
The basic usage of relnotes
works by providing the repository and version of new the release. For example if you wanted the release notes of a potential new 0.3.0
release of [rust-gpu], you would run the following.
relnotes EmbarkStudios/rust-gpu@0.3.0
This will generate the following markdown:
```markdown
```toml
owner = "EmbarkStudios"
repo = "relnotes"
from
and to
accept either any fixed timestamp, today
, orrelease:
followed by either a tag to use that tag's release datelatest
to always select the latest release.#
release:latest
.from = "release:latest"
today
.to = "today"
date
variable in [template]
. Default: %Y-%m-%d
date-format = "%Y-%m-%d"
[]
skip-labels = []
categories
variable and to helplabels
it will be placed in this category. (Priority matches[[categories]]
title = "Updated Dependencies"
labels = ["dependencies"]
includes
), and inherits root's[[includes]] owner = "owner" repo = "repo"
includes
uses-parent-for-timeframe = false
[template]
map acceptsstring
literal or a path
to the tera template to use. (Doesversion
: The version passed to relnotes
date
: The to
date formatted by date_format
.categories
: A map of prs categorised by their title
. title -> prs
prs
: Any PRs that weren't filtered or categorised.[template]
string = """
{% for title, prs in categories %}
{%- for pr in prs %} - {{pr.title}} {%- endfor %} {% endfor %}
{% for pr in prs -%} - {{pr.title}} {% endfor %} """ ```
We welcome community contributions to this project.
Please read our Contributor Guide for more information on how to get started.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.