Skip to main content

zest.releaser plugin to call towncrier

Project description


This calls towncrier when releasing a package with zest.releaser. towncrier updates your history file (like CHANGES.rst) based on news snippets. This is for example used by pip.

The plugin will call towncrier --version <package version> --yes. You can get a preview of the result yourself by calling towncrier --version 1.2.3 --draft.

The towncrier command should be on your PATH. The plugin can also find it when it is in the same directory as the fullrelease script (or prerelease/postrelease).


Install zestreleaser.towncrier with pip:

$ pip install zestreleaser.towncrier

Then you can run fullrelease like you would normally do when releasing a package.


If you are having problems, please let us know by filing an issue.


The project is licensed under the GPL.

pyproject.toml example

towncrier needs a configured pyproject.toml file in the root of the package, next to the For reference, here is the literal pyproject.toml file from zestreleaser.towncrier:

issue_format = "`Issue #{issue} <{issue}>`_"
filename = "CHANGES.rst"
directory = "news/"
title_format = "{version} ({project_date})"
# First underline is used for version/date header.
# Second underline is used for the type names (like 'Bug fixes:').
underlines = ["-", ""]

directory = "breaking"
name = "Breaking changes:"
showcontent = true

directory = "feature"
name = "New features:"
showcontent = true

directory = "bugfix"
name = "Bug fixes:"
showcontent = true



1.2.0 (2019-03-05)

New features:

  • Use ‘python -m towncrier’ when the script is not easily findable. Still check the directory of the fullrelease script first. No longer check the PATH. [maurits] (Issue #17)

Bug fixes:

  • Do not run sanity checks or run draft during postrelease. [maurits] (Issue #16)

1.1.0 (2019-03-05)

New features:

  • Rerelease 1.0.3 as 1.1.0, as it contains new features. (Issue #9)

1.0.3 (2019-03-05)

New features:

  • Report on sanity of newsfragments: do they have the correct extensions? Is at least one found? Show dry-run (draft) of what towncrier would do. [maurits] (Issue #9)
  • Handle multiple news entries per issue/type pair. [maurits] (Issue #14)

1.0.2 (2019-03-04)

Bug fixes:

  • Fixed finding towncrier when sys.argv is messed up. [maurits] (Issue #6)

1.0.1 (2019-02-20)

Bug fixes:

  • Tell bumpversion to not update the history. [maurits] (Issue #10)

1.0.0 (2019-02-06)

New features:

  • Warn and ask when towncrier is wanted but not found. [maurits] (Issue #7)

1.0.0b3 (2018-05-17)

New features:

  • Require towncrier 18.5.0 so we don’t need a package name in the config. [maurits] (Issue #3)

Bug fixes:

  • First look for towncrier next to the full/prerelease script. Then fall back to looking on the PATH. [maurits] (Issue #4)

1.0.0b2 (2018-05-16)

Bug fixes:

  • Do not fail when pyproject.toml file is not there. [maurits] (Issue #2)

1.0.0b1 (2018-05-15)

New features:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for zestreleaser.towncrier, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size zestreleaser.towncrier-1.2.0-py2.py3-none-any.whl (15.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size zestreleaser.towncrier-1.2.0.tar.gz (15.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page