# Change log This change log follows the [Keep a Changelog](http://keepachangelog.com/) recommendations. Every release contains the following sections: - `Added` for new features. - `Changed` for changes in existing functionality. - `Deprecated` for soon-to-be removed features. - `Removed` for now removed features. - `Fixed` for any bug fixes. - `Security` in case of vulnerabilities. The versions follow [semantic versioning](https://semver.org) for the `protokolo` CLI command and its behaviour. There are no guarantees of stability for the `protokolo` Python library. ## 3.0.2 - 2025-09-21 ### Changed - Relicensed from `GPL-3.0-or-later` to `EUPL-1.2+`. ### Fixed - Removed version upper bound of Python requirement. That is, Protokolo no longer requires `>=3.11,<4`, and instead only requires `>=3.11`. ## 3.0.0 - 2024-07-13 ### Changed - Fragments are now sorted by file name stem instead of file name. ## 2.1.4 - 2024-04-30 ### Fixed - Changed the docs dependency for `sphinxcontrib-apidoc` from `^0.3.0` to `>=0.3.0`. - Order of items in API documentation is now identical to how they are ordered in the source code. - `protokolo compile --help` missed a paragraph. Instead of adding the paragraph, a lot of `--help` text has been moved into the accompanying manpages. ## 2.1.3 - 2024-04-28 ### Fixed - Don't show change log in overview page in Sphinx. This bug was introduced in v2.1.0. ## 2.1.2 - 2024-04-28 ### Fixed - Fix error in change log. ## 2.1.1 - 2024-04-28 ### Added - Implemented internationalisation via Weblate and Forgejo Actions. ### Fixed - Documentation built from sdist now includes the change log and readme. ## 2.1.0 - 2024-04-28 [YANKED] This release accidentally contained an older sdist. ## 2.0.1 - 2024-04-10 ### Fixed - `--directory` in `protokolo compile` now has a help text. - `protokolo --version` now also prints the GPLv3+ blurb. ## 2.0.0 - 2024-04-10 ### Added - Wrote man pages, improved documentation. - The options `--changelog`, `--directory`, and `--markup` now also take the short options `-c`, `-d`, and `-m` respectively. - The option `--format` now also has the short option `-f`. ### Changed - `protokolo compile` now takes the change log directory as a `--directory` option instead of as an argument. This makes it consistent with `protokolo init`. ### Fixed - Fixed a bug where, if a subdirectory in `changelog.d` did not contain a `.protokolo.toml` file, the program would crash. - Made sure that `changelog.d` subdirectories that do not contain a `.protokolo.toml` file retain all their files after `protokolo compile` is run. - In `protokolo compile --help`, there was a `TODO` where a link to the documentation should have been. ## 1.0.1 - 2024-04-09 ### Fixed - Include `docs/` in the sdist. ## 1.0.0 - 2024-04-09 ### Changed - Renamed the concept of 'entry' to 'fragment'. - Changed the way newlines are handled for fragments. Newlines surrounding fragments are now significant when concatenation of fragments happens. However, a _lack_ of final is considered an error, and one is always added. The foremost consequence of this change is that list items now concatenate without a blank line between them. ### Fixed - Newline at the end of CHANGELOG is retained after `protokolo compile`. ## 0.3.0 - 2024-04-07 ### Added - Added `--dry-run` to `compile`. - Added `--format` to `compile`. This is primarily useful for doing something like `protokolo compile --format version 1.0.0` to format the correct version into the section heading. ### Changed - Re-wrote the internals to use the `attrs` library for easier validation. ## 0.2.0 - 2023-11-07 This is the prototype release of Protokolo. It contains the most basic functionality and limited documentation, but is a minimum viable product. You can: - Compile the `changelog.d` directory into a CHANGELOG file with `protokolo compile`. - Create the `changelog.d` directory with `protokolo init`. - Configure some bits and bobs in `.protokolo.toml` files. - Use both Markdown and reStructuredText. ## 0.1.0 - 2023-10-20 This release doesn't contain much of anything. I made it to claim the namespace on PyPI.