Hear ye, hear ye, says the towncrier

Documentation License: MIT PyPI release

towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project.

Rather than reading the Git history, or having one single file which developers all write to and produce merge conflicts, towncrier reads “news fragments” which contain information useful to end users.

Used by Twisted, pytest, pip, BuildBot, and attrs, among others.

While the command line tool towncrier requires Python to run, as long as you don’t use any Python-specific affordances (like auto-detection of the project version), it is usable with any project type on any platform.


towncrier delivers the news which is convenient to those that hear it, not those that write it.

That is, by duplicating what has changed from the “developer log” (which may contain complex information about the original issue, how it was fixed, who authored the fix, and who reviewed the fix) into a “news fragment” (a small file containing just enough information to be useful to end users), towncrier can produce a digest of the changes which is valuable to those who may wish to use the software. These fragments are also commonly called “topfiles” or “newsfiles”.

towncrier works best in a development system where all merges involve closing a ticket.