ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs ScyllaDB Sphinx Theme Upgrade guides Upgrading from 1.8 to 1.9

Caution

You're viewing documentation for an unstable version of ScyllaDB Sphinx Theme. Switch to the latest stable version.

Upgrading from 1.8 to 1.9¶

This guide explains how to upgrade the version of the ScyllaDB Sphinx Theme from 1.8 to 1.9.

How to check your current theme version¶

The theme version is displayed in the footer of the project’s documentation site.

../_images/version.png

If your project theme’s version is >=1.8, follow this guide to get the latest version.

Known issues¶

  • sphinx-tabs incompatible with docutils 0.22+: sphinx-tabs 3.4.7 (latest) raises a KeyError: 'backrefs' when building with docutils 0.22 or later (executablebooks/sphinx-tabs#212). As a workaround, pin docutils<0.22 in your project’s dependencies until a new sphinx-tabs release is available.

What’s new in 1.9¶

  • Python 3.11+: Python 3.10 is no longer supported. Python 3.11 or later is required.

  • Sphinx 9: The documentation toolchain now targets Sphinx 9.x.

  • uv replaces Poetry: The package manager has migrated from Poetry to uv for faster and more reliable dependency management.

  • Node.js 22: The frontend build now targets Node.js 22.

Upgrade to version 1.9¶

Migrate from Poetry to uv¶

The toolchain has replaced Poetry with uv. Follow these steps to migrate your project.

Step 1: Install uv

Install uv by following the official installation guide:

curl -LsSf https://astral.sh/uv/install.sh | sh

Step 2: Update docs/pyproject.toml

Replace the contents of docs/pyproject.toml with the new PEP 621 format.

Old format (Poetry):

[tool.poetry]
name = "sphinx-docs"
description = "ScyllaDB Documentation"
version = "0.1.0"
authors = ["ScyllaDB Documentation Contributors"]
package-mode = false

[tool.poetry.dependencies]
python = "^3.10"
pygments = "^2.18.0"
sphinx-scylladb-theme = "^1.8.1"
myst-parser = "^3.0.1"
sphinx-autobuild = "^2024.4.19"
Sphinx = "^7.3.7"
sphinx-multiversion-scylla = "^0.3.15"
sphinx-sitemap = "^2.6.0"
redirects_cli ="^0.1.3"

[build-system]
requires = ["poetry>=1.8.0"]
build-backend = "poetry.masonry.api"

New format (uv / PEP 621):

[project]
name = "sphinx-docs"
description = "ScyllaDB Documentation"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "pygments>=2.18.0",
    "sphinx-scylladb-theme>=1.9.0",
    "myst-parser>=5.0.1",
    "sphinx-autobuild>=2025.08.25",
    "sphinx>=9.0",
    "sphinx-multiversion-scylla>=0.3.7",
    "sphinx-sitemap>=2.9.0",
    "redirects_cli>=0.1.3",
]

[tool.uv]
package = false

Step 3: Delete poetry.lock and generate uv.lock

Remove the old Poetry lockfile and generate a new one with uv:

rm -f docs/poetry.lock
cd docs && uv lock

Step 4: Update .github/dependabot.yml

Replace the Dependabot configuration with the new uv ecosystem:

Old format:

version: 2
updates:
  - package-ecosystem: "pip"
    directory: "/docs"
    schedule:
      interval: "daily"
    allow:
      - dependency-name: "sphinx-scylladb-theme"
      - dependency-name: "sphinx-multiversion-scylla"

New format:

version: 2
updates:
  - package-ecosystem: "uv"
    directory: "/docs"
    schedule:
      interval: "daily"
    allow:
      - dependency-name: "sphinx-scylladb-theme"
      - dependency-name: "sphinx-multiversion-scylla"

Step 5: Update docs/Makefile

Replace the Poetry-based Makefile with the uv equivalent.

Old Makefile header:

POETRY        = poetry
SPHINXBUILD   = $(POETRY) run sphinx-build

.PHONY: setupenv
setupenv:
    pip install -q poetry

.PHONY: setup
setup:
    $(POETRY) install

.PHONY: update
update:
    $(POETRY) update

New Makefile header:

UV            = uv
SPHINXBUILD   = $(UV) run sphinx-build

.PHONY: setupenv
setupenv:
    pip install -q uv

.PHONY: setup
setup:
    $(UV) sync

.PHONY: update
update:
    $(UV) sync --upgrade

Replace all remaining $(POETRY) run references with $(UV) run.

Step 6: Update .gitignore

If your .gitignore excludes poetry.lock, remove that entry and commit uv.lock instead:

# Remove from .gitignore:
# poetry.lock

Commit docs/uv.lock to version control to ensure reproducible builds.

Step 7: Preview the docs

Verify the docs build without errors:

cd docs
make preview

Upgrade Python to 3.11 or later¶

Python 3.10 is no longer supported. Python 3.11 or later is required.

Check your Python version:

python --version

If you need to upgrade, download the latest version from python.org or use pyenv:

pyenv install 3.12
pyenv global 3.12

Update GitHub Actions workflows¶

Update all GitHub Actions workflows that reference Python 3.10:

  1. Replace python-version: '3.10' with python-version: '3.12'.

  2. Add the uv setup step before any Python commands:

    - name: Install uv
      uses: astral-sh/setup-uv@v6
    
  3. Replace Poetry commands:

    • pip install -q poetry → pip install -q uv

    • poetry install → uv sync

    • poetry run <cmd> → uv run <cmd>

  4. Add permissions: contents: read at the top level of docs-pr.yaml:

    permissions:
      contents: read
    
  5. In docs-pages.yaml, update the release job permissions to use contents: write:

    release:
      permissions:
        pages: write
        id-token: write
        contents: write
    

Upgrade Node.js to 22¶

If your project builds frontend assets, upgrade to Node.js 22.

Check your Node.js version:

node --version

Use nvm to switch versions:

nvm install 22
nvm use 22

Add a .nvmrc file to the root of your repository to pin the version:

echo "22" > .nvmrc

Was this page helpful?

PREVIOUS
Upgrade guides
NEXT
Upgrading from 1.7 to 1.8
  • Create an issue
  • Edit this page

On this page

  • Upgrading from 1.8 to 1.9
    • How to check your current theme version
    • Known issues
    • What’s new in 1.9
    • Upgrade to version 1.9
      • Migrate from Poetry to uv
      • Upgrade Python to 3.11 or later
      • Update GitHub Actions workflows
      • Upgrade Node.js to 22
ScyllaDB Sphinx Theme
  • master
    • 1.8
    • 1.7
    • 1.6
    • 1.5
    • 1.4
    • 1.3
    • 1.2
    • 1.1
  • Getting started
    • Toolchain
    • Installation
    • Quickstart
  • Configuration
    • Template options
    • Page options
    • Multiversion options
    • Markdown support
    • Redirects support
    • AI chatbot support (beta)
    • Search support
    • Dependabot support
  • Commands
  • Deployment
    • Production deployment
    • Pull requests previews
    • Centralized publication
  • Examples
    • Admonitions
    • Alert
    • API Documentation
      • Python
      • Doxygen
      • REST API (Redocly)
    • Collapse
    • Code blocks
    • Diagrams
    • Grid
    • Glossary
    • Headings
    • Hero box
    • Icons
    • Images
    • Includes
    • Labels
    • Links
    • Lists
    • Mascots
    • Panel box
    • Substitutions
    • Tables
    • Tabs
    • Text
    • TOC
    • Tooltips
    • Topic box
    • Versions
    • Videos
  • Upgrade guides
    • Upgrading from 1.8 to 1.9
    • Upgrading from 1.7 to 1.8
    • Upgrading from 1.6 to 1.7
    • Upgrading from 1.5 to 1.6
    • Upgrading from 1.4 to 1.5
    • Upgrading from 1.3 to 1.4
    • Upgrading from 1.2 to 1.3
    • Upgrading from 1.1 to 1.2
    • Upgrading from 1.0 to 1.1
    • Upgrading from 0.x to 1.0
    • Changelog
  • Contribute
    • Contribute to the documentation
    • Contribute to the theme
    • Source Code
Docs Tutorials University Contact Us About Us
© 2026 ScyllaDB | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 03 Mar 2026.
Powered by Sphinx 9.1.0 & ScyllaDB Theme 1.9.0
Ask AI