Repository navigation
Releases
Releases · coredds/hvd2
v2.2.0
Runtime security and compatibility
- Upgraded to Electron 43.7.7, resolving the remaining dependency audit findings. The full dependency audit is clean.
- Desktop builds require a 64-bit operating system. The macOS minimum is now macOS 12 (Monterey).
- Development tooling requires Node.js 22.12.0 or later.
Reliability and maintenance
- Shared typed IPC contracts now cover preload and renderer APIs.
- Download listeners receive payloads without privileged Electron event objects. Cross-context unsubscribe handles preserve exact listener cleanup, including duplicate registrations.
- Persisted preferences are normalized against defaults, and malformed window bounds fall back safely. Existing JSON preferences remain compatible.
- Startup initialization has lifecycle cleanup and stable hook dependencies, avoiding repeated dependency checks when changing language.
- All lint warnings are resolved, and CI enforces zero-warning lint.
- Added regression coverage for event bridging, preference normalization, error handling, and startup cleanup.
Download the Windows .exe, macOS Apple Silicon .dmg, or Linux .AppImage below.
v2.1.1
Download reliability and Windows fixes
- Downloads keep updating while Settings or Logs is open.
- Start All resumes paused downloads; intentional stops no longer become errors or retry cookies.
- Pause All stops downloads concurrently, and removing an active entry waits for termination.
- Duplicate starts and stale process events are ignored.
- Completed video and converted audio retain the final file path for the open-file action.
- Dependency installation waits for file writes to finish before extraction.
- Fixed Windows ZIP extraction when launched from PowerShell 7, with clearer extraction errors.
- yt-dlp explicitly uses HVD's installed Deno runtime.
- Fixed corrupted Unicode titles and paths by forcing UTF-8 output from yt-dlp on Windows.
Maintenance
- Removed unused electron-store; the existing JSON preferences remain compatible.
- Updated compatible development dependencies and added test/lint gates to all installer builds.
- Expanded regression coverage and verified real MP4/MP3 downloads, pause/resume, tab switching, dependency installation, and active-download removal.
Download the .exe for Windows, .dmg for macOS, or .AppImage for Linux below.
v2.1.0
- Added browser-cookie authentication via
--cookies-from-browser(Chrome, Brave, Chromium, Edge, Firefox, Opera, Vivaldi) for sites that require sign-in - Fixed YouTube "Sign in to confirm you're not a bot" failures by passing the browser's cookies to yt-dlp
- Automatically retries without cookies when browser cookie extraction fails, so downloads still complete unauthenticated
- Added friendly, localized download errors (sign-in, cookies, FFmpeg, unavailable, network, unsupported) with per-row Retry, Sign in, and Details
- Added a dismissible authentication banner and a Retry Failed queue action; errored downloads can now be retried and their URL re-added
- Added browser-aware sign-in, a "Test browser cookies" check, and an About line showing the installed app version
- Preferences now save immediately, so the selected browser survives restarts
- Removed the previous Electron-session cookie temp-file mechanism and the unused
app:get-cookies-fileIPC handler
v2.0.6
- Fixed audio and video downloads sharing the same output directory; queued items now use their configured video or audio output folder
- Added per-item download option building so the active tab no longer changes queued downloads
- Extracted pure option-building helper to
src/lib/buildDownloadOptionswith tests - Project hygiene (2.0.5): added ESLint, unified the preload build, centralized default preferences, cleaned up renderer IPC listeners, extracted
DownloadParser, and addedAGENTS.md
v2.0.4
- Fixed yt-dlp update download on Windows (file-locking workaround with temp-file rename)
- Added yt-dlp -U as automatic fallback when direct download fails
- Same temp-file rename applied to FFmpeg/Deno extraction
- Synced preload.js with preload.ts (missing getYtDlpLatestVersion, updateYtDlpSelf)
v2.0.3
Changes
- Fix: Dependency downloads now actually extract ZIP/tar.xz archives — FFmpeg and Deno can be installed via the UI on a clean Windows install
- Fix: HTTP downloads now include User-Agent header and handle GitHub redirects properly
- UI: Settings tab now shows 'Up to date' for available dependencies instead of a confusing 'Download' button
- Cross-platform: ZIP extraction uses PowerShell on Windows, ditto on macOS, unzip on Linux; FFmpeg .tar.xz on Linux uses tar
- Tests: 23 new unit tests for dependency manager dispatch logic, filename matching, and path escaping