diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 91e4752b9..2b903e689 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -16,7 +16,7 @@ on: paths: ['docker/**'] env: - NEEDS_VERSION: 8.1.0 + NEEDS_VERSION: 8.1.1 DEPLOY_IMAGE: ${{ github.event_name != 'pull_request' }} jobs: diff --git a/docs/changelog.rst b/docs/changelog.rst index d7d9990d8..d5a2d6123 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -4,13 +4,50 @@ Changelog ========= +.. _`release:8.1.1`: + +8.1.1 +----- + +:Released: 20.05.2026 +:Full Changelog: `v8.1.0...v8.1.1 `__ + +This is a patch release with bug fixes and a minor performance improvement. + +Performance +........... + +- ⚡️ Add ``NeedItem.is_in_document()`` (:pr:`1709`) + + Replace direct ``need["docname"] == docname`` comparisons with a method on + ``NeedItem`` and ``NeedPartItem``, encapsulating the document membership + logic behind a single access point. Speeds up document purges on projects + with many needs. + +Bug fixes +......... + +- 🐛 Fix ``needs_schema_definitions`` triggering full rebuilds (:issue:`1710`, :pr:`1712`). + ``resolve_schemas_config`` mutated the schemas dict in place after Sphinx's + ``config-inited`` checkpoint, so the pickled config diverged from the config + loaded on the next build — causing Sphinx to detect a spurious change and + rebuild every document on every incremental run. The resolved schemas are + now stored on the env via ``SphinxNeedsData`` accessors, leaving the config + object byte-equal across builds. + +- 🐛 Fix Docker build by switching PlantUML source to GitHub releases (:pr:`1708`). + The Dockerfile hardcoded a Sourceforge mirror that became unreachable, + breaking the ``Docker-Image`` workflow. The download URL now points at the + official ``github.com/plantuml/plantuml/releases/latest/download/plantuml.jar`` + endpoint. + .. _`release:8.1.0`: 8.1.0 ----- :Released: 20.05.2026 -:Full Changelog: `v8.0.0...v8.1.0 `__ +:Full Changelog: `v8.0.0...v8.1.0 `__ This release focuses on **filter performance improvements** and bug fixes. diff --git a/sphinx_needs/__init__.py b/sphinx_needs/__init__.py index f0a176275..000899334 100644 --- a/sphinx_needs/__init__.py +++ b/sphinx_needs/__init__.py @@ -1,6 +1,6 @@ """Sphinx needs extension for managing needs/requirements and specifications""" -__version__ = "8.1.0" +__version__ = "8.1.1" def setup(app): # type: ignore[no-untyped-def]