Towncrier

Latest version: v24.8.0

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

Scan your dependencies

Page 1 of 5

24.8.0

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

No changes since the previous release candidate.


Features
--------

- Add ``.gitkeep`` as an ignored filename. (`643 <https://github.com/twisted/towncrier/issues/643>`_)
- Config `ignore` option now supports wildcard matching via `fnmatch <https://docs.python.org/3/library/fnmatch.html#fnmatch.fnmatch>`_. (`644 <https://github.com/twisted/towncrier/issues/644>`_)
- Add a config for enforcing issue names using regex. (`649 <https://github.com/twisted/towncrier/issues/649>`_)


Bugfixes
--------

- The template file is now ignored based only on the file name. (`638 <https://github.com/twisted/towncrier/issues/638>`_)
- Control of the header formatting is once again completely up to the user when they are writing markdown files (fixes a regression introduced in [610](https://github.com/twisted/towncrier/pull/610)). (`#651 <https://github.com/twisted/towncrier/issues/651>`_)
- Fixed an issue where `issue_template` failed recognizing the issue name of files with a non-category suffix (`.md`) (`654 <https://github.com/twisted/towncrier/issues/654>`_)
- Fixed a bug where orphan news fragments (e.g. +abc1234.feature) would fail when an `issue_pattern` is configured. Orphan news fragments are now excempt from `issue_pattern` checks. (`655 <https://github.com/twisted/towncrier/issues/655>`_)


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

- Moved towncrier version definition from src/towncrier/_version.py to pyproject.toml

towncrier.__version__ was removed, after being deprecated in 23.6.0. (`640 <https://github.com/twisted/towncrier/issues/640>`_)


Misc
----

- `640 <https://github.com/twisted/towncrier/issues/640>`_, `#657 <https://github.com/twisted/towncrier/issues/657>`_

24.7.1

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

No significant changes since the previous release candidate.


Bugfixes
--------

- When the template file is stored in the same directory with the news fragments, it is automatically ignored when checking for valid fragment file names. (`632 <https://github.com/twisted/towncrier/issues/632>`_)


Misc
----

- `629 <https://github.com/twisted/towncrier/issues/629>`_, `#630 <https://github.com/twisted/towncrier/issues/630>`_

24.7.0

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

No changes since the previous release candidate.


Features
--------

- ``towncrier build`` now handles removing news fragments which are not part of the git repository. For example, uncommitted or unstaged files. (`357 <https://github.com/twisted/towncrier/issues/357>`_)
- Inferring the version of a Python package now tries to use the metadata of the installed package before importing the package explicitly (which only looks for ``[package].__version__``). (`432 <https://github.com/twisted/towncrier/issues/432>`_)
- If no filename is given when doing ``towncrier`` create, interactively ask for the issue number and fragment type (and then launch an interactive editor for the fragment content).

Now by default, when creating a fragment it will be appended with the ``filename`` option's extension (unless an extension is explicitly provided). For example, ``towncrier create 123.feature`` will create ``news/123.feature.rst``. This can be changed in configuration file by setting `add_extension = false`.

A new line is now added by default to the end of the fragment contents. This can be reverted in the configuration file by setting `add_newline = false`. (`482 <https://github.com/twisted/towncrier/issues/482>`_)
- The temporary file ``towncrier create`` creates now uses the correct ``.rst`` or ``.md`` extension, which may help your editor with with syntax highlighting. (`594 <https://github.com/twisted/towncrier/issues/594>`_)
- Running ``towncrier`` will now traverse back up directories looking for the configuration file. (`601 <https://github.com/twisted/towncrier/issues/601>`_)
- The ``towncrier create`` action now uses sections defined in your config (either interactively, or via the new ``--section`` option). (`603 <https://github.com/twisted/towncrier/issues/603>`_)
- News fragments are now sorted by issue number even if they have non-digit characters.

For example::

- some issue (gh-3, gh-10)
- another issue (gh-4)
- yet another issue (gh-11)

The sorting algorithm groups the issues first by non-text characters and then by number. (`608 <https://github.com/twisted/towncrier/issues/608>`_)
- The ``title_format`` configuration option now uses a markdown format for markdown templates. (`610 <https://github.com/twisted/towncrier/issues/610>`_)
- newsfragment categories can now be marked with ``check = false``, causing them to be ignored in ``towncrier check`` (`617 <https://github.com/twisted/towncrier/issues/617>`_)
- ``towncrier check`` will now fail if any news fragments have invalid filenames.

Added a new configuration option called ``ignore`` that allows you to specify a list of filenames that should be ignored. If this is set, ``towncrier build`` will also fail if any filenames are invalid, except for those in the list. (`622 <https://github.com/twisted/towncrier/issues/622>`_)


Bugfixes
--------

- Add explicit encoding to read_text. (`561 <https://github.com/twisted/towncrier/issues/561>`_)
- The default Markdown template now renders a title containing the release version and date, even when the `name` configuration is left empty. (`587 <https://github.com/twisted/towncrier/issues/587>`_)
- Orphan news fragments, fragments not associated with an issue, consisting of only digits (e.g. '+12345678.feature') now retain their leading marker character. (`588 <https://github.com/twisted/towncrier/issues/588>`_)
- Orphan news fragments, fragments not associated with an issue, will now still show in categories that are marked to not show content, since they do not have an issue number to show. (`612 <https://github.com/twisted/towncrier/issues/612>`_)


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

- Clarify version discovery behavior. (`432 <https://github.com/twisted/towncrier/issues/432>`_, `#602 <https://github.com/twisted/towncrier/issues/602>`_)
- The tutorial now introduces the `filename` option in the appropriate paragraph and mentions its default value. (`586 <https://github.com/twisted/towncrier/issues/586>`_)
- Add docs to explain how ``towncrier create +.feature.rst`` (orphan fragments) works. (`589 <https://github.com/twisted/towncrier/issues/589>`_)


Misc
----

- `491 <https://github.com/twisted/towncrier/issues/491>`_, `#561 <https://github.com/twisted/towncrier/issues/561>`_, `#562 <https://github.com/twisted/towncrier/issues/562>`_, `#568 <https://github.com/twisted/towncrier/issues/568>`_, `#569 <https://github.com/twisted/towncrier/issues/569>`_, `#571 <https://github.com/twisted/towncrier/issues/571>`_, `#574 <https://github.com/twisted/towncrier/issues/574>`_, `#575 <https://github.com/twisted/towncrier/issues/575>`_, `#582 <https://github.com/twisted/towncrier/issues/582>`_, `#591 <https://github.com/twisted/towncrier/issues/591>`_, `#596 <https://github.com/twisted/towncrier/issues/596>`_, `#597 <https://github.com/twisted/towncrier/issues/597>`_, `#625 <https://github.com/twisted/towncrier/issues/625>`_

23.11.0

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

No significant changes since the previous release candidate.


Bugfixes
--------

- ``build`` now treats a missing fragments directory the same as an empty one, consistent with other operations. (`538 <https://github.com/twisted/towncrier/issues/538>`_)
- Fragments with filenames like `fix-1.2.3.feature` are now associated with the issue `fix-1.2.3`.
In previous versions they were incorrectly associated to issue `3`. (`562 <https://github.com/twisted/towncrier/issues/562>`_)
- Orphan newsfragments containing numeric values are no longer accidentally associated to issues. In previous versions the orphan marker was ignored and the newsfragment was associated to an issue having the last numerical value from the filename. (`562 <https://github.com/twisted/towncrier/issues/562>`_)


Misc
----

- `558 <https://github.com/twisted/towncrier/issues/558>`_, `#559 <https://github.com/twisted/towncrier/issues/559>`_

23.10.0

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

No significant changes since the previous release candidate.


Features
--------

- Python 3.12 is now officially supported. (`541 <https://github.com/twisted/towncrier/issues/541>`_)
- Initial support was added for monorepo-style setup.
One project with multiple independent news files stored in separate sub-directories, that share the same towncrier config. (`548 <https://github.com/twisted/towncrier/issues/548>`_)
- Two newlines are no longer always added between the current release notes and the previous content.
The newlines are now defined only inside the template.

**Important! If you're using a custom template and want to keep the same whitespace between releases, you may have to modify your template.** (`552 <https://github.com/twisted/towncrier/issues/552>`_)


Bugfixes
--------

- Towncrier now vendors the click-default-group package that prevented installations on modern Pips. (`540 <https://github.com/twisted/towncrier/issues/540>`_)


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

- The markdown docs now use the default markdown template rather than a simpler custom one. (`545 <https://github.com/twisted/towncrier/issues/545>`_)
- Cleanup a duplicate backtick in the tutorial. (`551 <https://github.com/twisted/towncrier/issues/551>`_)


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

- The support for Python 3.7 has been dropped. (`521 <https://github.com/twisted/towncrier/issues/521>`_)


Misc
----

- `481 <https://github.com/twisted/towncrier/issues/481>`_, `#520 <https://github.com/twisted/towncrier/issues/520>`_, `#522 <https://github.com/twisted/towncrier/issues/522>`_, `#523 <https://github.com/twisted/towncrier/issues/523>`_, `#529 <https://github.com/twisted/towncrier/issues/529>`_, `#536 <https://github.com/twisted/towncrier/issues/536>`_

23.6.0

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

This is the last release to support Python 3.7.


Features
--------

- Make ``towncrier create`` use the fragment counter rather than failing
on existing fragment names.

For example, if there is an existing fragment named ``123.feature``,
then ``towncrier create 123.feature`` will now create a fragment
named ``123.feature.1``. (`475 <https://github.com/twisted/towncrier/issues/475>`_)
- Provide a default Markdown template if the configured filename ends with ``.md``.

The Markdown template uses the same rendered format as the default *reStructuredText* template, but with a Markdown syntax. (`483 <https://github.com/twisted/towncrier/issues/483>`_)
- Towncrier no longer depends on setuptools & uses importlib.resources (or its backport) instead. (`496 <https://github.com/twisted/towncrier/issues/496>`_)
- Added pre-commit hooks for checking and updating news in projects using pre-commit. (`498 <https://github.com/twisted/towncrier/issues/498>`_)
- Calling ``towncrier check`` without an existing configuration, will just show only an error message.

In previous versions, a traceback was generated instead of the error message. (`501 <https://github.com/twisted/towncrier/issues/501>`_)


Bugfixes
--------

- Fix creating fragment in a section not adding random characters.

For example, ``towncrier create some_section/+.feature`` should end up as a fragment named something like ``news/some_section/+a4e22da1.feature``. (`468 <https://github.com/twisted/towncrier/issues/468>`_)
- Fix the ReadTheDocs build for ``towncrier`` which was broken due to the python version in use being 3.8. Upgrade to 3.11. (`509 <https://github.com/twisted/towncrier/issues/509>`_)


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

- Moved man page to correct section (`470 <https://github.com/twisted/towncrier/issues/470>`_)
- Update link to Quick Start in configuration.html to point to Tutorial instead. (`504 <https://github.com/twisted/towncrier/issues/504>`_)
- Add a note about the build command's ``--version`` requiring the command to be explicitly passed. (`511 <https://github.com/twisted/towncrier/issues/511>`_)
- Fix typos in the Pre-Commit docs. (`512 <https://github.com/twisted/towncrier/issues/512>`_)


Misc
----

- `459 <https://github.com/twisted/towncrier/issues/459>`_, `#462 <https://github.com/twisted/towncrier/issues/462>`_, `#472 <https://github.com/twisted/towncrier/issues/472>`_, `#485 <https://github.com/twisted/towncrier/issues/485>`_, `#486 <https://github.com/twisted/towncrier/issues/486>`_, `#487 <https://github.com/twisted/towncrier/issues/487>`_, `#488 <https://github.com/twisted/towncrier/issues/488>`_, `#495 <https://github.com/twisted/towncrier/issues/495>`_, `#497 <https://github.com/twisted/towncrier/issues/497>`_, `#507 <https://github.com/twisted/towncrier/issues/507>`_, `#1117 <https://github.com/twisted/towncrier/issues/1117>`_, `#513 <https://github.com/twisted/towncrier/issues/513>`_

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.