Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-openstackdocstheme for
openSUSE:Factory checked in at 2026-03-29 20:01:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-openstackdocstheme (Old)
and /work/SRC/openSUSE:Factory/.python-openstackdocstheme.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-openstackdocstheme"
Sun Mar 29 20:01:08 2026 rev:25 rq:1343445 version:3.6.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-openstackdocstheme/python-openstackdocstheme.changes
2025-11-10 19:19:00.324531894 +0100
+++
/work/SRC/openSUSE:Factory/.python-openstackdocstheme.new.8177/python-openstackdocstheme.changes
2026-03-29 20:01:36.775707819 +0200
@@ -1,0 +2,20 @@
+Sun Mar 29 14:36:40 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 3.6.0:
+ * ruff: Configure hacking as external linter
+ * Replace obsolete PCRE packages
+ * README: Trivial nits
+ * Add typing
+ * Bump sphinx min version
+ * Enable more ruff rules
+ * pre-commit: Bump dependencies
+ * Migrate setup configuration to pyproject.toml
+ * Drop Python 3.9 support
+ * Replace deprecated datetime.utcfromtimestamp
+ * Remove tags from README
+ * Removed code for IE versions below 9 and fix few urls for use
+ https
+ * refactor(js): remove unused jQuery code
+ * feat: add project-scoped search bar to sidebar
+
+-------------------------------------------------------------------
Old:
----
openstackdocstheme-3.5.0.tar.gz
New:
----
openstackdocstheme-3.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-openstackdocstheme.spec ++++++
--- /var/tmp/diff_new_pack.Bu6Shu/_old 2026-03-29 20:01:37.315730067 +0200
+++ /var/tmp/diff_new_pack.Bu6Shu/_new 2026-03-29 20:01:37.315730067 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-openstackdocstheme
#
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pythons %{primary_python}
Name: python-openstackdocstheme
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Summary: OpenStack Docs Theme
License: Apache-2.0
++++++ openstackdocstheme-3.5.0.tar.gz -> openstackdocstheme-3.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/.pre-commit-config.yaml
new/openstackdocstheme-3.6.0/.pre-commit-config.yaml
--- old/openstackdocstheme-3.5.0/.pre-commit-config.yaml 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/.pre-commit-config.yaml 2026-03-25
11:06:16.000000000 +0100
@@ -1,31 +1,25 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
+ rev: v6.0.0
hooks:
- id: trailing-whitespace
- # Replaces or checks mixed line ending
- id: mixed-line-ending
args: ['--fix', 'lf']
exclude: '.*\.(svg)$'
- # Forbid files which have a UTF-8 byte-order marker
- - id: check-byte-order-marker
- # Checks that non-binary executables have a proper shebang
+ - id: fix-byte-order-marker
- id: check-executables-have-shebangs
- # Check for files that contain merge conflict strings.
- id: check-merge-conflict
- # Check for debugger imports and py37+ breakpoint()
- # calls in python source
- id: debug-statements
- id: check-yaml
files: .*\.(yaml|yml)$
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.6.2
+ rev: v0.14.13
hooks:
- - id: ruff
+ - id: ruff-check
args: ['--fix']
- id: ruff-format
- repo: https://opendev.org/openstack/hacking
- rev: 7.0.0
+ rev: 8.0.0
hooks:
- id: hacking
additional_dependencies: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/AUTHORS
new/openstackdocstheme-3.6.0/AUTHORS
--- old/openstackdocstheme-3.5.0/AUTHORS 2025-04-24 13:19:11.000000000
+0200
+++ new/openstackdocstheme-3.6.0/AUTHORS 2026-03-25 11:07:11.000000000
+0100
@@ -35,6 +35,7 @@
Hunt Xu <[email protected]>
Ian Y. Choi <[email protected]>
Ildiko Vancsa <[email protected]>
+Ivan Anfimov <[email protected]>
Jacky Hu <[email protected]>
James E. Blair <[email protected]>
Jeremy Stanley <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/ChangeLog
new/openstackdocstheme-3.6.0/ChangeLog
--- old/openstackdocstheme-3.5.0/ChangeLog 2025-04-24 13:19:11.000000000
+0200
+++ new/openstackdocstheme-3.6.0/ChangeLog 2026-03-25 11:07:11.000000000
+0100
@@ -1,6 +1,24 @@
CHANGES
=======
+3.6.0
+-----
+
+* ruff: Configure hacking as external linter
+* Replace obsolete PCRE packages
+* README: Trivial nits
+* Add typing
+* Bump sphinx min version
+* Enable more ruff rules
+* pre-commit: Bump dependencies
+* Migrate setup configuration to pyproject.toml
+* Drop Python 3.9 support
+* Replace deprecated datetime.utcfromtimestamp
+* Remove tags from README
+* Removed code for IE versions below 9 and fix few urls for use https
+* refactor(js): remove unused jQuery code
+* feat: add project-scoped search bar to sidebar
+
3.5.0
-----
@@ -33,6 +51,7 @@
* Don't offer to show unmaintained versions
* Fix series selection and sorting
* Fix lack of the Yoga version in dropdown list
+* Update analytics tracking ID
* zuul: Add tips job
3.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/PKG-INFO
new/openstackdocstheme-3.6.0/PKG-INFO
--- old/openstackdocstheme-3.5.0/PKG-INFO 2025-04-24 13:19:11.310010000
+0200
+++ new/openstackdocstheme-3.6.0/PKG-INFO 2026-03-25 11:07:11.598222000
+0100
@@ -1,10 +1,11 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: openstackdocstheme
-Version: 3.5.0
+Version: 3.6.0
Summary: OpenStack Docs Theme
-Home-page: https://docs.openstack.org/openstackdocstheme/latest/
-Author: OpenStack
-Author-email: [email protected]
+Author-email: OpenStack <[email protected]>
+License: Apache-2.0
+Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme
+Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
@@ -12,31 +13,27 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Documentation
-Requires-Python: >=3.8
+Classifier: Typing :: Typed
+Requires-Python: >=3.10
+Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pbr!=2.1.0,>=2.0.0
Requires-Dist: dulwich>=0.15.0
-Requires-Dist: sphinx>=6.0.0
-
-========================
-Team and repository tags
-========================
-
-.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
- :target: https://governance.openstack.org/tc/reference/tags/index.html
-
-.. Change things from this point on
+Requires-Dist: sphinx>=8.0.0
+Dynamic: license-file
+Dynamic: requires-dist
+==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
+.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
+
Theme and extension support for Sphinx documentation that is published by
Open Infrastructure Foundation projects.
@@ -51,7 +48,7 @@
.. _`projects governed by the Technical Committee`:
https://governance.openstack.org/tc/reference/projects/index.html
StarlingX docs.starlingx.io Sphinx Theme
------------------------------------------
+----------------------------------------
Theme support for Sphinx documentation that is published to
docs.starlingx.io.
@@ -68,4 +65,3 @@
* Release notes: https://docs.openstack.org/releasenotes/openstackdocstheme/
* Source: https://opendev.org/openstack/openstackdocstheme
* Bugs: https://launchpad.net/openstack-doc-tools
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/README.rst
new/openstackdocstheme-3.6.0/README.rst
--- old/openstackdocstheme-3.5.0/README.rst 2025-04-24 13:18:07.000000000
+0200
+++ new/openstackdocstheme-3.6.0/README.rst 2026-03-25 11:06:16.000000000
+0100
@@ -1,15 +1,9 @@
-========================
-Team and repository tags
-========================
-
-.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
- :target: https://governance.openstack.org/tc/reference/tags/index.html
-
-.. Change things from this point on
-
+==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
+.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
+
Theme and extension support for Sphinx documentation that is published by
Open Infrastructure Foundation projects.
@@ -24,7 +18,7 @@
.. _`projects governed by the Technical Committee`:
https://governance.openstack.org/tc/reference/projects/index.html
StarlingX docs.starlingx.io Sphinx Theme
------------------------------------------
+----------------------------------------
Theme support for Sphinx documentation that is published to
docs.starlingx.io.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/api-ref/source/conf.py
new/openstackdocstheme-3.6.0/api-ref/source/conf.py
--- old/openstackdocstheme-3.5.0/api-ref/source/conf.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/api-ref/source/conf.py 2026-03-25
11:06:16.000000000 +0100
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Copyright (C) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/bindep.txt
new/openstackdocstheme-3.6.0/bindep.txt
--- old/openstackdocstheme-3.5.0/bindep.txt 2025-04-24 13:18:07.000000000
+0200
+++ new/openstackdocstheme-3.6.0/bindep.txt 2026-03-25 11:06:16.000000000
+0100
@@ -35,4 +35,4 @@
# For nova cross testing
graphviz [doc test]
-libpcre3-dev [platform:dpkg test]
+libpcre2-dev [platform:dpkg test]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/doc/source/conf.py
new/openstackdocstheme-3.6.0/doc/source/conf.py
--- old/openstackdocstheme-3.5.0/doc/source/conf.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/doc/source/conf.py 2026-03-25
11:06:16.000000000 +0100
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Copyright (C) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/doc/source/index.rst
new/openstackdocstheme-3.6.0/doc/source/index.rst
--- old/openstackdocstheme-3.5.0/doc/source/index.rst 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/doc/source/index.rst 2026-03-25
11:06:16.000000000 +0100
@@ -170,6 +170,15 @@
# ...
}
+The search bar in the sidebar is disabled by default. To enable it, set
+the ``sidebar_search`` option to ``True`` for project-scoped search::
+
+ html_theme_options = {
+ # ...
+ "sidebar_search": True,
+ # ...
+ }
+
If you are using this theme for documentation you want to release based on git
tags on your repository, set the release dropdown menu option in the
``html_theme_options`` in the ``conf.py`` file. By default it is set to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/__init__.py
new/openstackdocstheme-3.6.0/openstackdocstheme/__init__.py
--- old/openstackdocstheme-3.5.0/openstackdocstheme/__init__.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme/__init__.py 2026-03-25
11:06:16.000000000 +0100
@@ -12,6 +12,10 @@
# License for the specific language governing permissions and limitations
# under the License.
+from typing import Any
+
+from sphinx import application
+
from . import ext
from . import page_context
from .paths import * # noqa
@@ -21,7 +25,7 @@
__version__ = version_info.version_string()
-def setup(app):
+def setup(app: application.Sphinx) -> dict[str, Any]:
ext.setup(app)
page_context.setup(app)
return {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/openstackdocstheme/ext.py
new/openstackdocstheme-3.6.0/openstackdocstheme/ext.py
--- old/openstackdocstheme-3.5.0/openstackdocstheme/ext.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme/ext.py 2026-03-25
11:06:16.000000000 +0100
@@ -16,53 +16,58 @@
import os
import subprocess
import textwrap
+from typing import Any
+from docutils import nodes
+import dulwich.errors
import dulwich.repo
from pbr import packaging
+from sphinx import application
+from sphinx.config import Config
from sphinx.ext import extlinks
from sphinx.util import logging
from . import version
from openstackdocstheme import paths
-_series = None
-_project = None
+_series: str | None = None
+_project: str | None = None
_giturl = 'https://opendev.org/{}/src/{}'
-_html_context_data = None
+_html_context_data: dict[str, Any] | None = None
logger = logging.getLogger(__name__)
-def _has_stable_branches():
+def _has_stable_branches() -> bool:
try:
- repo = dulwich.repo.Repo.discover()
- except dulwich.repo.NotGitRepository:
+ repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call]
+ except dulwich.errors.NotGitRepository:
return False
refs = repo.get_refs()
- for ref in refs.keys():
- ref = ref.decode('utf-8')
+ for ref_bytes in refs.keys():
+ ref = ref_bytes.decode('utf-8')
if ref.startswith('refs/remotes/origin/stable'):
return True
return False
-def _ref_sort_key(ref):
+def _ref_sort_key(ref: str) -> str:
# note(frickler): make sure to sort series like 2023.1 after zed
if ref.startswith("2"):
return "zzz" + ref
return ref
-def _get_other_versions(app):
+def _get_other_versions(app: application.Sphinx) -> list[str]:
if not app.config.html_theme_options.get('show_other_versions', False):
return []
- all_series = []
+ all_series: list[str] = []
try:
- repo = dulwich.repo.Repo.discover()
- except dulwich.repo.NotGitRepository:
+ repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call]
+ except dulwich.errors.NotGitRepository:
return []
refs = repo.get_refs()
@@ -101,7 +106,7 @@
return interesting_series
-def _get_doc_path(app):
+def _get_doc_path(app: application.Sphinx) -> str | None:
# Handle 'doc/{docType}/source' paths
doc_parts = os.path.abspath(app.srcdir).split(os.sep)[-3:]
if doc_parts[0] == 'doc' and doc_parts[2] == 'source':
@@ -115,10 +120,16 @@
logger.info(
"[openstackdocstheme] cannot identify project's root directory."
)
- return
+ return None
-def _html_page_context(app, pagename, templatename, context, doctree):
+def _html_page_context(
+ app: application.Sphinx,
+ pagename: str,
+ templatename: str,
+ context: dict[str, Any],
+ doctree: nodes.document | None,
+) -> None:
global _html_context_data
if _html_context_data is None:
logger.debug('[openstackdocstheme] building html context')
@@ -281,7 +292,7 @@
)
-def _get_series_name():
+def _get_series_name() -> str:
"Return string name of release series, or 'latest'"
global _series
if _series is None:
@@ -316,13 +327,11 @@
return _series
-def _setup_link_roles(app):
+def _setup_link_roles(app: application.Sphinx) -> None:
series = _get_series_name()
for project_name in app.config.openstackdocs_projects:
- url = 'https://docs.openstack.org/{}/{}/%s'.format(
- project_name, series
- )
- role_name = '{}-doc'.format(project_name)
+ url = f'https://docs.openstack.org/{project_name}/{series}/%s'
+ role_name = f'{project_name}-doc'
logger.debug(
'[openstackdocstheme] adding role %s to link to %s',
role_name,
@@ -334,7 +343,7 @@
app.add_role(role_name, role)
-def _find_setup_cfg(srcdir):
+def _find_setup_cfg(srcdir: str | os.PathLike[str]) -> str | None:
"""Find the 'setup.cfg' file, if it exists.
This assumes we're using 'doc/source' for documentation, but also allows
@@ -353,7 +362,7 @@
return None
-def _get_project_name(srcdir):
+def _get_project_name(srcdir: str | os.PathLike[str]) -> str | None:
"""Return string name of project name, or None.
This assumes every project is using 'pbr' and, therefore, the metadata can
@@ -391,7 +400,7 @@
return _project
-def _config_inited(app, config):
+def _config_inited(app: application.Sphinx, config: Config) -> None:
if config.openstack_projects is not None:
logger.info(
"[openstackdocstheme] "
@@ -439,8 +448,9 @@
doc_parts = os.path.abspath(app.srcdir).split(os.sep)[-2:]
if doc_parts[0] in ('api-guide', 'api-ref', 'releasenotes'):
logger.debug(
- f'[openstackdocstheme] auto-versioning disabled (doc name '
- f'contains {doc_parts[0]}'
+ '[openstackdocstheme] auto-versioning disabled (doc name '
+ 'contains %s)',
+ doc_parts[0],
)
auto_version = False
else:
@@ -466,7 +476,7 @@
config.release = project_version
-def _builder_inited(app):
+def _builder_inited(app: application.Sphinx) -> None:
theme_dir = paths.get_html_theme_path()
logger.info('[openstackdocstheme] using theme from %s', theme_dir)
@@ -507,7 +517,7 @@
app.config.latex_elements = latex_elements
-def setup(app):
+def setup(app: application.Sphinx) -> dict[str, Any]:
logger.info(
'[openstackdocstheme] version: %s',
version.version_info.version_string(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/page_context.py
new/openstackdocstheme-3.6.0/openstackdocstheme/page_context.py
--- old/openstackdocstheme-3.5.0/openstackdocstheme/page_context.py
2025-04-24 13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme/page_context.py
2026-03-25 11:06:16.000000000 +0100
@@ -15,8 +15,10 @@
import os.path
import subprocess
import time
+from typing import Any
-import sphinx
+from docutils import nodes
+from sphinx import application
from sphinx.util import logging
from . import version
@@ -24,10 +26,12 @@
LOG = logging.getLogger(__name__)
_timeint = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
-_default_last_updated = datetime.datetime.utcfromtimestamp(_timeint)
+_default_last_updated = datetime.datetime.fromtimestamp(
+ _timeint, tz=datetime.timezone.utc
+).replace(tzinfo=None)
-def _get_last_updated_file(src_file):
+def _get_last_updated_file(src_file: str) -> datetime.datetime | None:
if not os.path.exists(src_file):
return None
try:
@@ -72,22 +76,17 @@
return None
-def _get_last_updated(app, pagename):
+def _get_last_updated(
+ app: application.Sphinx, pagename: str
+) -> datetime.datetime:
last_updated = None
full_src_file = app.builder.env.doc2path(pagename)
- candidates = []
+ candidates: list[str] = []
# Strip the prefix from the filename so the git command recognizes
# the file as part of the current repository.
- # NOTE(sean-k-mooney): on python 3.9 we clamp sphinx to <8
- # app.builder.env.srcdir is a string on py39
- if sphinx.version_info >= (8, 0):
- src_file = str(full_src_file.relative_to(app.builder.env.srcdir))
- else: # Sphinx < 8.0
- src_file = full_src_file[len(str(app.builder.env.srcdir)) :].lstrip(
- '/'
- )
+ src_file = str(full_src_file.relative_to(app.builder.env.srcdir))
candidates.append(src_file)
if not os.path.exists(src_file):
@@ -116,13 +115,19 @@
return _default_last_updated
-def html_page_context(app, pagename, templatename, context, doctree):
+def html_page_context(
+ app: application.Sphinx,
+ pagename: str,
+ templatename: str,
+ context: dict[str, Any],
+ doctree: nodes.document | None,
+) -> None:
# Use the last modified date from git instead of applying a single
# value to the entire site.
context['last_updated'] = _get_last_updated(app, pagename)
-def setup(app):
+def setup(app: application.Sphinx) -> dict[str, Any]:
LOG.info('[openstackdocstheme] connecting html-page-context event handler')
app.connect('html-page-context', html_page_context)
return {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/openstackdocstheme/paths.py
new/openstackdocstheme-3.6.0/openstackdocstheme/paths.py
--- old/openstackdocstheme-3.5.0/openstackdocstheme/paths.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme/paths.py 2026-03-25
11:06:16.000000000 +0100
@@ -15,28 +15,28 @@
import os.path
-def get_pkg_path():
+def get_pkg_path() -> str:
return os.path.abspath(os.path.dirname(__file__))
-def get_html_theme_path():
+def get_html_theme_path() -> str:
"""Return the directory containing HTML theme for local builds."""
return os.path.join(get_pkg_path(), 'theme')
-def get_pdf_theme_path(theme='openstackdocs'):
+def get_pdf_theme_path(theme: str = 'openstackdocs') -> str:
"""Return the directory containing PDF theme for local builds."""
args = ['theme', theme + '_pdf', 'pdftheme']
return os.path.join(get_pkg_path(), *args)
-def get_theme_logo_path(theme='openstackdocs'):
+def get_theme_logo_path(theme: str = 'openstackdocs') -> str:
"""Return the directory containing theme logo for local builds."""
args = ['theme', theme + '_pdf', 'logo-full.png']
return os.path.join(get_pkg_path(), *args)
# This function is for compatibility with previous releases.
-def get_openstack_logo_path():
+def get_openstack_logo_path() -> str:
"""Return the directory containing OpenStack logo for local builds."""
return get_theme_logo_path('openstackdocs')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/css.html
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/css.html
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/css.html
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/css.html
2026-03-25 11:06:16.000000000 +0100
@@ -12,10 +12,3 @@
<!-- Pygments CSS -->
<link href="{{pathto('_static/pygments.css', 1)}}" rel="stylesheet">
-
-<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries
-->
-<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-<!--[if lt IE 9]>
- <script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
- <script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
-<![endif]-->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/header.html
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/header.html
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/header.html
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/header.html
2026-03-25 11:06:16.000000000 +0100
@@ -17,7 +17,7 @@
<span class="navbar-toggler-icon"></span>
<span class="sr-only">Toggle navigation</span>
</button>
- <div class="search-icon show"><i class="fa fa-search"></i> Search</div>
+ <div class="search-icon show"><i class="fa fa-search"></i> Global
Search</div>
<div class="collapse navbar-collapse" id="navbar-main-1">
{% include 'os_search.html' %}
<ul class="nav navbar-nav navbar-main ms-auto mb-2 mb-lg-0
justify-content-end show" role="navigation">
@@ -64,12 +64,12 @@
<li><a class="dropdown-item"
href="{{osf_base_url}}/community/">Welcome! Start Here</a></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/community/tech-committee">OpenStack Technical
Committee</a></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/community/speakers/">Speakers Bureau</a></li>
- <li><a class="dropdown-item"
href="http://wiki.openstack.org">OpenStack Wiki</a></li>
+ <li><a class="dropdown-item"
href="https://wiki.openstack.org">OpenStack Wiki</a></li>
<li><a class="dropdown-item" href="{{osf_base_url}}/coa/">Get
Certified (COA)</a></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/community/jobs/">Jobs</a></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/marketing/">Marketing Resources</a></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/news/">Community News</a></li>
- <li><a class="dropdown-item"
href="http://superuser.openstack.org">Superuser Magazine</a></li>
+ <li><a class="dropdown-item"
href="https://superuser.openstack.org">Superuser Magazine</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item"
href="{{osf_base_url}}/community/supporting-organizations/">OpenInfra
Foundation Supporting Organizations</a></li>
<li><a class="dropdown-item"
href="https://openinfra.dev">OpenInfra Foundation</a></li>
@@ -91,7 +91,7 @@
<a class="nav-link" href="{{osf_base_url}}/blog/">Blog</a>
</li>
<li class="nav-item"><!-- Docs -->
- <a class="nav-link" href="http://docs.openstack.org/">Docs</a>
+ <a class="nav-link" href="https://docs.openstack.org/">Docs</a>
</li>
<li class="nav-item dropdown join-nav-section"> <!-- Join -->
<a href="https://openinfra.dev/join/" class="nav-link
dropdown-toggle" role="button">Join</a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/layout.html
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/layout.html
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/layout.html
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/layout.html
2026-03-25 11:06:16.000000000 +0100
@@ -4,17 +4,14 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
{% include 'css.html' %}
{% if theme_analytics_tracking_code %}
-<!-- Google Analytics -->
+<!-- Google tag (gtag.js) -->
+<script async src="https://www.googletagmanager.com/gtag/js?id={{
theme_analytics_tracking_code }}">
+</script>
<script>
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-ga('create', '{{ theme_analytics_tracking_code }}', 'auto');
-ga('send', 'pageview');
+window.dataLayer = window.dataLayer || [];
+function gtag(){dataLayer.push(arguments);} gtag('js', new Date());
+gtag('config', '{{ theme_analytics_tracking_code }}');
</script>
-<!-- End Google Analytics -->
{% endif %}
{% endblock %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/sidebartoc.html
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/sidebartoc.html
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/sidebartoc.html
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/sidebartoc.html
2026-03-25 11:06:16.000000000 +0100
@@ -12,6 +12,12 @@
{%- if theme_display_global_toc_section %}
<div class="docs-sidebar-section" id="table-of-contents">
<a href="{{ pathto(master_doc) }}"
class="docs-sidebar-section-title"><h4>{{project}} {{version}}</h4></a>
+ {%- if theme_sidebar_search|tobool %}
+ <form action="{{ pathto('search') }}" method="get" class="input-group
input-group-sm ps-3 pe-2 pb-3">
+ <input class="form-control" type="text" name="q" value=""
placeholder="{% trans %}Search in {{project}}{% endtrans %}" aria-label="{%
trans %}Search{% endtrans %}">
+ <button class="btn btn-outline-secondary" type="submit"><i class="fa
fa-search"></i></button>
+ </form>
+ {%- endif %}
{%- if theme_sidebar_mode == 'toc' %}
{{ toc }}
{%- elif theme_sidebar_mode == 'toctree' %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/static/js/navigation.js
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/static/js/navigation.js
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/static/js/navigation.js
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/static/js/navigation.js
2026-03-25 11:06:16.000000000 +0100
@@ -37,20 +37,3 @@
$('ul.navbar-main li ul.dropdown-menu').removeClass('dropdown-hover');
}
});
-
-// Remove Search text in smaller browser windows
-jQuery(document).ready(function(){
- if (jQuery(window).width() < 1050) {
- $('#search-label').text('');
- } else {
- $('#search-label').text('Search');
- }
-});
-jQuery(window).resize(function () {
- if (jQuery(window).width() < 1050) {
- $('#search-label').text('');
- } else {
- $('#search-label').text('Search');
- }
-});
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/theme.conf
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/theme.conf
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/openstackdocs/theme.conf
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/openstackdocs/theme.conf
2026-03-25 11:06:16.000000000 +0100
@@ -4,7 +4,7 @@
pygments_style = native
[options]
-analytics_tracking_code = UA-17511903-1
+analytics_tracking_code = G-DD299CMF7V
sidebar_mode = toctree
display_badge = True
display_toc = True
@@ -13,3 +13,4 @@
sidebar_dropdown = os_docs
show_other_versions = False
earliest_published_series = mitaka
+sidebar_search = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/starlingxdocs/header.html
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/starlingxdocs/header.html
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/starlingxdocs/header.html
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/starlingxdocs/header.html
2026-03-25 11:06:16.000000000 +0100
@@ -15,7 +15,7 @@
<span class="navbar-toggler-icon"></span>
<span class="sr-only">Toggle navigation</span>
</button>
- <div class="search-icon show"><i class="fa fa-search"></i> Search</div>
+ <div class="search-icon show"><i class="fa fa-search"></i> Global
Search</div>
<div class="collapse navbar-collapse" id="navbar-main-1">
{% include 'stx_search.html' %}
<ul class="nav navbar-nav navbar-main ms-auto mb-lg-0
justify-content-end show" role="navigation">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/starlingxdocs/theme.conf
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/starlingxdocs/theme.conf
---
old/openstackdocstheme-3.5.0/openstackdocstheme/theme/starlingxdocs/theme.conf
2025-04-24 13:18:07.000000000 +0200
+++
new/openstackdocstheme-3.6.0/openstackdocstheme/theme/starlingxdocs/theme.conf
2026-03-25 11:06:16.000000000 +0100
@@ -4,7 +4,7 @@
pygments_style = native
[options]
-#analytics_tracking_code = UA-17511903-1
+#analytics_tracking_code = GA_CODE_HERE
sidebar_mode = toctree
display_badge = True
display_toc = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme/version.py
new/openstackdocstheme-3.6.0/openstackdocstheme/version.py
--- old/openstackdocstheme-3.5.0/openstackdocstheme/version.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme/version.py 2026-03-25
11:06:16.000000000 +0100
@@ -12,6 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-import pbr.version
+from pbr import version as pbr_version
-version_info = pbr.version.VersionInfo('openstackdocstheme')
+version_info: pbr_version.VersionInfo = pbr_version.VersionInfo(
+ 'openstackdocstheme'
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/PKG-INFO
new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/PKG-INFO
--- old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/PKG-INFO
2025-04-24 13:19:11.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/PKG-INFO
2026-03-25 11:07:11.000000000 +0100
@@ -1,10 +1,11 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: openstackdocstheme
-Version: 3.5.0
+Version: 3.6.0
Summary: OpenStack Docs Theme
-Home-page: https://docs.openstack.org/openstackdocstheme/latest/
-Author: OpenStack
-Author-email: [email protected]
+Author-email: OpenStack <[email protected]>
+License: Apache-2.0
+Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme
+Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
@@ -12,31 +13,27 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Documentation
-Requires-Python: >=3.8
+Classifier: Typing :: Typed
+Requires-Python: >=3.10
+Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pbr!=2.1.0,>=2.0.0
Requires-Dist: dulwich>=0.15.0
-Requires-Dist: sphinx>=6.0.0
-
-========================
-Team and repository tags
-========================
-
-.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
- :target: https://governance.openstack.org/tc/reference/tags/index.html
-
-.. Change things from this point on
+Requires-Dist: sphinx>=8.0.0
+Dynamic: license-file
+Dynamic: requires-dist
+==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
+.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
+
Theme and extension support for Sphinx documentation that is published by
Open Infrastructure Foundation projects.
@@ -51,7 +48,7 @@
.. _`projects governed by the Technical Committee`:
https://governance.openstack.org/tc/reference/projects/index.html
StarlingX docs.starlingx.io Sphinx Theme
------------------------------------------
+----------------------------------------
Theme support for Sphinx documentation that is published to
docs.starlingx.io.
@@ -68,4 +65,3 @@
* Release notes: https://docs.openstack.org/releasenotes/openstackdocstheme/
* Source: https://opendev.org/openstack/openstackdocstheme
* Bugs: https://launchpad.net/openstack-doc-tools
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/SOURCES.txt
new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/SOURCES.txt
--- old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/SOURCES.txt
2025-04-24 13:19:11.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/SOURCES.txt
2026-03-25 11:07:11.000000000 +0100
@@ -43,6 +43,7 @@
openstackdocstheme/ext.py
openstackdocstheme/page_context.py
openstackdocstheme/paths.py
+openstackdocstheme/py.typed
openstackdocstheme/version.py
openstackdocstheme.egg-info/PKG-INFO
openstackdocstheme.egg-info/SOURCES.txt
@@ -146,6 +147,7 @@
releasenotes/notes/add-openstackdocs_auto_name-option-efbd1cf9a171f079.yaml
releasenotes/notes/add-openstackdocs_auto_version-option-fd03f20373eede39.yaml
releasenotes/notes/add-reno-8da9bd3ccb7bbeab.yaml
+releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml
releasenotes/notes/add-translations-9238b0f56b677a6b.yaml
releasenotes/notes/allow-disabling-toc-in-body-d98d3a6e633fa28e.yaml
@@ -171,6 +173,7 @@
releasenotes/notes/opendev-5c528b2b4c737d59.yaml
releasenotes/notes/pdf-version-56c223128dff8357.yaml
releasenotes/notes/pdf_link-c6b0ed36dd12b0ef.yaml
+releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
releasenotes/notes/renamed-opts-bbf5d1390ed6ba71.yaml
releasenotes/notes/side-bar-config-d7e66388e252cadf.yaml
releasenotes/notes/sidebar-top-page-link-252532ddf42a5acf.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/pbr.json
new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/pbr.json
--- old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/pbr.json
2025-04-24 13:19:11.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/pbr.json
2026-03-25 11:07:11.000000000 +0100
@@ -1 +1 @@
-{"git_version": "1d5cb6f", "is_release": true}
\ No newline at end of file
+{"git_version": "57ac1e6", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/requires.txt
new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/requires.txt
--- old/openstackdocstheme-3.5.0/openstackdocstheme.egg-info/requires.txt
2025-04-24 13:19:11.000000000 +0200
+++ new/openstackdocstheme-3.6.0/openstackdocstheme.egg-info/requires.txt
2026-03-25 11:07:11.000000000 +0100
@@ -1,3 +1,3 @@
pbr!=2.1.0,>=2.0.0
dulwich>=0.15.0
-sphinx>=6.0.0
+sphinx>=8.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/pyproject.toml
new/openstackdocstheme-3.6.0/pyproject.toml
--- old/openstackdocstheme-3.5.0/pyproject.toml 2025-04-24 13:18:07.000000000
+0200
+++ new/openstackdocstheme-3.6.0/pyproject.toml 2026-03-25 11:06:16.000000000
+0100
@@ -1,6 +1,62 @@
+[build-system]
+requires = ["pbr>=6.1.1"]
+build-backend = "pbr.build"
+
+[project]
+name = "openstackdocstheme"
+description = "OpenStack Docs Theme"
+authors = [
+ {name = "OpenStack", email = "[email protected]"},
+]
+readme = {file = "README.rst", content-type = "text/x-rst"}
+license = {text = "Apache-2.0"}
+dynamic = ["version", "dependencies"]
+requires-python = ">=3.10"
+classifiers = [
+ "Environment :: OpenStack",
+ "Intended Audience :: Information Technology",
+ "Intended Audience :: System Administrators",
+ "License :: OSI Approved :: Apache Software License",
+ "Operating System :: POSIX :: Linux",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
+ "Topic :: Documentation",
+ "Typing :: Typed",
+]
+
+[project.urls]
+Homepage = "https://docs.openstack.org/openstackdocstheme"
+Repository = "https://opendev.org/openstack/openstackdocstheme"
+
+[tool.setuptools]
+packages = [
+ "openstackdocstheme"
+]
+script-files = [
+ "bin/docstheme-build-translated.sh",
+ "bin/docstheme-lang-display-name.py",
+ "bin/docstheme-build-pdf",
+]
+
+[tool.mypy]
+python_version = "3.10"
+show_column_numbers = true
+show_error_context = true
+strict = true
+disable_error_code = ["import-untyped"]
+exclude = "(?x)(doc | releasenotes)"
+
[tool.ruff]
line-length = 79
[tool.ruff.format]
quote-style = "preserve"
docstring-code-format = true
+
+[tool.ruff.lint]
+select = ["E4", "E5", "E7", "E9", "F", "G", "LOG", "UP"]
+external = ["H"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
new/openstackdocstheme-3.6.0/releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
---
old/openstackdocstheme-3.5.0/releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/openstackdocstheme-3.6.0/releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
2026-03-25 11:06:16.000000000 +0100
@@ -0,0 +1,4 @@
+---
+features:
+ - Add an optional project-scoped search bar to the sidebar. Updated
OpenStack/StarlingX
+ wide search placeholder to "Global Search" for clarity.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openstackdocstheme-3.5.0/releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
new/openstackdocstheme-3.6.0/releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
---
old/openstackdocstheme-3.5.0/releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/openstackdocstheme-3.6.0/releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
2026-03-25 11:06:16.000000000 +0100
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Support for Python 3.8 and 3.9 has been removed. Now the minimum Python
+ version supported is 3.10.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/releasenotes/source/conf.py
new/openstackdocstheme-3.6.0/releasenotes/source/conf.py
--- old/openstackdocstheme-3.5.0/releasenotes/source/conf.py 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/releasenotes/source/conf.py 2026-03-25
11:06:16.000000000 +0100
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/requirements.txt
new/openstackdocstheme-3.6.0/requirements.txt
--- old/openstackdocstheme-3.5.0/requirements.txt 2025-04-24
13:18:07.000000000 +0200
+++ new/openstackdocstheme-3.6.0/requirements.txt 2026-03-25
11:06:16.000000000 +0100
@@ -1,3 +1,3 @@
pbr!=2.1.0,>=2.0.0 # Apache-2.0
dulwich>=0.15.0 # Apache-2.0
-sphinx>=6.0.0 # BSD
+sphinx>=8.0.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/setup.cfg
new/openstackdocstheme-3.6.0/setup.cfg
--- old/openstackdocstheme-3.5.0/setup.cfg 2025-04-24 13:19:11.314010000
+0200
+++ new/openstackdocstheme-3.6.0/setup.cfg 2026-03-25 11:07:11.599222000
+0100
@@ -1,35 +1,5 @@
[metadata]
name = openstackdocstheme
-summary = OpenStack Docs Theme
-description_file =
- README.rst
-author = OpenStack
-author_email = [email protected]
-home_page = https://docs.openstack.org/openstackdocstheme/latest/
-python_requires = >=3.8
-classifier =
- Environment :: OpenStack
- Intended Audience :: Information Technology
- Intended Audience :: System Administrators
- License :: OSI Approved :: Apache Software License
- Operating System :: POSIX :: Linux
- Programming Language :: Python
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.8
- Programming Language :: Python :: 3.9
- Programming Language :: Python :: 3.10
- Programming Language :: Python :: 3.11
- Programming Language :: Python :: 3.12
- Programming Language :: Python :: 3 :: Only
- Topic :: Documentation
-
-[files]
-packages =
- openstackdocstheme
-scripts =
- bin/docstheme-build-translated.sh
- bin/docstheme-lang-display-name.py
- bin/docstheme-build-pdf
[egg_info]
tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openstackdocstheme-3.5.0/tox.ini
new/openstackdocstheme-3.6.0/tox.ini
--- old/openstackdocstheme-3.5.0/tox.ini 2025-04-24 13:18:07.000000000
+0200
+++ new/openstackdocstheme-3.6.0/tox.ini 2026-03-25 11:06:16.000000000
+0100
@@ -16,11 +16,22 @@
[testenv:pep8]
description =
Run style checks.
-skip_install = true
deps =
pre-commit
+ {[testenv:mypy]deps}
commands =
pre-commit run -a
+ {[testenv:mypy]commands}
+
+[testenv:mypy]
+description =
+ Run type checks.
+deps =
+ {[testenv]deps}
+ mypy
+ types-docutils
+commands =
+ mypy --cache-dir="{envdir}/mypy_cache" -p openstackdocstheme {posargs}
[testenv:venv]
commands = {posargs}
@@ -82,7 +93,7 @@
commands = bindep test
[flake8]
-exclude=.venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools
+exclude = .venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools
show-source = True
# We only enable the hacking (H) checks
select = H