Versions must now be PEP440
Since 2023.3, versions must match PEP440, or else an exception is raised. For example, using a version of 3.0.0-devel
, gi-docgen
raises an exception as:
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/gidocgen/gdgenerate.py", line 3101, in gen_reference
res = future.result()
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib64/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/gidocgen/gdgenerate.py", line 2419, in _gen_aliases
content = alias_tmpl.render({
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/lib/python3.12/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/usr/lib/python3.12/site-packages/gidocgen/templates/basic/struct.html", line 40, in top-level template code
<li class="toc-list-item"><a href="{{ section_link }}"><span class="link-text">{{ section_title }}</span></a></li>
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/gidocgen/templates/basic/base.html", line 89, in top-level template code
{% block content %}{% endblock %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/gidocgen/templates/basic/struct.html", line 82, in block 'content'
{%- if CONFIG.is_unstable(struct.available_since) -%}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/gidocgen/config.py", line 256, in is_unstable
return packaging_version.parse(version) > packaging_version.parse(cur_version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/packaging/version.py", line 52, in parse
return Version(version)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/packaging/version.py", line 198, in __init__
raise InvalidVersion(f"Invalid version: '{version}'")
packaging.version.InvalidVersion: Invalid version: '3.0.0-devel'
WARNING: Section aliases raised Invalid version: '3.0.0-devel'
Specifically I believe this is an effect of !178 (merged), as packaging.version.Version
does not accept any non-PEP440 versions. As this was not specifically mentioned in CHANGES.md
, I don't know that this was intentional.