Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 38 #352

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

Update djangorestframework from 3.10.3 to 3.15.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update django-filter from 2.2.0 to 24.3.

Changelog

24.3

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

* Adds official support for Django 5.1.

* Allow using dictionaries for grouped choices on Django 5.0+.

Thanks to Sævar Öfjörð Magnússon.

* Adds ``unknown_field_behavior`` FilterSet option to allowing warning and
ignore behaviours for unknown field types during FilterSet generation.

Thanks to Loes.

24.2

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

* Fixed a regression in v23.4 where callable choices were incorrectly evaluated
at filter instantiation, on Django versions prior to 5.0.

Thanks to Craig de Stigter for the report and reproduce.

24.1

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

* Updated supported Python and Django versions, and resolved upcoming Django
deprecations.

Required versions are now at least Python 3.8 and Django 4.2.

Thanks to Michael Manganiello.

* Allowed passing a FilterSet class to the filterset_factory().

Thanks to Birger Schacht.

* Set empty default value of filterset data to MultiValueDict.

Thanks to Shlomo Gordon.

* Preserve list values passed to the data dict in CSV widgets.

Thanks to Bryan Brancotte.

* Updates French and Ukrainian localisations.

Thanks to Weblate.

23.5

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

* Fixed OrderingFilter handling of empty values. (1628)

Thanks to Matt Munns.

23.4

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

* Official support for Django 5.0 and Python 3.12.

* Fix DeprecationWarning for pkgutil.find_loader.

Thanks to `wmorrell`.

* Adopted Furo theme for docs.

23.3

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

* Adds initial compatibility with Django 5.0, prior to Django 5.0a1.

* Updates packaging to use pyproject.toml and Flit.

23.2

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

* Deprecated the schema generation methods of the DRF related ``DjangoFilterBackend``.
These will be removed in version 25.1.

You should use `drf-spectacular <https://drf-spectacular.readthedocs.io/en/latest/>`_
for generating OpenAPI schemas with DRF.

* In addition, stopped testing against the (very old now) ``coreapi`` schema generation.
These methods should continue to work if you're using them until v25.1, but
``coreapi`` is no longer maintained, and is raising warnings against the current
versions of Python. To workaround this is not worth the effort at this point.

* Updated Polish translations.

23.1

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

* Declared support for Django 4.2.

* Various updated and new translations. Thanks to all who contributed, and
Weblate for hosting.

* Fixed QueryArrayWidget.value_from_datadict() to not mutate input data. (1540)

22.1

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

* Update supported Python and Django versions: minimal Python is now 3.7,
minimum Django is now 3.2.

* Added testing for Python 3.10 and Django 4.1.

* Removed outdated deprecated warnings for code removed in version 2.1.

* Removed `filter_class` (use `filterset_class`) and `filter_fields`
(`filterset_fields`) that were deprecated in [version 2.0
(2018)](https://django-filter.readthedocs.io/en/main/guide/migration.html#view-attributes-renamed-867).

* The code base is now formatted with Black.

21.1

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

This is a maintenance release updating CI testing for the latest
non-end-of-life versions of Python and Django, and updating package metadata
accordingly.

With this release ``django-filter`` is switching to a two-part CalVer
versioning scheme, such as ``21.1``. The first number is the year. The second
is the release number within that year.

On an on-going basis, Django-Filter aims to support all current Django
versions, the matching current Python versions, and the latest version of
Django REST Framework.

Please see:

* `Status of supported Python branches <https://devguide.python.org/#status-of-python-branches>`_
* `List of supported Django versions <https://www.djangoproject.com/download/#support-versions>`_

Support for Python and Django versions will be dropped when they reach
end-of-life. Support for Python versions will dropped when they reach
end-of-life, even when still supported by a current version of Django.

Other breaking changes are rare. Where required, every effort will be made to
apply a "Year plus two" deprecation period. For example, a change initially
introduced in ``23.x`` would offer a fallback where feasible and finally be
removed in ``25.1``. Where fallbacks are not feasible, breaking changes without
deprecation will be called out in the release notes.

Beyond that change, there are few changes. Some small bugfixes, improvements to
localisation, and documentation tweaks. Thanks to all who were involved.

2.4.0

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

* SECURITY: Added a ``MaxValueValidator`` to the form field for
``NumberFilter``. This prevents a potential DoS attack if numbers with very
large exponents were subsequently converted to integers.

The default limit value for the validator is ``1e50``.

The new ``NumberFilter.get_max_validator()`` allows customising the used
validator, and may return ``None`` to disable the validation entirely.

* Added testing against Django 3.1 and Python 3.9.

In addition tests against Django main development branch are now required to
pass.

2.3.0

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

* Fixed import of FieldDoesNotExist. (1127)
* Added testing against Django 3.0. (1125)
* Declared support for, and added testing against, Python 3.8. (1138)
* Fix filterset multiple inheritance bug (1131)
* Allowed customising default lookup expression. (1129)
* Drop Django 2.1 and below (1180)
* Fixed IsoDateTimeRangeFieldTests for Django 3.1
* Require tests to pass against Django `master`.
Links

Update django-model-utils from 3.2.0 to 5.0.0.

Changelog

5.0.0

------------------
- Add formal support for `Django 5.1`
- Remove MonitorField deprecation warning. `None` - instead of
`django.utils.timezone.now` will be used when nullable and no default provided (GH-599)
- Add deprecation warning for MonitorField. The default value will be `None`
instead of `django.utils.timezone.now` - when nullable and without a default.
- Add Brazilian Portuguese translation (GH-578)
- Don't use `post_init` signal for initialize tracker
- Make `contribute_to_class()` in `StatusField`, `MonitorField` and `SplitField`
forward additional arguments to Django
- `SplitField` no longer accepts `no_excerpt_field` as a keyword argument
- Make `soft` argument to `SoftDeletableModel.delete()` keyword-only
- `JoinManager` and `JoinManagerMixin` have been deprecated;
please use ``JoinQueryset.as_manager()`` instead
- Change `SoftDeletableQuerySetMixin.delete` to replicate Django's API.

4.5.1

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

- Remove `JoinQueryset.get_quoted_query()` by mthuurne (GH-618)

4.5.0

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

- Don't use `post_init` signal for initialize tracker by meanmail in -  (GH-556)
- clarify docs for managers of SoftDeletableModel by tadamcz in -  (GH-589)
- [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in -  (GH-575)
- `Language Support` - Add translations for Brazilian Portuguese by gmcrocetti in -  (GH-578)
- Remove dead `init_deferred_fields` method by joecox in -  (GH-580)
- Update where `ConnectionDoesNotExist` is imported from by mthuurne in -  (GH-566)
- Remove arguments from `InheritanceQuerySetMixin._clone()` by mthuurne in -  (GH-567)
- Allow running tests using sqlite by jayvdb in -  (GH-516)
- `MonitorField` - Change default to None when the field is nullable  by gmcrocetti in -  (GH-577)
- Explicitly re-export names from `__init__` module by mthuurne in - (GH-591)
- Switch from freezegun to time-machine. by adamchainz in -  (GH-510)
- USE_TZ = True by foarsitter in -  (GH-593)
- Remove redundant definition of `JoinManager` from tests by mthuurne in -  (GH-594)
- Pass reason to `skip` decorator by mthuurne in -  (GH-595)
- Resolve name clash among test models by mthuurne in -  (GH-596)
- Remove obsolete `tests.signals` module by mthuurne in -  (GH-597)
- Remove obsolete test models by mthuurne in -  (GH-598)
- Postgresql docker container for local development by foarsitter in -  (GH-563)
- [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in -  (GH-602)
- Add issue-manager by foarsitter in -  (GH-600)
- Translation files by foarsitter in -  (GH-608)

4.4.0

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

- Add support for `Python 3.11` (GH-545)
- Add support for `Python 3.12` (GH-545)
- Drop support for `Python 3.7` (GH-545)
- Add support for `Django 4.2`
- Add support for `Django 5.0`
- Remove ``SaveSignalHandlingModel``. This model used a modified copy of the internal Django method `Model.save_base()`
and had not been updated for upstream bug fixes changes since its addition.
- Add Swedish translation
- Use proper column name instead of attname (GH-573)
- Fix ValueError when calling prefetch_related for tracked ForeignKey fields

4.3.1

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

- Confirm support for `Django 4.0`
- Add Spanish translation
- Add French translation
- Drop Django 1.7 workaround from `select_subclasses()`
- Drop support for `Django < 3.2`
- Drop support for `Python 3.6`
- Confirm support for `Django 4.1`

4.3.0

-----

- Never released due to packaging issues.

4.2.0

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

- Add support for `Django 3.2`
- Drop support for `Django 3.0`
- Add support for `Python 3.10`
- Added urlsafe token field.
- Introduce context manager for FieldTracker state reset (GH-491)
- Fix performance regression of FieldTracker on FileField subclasses on Django 3.1+
(GH-498)

4.1.1

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

- Applied `isort` to codebase (Refs GH-402)
- Fix `TypeError` in save when model inherits from both TimeStampModel
and StatusModel. (Fixes GH-465)

4.1.0

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

**Breaking changes:**

- `FieldTracker` now marks fields as not changed after `refresh_from_db`
respecting `fields` argument (GH-404)
- `FieldTracker` now respects `update_fields` changed in overridden `save()`
method (GH-404)
- `FieldTracker` now resets states after `pre_save()` and not anymore `save()`
signals, possibly altering the behaviour of overridden `save()`
methods (GH-404)

**Other changes:**

- Update InheritanceQuerySetMixin to avoid querying too much tables
- TimeStampedModel now automatically adds 'modified' field as an update_fields
parameter even if it is forgotten while using save()
- Replace ugettext_lazy with gettext_lazy to satisfy Django deprecation warning
- Add available_objects manager to SoftDeletableModel and add deprecation
warning to objects manager.
- StatusModel now automatically adds 'status_changed' field during save as an
update_fieldsparameter when 'status' is present in it to make sure it is not
forgotten.
- Update test requirements
- Move tests to GitHub Actions: https://github.com/jazzband/django-model-utils/actions
- Drop support for `Django 2.1`
- Add support for `Python 3.9`
- Add support for `Django 3.1`

4.0.0

------------------
- Added `Choices.subset`.
- Remove hacks for previously supported Django versions. (Fixes GH-390)
- Dropped support for Python 2.7. (Fixes GH-393)
- Dropped usage of `six`
- Drop support for `Django 1.11`
- Add support for `Python 3.8`
- Add support for `Django 3.0`
Links

Update pronto from 0.12.2 to 2.5.8.

Changelog

2.5.8

Fixed
- Extraction of implicit string annotation in RDF/XML files ([231](https://github.com/althonos/pronto/issues/231)).
- RDF/XML parser crash on `oboInOwl:SynonymTypeProperty` when missing a scope ([230](https://github.com/althonos/pronto/issues/230)).
Changed
- Migrate documentation to PyData theme.

2.5.7

Fixed
- Handling of RDF datatypes in RDF/XML parser ([223](https://github.com/althonos/pronto/pull/223), by [chrishmorris](https://github.com/chrishmorris)).

2.5.6

Added
- Explicit support for Python 3.12.
Fixed
- Synonym types not being properly extracted by RDF/XML parser ([218](https://github.com/althonos/pronto/issues/218)).

2.5.5

Fixed
- `replaced_by` and `consider` attributes not being extracted from RDF/XML documents on missing RDF datatype ([209](https://github.com/althonos/pronto/issues/209)).
- Hard requirement on `multiprocessing.pool` preventing the package to work single-threaded on more restrictive environments ([208](https://github.com/althonos/pronto/pull/208)).

2.5.4

Fixed
- `Entity.synonyms` setter not accepting `frozenset` arguments as expected (207).
Changed
- Bump supported `networkx` version to `v3.0` (206).

2.5.3

Fixed
- Crash in `LineageIterator.to_set` when starting from an empty set of entities.

2.5.2

Added
- Explicit support for Python 3.11.
Changed
- Bumped `fastobo` dependency to `v0.12.2`.
- Bumped `chardet` dependency to `v5.0`.

2.5.1

Fixed
- `EntitySet.ids` iterating on its elements instead of copying the internal identifiers.
- RDF/XML parser failing on unknown datatypes ([187](https://github.com/althonos/pronto/issues/187)).
Changed
- Disable typechecking when collecting entities in `to_set` methods.

2.5.0

Changed
- Bumped `fastobo` dependecy to `v0.12.1`
Removed
- Support for Python 3.6.

2.4.7

Fixed
- Serialization of `is_class_level` properties with `fastobo`-based serializers ([178](https://github.com/althonos/pronto/issues/178)).
- Parsing of `SynonymTypeProperty` elements in RDF/XML without a label attribute ([176](https://github.com/althonos/pronto/issues/176)).

2.4.6

Added
- Setters for the `holds_over_chain` and `equivalent_to_chain` properties of `Relationship` objects.
Fixed
- Serialization of `holds_over_chain` properties with `fastobo`-based serializers ([175](https://github.com/althonos/pronto/issues/175)).

2.4.5

Fixed
- Serialization of *metadata tag* relationships by `fastobo` ([164](https://github.com/althonos/pronto/issues/164)).

2.4.4

Added
- `OwlFunctionalSerializer` to dump an `Ontology` to OWL Functional-style syntax.
Changed
- Bumped `fastobo` dependency to `v0.11.1`.
- Make `FastoboParser` raise a `SyntaxWarning` when encoutering creation dates that are not `datetime.datetime`.

2.4.3

Added
- Missing documentation for the `pronto.Entity.relationships` property.
Fixed
- RDX/XML parser crashing on files containing a relationship and a term with the same ID ([138](https://github.com/althonos/pronto/pull/138)).

2.4.2

Added
- Support for `chardet` version `4.0` (in addition to older `3.0`).
Fixed
- Serialization of `Ontology` failing with non-empty `idspaces`.
- Typo in OWL2 URL in `README.md` ([130](https://github.com/althonos/pronto/issues/130)).

2.4.1

Changed
- `pronto.pv.PropertyValue` is now an abstract class.
- `pronto.parsers.RdfXmlParser` now ignores synonym Xrefs not in 
the right format.
Fixed
- `pronto.Entity.definition` documentation now lists return type as
`pronto.definition.Definition` as expected.
- CURIE compaction in RDF/XML not being handled consistently, causing
some crashes on ontologies using aliased relationships.
- `pronto.utils.typechecked.disabled` is now reentrant and should
not be disabled in multithreaded contexts anymore.
Removed
- Implicit injection of `lxml` instead of `xml.etree`, which caused
issues with `RdfXmlParser`.

2.4.0

Added
- Deprecation warnings for the retrieval of relationships via
indexing, to be deprecated in `v3`.
Changed
- Replaced Travis-CI with GitHub Actions to handle continuous integration.
- Bumped `fastobo` dependency to `v0.10.0`.
Removed
- Retrieval of terms via their alternate IDs (introduced in `v2.3.0`,
caused multiple issues ([120](https://github.com/althonos/pronto/issues/120),
[126](https://github.com/althonos/pronto/issues/126)).

2.3.2

Added
- Support for path-like objects when creating an `Ontology`
([108](https://github.com/althonos/pronto/pull/108)).
Fixed
- Avoid decoding file-like objects if they are already **UTF-8**
encoded when creating an `Ontology`
([110](https://github.com/althonos/pronto/pull/110)).

2.3.1

Fixed
- `pronto.entity` package not being included in source distribution.

2.3.0

Added
- Retrieval of entities via their alternate IDs on the source `Ontology`.
- Direct edition of entity relationships via the `Relationships` view.
- `__all__` attribute to all modules of the data model.
- `RelationshipSet` container like `TermSet` with shortcut attributes and
proxying of actual `Relationship` instances.
- `Relationship.subproperties` and `Relationship.superproperties` methods
to add, remove, clear and iterate over the subproperties and superproperties
of a `Relationship` instance.
- `Ontology.synonym_types` method to count (via `SizedIterator`) and iterate
over the synonym types of an ontology and all of its imports.
- `Ontology.get_synonym_type` method to retrieve a single synonym type by ID
from an ontology or one of its imports.
Changed
- Management of sub-properties / super-properties is now consistent with
the management of subclasses / superclasses.
- `consider`, `disjoint_from`, `disjoint_over`, `equivalent_to`, `replaced_by`
`transitive_over` and `union_of` properties of `Relationship` now return
a `RelationshipSet`.
Fixed
- Outdated documentation in `Term.subclasses` describing the performances of
the previous algorithm.
- Possible `AttributeError` with the setter of the `Entity.synonyms` property.
- Issue with synonym types declared in imported ontologies not being usable
with synonyms of the actual ontology.
- Various type annotations not updated since version [v2.2.2].

2.2.4

Changed
- Make `Entity.annotations` return a mutable set and add a setter.
Fixed
- `Term.relationship` erroneously updating the `Ontology._lineage` cache.
- Unneeded code in `pronto.serializers._fastobo` handling `is_a` clauses.

2.2.3

Changed
- Replaced `frozendict` with `immutabledict` ([90](https://github.com/althonos/pronto/pull/90)).
- Bumped `fastobo` dependency to `v0.9.0` to support inline comments.
- Parsers will now process their imports in parallel using a thread pool.
Fixed
- Argument type checking in view layer is now disabled during the parsing
phase to reduce overhead.

2.2.2

Added
- Extraction of basic relationships from RDF/XML documents.
Fixed
- Erroneous type annotations on `Term.subclasses` and `Term.superclasses`.
- Bug with `Term.equivalent_to` setter crashing with a `NameError`.
- Bug with `Entity.synonyms` setter not extracting synonym data.

2.2.1

Fixed
- Extraction of subclasses/superclasses hierarchy from nested imports.
- Serialization of OBO frames not being done in order.
- Parsing issue with `anti_symmetric` clauses in OBO typedefs.
- Xrefs not being extracted when declared as axioms in RDF/XML documents.
- `ResourceWarning` when creating `Ontology` from file-handles not mapping
to a filesystem location.

2.2.0

Added
- `threads` parameter to `Ontology` constructor to control the number of
threads used by parsers supporting multithreading (OBO and OBO JSON at
the moment).
- Deprecation warnings for suspected uses of the `is_a` pseudo-relationship
since subclasses/superclasses is now to be handled by the owner `Ontology`.
- Support for subclass/superclass edition directly from the objects returned
by `Term.subclasses()` and `Term.superclasses()`. ([84](https://github.com/althonos/pronto/issues/84))
Changed
- Updated `fastobo` to `v0.8`, which reduce memory footprint of identifiers,
and improves the parser speed.
- Improved OBO parser performance using threading plus zero-copy validation
of identifiers on `Xref` instantiation.
- Improved performance in debug mode by having the typechecker only extract
the wrapped function signature once.
Fixed
- OBO parser crashing on files containing `idspace` clauses in their headers.
- Reference management issue with binary operations of `TermSet`.
Removed
- `nanoset` depency, which was not useful anymore in Python 3.8 and caused
issues with multithreading when processing OBO frames in parallel.

2.1.0

Added
- `Synonym.xrefs` now has a setter. ([70](https://github.com/althonos/pronto/issues/70))
- `pickle` support for `Ontology`. ([66](https://github.com/althonos/pronto/issues/66))
- `RdfXmlParser` support for `owl:inverseOf` and `rdfs:subPropertyOf`.
Changed
- `Synonym.xrefs` now returns a mutable set that can be used to add
`Xref` to the synonym directly.
Fixed
- `SynonymType.type` setter does not consider all synonym types as
undeclared anymore. ([71](https://github.com/althonos/pronto/issues/71))
- `RdfXmlParser` crashing on synonym types definition without a label
like in Uberon. ([67](https://github.com/althonos/pronto/issues/67))
- `FastoboSerializer` crashing when encountering a relationship with
at least one `replaced_by` clause.

2.0.1

Fixed
- Internal handling of ontology data forcing an `Ontology` to outlive all
of the `Term`s created from it.
- `Term.id` property missing a return type annotation.
- `Term.equivalent_to` not returning a `TermSet` but a set of strings.
Changed
- Refactored implementation of `SubclassesIterator` and  
`SuperclassesIterator` to make both use the interal subclassing cache.
- Make `Term.is_leaf` use internal subclassing cache to make it run in
constant time.

2.0.0

[v2.0.0]:https://github.com/althonos/pronto/compare/v1.2.0...v2.0.0
Added
- `TermSet.subclasses` and `TermSet.superclasses` methods to query all    
the subclasses / superclasses of all `Term`.
- `TermSet` class to the top-level `pronto` module.
- Dynamic management of subclassing cache for the `Ontology` class.
- Setters for `Term.consider`, `Term.union_of` and `Term.intersection_of`.
Removed
- `cache` keyword argument for the `Ontology`.
Fixed
- `SuperclassesIterator.to_set` being named `to_self` because of a typo.
- Several bugs affecting the `fastobo`-backed serializer.

1.2.0

Added
- Parameter `with_self` to disable reflexivity of `Term.subclasses` and
`Term.superclasses` iterators.
- `TermSet` class which stores a set of terms efficiently while providing
some useful shortcuts to access the underlying data.
Changed
- Moved code of `Term.subclasses` and `Term.superclasses` to a dedicated
iterator class in the `pronto.logic` submodule.
- Dropped `contexter` requirement.
Fixed
- Fix a typo in `Synonym.type` setter leading to a potential bug when
the given `type` is `None`.
- Fix miscellaneous bugs found with `mypy`.
- `fastobo` serializer crashing on namespace clauses because of a type
issue.
- `fastobo` parsers using data version clauses as format version clauses.

1.1.5

Changed
- Bumped `fastobo` to `v0.7.0`, switching parser implementation to use
multi-threading in order to speedup the parser process.

1.1.4

Added
- Explicit support for Python 3.8.
- Support for Windows-style line endings
([53](https://github.com/althonos/pronto/issues/53))

1.1.3

Fixed
- Handling of some clauses in `FastoboParser`.
- `OboSerializer` occasionaly missing lines between term and typedef frames.
Added
- Missing docstrings to some `Entity` properties.

1.1.2

Fixed
- `RdfXMLParser` crashing on entities with `rdf:label` elements
without literal content.

1.1.1

Fixed
- `pronto.serializers` module not being embedded in Wheel distribution.

1.1.0

Added
- `Entity.add_synonym` method to create a new synonym and add it to an entity.
- `roundrepr` now adds a minimal docstring to the generated `__repr__` method.
- `Ontology` caches subclassing relationships to greatly improve performance of
`Term.subclasses`.
Changed
- `Entity` subclasses now store their `id` directly to improve performance.
- `Term.subclasses` and `Term.superclasses` use `collections.deque` instead of
`queue.Queue` as a LIFO structure since thread-safety is not needed.
- `chardet` result is now used even when prediction confidence is under 100%
to detect encoding of the handle passed to `Ontology`.
Fixed
- `SynonymType` comparison implementation.
- `Synonym.type` getter crashing on `type` not being `None`.
- `RdfXMLParser` crashing on synonymtypedefs without scope specifiers.

1.0.0

Fixed
- Issues with typedef serialization in `FastoboSerializer`.
- `Ontology.create_term` and `Ontology.create_relationship` not raising `ValueError`
when given an identifier already in the knowledge graph.
- Signature of `BaseSerializer.dump` to remove `encoding` argument.
- Missing `__slots__` in `Entity` in non-typechecking runtime.
Changed
- Bumped `fastobo` requirement to `v0.6.0`.

1.0.0alpha.3

Added
- Extraction of `oboInOwl:consider` annotation in `RdfXMLParser`.
- Extraction of `oboInOwl:savedBy` annotation in `RdfXMLParser`.
- Extraction of `subsetdef` and `synonymtypedef` as annotation properties in
`RdfXMLParser`.
- Support for `doap:Version` instead of `owl:VersionIri` for specification
of ontology data version.
- Proper comparison of `PropertyValue` classes, based on the lexicographic order
of their serialization.
- `Ontology.dump` and `Ontology.dumps` methods to serialize an ontology in
**obo** or **obojson** format.
Fixed
- `Metadata` not storing optional description of ID spaces if any.
- Wrong type hints in `RelationshipData.equivalent_to_chain`.
Changed
- Added type checking to some more property setters.
- Avoid using `networkx` in `Term.subclasses`.
- `fastobo`-derived parsers will not create a new entity if one exists in the
graph of dependencies already.
- Exposed `pronto.warnings` and the complete warnings hierarchy.

1.0.0alpha.2

Added
- Support for extraction of relationships from OWL/XML files to `OwlXMLParser`.
Fixed
- Type hints of `RelationshipData.synonyms` attribute.

1.0.0alpha.1

Changed
- Dropped support for Python earlier than `3.6`.
- Brand new data model that follow the OBO 1.4 object model.
- Partial OWL XML parser implementation using the OBO 1.4 semantics.
- New OBO parser implementation based on `fastobo`.
- Imports are properly separated from the top-level ontology.
- `Ontology.__getitem__` can also access entities from imports.
- `Term`, `Relationship`, `Xref`, `SynonymType` compare only based on their ID.
- `Subset`, `Definition` compare only based on their textual value.
Added
- Support for OBO JSON parser based on `fastobo`.
- Provisional `mypy` type hints.
- Type checking for most properties in `__debug__` mode.
- Proper `repr` implementation that should roundtrip most of the time.
- Detection of file format and encoding based on buffer content.
Removed
- OBO and JSON serialization support (for now).
- `Term.rchildren` and `Term.rparents` and stop making direction assumptions on relationships.
Links

Update bumpversion from 0.5.3 to 0.6.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update wheel from 0.33.6 to 0.44.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update twine from 2.0.0 to 5.1.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update Sphinx from 2.2.1 to 8.0.2.

Changelog

8.0.2

=====================================

Bugs fixed
----------

* Fix the ``pygments.Formatter.__class_getitem__`` patch.
Patch by Adam Turner.

8.0.1

=====================================

Bugs fixed
----------

* Patch ``pygments.Formatter.__class_getitem__`` in Pygments 2.17.
Patch by Adam Turner.

8.0.0

=====================================

Dependencies
------------

* 12633: Drop Python 3.9 support.

Incompatible changes
--------------------

.. rst-class:: compact

* Remove deprecated functions from ``sphinx.util``:

* Removed ``sphinx.util.path_stabilize``
 (use ``sphinx.util.osutil.path_stabilize``).
* Removed ``sphinx.util.display_chunk``
 (use ``sphinx.util.display.display_chunk``).
* Removed ``sphinx.util.status_iterator``
 (use ``sphinx.util.display.status_iterator``).
* Removed ``sphinx.util.SkipProgressMessage``
 (use ``sphinx.util.display.SkipProgressMessage``).
* Removed ``sphinx.util.progress_message``
 (use ``sphinx.util.display.progress_message``).
* Removed ``sphinx.util.epoch_to_rfc1123``
 (use ``sphinx.http_date.epoch_to_rfc1123``).
* Removed ``sphinx.util.rfc1123_to_epoch``
 (use ``sphinx.http_date.rfc1123_to_epoch``).
* Removed ``sphinx.util.save_traceback``
 (use ``sphinx.exceptions.save_traceback``).
* Removed ``sphinx.util.format_exception_cut_frames``
 (use ``sphinx.exceptions.format_exception_cut_frames``).
* Removed ``sphinx.util.xmlname_checker``
 (use ``sphinx.builders.epub3._XML_NAME_PATTERN``).

Patch by Adam Turner.
* Removed :py:func:`!sphinx.util.osutil.cd`
(use :py:func:`contextlib.chdir`).
Patch by Adam Turner.
* Removed :py:func:`!sphinx.util.typing.stringify`
(use :py:func:`!sphinx.util.typing.stringify_annotation`).
Patch by Adam Turner.
* 12593: Raise an error for invalid :confval:`html_sidebars` values.
Patch by Adam Turner.
* 12593: Raise an error in :py:func:`!Theme.get_config` for invalid sections.
Patch by Adam Turner.
* 11693: Remove support for old-style :file:`Makefile` and :file:`make.bat`
output in :program:`sphinx-quickstart`.
* 11693: Remove the :option:`!--no-use-make-mode`, :option:`!-M`,
:option:`!--use-make-mode`, and :option:`!-m` options
from :program:`sphinx-quickstart`.
Patch by Adam Turner.
* Removed the tuple interface to :py:class:`!sphinx.ext.autodoc.ObjectMember`.
Patch by Adam Turner.
* 12630: Sphinx 8 makes two changes to the ``linkcheck`` configuration defaults:

* :confval:`linkcheck_allow_unauthorized` is now ``False`` by default.
* :confval:`linkcheck_report_timeouts_as_broken` is now ``False`` by default.

Patch by James Addison.
* 12597: Change the default of :confval:`show_warning_types`
from ``False`` to ``True``.
Patch by Chris Sewell.
* 12083: Remove support for the old (2008--2010) Sphinx 0.5 and Sphinx 0.6
:confval:`intersphinx_mapping` format.
Patch by Bénédikt Tran and Adam Turner.
* 12096: Do not overwrite user-supplied files when copying assets
unless forced with ``force=True``.
Patch by Adam Turner.
* 12646: Remove :py:func:`!sphinx.util.inspect.isNewType`.
Use ``isinstance(obj, typing.NewType)`` instead on Python 3.10 and newer.
Patch by Adam Turner.
* Remove the long-deprecated (since Sphinx 2) alias
to :py:class:`!VersionChange` in
:py:mod:`!sphinx.directives.other`
(Deprecated since Sphinx 2).
Use :py:class:`!sphinx.domains.changeset.VersionChange` directly.
Patch by Adam Turner.

Deprecated
----------

* 12643: Renamed ``sphinx.ext.intersphinx.normalize_intersphinx_mapping``
to ``sphinx.ext.intersphinx.validate_intersphinx_mapping``.
The old name will be removed in Sphinx 10.
Patch by Adam Turner.
* 12650, 12686, 12690: Extend the deprecation for string methods on
:py:class:`~pathlib.Path` objects to Sphinx 9.
Use :py:func:`os.fspath` to convert :py:class:`~pathlib.Path` objects to strings,
or :py:class:`~pathlib.Path`'s methods to work with path objects.
Patch by Adam Turner.

7.4.7

=====================================

Bugs fixed
----------

* 12096: Warn when files are overwritten in the build directory.
Patch by Adam Turner and Bénédikt Tran.
* 12620: Ensure that old-style object description options are respected.
Patch by Adam Turner.
* 12601, 12625: Support callable objects in :py:class:`~typing.Annotated` type
metadata in the Python domain.
Patch by Adam Turner.
* 12601, 12622: Resolve :py:class:`~typing.Annotated` warnings with
``sphinx.ext.autodoc``,
especially when using :mod:`dataclasses` as type metadata.
Patch by Adam Turner.
* 12589, 12626: autosummary: Fix warnings with :rst:role:`!autolink`.
Patch by Adam Turner.

7.4.6

=====================================

Bugs fixed
----------

* 12589, 9743, 12609: autosummary: Do not add the package prefix when
generating autosummary directives for modules within a package.
Patch by Adam Turner.
* 12613: Reduce log severity for ambiguity detection during inventory loading.
Patch by James Addison.

7.4.5

=====================================

Bugs fixed
----------

* 12593, 12600: Revert coercing the type of selected :confval:`html_sidebars`
values to a list.
Log an error message when string values are detected.
Patch by Adam Turner.
* 12594: LaTeX: since 7.4.0, :rst:dir:`seealso` and other "light" admonitions
now break PDF builds if they contain a :dudir:`figure` directive; and also
if they are contained in a table cell (rendered by ``tabulary``).
Patch by Jean-François B.

7.4.4

=====================================

Bugs fixed
----------

* 12585, 12586: Do not warn when an intersphinx inventory contains
case-insensitively ambiguous duplicate items.
Patch by James Addison.

7.4.3

=====================================

Bugs fixed
----------

* 12582: Restore support for list-styled :confval:`source_suffix` values
with extensions that register parsers.
Patch by Adam Turner.

7.4.2

=====================================

Bugs fixed
----------

* 12580, 12583: Resolve failures with the C domain on incremental builds
with Sphinx 7.3.7 and earlier.
Patch by Adam Turner.

7.4.1

=====================================

Bugs fixed
----------

* Fix invalid HTML when a rubric node with invalid ``heading-level`` is used.
Patch by Adam Turner.
* 12579, 12581: Restore support for ``typing.ParamSpec`` in autodoc.
Patch by Adam Turner.

7.4.0

=====================================

Dependencies
------------

* 12555: Drop Docutils 0.18.1 and Docutils 0.19 support.
Patch by Adam Turner.
* LaTeX: the ``xcolor`` package is now required (but is for example part of
Ubuntu ``texlive-latex-recommended`` which has always been required).
* LaTeX: the ``fontawesome5`` LaTeX package is needed for the default choices
of icons now used in admonition titles in PDF output; but if unavailable the
PDF build will simply silently omit rendering such icons.  Check the
documentation of the ``iconpackage`` key of :ref:`'sphinxsetup'
<latexsphinxsetup>` for more.

Deprecated
----------

* LaTeX: the ``sphinxlightbox`` environment is not used anymore, all types
of admonitions use (by default) only ``sphinxheavybox``.

Features added
--------------

.. rst-class:: compact

* 11165: Support the `officially recommended`_ ``.jinja`` suffix for template
files.
Patch by James Addison and Adam Turner

.. _officially recommended: https://jinja.palletsprojects.com/en/latest/templates/#template-file-extension
* 12325: Flatten ``Union[Literal[T], Literal[U], ...]`` to ``Literal[T, U, ...]``
when turning annotations into strings.
Patch by Adam Turner.
* 12319: ``sphinx.ext.extlinks``: Add ``extlink-{name}`` CSS class to links.
Patch by Hugo van Kemenade.
* 12387: Improve CLI progress message, when copying assets.
Patch by INADA Nakoi and Bénédikt Tran.
* 12361: Add :attr:`.BuildEnvironment.parser`.
Patch by Chris Sewell.
* 12358: Add :attr:`.Sphinx.fresh_env_used`.
Patch by Chris Sewell.
* 12329: Add detection of ambiguous ``std:label`` and ``std:term`` references during
loading and resolution of Intersphinx targets.
Patch by James Addison.
* 12422: Do not duplicate "navigation" in aria-label of built-in themes.
Patch by Thomas Weißschuh
* 12421: Include project name in ``logo_alt`` of built-in themes.
Patch by Thomas Weißschuh
* 12448: Add :option:`sphinx-apidoc --remove-old` option.
Patch by Chris Sewell.
* 12456: Add :option:`sphinx-autogen --remove-old` option.
Patch by Chris Sewell.
* 12479: Add warning subtype ``toc.no_title``.
Patch by Ondřej Navrátil.
* 12492: Add helper methods for parsing reStructuredText content into nodes from
within a directive.

- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_content_to_nodes()`
 parses the directive's content and returns a list of Docutils nodes.
- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_text_to_nodes()`
 parses the provided text and returns a list of Docutils nodes.
- :py:meth:`~sphinx.util.docutils.SphinxDirective.parse_inline()`
 parses the provided text into inline elements and text nodes.

Patch by Adam Turner.
* 12258: Support ``typing_extensions.Unpack``
Patch by Bénédikt Tran and Adam Turner.
* 12524: Add a ``class`` option to the :rst:dir:`toctree` directive.
Patch by Tim Hoffmann.
* 12536: Add the :rst:dir:`confval` directive.
Patch by Adam Turner.
* 12537: :confval:`c_id_attributes`, :confval:`c_paren_attributes`,
:confval:`cpp_id_attributes`, and :confval:`cpp_paren_attributes`
can now be a tuple of strings.
:confval:`c_extra_keywords`, :confval:`gettext_additional_targets`,
:confval:`html_domain_indices`, :confval:`latex_domain_indices`,
and :confval:`texinfo_domain_indices`,
can now be a set of strings.
Patch by Adam Turner.
* 12523: Added configuration option, :confval:`math_numsep`, to define the
separator for math numbering.
Patch by Thomas Fanning
* 11592: Add :confval:`coverage_modules` to the coverage builder
to allow explicitly specifying which modules should be documented.
Patch by Stephen Finucane.
* 7896, 11989: Add a :rst:dir:`py:type` directive for documenting type aliases,
and a :rst:role:`py:type` role for linking to them.
Patch by Ashley Whetter.
* 12549: Add optional ``description`` argument to
:meth:`.Sphinx.add_config_value`.
Patch by Chris Sewell.
* 6792: Prohibit module import cycles in :mod:`sphinx.ext.autosummary`.
Patch by Trevor Bekolay.
* 12508: LaTeX: Revamped styling of all admonitions, with addition of a
title row with icon.
Patch by Jean-François B.
* 11773: Display :py:class:`~typing.Annotated` annotations
with their metadata in the Python domain.
Patch by Adam Turner and David Stansby.
* 12506: Add ``heading-level`` option to :rst:dir:`rubric` directive.
Patch by Chris Sewell.
* 12567: Add the :event:`write-started` event.
Patch by Chris Sewell.

Bugs fixed
----------

* 12314: Properly format ``collections.abc.Callable`` in annotations.
Patch by Adam Turner.
* 12162: Fix a performance regression in the C domain that has
been present since version 3.0.0.
Patch by Donald Hunter.
* 12320: Fix removal of anchors from search summaries (regression in 7.3.0).
Patch by Will Lachance.
* 12251: Fix ``merge_domaindata()`` in ``sphinx.ext.duration``.
Patch by Matthias Geier.
* 12224: Properly detect WebP files.
Patch by Benjamin Cabé.
* 12380: LaTeX: Avoid footnote markers ``Page N`` when ``N`` is already
the current page number.
Patch by Jean-François B.
* 12410: LaTeX: for French and ``'lualatex'`` as :confval:`latex_engine`
use ``babel`` as with ``'xelatex'`` (and not ``polyglossia``).
Patch by Jean-François B.
* 12520: LaTeX: let :rst:dir:`todolist` produce correct hyperlinks in PDF.
Patch by Jean-François B.
* 12416: Ensure that configuration setting aliases are always synchronised
when one value or the other is modified.
Patch by Bénédikt Tran.
* 12220: Fix loading custom template translations for ``en`` locale.
Patch by Nicolas Peugnet.
* 12459: Add valid-type arguments to the ``linkcheck_rate_limit_timeout``
configuration setting.
Patch by James Addison.
* 12331: Resolve data-URI-image-extraction regression from v7.3.0 affecting
builders without native support for data-URIs in their output format.
Patch by James Addison.
* 12494: Fix invalid genindex.html file produced with translated docs
(regression in 7.1.0).
Patch by Nicolas Peugnet.
* 11961: Omit anchor references from document title entries in the search index,
removing duplication of search results.
Patch by James Addison.
* 12425: Use Docutils' SVG processing in the HTML builder
and remove Sphinx's custom logic.
Patch by Tunç Başar Köse.
* 12391: Adjust scoring of matches during HTML search so that document main
titles tend to rank higher than subsection titles. In addition, boost matches
on the name of programming domain objects relative to title/subtitle matches.
Patch by James Addison and Will Lachance.
* 9634: Do not add a fallback language by stripping the country code.
Patch by Alvin Wong.
* 12352: Add domain objects to the table of contents
in the same order as defined in the document.
Previously, each domain used language-specific nesting rules,
which removed control from document authors.
Patch by Jakob Lykke Andersen and Adam Turner.
* 11041: linkcheck: Ignore URLs that respond with non-Unicode content.
Patch by James Addison.
* 12543: Fix :pep:`695` formatting for LaTeX output.
Patch by Bénédikt Tran.

Testing
-------

* karma: refactor HTML search tests to use fixtures generated by Sphinx.
Patch by James Addison.

7.3.7

=====================================

Bugs fixed
----------

* 12299: Defer loading themes defined via entry points until
their explicit use by the user or a child theme.
Patch by Adam Turner.
* 12305: Return the default value for ``theme.get_config()`` with
an unsupported theme configuration section.
Patch by Adam Turner.

7.3.6

=====================================

Bugs fixed
----------

* 12295: Re-export all AST types in the C and C++ domains.
Patch by Adam Turner.
* 12295: Re-export various objects from ``sphinx.domains.python._annotations``
in ``sphinx.domains.python``.
Patch by Jacob Chesslo and Adam Turner.

7.3.5

=====================================

Bugs fixed
----------

* 12295: Re-export various objects from ``sphinx.domains.python._object``
in ``sphinx.domains.python``.
Patch by Jacob Chesslo and Adam Turner.

7.3.4

=====================================

Bugs fixed
----------

* Handle cases when ``Any`` is not an instance of ``type``.
Patch by Adam Turner.

7.3.3

=====================================

Bugs fixed
----------

* 12290: Fix a false-positive warning when setting a configuration value
with ``Any`` as the valid type to a type other than the value's default.
Patch by Adam Turner.

7.3.2

=====================================

Bugs fixed
----------

* Preload all themes defined via entry points.
Patch by Adam Turner.
* Fix a bad interaction between the ``'Furo'`` theme and the new-style for
configuration values.
Patch by Adam Turner.

7.3.1

=====================================

Dependencies
------------

* Require ``tomli`` on Python 3.10 and earlier.
Patch by Adam Turner.

7.3.0

=====================================

Dependencies
------------

* 11858: Increase the minimum supported version of Alabaster to 0.7.14.
Patch by Adam Turner.
* 11411: Support `Docutils 0.21`_. Patch by Adam Turner.

.. _Docutils 0.21: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-21-2024-04-09
* 12012: Use ``types-docutils`` instead of ``docutils-stubs``.

Deprecated
----------

* 11693: Support for old-style :file:`Makefile` and :file:`make.bat` output
in :program:`sphinx-quickstart`, and the associated options :option:`!-M`,
:option:`!-m`, :option:`!--no-use-make-mode`, and :option:`!--use-make-mode`.
* 11285: Direct access to :attr:`!sphinx.testing.util.SphinxTestApp._status`
or :attr:`!sphinx.testing.util.SphinxTestApp._warning` is deprecated. Use
the public properties :attr:`!sphinx.testing.util.SphinxTestApp.status`
and :attr:`!sphinx.testing.util.SphinxTestApp.warning` instead.
Patch by Bénédikt Tran.
* tests: :func:`!sphinx.testing.util.strip_escseq` is deprecated in favour of
:func:`!sphinx.util.console.strip_colors`.
Patch by Bénédikt Tran.

Features added
--------------

* 12265: Support theme configuration via ``theme.toml``.
* 11701: HTML Search: Adopt the new `\<search\>`_ element.
Patch by Bénédikt Tran.

.. _`\<search\>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search
* 11776: Add long option names to ``sphinx-build``.
Patch by Hugo van Kemenade, Adam Turner, Bénédikt Tran, and Ezio Melotti.
* Organise the ``sphinx-build`` options into groups.
Patch by Adam Turner.
* 11855: Defer computation of configuration values.
Patch by Adam Turner.
* Add ``:no-search:`` as an alias of the ``:nosearch:`` metadata field.
Patch by Adam Turner.
* 11803: autodoc: Use an overridden ``__repr__()`` function in an enum,
if defined. Patch by Shengyu Zhang.
* 11825: Allow custom targets in the manpage role.
Patch by Nicolas Peugnet.
* 11892: Improved performance when resolving cross references in the C++ domain.
Patch by Rouslan Korneychuk.
* 11905: Add a :rst:dir:`versionremoved` directive.
Patch by Hugo van Kemenade, Adam Turner, and C.A.M. Gerlach.
* 11981: Improve rendering of signatures using ``slice`` syntax,
e.g., ``def foo(arg: np.float64[:,:]) -> None: ...``.
* The manpage builder now adds `OSC 8`_ anchors to hyperlinks, using
the `groff`_ device control command.

.. _OSC 8: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
.. _groff: https://lists.gnu.org/archive/html/groff/2021-10/msg00000.html
* 11015: Change the text of the :rst:dir:`versionadded` directive from
``New in [...]`` to ``Added in [...]``.
Patch by Bénédikt Tran.
* 12131: Added :confval:`show_warning_types` configuration option.
Patch by Chris Sewell.
* 12193: Improve ``external`` warnings for unknown roles.
In particular, suggest related role names if an object type is mistakenly used.
Patch by Chris Sewell.
* Add public type alias :class:`sphinx.util.typing.ExtensionMetadata`.
This can be used by extension developers
to annotate the return type of their ``setup`` function.
Patch by Chris Sewell.

Bugs fixed
----------

* 11668: Raise a useful error when ``theme.conf`` is missing.
Patch by Vinay Sajip.
* 11622: Ensure that the order of keys in ``searchindex.js`` is deterministic.
Patch by Pietro Albini.
* 11617: ANSI control sequences are stripped from the output when writing to
a warnings file with :option:`-w <sphinx-build -w>`.
Patch by Bénédikt Tran.
* 11666: Skip all hidden directories in ``CatalogRepository.pofiles``.
Patch by Aryaz Eghbali.
* 9686: html builder: Fix MathJax lazy loading when equations appear in titles.
Patch by Bénédikt Tran.
* 11483: singlehtml builder: Fix MathJax lazy loading when the index does not
contain any math equations.
Patch by Bénédikt Tran.
* 11697: HTML Search: add 'noindex' meta robots tag.
Patch by James Addison.
* 11678: Fix a possible ``ZeroDivisionError`` in ``sphinx.ext.coverage``.
Patch by Stephen Finucane.
* 11756: LaTeX: build error with recent TeXLive due to missing ``substitutefont``
package (triggered if using ``fontenc`` with ``T2A`` option and document
language is not a Cyrillic one).
Patch by Jean-François B.
* 11675: Fix rendering of progression bars in environments that do not support
ANSI control sequences.
Patch by Bénédikt Tran.
* 11861: Whitelist more types with an incorrect ``__module__`` attribute.
Patch by Adam Turner.
* 11715: Apply ``tls_verify`` and ``tls_cacerts`` config to
``ImageDownloader``.
Patch by Nick Touran.
* Allow hyphens in group names for :rst:dir:`productionlist` cross-references.
Patch by Adam Turner.
* 11433: Added the :confval:`linkcheck_allow_unauthorized` configuration option.
Set this option to ``False`` to report HTTP 401 (unauthorized) server
responses as broken.
Patch by James Addison.
* 11868: linkcheck: added a distinct ``timeout`` reporting status code.
This can be enabled by setting :confval:`linkcheck_report_timeouts_as_broken`
to ``False``.
Patch by James Addison.
* 11869: Refresh the documentation for the ``linkcheck_timeout`` setting.
Patch by James Addison.
* 11874: Configure a default 30-second value for ``linkcheck_timeout``.
Patch by James Addison.
* 11886: Print the Jinja2 template path chain in ``TemplateNotFound`` exceptions.
Patch by Colin Marquardt.
* 11598: Do not use query components in URLs for assets in EPUB rendering.
Patch by David Runge.
* 11904: Support unary subtraction when parsing annotations.
Patch by James Addison.
* 11925: Blacklist the ``sphinxprettysearchresults`` extension; the functionality
it provides was merged into Sphinx v2.0.0.
Patch by James Addison.
* 11917: Fix rendering of annotated inherited members for Python 3.9.
Patch by Janet Carson.
* 11935: C Domain: Fix namespace-pop context.
Patch by Frank Dana.
* 11923: Avoid zombie processes when parallel builds fail.
Patch by Felix von Drigalski.
* 11353: Support enumeration classes inheriting from mixin or data types.
Patch by Bénédikt Tran.
* 11962: Fix target resolution when using ``:paramtype:`` fields.
Patch by Bénédikt Tran.
* 11944: Use anchor in search preview.
Patch by Will Lachance.
* 12008: Fix case-sensitive lookup of ``std:label`` names in intersphinx inventory.
Patch by Michael Goerz.
* 11958: HTML Search: Fix partial matches overwriting full matches.
Patch by William Lachance.
* 11959: Fix multiple term matching when word appears in both title and document.
Patch by Will Lachance.
* 11474: Fix doctrees caching causing files not be rebuilt in some cases,
e.g., when :confval:`numfig` is ``True``.
Patch by Bénédikt Tran.
* 11278: autodoc: Fix rendering of :class:`functools.singledispatchmethod`
combined with :func:`classmethod <classmethod>`.
Patch by Bénédikt Tran.
* 11894: Do not add checksums to css files if building using the htmlhelp builder.
Patch by reduerK akiM.
* 12052: Remove ``<script>`` and ``<style>`` tags from the content of search result
summary snippets.
Patch by James Addison.
* 11578: HTML Search: Order non-main index entries after other results.
Patch by Brad King.
* 12147: autosummary: Fix a bug whereby the wrong file extension
may be used,
when multiple suffixes are specified in :confval:`source_suffix`.
Patch by Sutou Kouhei.
* 10786: improve the error message when a file to be copied (e.g., an asset)
is removed during Sphinx execution.
Patch by Bénédikt Tran.
* 12040: HTML Search: Ensure that document titles that are partially-matched by
the user search query are included in search results.
Patch by James Addison.
* 11970: singlehtml builder: make target URIs to be same-document references in
the sense of :rfc:`RFC 3986, §4.4 <3986section-4.4>`, e.g., ``index.htmlfoo``
becomes ``foo``. Patch by Eric Norige.
* 12271: Partially revert Docutils' r9562__ to fix EPUB files.
Patch by Adam Turner.

__ https://sourceforge.net/p/docutils/code/9562/
* 12253: Escape reserved path characters in the remote images post-transform
download cache.
Patch by James Addison and Adam Turner.

Testing
-------

* Reorganise tests into directories.
Patch by Adam Turner.
* Clean up global state in ``SphinxTestApp``.
Patch by Adam Turner.
* 11285: :func:`!pytest.mark.sphinx` and :class:`!sphinx.testing.util.SphinxTestApp`
accept *warningiserror*, *keep_going* and *verbosity* as keyword arguments.
Patch by Bénédikt Tran.
* 11285: :class:`!sphinx.testing.util.SphinxTestApp` *status* and *warning*
arguments are checked to be :class:`io.StringIO` objects (the public API
incorrectly assumed this without checking it).
Patch by Bénédikt Tran.
* Report the result of ``test_run_epubcheck`` as ``skipped`` instead of
``success`` when either Java or ``epubcheck`` are not available.
* Use dynamic allocation of unused port numbers for the test HTTP(S) servers.
As a side-effect, this removes the need for test server lockfiles,
meaning that any remaining ``tests/test-server.lock`` files can safely be
deleted.

7.2.6

=====================================

Bugs fixed
----------

* 11679: Add the :envvar:`!SPHINX_AUTODOC_RELOAD_MODULES` environment variable,
which if set reloads modules when using autodoc with ``TYPE_CHECKING = True``.
Patch by Matt Wozniski and Adam Turner.
* 11679: Use :py:func:`importlib.reload` to reload modules in autodoc.
Patch by Matt Wozniski and Adam Turner.

7.2.5

=====================================

Bugs fixed
----------

* 11645: Fix a regression preventing autodoc from importing modules within
packages that make use of ``if typing.TYPE_CHECKING:`` to guard circular
imports needed by type checkers.
Patch by Matt Wozniski.
* 11634: Fixed inheritance diagram relative link resolution
for sibling files in a subdirectory.
Patch by Albert Shih.
* 11659: Allow ``?config=...`` in :confval:`mathjax_path`.
* 11654: autodoc: Fail with a more descriptive error message
when an object claims to be an instance of ``type``,
but is not a class.
Patch by James Braza.
* 11620: Cease emitting :event:`source-read` events for files read via
the :dudir:`include` directive.
* 11620: Add a new :event:`include-read` for observing and transforming
the content of included files via the :dudir:`include` directive.
* 11627: Restore support for copyright lines of the form ``YYYY``
when ``SOURCE_DATE_EPOCH`` is set.

7.2.4

=====================================

Bugs fixed
----------

* 11618: Fix a regression in the MoveModuleTargets transform,
introduced in 10478 (9662).
* 11649: linkcheck: Resolve hanging tests for timezones west of London
and incorrect conversion from UTC to offsets from the UNIX epoch.
Patch by Dmitry Shachnev and Adam Turner.

7.2.3

=====================================

Dependencies
------------

* 11576: Require sphinxcontrib-serializinghtml 1.1.9.

Bugs fixed
----------

* Fix regression in ``autodoc.Documenter.parse_name()``.
* Fix regression in JSON serialisation.
* 11543: autodoc: Support positional-only parameters in ``classmethod`` methods
when ``autodoc_preserve_defaults`` is ``True``.
* Restore support string methods on path objects.
This is deprecated and will be removed in Sphinx 8.
Use :py:func:`os.fspath` to convert :py:class:`~pathlib.Path` objects to strings,
or :py:class:`~pathlib.Path`'s methods to work with path objects.

7.2.2

=====================================

Bugs fixed
----------

* Fix the signature of the ``StateMachine.insert_input()`` patch,
for when calling with keyword arguments.
* Fixed membership testing (``in``) for the :py:class:`str` interface
of the asset classes (``_CascadingStyleSheet`` and ``_JavaScript``),
which several extensions relied upon.
* Fixed a type error in ``SingleFileHTMLBuilder._get_local_toctree``,
``includehidden`` may be passed as a string or a boolean.
* Fix ``:noindex:`` for ``PyModule`` and ``JSModule``.

7.2.1

=====================================

Bugs fixed
----------

* Restored the the :py:class:`str` interface of the asset classes
(``_CascadingStyleSheet`` and ``_JavaScript``),
which several extensions relied upon.
This will be removed in Sphinx 9.
* Restored calls to ``Builder.add_{css,js}_file()``,
which several extensions relied upon.
* Restored the private API ``TocTree.get_toctree_ancestors()``,
which several extensions relied upon.

7.2.0

=====================================

Dependencies
------------

* 11511: Drop Python 3.8 support.
* 11576: Require Pygments 2.14 or later.

Deprecated
----------

* 11512: Deprecate ``sphinx.util.md5`` and ``sphinx.util.sha1``.
Use ``hashlib`` instead.
* 11526: Deprecate ``sphinx.testing.path``.
Use ``os.path`` or ``pathlib`` instead.
* 11528: Deprecate ``sphinx.util.split_index_msg`` and ``sphinx.util.split_into``.
Use ``sphinx.util.index_entries.split_index_msg`` instead.
* Deprecate ``sphinx.builders.html.Stylesheet``
and ``sphinx.builders.html.Javascript``.
Use ``sphinx.application.Sphinx.add_css_file()``
and ``sphinx.application.Sphinx.add_js_file()`` instead.
* 11582: Deprecate ``sphinx.builders.html.StandaloneHTMLBuilder.css_files`` and
``sphinx.builders.html.StandaloneHTMLBuilder.script_files``.
Use ``sphinx.application.Sphinx.add_css_file()``
and ``sphinx.application.Sphinx.add_js_file()`` instead.
* 11459: Deprecate ``sphinx.ext.autodoc.preserve_defaults.get_function_def()``.
Patch by Bénédikt Tran.

Features added
--------------

* 11526: Support ``os.PathLike`` types and ``pathlib.Path`` objects
in many more places.
* 5474: coverage: Print summary statistics tables.
Patch by Jorge Leitao.
* 6319: viewcode: Add :confval:`viewcode_line_numbers` to control
whether line numbers are added to rendered source code.
Patch by Ben Krikler.
* 9662: Add the ``:no-typesetting:`` option to suppress textual output
and only create a linkable anchor.
Patch by Latosha Maltba.
* 11221: C++: Support domain objects in the table of contents.
Patch by Rouslan Korneychuk.
* 10938: doctest: Add :confval:`doctest_show_successes` option.
Patch by Trey Hunner.
* 11533: Add ``:no-index:``, ``:no-index-entry:``, and ``:no-contents-entry:``.
* 11572: Improve ``debug`` logging of reasons why files are detected as out of
date.
Patch by Eric Larson.
* 10678: Emit :event:`source-read` events for files read via
the :dudir:`include` directive.
Patch by Halldor Fannar.
* 11570: Use short names when using :pep:`585` built-in generics.
Patch by Riccardo Mori.
* 11300: Improve ``SigElementFallbackTransform`` fallback logic and signature
text elements nodes. See :doc:`the documentation </extdev/nodes>` for more
details.
Patch by Bénédikt Tran.
* Allow running Sphinx with ``python -m sphinx build ...``.

Bugs fixed
----------

* 11077: graphviz: Fix relative links from within the graph.
Patch by Ralf Grubenmann.
* 11529: Line Block in LaTeX builder outputs spurious empty token.
Patch by Adrian Vollmer.
* 11196: autosummary: Summary line extraction failed with "e.g."
* 10614: Fixed a number of bugs in inheritance diagrams that resulted in
missing or broken links.
Patch by Albert Shih.
* 9428: Exclude substitution definitions when running the ``gettext`` builder.
Patch by Alvin Wong.
* 10795: Raise a descriptive error if ``graphviz_dot`` is falsy.
* 11546: Translated nodes identical to their original text are now marked
with the ``translated=True`` attribute.
* 10049: html: Change "Permalink" to "Link" for title text in link anchors.
* 4225: Relax Pygments parsing on lexing failures.
* 11246: Allow inline links in the first line of a docstring and one-line
type comments ``: :meta ...:`` when using :mod:`sphinx.ext.napoleon`.
Patch by Bénédikt Tran.
* 10930: Highlight all search terms on the search results page.
Patch by Dmitry Shachnev.
* 11473: Type annotations containing :py:data:`~typing.Literal` enumeration
values now render correctly.
Patch by Bénédikt Tran.
* 11591: Fix support for C coverage in ``sphinx.ext.coverage`` extension.
Patch by Stephen Finucane.
* 11594: HTML Theme: Enhancements to horizontal scrolling on smaller
devices in the ``agogo`` theme.
Patch by Lukas Engelter.
* 11459: Fix support for async and lambda functions in
``sphinx.ext.autodoc.preserve_defaults``.
Patch by Bénédikt Tran.

Testing
-------

* 11577: pytest: Fail tests on "XPASS".
* 11577: pytest: Use "importlib" import mode.
* 11577: pytest: Set PYTHONWARNINGS=error.
* 11577: pytest: Set strict config and strict markers.

7.1.2

=====================================

Bugs fixed
----------

* 11542: linkcheck: Properly respect :confval:`linkcheck_anchors`
and do not spuriously report failures to validate anchors.
Patch by James Addison.

7.1.1

=====================================

Bugs fixed
----------

* 11514: Fix ``SOURCE_DATE_EPOCH`` in multi-line copyright footer.
Patch by Bénédikt Tran.

7.1.0

=====================================

Incompatible changes
--------------------

* Releases are no longer signed, given the `change in PyPI policy`_.

.. _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/

Deprecated
----------

* 11412: Emit warnings on using a deprecated Python-specific index entry type
(namely, ``module``, ``keyword``, ``operator``, ``object``, ``exception``,
``statement``, and ``builtin``) in the :rst:dir:`index` directive, and
set the removal version to Sphinx 9. Patch by Adam Turner.

Features added
--------------

* 11415: Add a checksum to JavaScript and CSS asset URIs included within
generated HTML, using the CRC32 algorithm.
* :meth:`~sphinx.application.Sphinx.require_sphinx` now allows the version
requirement to be specified as ``(major, minor)``.
* 11011: Allow configuring a line-length limit for object signatures, via
:confval:`maximum_signature_line_length` and the domain-specific variants.
If the length of the signature (in characters) is greater than the configured
limit, each parameter in the signature will be split to its own logical line.
This behaviour may also be controlled by options on object description
directives, for example :rst:dir:`p

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