Repository navigation
v0.2.3 — code review fixes & dependency maintenance
Maintenance release on top of v0.2.2. Bundles a small batch of frontend fixes (security, a11y, robustness) plus the regular dev-dep refresh. No new features, no breaking changes.
Frontend fixes (user-visible behavior)
- Set
noopener,noreferreron the downloadwindow.openso the new tab can no longer reach back throughwindow.openeror leak referer. (#31) - Time out
/api/inforequests at 30 s viaAbortController, aligned with backendSOCKET_TIMEOUT, so a stalled API can no longer hang the UI. (#31) - Translate
AbortErrorto a user-facing timeout message; broadened the check frominstanceof DOMExceptiontoinstanceof Errorfor portability across runners and polyfills. (#31) - Accessibility: form controls now have proper
label[for]associations, the URL input announces validity viaaria-invalid/aria-describedby, and both error regions userole="status"(polite live region) instead of the role / aria-live anti-pattern. (#31)
Tests
- Backend: cover subprocess pipe orchestration with a fake-binary integration test so future refactors of the streaming layer have a regression net. (#31)
Documentation
- Clarify the stateless thin-client architecture in internal docs — server-side is structurally required, not "serverless". (#31)
- Ignore a local-only sentinel file. (#31)
Image changes (frontend bundle rebuilt + build infra)
nodebuild base 22.22.2-alpine → 26.1.0-alpine (#29)vite8.0.10 → 8.0.12 (#26)vitest4.1.5 → 4.1.6 (#28)tailwindcss4.2.4 → 4.3.0 (#27)@tailwindcss/vite4.2.4 → 4.3.0 (#25)
Bundle output is byte-equivalent in size to v0.2.2; behavior unchanged.
Pull the image
docker pull ghcr.io/fdff87554/youtube-downloader:0.2.3
# or, for the floating minor tag:
docker pull ghcr.io/fdff87554/youtube-downloader:0.2Run command and configuration are unchanged from v0.2.0 — see that release for the full setup notes.