python-breathe fails to build with sphinx 8.x in Fedora 42 (currently Rawhide). The issue detected: =================================== FAILURES =================================== _______________________________ test_render_func _______________________________ app = <SphinxTestApp buildername='html'> def test_render_func(app): member_def = WrappedMemberDef( kind="function", definition="void foo", type_="void", name="foo", argsstring="(int)", virt="non-virtual", param=[ WrappedParam(type_=WrappedLinkedText(content_=[WrappedMixedContainer(value="int")])) ], ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: _____________________________ test_render_typedef ______________________________ app = <SphinxTestApp buildername='html'> def test_render_typedef(app): member_def = WrappedMemberDef( kind="typedef", definition="typedef int foo", type_="int", name="foo" ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2515: in dispatch_memberdef return self.visit_typedef(node) ../breathe/renderer/sphinxrenderer.py:2134: in visit_typedef return self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ____________________________ test_render_c_typedef _____________________________ app = <SphinxTestApp buildername='html'> def test_render_c_typedef(app): member_def = WrappedMemberDef( kind="typedef", definition="typedef unsigned int bar", type_="unsigned int", name="bar" ) > signature = find_node(render(app, member_def, domain="c"), "desc_signature") test_renderer.py:366: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2515: in dispatch_memberdef return self.visit_typedef(node) ../breathe/renderer/sphinxrenderer.py:2134: in visit_typedef return self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/c/__init__.py:219: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ________________________ test_render_c_function_typedef ________________________ app = <SphinxTestApp buildername='html'> def test_render_c_function_typedef(app): member_def = WrappedMemberDef( kind="typedef", definition="typedef void* (*voidFuncPtr)(float, int)", type_="void* (*", name="voidFuncPtr", argsstring=")(float, int)", ) > signature = find_node(render(app, member_def, domain="c"), "desc_signature") test_renderer.py:378: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2515: in dispatch_memberdef return self.visit_typedef(node) ../breathe/renderer/sphinxrenderer.py:2134: in visit_typedef return self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/c/__init__.py:219: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ___________________________ test_render_using_alias ____________________________ app = <SphinxTestApp buildername='html'> def test_render_using_alias(app): member_def = WrappedMemberDef( kind="typedef", definition="using foo = int", type_="int", name="foo" ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2515: in dispatch_memberdef return self.visit_typedef(node) ../breathe/renderer/sphinxrenderer.py:2134: in visit_typedef return self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ____________________________ test_render_const_func ____________________________ app = <SphinxTestApp buildername='html'> def test_render_const_func(app): member_def = WrappedMemberDef( kind="function", definition="void f", type_="void", name="f", argsstring="() const", virt="non-virtual", const="yes", ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ___________________________ test_render_lvalue_func ____________________________ app = <SphinxTestApp buildername='html'> def test_render_lvalue_func(app): member_def = WrappedMemberDef( kind="function", definition="void f", type_="void", name="f", argsstring="() &", virt="non-virtual", refqual="lvalue", ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:423: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ___________________________ test_render_rvalue_func ____________________________ app = <SphinxTestApp buildername='html'> def test_render_rvalue_func(app): member_def = WrappedMemberDef( kind="function", definition="void f", type_="void", name="f", argsstring="() &&", virt="non-virtual", refqual="rvalue", ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:437: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ________________________ test_render_const_lvalue_func _________________________ app = <SphinxTestApp buildername='html'> def test_render_const_lvalue_func(app): member_def = WrappedMemberDef( kind="function", definition="void f", type_="void", name="f", argsstring="() const &", virt="non-virtual", const="yes", refqual="lvalue", ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ________________________ test_render_const_rvalue_func _________________________ app = <SphinxTestApp buildername='html'> def test_render_const_rvalue_func(app): member_def = WrappedMemberDef( kind="function", definition="void f", type_="void", name="f", argsstring="() const &&", virt="non-virtual", const="yes", refqual="rvalue", ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:467: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2511: in dispatch_memberdef return self.visit_function(node) ../breathe/renderer/sphinxrenderer.py:2003: in visit_function nodes = self.handle_declaration(node, declaration) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: _______________________ test_render_variable_initializer _______________________ app = <SphinxTestApp buildername='html'> def test_render_variable_initializer(app): member_def = WrappedMemberDef( kind="variable", definition="const int EOF", type_="const int", name="EOF", initializer=WrappedMixedContainer(value="= -1"), ) > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:479: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2517: in dispatch_memberdef return self.visit_variable(node) ../breathe/renderer/sphinxrenderer.py:2197: in visit_variable return self.handle_declaration(node, declaration, options=options) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/cpp/__init__.py:319: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ________________________ test_render_define_initializer ________________________ app = <SphinxTestApp buildername='html'> def test_render_define_initializer(app): member_def = WrappedMemberDef( kind="define", name="MAX_LENGTH", initializer=WrappedLinkedText(content_=[WrappedMixedContainer(value="100")]), ) signature_w_initializer = find_node( > render(app, member_def, show_define_initializer=True), "desc_signature" ) test_renderer.py:490: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2525: in dispatch_memberdef return self.visit_define(node) ../breathe/renderer/sphinxrenderer.py:2080: in visit_define return self.handle_declaration(node, declaration, declarator_callback=add_definition) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/c/__init__.py:219: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: ______________________ test_render_define_no_initializer _______________________ app = <SphinxTestApp buildername='html'> def test_render_define_no_initializer(app): sphinx.addnodes.setup(app) member_def = WrappedMemberDef(kind="define", name="USE_MILK") > signature = find_node(render(app, member_def), "desc_signature") test_renderer.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_renderer.py:320: in render return renderer.render(member_def) ../breathe/renderer/sphinxrenderer.py:2624: in render result = method(self, node) ../breathe/renderer/sphinxrenderer.py:2525: in dispatch_memberdef return self.visit_define(node) ../breathe/renderer/sphinxrenderer.py:2080: in visit_define return self.handle_declaration(node, declaration, declarator_callback=add_definition) ../breathe/renderer/sphinxrenderer.py:667: in handle_declaration nodes_ = self.run_directive(obj_type, declaration, content_callback, options) ../breathe/renderer/sphinxrenderer.py:619: in run_directive nodes = directive.run() /usr/lib/python3.13/site-packages/sphinx/domains/c/__init__.py:219: in run return super().run() /usr/lib/python3.13/site-packages/sphinx/directives/__init__.py:287: in run content_children = self.parse_content_to_nodes(allow_section_headings=True) /usr/lib/python3.13/site-packages/sphinx/util/docutils.py:482: in parse_content_to_nodes return nested_parse_to_nodes( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:55: in nested_parse_to_nodes content = _text_to_string_list( /usr/lib/python3.13/site-packages/sphinx/util/parsing.py:94: in _text_to_string_list content = string2lines(text, tab_width, convert_whitespace=True) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ astring = None, tab_width = 8, convert_whitespace = True whitespace = re.compile('[\x0b\x0c]') def string2lines(astring, tab_width=8, convert_whitespace=False, whitespace=re.compile('[\v\f]')): """ Return a list of one-line strings with tabs expanded, no newlines, and trailing whitespace stripped. Each tab is expanded with between 1 and `tab_width` spaces, so that the next character's index becomes a multiple of `tab_width` (8 by default). Parameters: - `astring`: a multi-line string. - `tab_width`: the number of columns between tab stops. - `convert_whitespace`: convert form feeds and vertical tabs to spaces? - `whitespace`: pattern object with the to-be-converted whitespace characters (default [\\v\\f]). """ if convert_whitespace: > astring = whitespace.sub(' ', astring) E TypeError: expected string or bytes-like object, got 'NoneType' /usr/lib/python3.13/site-packages/docutils/statemachine.py:1506: TypeError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/root # outdir: /tmp/pytest-of-mockbuild/pytest-0/root/_build/html # status: Running Sphinx v8.1.3 loading translations [en]... done # warning: WARNING: node class 'toctree' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_signature' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_signature_line' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_content' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_inline' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_name' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_addname' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_type' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_returns' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_parameterlist' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_type_parameter_list' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_parameter' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_type_parameter' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_optional' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_annotation' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_literal_char' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_literal_string' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_keyword_type' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_punctuation' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_name' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_literal_number' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_keyword' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_operator' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'desc_sig_space' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'versionmodified' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'seealso' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'productionlist' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'production' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'index' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'centered' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'acks' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'hlist' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'hlistcol' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'compact_paragraph' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'glossary' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'only' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'start_of_file' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'highlightlang' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'tabular_col_spec' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'pending_xref' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'number_reference' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'download_reference' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'literal_emphasis' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'literal_strong' is already registered, its visitors will be overridden [app.add_node] WARNING: node class 'manpage' is already registered, its visitors will be overridden [app.add_node] =============================== warnings summary =============================== test_renderer.py:26 /builddir/build/BUILD/python-breathe-4.35.0-build/breathe-4.35.0/tests/test_renderer.py:26: RemovedInSphinx90Warning: 'sphinx.testing.path' is deprecated. Use 'os.path' or 'pathlib' instead. from sphinx.testing.path import path tests/test_renderer.py: 17 warnings /builddir/build/BUILD/python-breathe-4.35.0-build/breathe-4.35.0/tests/test_renderer.py:132: DeprecationWarning: The frontend.OptionParser class will be replaced by a subclass of argparse.ArgumentParser in Docutils 0.21 or later. settings = frontend.OptionParser(components=(parsers.rst.Parser,)).get_default_values() tests/test_renderer.py: 1190 warnings /usr/lib64/python3.13/optparse.py:1000: DeprecationWarning: The frontend.Option class will be removed in Docutils 0.21 or later. option = self.option_class(*args, **kwargs) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED test_renderer.py::test_render_func - TypeError: expected string or byt... FAILED test_renderer.py::test_render_typedef - TypeError: expected string or ... FAILED test_renderer.py::test_render_c_typedef - TypeError: expected string o... FAILED test_renderer.py::test_render_c_function_typedef - TypeError: expected... FAILED test_renderer.py::test_render_using_alias - TypeError: expected string... FAILED test_renderer.py::test_render_const_func - TypeError: expected string ... FAILED test_renderer.py::test_render_lvalue_func - TypeError: expected string... FAILED test_renderer.py::test_render_rvalue_func - TypeError: expected string... FAILED test_renderer.py::test_render_const_lvalue_func - TypeError: expected ... FAILED test_renderer.py::test_render_const_rvalue_func - TypeError: expected ... FAILED test_renderer.py::test_render_variable_initializer - TypeError: expect... FAILED test_renderer.py::test_render_define_initializer - TypeError: expected... FAILED test_renderer.py::test_render_define_no_initializer - TypeError: expec... ================= 13 failed, 8 passed, 1208 warnings in 2.41s ================== Please work with upstream on this issue, I plan to ship sphinx 8 in two weeks. For the logs from testing build attempts, see: https://copr.fedorainfracloud.org/coprs/thrnciar/python-sphinx/package/python-breathe/ You can test you package in mock running: $ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/thrnciar/python-sphinx/fedora-rawhide-x86_64/ --no-clean your.src.rpm $ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/thrnciar/python-sphinx/fedora-rawhide-x86_64/ shell We'd like to include Sphinx 8 in Fedora 42. Let us know here if you have any questions. Thank you!
Some similar upstream issues https://github.com/breathe-doc/breathe/issues/987 https://github.com/breathe-doc/breathe/issues/1003
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.
This message is a reminder that Fedora Linux 42 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 42 on 2026-05-13. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '42'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 42 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.