HomeTube started as a focused tool for one job: getting videos off the internet into a clean, self-hosted library. That workflow grew into a platform, and this release is where HomeTube starts pointing at it — while HomeTube itself keeps being developed.
✨ Meet Content
Content is a self-hosted engine built on the same idea, taken further: URLs, files and text in — media, transcripts, summaries, translations and documents out. One backend, several front doors: a HomeTube app of its own, Content Studio for any source, a REST API, a Python SDK and CLI, a Chromium extension, and an MCP server your AI agents can drive.
HomeTube now carries a single, dismissible line at the top of the page introducing it, and the README has a proper section explaining what Content is and how to try it in four lines. Dismiss the note and it stays gone for this release and every patch on top of it; the next feature release offers it once more. Nothing else about HomeTube changes, and playlist synchronization remains a HomeTube speciality for now.
🔧 The Docker image builds again
HomeTube's base image is deliberately unpinned so that new yt-dlp releases reach you without a manual bump. That base moved to Python 3.14 and stopped shipping pip, which quietly broke docker build. Nothing surfaced it, because the image was only ever built at release time or when yt-dlp changed — so a broken build could sit on main for weeks.
It is fixed, and more importantly the image is now built and health-checked on every pull request, so this class of breakage cannot go unnoticed again.
📦 Dependencies, watched
Dependabot now covers Python, GitHub Actions and the Docker base image, with vulnerability alerts and automated security fixes enabled. This release carries 24 package updates, moves Streamlit from 1.49 to 1.62, and takes the known-vulnerability count down from 148 to a small remainder that is capped upstream. The README also picks up three dead documentation links along the way.
⬆️ Upgrading
Nothing to do beyond pulling the new image — no configuration, volume or default has changed.
docker compose pull && docker compose up -dAvailable for linux/amd64 and linux/arm64 as ghcr.io/egalitarianmonkey/hometube:2.11.0 (also :2.11, :2 and :latest).
What's Changed
🚀 Features
- feat(notifications): announce Content in the app header by @EgalitarianMonkey in #99
- feat(notifications): re-offer the Content announcement each feature release by @EgalitarianMonkey in #113
🐛 Fixes
- fix(docker): restore pip in image build and cover it in CI by @EgalitarianMonkey in #98
- fix(ci): stop docker cache export races from failing the build by @EgalitarianMonkey in #100
📚 Docs
- docs(readme): present Content as the platform HomeTube grew into by @EgalitarianMonkey in #112
🧹 Maintenance
- chore(deps): enable Dependabot for uv, GitHub Actions and Docker by @EgalitarianMonkey in #87
- chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in #88
- chore(deps): bump gitpython from 3.1.45 to 3.1.58 by @dependabot[bot] in #89
- chore(deps): bump the github-actions group with 12 updates by @dependabot[bot] in #90
- chore(deps-dev): bump pathspec from 0.12.1 to 1.1.1 by @dependabot[bot] in #92
- chore(deps): bump attrs from 25.3.0 to 26.1.0 by @dependabot[bot] in #94
- chore(deps): ignore pandas/numpy major bumps capped by streamlit by @EgalitarianMonkey in #96
- chore(deps-dev): bump black from 26.3.1 to 26.5.1 by @dependabot[bot] in #95
- chore(ci): match the docker action versions used by the release build by @EgalitarianMonkey in #102
- chore(lint): state the ruff rule set explicitly by @EgalitarianMonkey in #103
- chore(deps): bump the python-minor-patch group across 1 directory with 24 updates by @dependabot[bot] in #101
- chore(deps): bump pillow from 11.3.0 to 12.3.0 by @dependabot[bot] in #104
- chore(deps): bump yt-dlp from 2025.9.23 to 2026.7.4 by @dependabot[bot] in #105
- chore(deps): stop ignoring pandas majors now that streamlit allows them by @EgalitarianMonkey in #106
- chore(release): bump version to 2.11.0 by @EgalitarianMonkey in #114
New Contributors
- @dependabot[bot] made their first contribution in #88
Full Changelog: v2.10.0...v2.11.0