- Parsing the spec file by RPM is now performed only if really necessary, greatly improving performance in certain scenarios. (212) - Checked that license is a valid SPDX license.
0.14.0
- Fixed a bug that broke parsing in case spec file contained conditionalized macro definitions or similar constructs. (209) - Specfile no longer depends on rpm-py-installer, it now depends directly on rpm. (207)
0.13.2
- Fixed infinite loop that occured when section options were followed by whitespace. (197)
0.13.1
- Fixed a bug in section parsing that caused sections to be ignored when there were macro definitions spread across the spec file and not cumulated at the top. (191)
0.13.0
- Added `Section.options` attribute for convenient manipulation of section options. (183) - specfile now supports single-line sections where section content is represented by a macro starting with a newline. (182) - Added `evr` argument to `Specfile.add_changelog_entry()`. This allows adding a changelog entry with an EVR value that's different from the current specfile's value. This makes it easier to reconstruct a specfile's `%changelog` based on another source using the higher level interface. (181)
0.12.0
- All classes including `Specfile` itself can now be copied using the standard `copy()` and `deepcopy()` functions from `copy` module. (176) - `Section.name` attribute has been renamed to a more fitting `Section.id`. (167) - `setup.cfg` now uses `license_files` instead of deprecated `license_file`. (162)