Skip to content

Update sphinxcontrib-bibtex to 2.7.0#406

Open
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-sphinxcontrib-bibtex-2.4.1-to-2.7.0
Open

Update sphinxcontrib-bibtex to 2.7.0#406
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-sphinxcontrib-bibtex-2.4.1-to-2.7.0

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

@pyup-bot pyup-bot commented May 6, 2026

This PR updates sphinxcontrib-bibtex from 2.4.1 to 2.7.0.

Changelog

2.7.0

------------------

* **BACKWARD INCOMPATIBLE**
A new warning category, ``duplicate_local_citation``, has been introduced.
It is triggered when a duplicate citation appears within the same document.
The existing ``duplicate_citation`` warning continues to report duplicates but now only across different documents.

In many cases, users maintain a separate bibliography for each document (often using a ``docname in docnames`` filter).
In such setups, duplicate citations across documents are usually acceptable, while duplicates within a single document are not.
This distinction allows users to suppress ``duplicate_citation`` warnings while still receiving ``duplicate_local_citation`` warnings.

* When there are duplicate citations,
resolve locally first
(reported by drbenvincent, see issue 385).

* The usage section of the documentation now starts with in-depth general considerations
to guide users towards best practice for the most common use cases.

* Citation reference wrapper nodes now have a ``bibtex-citation`` CSS class,
to enable Sphinx themes to style citation elements separately from other content
(contributed by mmcky, see pull request 383).

* Increase required pybtex-docutils version to 1.0.2
(reported by ego-thales).

* Fix test suite for docutils 0.22
(fixed by mitya57, see pull request 377).

* Dropped Python 3.9 support (EOL), added Python 3.14 support.

* Fixed various deprecation warnings in Sphinx and docutils.

* Improved header parsing.

* Minimum required Sphinx version increased to 7.4.

* Minimum required Docutils version increased to 0.20.

2.6.5

--------------------

* Require pybtex 0.25 and remove setuptools dependency hack
(fixed by flying-sheep, see pull request 372).

2.6.4

--------------------

* Add Python 3.13 support.

* Add setuptools as dependency on all Python versions.
This fixes an issue with an undeclared setuptools dependency
in the latest release of pybtex.
See discussion in issue 345.

* Python 3.7 and 3.8 are EOL and are therefore no longer officially supported.

* FootCiteRole now derives from SphinxRole instead of XRefRole,
simplifying the implementation.

* Bib files in conf.py are now resolved relative to confdir instead of srcdir
(reported and fixed by rgambord, see issue 357 and pull request 358).

* Duplicate label warnings are no longer issued if the non-prefixed keys
are identical. This allows having duplicate citations,
as long as the keys are differently prefixed, which is a common use case.
See issue 365 reported by ego-thales.

2.6.3

-------------------------

* Add setuptools as a runtime dependency on Python 3.12. This works around
an issue with the latest release of pybtex not working on Python 3.12
otherwise. See issue 345.

* Migrate setup.py to pyproject.toml. This fixes a ``namespace_packages``
warning on setuptools. See issue 350.

2.6.2

-----------------------

* Fix bibliography header repetition when recompiling documents
(reported by ragonneau, see issue 342 and pull request 343).

2.6.1

----------------------

* The ``:cite:alp:`` role in the super style now also suppresses the sup tag
in addition to the brackets, to make it easier to apply the necessary formatting
around the citation.

2.6.0

----------------------

* Pre- and post-text in citations are now supported for the
author_year, label, and super referencing styles. The syntax is
``:cite:p:`{pre-text}key{post-text} (requested by RobertoBagnara,
see issue 288 and pull request 316).
Refer to the documentation for more details.

* New alternative style citations are now supported for the
author_year, label, and super parenthetical referencing styles,
which are identical to parenthetical citations but without the brackets.
The syntax is
``:cite:alp:`key (requested by davidorme, see pull request 316).
Refer to the documentation for more details.

* 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).

* Add test for running the extension with autoapi (see issue 319).

* Sphinx versions 2.x (and lower) are no longer supported.
New minimum required version of Sphinx is 3.5.

* Running pytest without arguments will now by default skip all marked tests
that require additional dependencies (currently numpydoc, rinohtype, and
cython).

* Fix encoding issues when running tests on Windows.

* Python 3.6 is EOL and is therefore no longer officially supported.

2.5.0

----------------------

* Add support for the rinohtype builder (reported by brechtm, see issue 275).

* Migrate from ``pkg_resources`` to ``importlib.metadata``. A side effect of
this migration is that
**plugins registered at runtime are no longer exposed as entry points**.
This is because ``importlib`` does not allow runtime modification of
entry points.

* Remove sphinxcontrib namespace ``__init__.py`` file (no longer needed for
Python 3.3+ by PEP420).

* Add support for docutils 0.18.

* Suppress LaTeX url commands in tooltips (see issue 305, reported by
1kastner).

* Document Markdown syntax for MyST (suggested by jacopok, see issue 310).

2.4.2

---------------------

* Add support for Python 3.10 and 3.11.

* New ``bibtex_tooltips`` option.
Set to ``False`` to disable tooltip generation.
See issue 286.

* New ``bibtex_tooltips_style`` option to customize tooltip text style.
If empty (the default), the bibliography style is used.
See issue 286.

* Support for ``root_doc`` option introduced in Sphinx 4.0
(see issue 292, reported by jhmeinke).

* Use container node instead of paragraph node for containing bibliographies,
fixing a violation against the docutils spec
(see issue 273, reported by rappdw, with additional input from brechtm).

* Fix mutable dataclass fields for Python 3.11 (see issue 284 and pull
request 285; reported and fixed by jamesjer)

* Internal refactor: embed ``reference_text_class`` directly inside the pybtex
nodes. This enables different text classes to be used by different styles, so
different sorts of docutils nodes can be generated on rendering depending on
the pybtex node used. See discussion in issue 275.

* Add numpydoc regression test.

* Bump minimal pybtex requirement to 0.24.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant