Skip to content

Remove outdated Sphinx docs and patch dependency security vulnerabilities#114

Merged
ajshedivy merged 2 commits into
mainfrom
chore/remove-outdated-docs-and-patch-deps
Jun 2, 2026
Merged

Remove outdated Sphinx docs and patch dependency security vulnerabilities#114
ajshedivy merged 2 commits into
mainfrom
chore/remove-outdated-docs-and-patch-deps

Conversation

@ajshedivy
Copy link
Copy Markdown
Collaborator

Summary

Removes the outdated Sphinx/ReadTheDocs documentation and patches every open dependency security alert in one pass. The in-repo Sphinx docs (python-wsdb.readthedocs.io) have been superseded by the central Starlight docs site at https://mapepire-ibmi.github.io, and the docs toolchain (sphinx, furo, sphinx-autobuild, …) was the single largest source of vulnerable transitive packages (it pulled in tornado, requests, urllib3, idna, pygments).

What changed

Remove outdated docs

  • Delete docs/ and .readthedocs.yaml
  • Remove the Docs job from .github/workflows/main.yml and the docs target from Makefile
  • Remove the Sphinx dev dependencies (Sphinx, furo, myst-parser, sphinx-copybutton, sphinx-autobuild, sphinx-autodoc-typehints, pytest-sphinx)
  • Repoint CONTRIBUTING.md and the documentation issue template at the live docs site; drop docs/build from .gitignore

Patch dependency vulnerabilities (regenerated uv.lock via uv lock --upgrade)

Package Before After Patched floor
urllib3 2.5.0 2.7.0 2.7.0
cryptography 46.0.3 48.0.0 46.0.7
requests 2.32.5 2.34.2 2.33.0
idna 3.11 3.18 3.15
wheel 0.45.1 0.47.0 0.46.2
virtualenv 20.35.4 21.4.2 20.36.1
filelock 3.19.1 3.29.0 3.20.3
marshmallow 3.26.1 3.26.2 3.26.2
python-dotenv 1.2.1 1.2.2 1.2.2
pytest 8.4.2 9.0.3 9.0.3
black 23.12.1 26.5.1 26.3.1
pygments 2.19.2 2.20.0 2.20.0
tornado 6.5.2 removed (dropped with docs toolchain)

Supporting changes required to land the patched versions:

  • Loosen dev tool constraints that were pinning vulnerable releases: black>=24.3.0,<27.0, mypy<1.20, isort<6.2, pytest>=9.0.3.
  • Correct requires-python from ">3.9" to ">=3.10" — the project already dropped 3.9 (CHANGELOG v0.1.8: "bump minimum python version to 3.10"; CI only tests 3.10), and the stale floor blocked the patched pytest.

Runtime dependencies are unchanged (dataclasses-json, websockets, pyee, pep249abc); published-package consumers are unaffected.

Regression testing

Verified against a live Mapepire server (the upgrade includes a websockets 15 → 16 major bump on the runtime transport, so both paths were exercised):

  • ✅ Core sync transport (simple_test + sql_test): 25 passed — identical before and after the change.
  • ✅ Async + pooling + PEP 249 + CL + query-manager suites: 76 passed with credentials configured.
  • python -m build (sdist + wheel), ruff check, isort --check, import smoke — all pass.
  • uv lock --check consistent with pyproject.toml.

Supersedes

This change makes the following open Dependabot PRs obsolete (docs deps removed, constraints loosened, lock fully regenerated): #110, #103, #102, #101, #100, #99, #68, #67, #42. Dependabot should auto-close them once this merges.

The open GitHub-Actions Dependabot PRs (#105#109) are CI-runner version bumps unrelated to package security and are intentionally out of scope here.

Remove the legacy in-repo Sphinx/ReadTheDocs documentation, which has been
superseded by the central Starlight docs site at https://mapepire-ibmi.github.io:
- delete docs/ and .readthedocs.yaml
- drop the "Docs" CI job, the Makefile "docs" target, and docs/build from .gitignore
- remove the Sphinx dev dependencies (Sphinx, furo, myst-parser, sphinx-copybutton,
  sphinx-autobuild, sphinx-autodoc-typehints, pytest-sphinx)
- repoint CONTRIBUTING.md, the PR template, and the documentation issue template at
  the live docs site / Google docstring style instead of the removed Sphinx build

Patch all open dependency security alerts by regenerating uv.lock: urllib3 2.7.0,
cryptography 48.0.0, requests 2.34.2, idna 3.18, wheel 0.47.0, virtualenv 21.4.2,
filelock 3.29.0, marshmallow 3.26.2, python-dotenv 1.2.2, pytest 9.0.3, black 26.5.1,
pygments 2.20.0; tornado is dropped entirely with the docs toolchain. Loosen the dev
tool constraints that were pinning vulnerable releases (black>=24.3.0,<27.0; mypy<1.20;
isort<6.2; pytest>=9.0.3) and correct requires-python from ">3.9" to ">=3.10" to match
the supported Python versions (3.9 was dropped in v0.1.8).

Runtime dependencies are unchanged. Verified against a live server: sync and async
websockets transports pass (websockets 15->16 major bump), plus build, ruff, isort.
…-docs-and-patch-deps

# Conflicts:
#	CHANGELOG.md
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