In simple English
Writing down every change you make in one single file causes merge conflicts when many people write code at once. Towncrier lets every developer drop a tiny separate file for their own change. When you are ready to make a release, the tool gathers all these tiny files together. It turns them into one neat list of updates for your users. You do not need to pay any money or run a server to use it.
What it is
Towncrier is a command-line tool (a program you run from your terminal by typing text commands) that builds a release changelog from small text fragments. It prevents developers from editing the same file at the same time.
What it is good for
Solo builders and open-source teams who want an automatic changelog without merge conflicts when multiple pull requests merge.
- Stops merge conflicts by using many small news files instead of one big changelog file.
- Works with projects in any programming language, not just Python.
- Used and tested by large projects like pytest and pip.
- Requires your team to remember to add a news fragment with every pull request.
- Runs on Python, so you must install Python on your machine or CI server.
- Setup requires reading the documentation to configure your folder structure.
manually editing a single changelog file and fixing merge conflicts
GitHub Actions for running automated release checks
- mkdocs/mkdocs23k stars
Turns a folder of Markdown files into a documentation website, controlled by one settings file.
- squidfunk/mkdocs-material28k stars
Turns a folder of Markdown files into a searchable documentation website, with every formerly sponsor-only feature now included.
- halo-dev/halo40k stars
A self-hosted website and blog platform, written in Java, with a marketplace of themes and plugins.
source venv/bin/activate pip install towncrier