Changelog Fragments#
Estimated reading time: 2 minutes
Every pull request adds a news fragment under changelog/, named <PR>.<type>.rst,
where <type> is one of breaking, feature, enhancement, bugfix,
dependency, documentation, internal or misc.
towncrier assembles them into
CHANGELOG.rst at release time, and the fragment is deleted then — so it is a pending
release note, not a permanent record.
The content is one short, sentence-case entry ending with author attribution through the
:user: extlink role, for example (:user:`bjlittle`).
Citing an Issue#
When the pull request closes an issue, cite it with the :issue: role at the point the
fragment describes what the issue reported, rather than trailing it at the end:
Fixed the fills pulling away from the plotted profiles (:issue:`42`): …
Choosing a Role#
When an entry names a documented API, cross-reference it with the matching
Sphinx domain
role — :class:, :func:, :meth:, :mod:, :obj: — so a reader can follow
the link into the API documentation:
Added :func:`~tephpy.calc.parcel_path` and the :class:`~tephpy.calc.Profile` dataclass.
rather than spelling those names in double backticks. Third-party objects resolve the same way through intersphinx.
Reserve a plain double-backtick literal for a name with no documentation target: a private member, an external tool, a filename, a configuration key.
ci-changelog checks that a fragment is present and well formed; Continuous Integration describes
what its failure means, and Contributing to tephpy describes the rest of what a pull request
carries.