diff --git a/CHANGELOG.md b/CHANGELOG.md index 70244358..55a30bd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -112,6 +112,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `internal/backlight`: With amdgpu backlights, the brightness indicator was slightly behind. ([`#2367](https://github.com/polybar/polybar/issues/2367)) +## [3.5.5] - 2021-03-01 +### Build +- Support older python sphinx versions again ([`#2356`](https://github.com/polybar/polybar/issues/2356)) + ## [3.5.4] - 2021-01-07 ### Fixed - Wrong text displayed if module text ends with `}` ([`#2331`](https://github.com/polybar/polybar/issues/2331)) @@ -122,6 +126,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Empty color values are no longer treated as invalid and no longer produce an error. -[Unreleased]: https://github.com/polybar/polybar/compare/3.5.4...HEAD +[Unreleased]: https://github.com/polybar/polybar/compare/3.5.5...HEAD +[3.5.5]: https://github.com/polybar/polybar/releases/tag/3.5.5 [3.5.4]: https://github.com/polybar/polybar/releases/tag/3.5.4 [3.5.3]: https://github.com/polybar/polybar/releases/tag/3.5.3 diff --git a/doc/conf.py b/doc/conf.py index 94d10cbe..9bd12125 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -15,9 +15,7 @@ import os from pathlib import Path import datetime -from typing import List -from docutils.nodes import Node -from sphinx.domains.changeset import VersionChange +import sphinx import packaging.version def get_version(root_path): @@ -32,8 +30,6 @@ def get_version(root_path): raise RuntimeError("No version found in {}".format(path)) - - # -- Project information ----------------------------------------------------- project = 'Polybar User Manual' @@ -221,20 +217,32 @@ epub_exclude_files = ['search.html'] # The 'versionadded' and 'versionchanged' directives are overridden. suppress_warnings = ['app.add_directive'] -def setup(app): - app.add_directive('deprecated', VersionDirective) - app.add_directive('versionadded', VersionDirective) - app.add_directive('versionchanged', VersionDirective) +# It is not exactly clear in which version the VersionChange class was +# introduced, but we know it is available in at least 1.8.5. +# This feature is mainly needed for the online docs on readthedocs for the docs +# built from master, documentation built for proper releases should not even +# mention unreleased changes. Because of that it's not that important that this +# is added to local builds. +if packaging.version.parse(sphinx.__version__) >= packaging.version.parse("1.8.5"): -class VersionDirective(VersionChange): - """ - Overwrites the Sphinx directive for versionchanged, versionadded, and - deprecated and adds an unreleased tag to versions that are not yet released - """ - def run(self) -> List[Node]: - directive_version = packaging.version.parse(self.arguments[0]) + from typing import List + from docutils.nodes import Node + from sphinx.domains.changeset import VersionChange - if directive_version > version_txt: - self.arguments[0] += " (unreleased)" + def setup(app): + app.add_directive('deprecated', VersionDirective) + app.add_directive('versionadded', VersionDirective) + app.add_directive('versionchanged', VersionDirective) - return super().run() + class VersionDirective(VersionChange): + """ + Overwrites the Sphinx directive for versionchanged, versionadded, and + deprecated and adds an unreleased tag to versions that are not yet released + """ + def run(self) -> List[Node]: + directive_version = packaging.version.parse(self.arguments[0]) + + if directive_version > version_txt: + self.arguments[0] += " (unreleased)" + + return super().run() diff --git a/version.txt b/version.txt index 094129b6..207bcec8 100644 --- a/version.txt +++ b/version.txt @@ -1,4 +1,4 @@ # Polybar version information # Update this on every release # This is used to create the version string if a git repo is not available -3.5.4 +3.5.5