diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index a4ed95bc..5b1c0ef4 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -13,26 +13,26 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11-dev'] + python-version: ['3.8', '3.9', '3.10', '3.11'] pip-sphinx: ['sphinx'] pytest-options: [''] include: + # python 3.7 (needs older docutils and jinja2) + - python-version: '3.7' + pip-sphinx: '"docutils<0.18" "jinja2<3.1"' + pytest-options: '' # numpydoc tests - - python-version: '3.10' + - python-version: '3.11' pip-sphinx: 'sphinx numpydoc' pytest-options: '-m "numpydoc"' # rinohtype tests - - python-version: '3.10' + - python-version: '3.11' pip-sphinx: 'sphinx https://github.com/brechtm/rinohtype/archive/refs/heads/master.zip' pytest-options: '-m "rinohtype"' # cython tests - - python-version: '3.10' + - python-version: '3.11' pip-sphinx: 'sphinx test/some_cython_module' pytest-options: '-m "cython"' - # sphinx 2.1 (the oldest supported version, released for Python 3.7) - - python-version: '3.7' - pip-sphinx: '"sphinx==2.1" "docutils==0.16" "jinja2<3.1"' - pytest-options: '' # latest of sphinx 3.x series (released for Python 3.9) - python-version: '3.9' pip-sphinx: '"sphinx<4" "jinja2<3.1"' @@ -42,7 +42,7 @@ jobs: pip-sphinx: '"sphinx<5"' pytest-options: '' # sphinx pre-release - - python-version: '3.10' + - python-version: '3.11' pip-sphinx: '--pre sphinx' pytest-options: '' steps: @@ -55,8 +55,7 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install pytest codecov coverage - python -m pip install ${{ matrix.pip-sphinx }} - pip install . + python -m pip install . ${{ matrix.pip-sphinx }} - name: Install extra dependencies run: | python -m pip install flake8 check-manifest mypy types-setuptools types-docutils diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 123bcf1c..2f083c92 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,12 +1,19 @@ -2.5.1 (in development) +2.6.0 (in development) ---------------------- +* Exclude docutils 0.18 and 0.19 to fix generation of a spurious div tag in the + html builder (see issues #330, #329, #323, #322, #309). + * Add test for running the extension on Cython modules (see issue #308). * Running pytest without arguments will now by default skip all marked tests that require additional dependencies (currently numpydoc, rinohtype, and cython). +* Python 3.6 is EOL and is therefore no longer officially supported. + +* Sphinx versions 2.x (and lower) are no longer supported. + 2.5.0 (22 August 2022) ---------------------- diff --git a/requirements.txt b/requirements.txt index 86d4be4d..5fb62582 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ Sphinx>=2.1 -docutils>=0.8 +docutils>=0.8,!=1.18.*,!=1.19.* pybtex>=0.24 pybtex-docutils>=1.0.0 dataclasses; python_version < '3.7' diff --git a/src/sphinxcontrib/bibtex/__init__.py b/src/sphinxcontrib/bibtex/__init__.py index 8483a416..a06a6ffc 100644 --- a/src/sphinxcontrib/bibtex/__init__.py +++ b/src/sphinxcontrib/bibtex/__init__.py @@ -51,7 +51,7 @@ def setup(app: Sphinx) -> Dict[str, Any]: app.add_role("footcite", FootCiteRole()) return { - 'version': '2.5.1a0', + 'version': '2.6.0a0', 'env_version': 9, 'parallel_read_safe': True, 'parallel_write_safe': True, diff --git a/test/common.py b/test/common.py index ba400768..5cf3af1b 100644 --- a/test/common.py +++ b/test/common.py @@ -132,9 +132,11 @@ def html_footnotes(id_=RE_ID, text=RE_TEXT): r'

(?P{text})

\n
'.format( id_=id_, backref_id=RE_ID, label=RE_NUM, text=text)) else: + foot_role = 'role='"note"'' if docutils.__version_info__ < (0, 20) \ + else 'role="doc-footnote"' return re.compile( r'' .format( - back_role='role="doc-backlink"', + foot_role=foot_role, back_role='role="doc-backlink"', id_=id_, label=RE_NUM, text=text, backref_id=RE_ID))