Towncrier

Latest version: v24.8.0

Safety actively analyzes 702323 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

21.3.0.rc1

=================================

Features
--------

- Issue number from file names will be stripped down to avoid issue links such as ``007``. (`126 <https://github.com/twisted/towncrier/issues/126>`_)
- Allow definition of the project ``version`` and ``name`` in the configuration file.
This allows use of towncrier seamlessly with non-Python projects. (`165 <https://github.com/twisted/towncrier/issues/165>`_)
- Improve news fragment file name parsing to allow using file names like
``123.feature.1.ext`` which are convenient when one wants to use an appropriate
extension (e.g. ``rst``, ``md``) to enable syntax highlighting. (`173 <https://github.com/twisted/towncrier/issues/173>`_)
- The new ``--edit`` option of the ``create`` subcommand launches an editor for entering the contents of the newsfragment. (`275 <https://github.com/twisted/towncrier/issues/275>`_)
- CPython 3.8 and 3.9 are now part of our automated test matrix and are officially supported. (`291 <https://github.com/twisted/towncrier/issues/291>`_)
- When searching for the project, first check for an existing importable instance.
This helps if the version is only available in the installed version and not the source. (`297 <https://github.com/twisted/towncrier/issues/297>`_)
- Support building with PEP 517. (`314 <https://github.com/twisted/towncrier/issues/314>`_)


Bugfixes
--------

- Configuration errors found during command line execution now trigger a message to stderr and no longer show a traceback. (`84 <https://github.com/twisted/towncrier/issues/84>`_)
- A configuration error is triggered when the newsfragment files couldn't be discovered. (`85 <https://github.com/twisted/towncrier/issues/85>`_)
- Invoking towncrier as `python -m towncrier` works. (`163 <https://github.com/twisted/towncrier/issues/163>`_)
- ``check`` subcommand defaults to UTF-8 encoding when ``sys.stdout.encoding`` is ``None``.
This happens, for example, with Python 2 on GitHub Actions or when the output is piped. (`175 <https://github.com/twisted/towncrier/issues/175>`_)
- Specifying ``title_format`` disables default top line creation to avoid duplication. (`180 <https://github.com/twisted/towncrier/issues/180>`_)


Improved Documentation
----------------------

- The README now mentions the possibility to name the configuration file
``towncrier.toml`` (in addition to ``pyproject.toml``). (`172 <https://github.com/twisted/towncrier/issues/172>`_)
- ``start_line`` corrected to ``start_string`` in the readme to match the long standing implementation. (`277 <https://github.com/twisted/towncrier/issues/277>`_)

19.9.0

=============================

No significant changes.

19.9.0rc1

================================

Features
--------

- Add ``create`` subcommand, which can be used to quickly create a news
fragment command in the location defined by config. (`4 <https://github.com/twisted/towncrier/issues/4>`_)
- Add support for subcommands, meaning the functionality of the ``towncrier``
executable is now replaced by the ``build`` subcommand::

$ towncrier build --draft

A new ``check`` subcommand is exposed. This is an alternative to calling the
``towncrier.check`` module manually::

$ towncrier check

Calling ``towncrier`` without a subcommand will result in a call to the
``build`` subcommand to ensure backwards compatibility. This may be removed in a
future release. (`144 <https://github.com/twisted/towncrier/issues/144>`_)
- Towncrier's templating now allows configuration of the version header. *CUSTOM TEMPLATE USERS PLEASE NOTE: You will need to add the version header information to your template!* (`147 <https://github.com/twisted/towncrier/issues/147>`_)
- towncrier now accepts the --config argument to specify a custom configuration file (`157 <https://github.com/twisted/towncrier/issues/157>`_)
- There is now the option for ``all_bullets = false`` in the configuration.
Setting ``all_bullets`` to false means that news fragments have to include
the bullet point if they should be rendered as enumerations, otherwise
they are rendered directly (this means fragments can include a header.).
It is necessary to set this option to avoid (incorrect) automatic indentation
of multiline fragments that do not include bullet points.
The ``single-file-no-bullets.rst`` template gives an example of
using these options. (`158 <https://github.com/twisted/towncrier/issues/158>`_)
- The ``single_file`` option can now be added to the configuration file. When set to ``true``, the filename key can now be formattable with the ``name``, ``version``, and ``project_date`` format variables. This allows subsequent versions to be written out to new files instead of appended to an existing one. (`161 <https://github.com/twisted/towncrier/issues/161>`_)
- You can now specify Towncrier-bundled templates in your configuration file. Available templates are `default`, `hr-between-versions` (as used in attrs), and `single-file-no-bullets`. (`162 <https://github.com/twisted/towncrier/issues/162>`_)


Bugfixes
--------

- Accept newsfragment filenames with multiple dots, like `fix-1.2.3.bugfix`. (`142 <https://github.com/twisted/towncrier/issues/142>`_)


Deprecations and Removals
-------------------------

- The `--pyproject` option for `towncrier check` is now replaced with `--config`, for consistency with other commands. (`162 <https://github.com/twisted/towncrier/issues/162>`_)

19.2.0

=============================

Features
--------

- Add support for multiple fragements per issue/type pair. This extends the
naming pattern of the fragments to `issuenumber.type(.counter)` where counter
is an optional integer. (`119 <https://github.com/twisted/towncrier/issues/119>`_)
- Python 2.7 is now supported. (`121 <https://github.com/twisted/towncrier/issues/121>`_)
- `python -m towncrier.check` now accepts an option to give the configuration file location. (`123 <https://github.com/twisted/towncrier/issues/123>`_)
- towncrier.check now reports git output when it encounters a git failure. (`124 <https://github.com/twisted/towncrier/issues/124>`_)

18.6.0

=============================

Features
--------

- ``python -m towncrier.check``, which will check a Git branch for the presence of added newsfiles, to be used in a CI system. (`75 <https://github.com/twisted/towncrier/issues/75>`_)
- wrap is now an optional configuration option (which is False by default) which controls line wrapping of news files. Towncrier will now also not attempt to normalise (wiping newlines) from the input, but will strip leading and ending whitespace. (`80 <https://github.com/twisted/towncrier/issues/80>`_)
- Towncrier can now be invoked by ``python -m towncrier``. (`115 <https://github.com/twisted/towncrier/issues/115>`_)


Deprecations and Removals
-------------------------

- Towncrier now supports Python 3.5+ as a script runtime. Python 2.7 will not function. (`80 <https://github.com/twisted/towncrier/issues/80>`_)

18.5.0

=============================

Features
--------

- Python 3.3 is no longer supported. (`103
<https://github.com/twisted/towncrier/issues/103>`_)
- Made ``package`` optional. When the version is passed on the command line,
and the ``title_format`` does not use the package name, and it is not used
for the path to the news fragments, then no package name is needed, so we
should not enforce it. (`111
<https://github.com/twisted/towncrier/issues/111>`_)


Bugfixes
--------

- When cleaning up old newsfragments, if a newsfragment is named
"123.feature.rst", then remove that file instead of trying to remove the
non-existent "123.feature". (`99
<https://github.com/twisted/towncrier/issues/99>`_)
- If there are two newsfragments with the same name (example: "123.bugfix.rst"
and "123.bugfix.rst~"), then raise an error instead of silently picking one
at random. (`101 <https://github.com/twisted/towncrier/issues/101>`_)

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.