* Add a [GitHub workflow](https://github.com/bkircher/python-rpm-spec/actions/workflows/fedora-sources.yml) that parses all of Fedora's spec files. The workflow runs on each PR. * The `replace_macro` function gained a new `max_attempts` parameter that prevents endless recursion in certain scenarios. Thanks [kraptor](https://github.com/kraptor). * Add support for Python 3.12. * Drop support for Python 3.7. It is EOL and no longer supported by the Python core team.
0.14.1
* Fix replace_macro's behavior with user-defined conditional macros (PR [56](https://github.com/bkircher/python-rpm-spec/pull/59)). Thanks [imphil](https://github.com/imphil). * The parsing of package names was wrong when tab characters where used in %package ([57](https://github.com/bkircher/python-rpm-spec/issues/57)). This has been fixed by [tagoh](https://github.com/tagoh). * Implement parsing of spec files where sub-packages (`%package`) have their own sources and patches defined. Previously, the parser would just fail with an error message like `AttributeError: 'Package' object has no attribute 'sources'`. This is now fixed. * Use SemVer for versioning. git tags are now prefixed with `v`, e.g. `v0.15.0` instead of `0.15.0`.
0.14
* Teach replace_macro how to deal with macros that are not wrapped in curly braces (PR [54](https://github.com/bkircher/python-rpm-spec/pull/54)). * Add type annotations for tools like mypy, your IDE, and your brain (PR [55](https://github.com/bkircher/python-rpm-spec/pull/55)).
0.13
* Fix parsing of BuildRequires:, Requires:, Conflicts:, Obsoletes:, Provides: with comments at end of line. Thanks [SuoXC](https://github.com/SuoXC). * Add CI for Python 3.11.
0.12
* Fix %description and %changelog with multi-line strings [46](https://github.com/bkircher/python-rpm-spec/issues/46). Thanks [tagoh](https://github.com/tagoh).