All notable changes to Gosh-Fetch will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Mirror page for recursive HTTP directory mirroring: crawl a directory-listing URL and download the whole tree, with depth limits, include/exclude patterns, and a dry-run discovery preview
- New backend commands:
cancel_all, the six*_recursivemirror commands,get_disk_space,perform_system_action,read_settings_json, andget_pending_open_requests - New
recursive:added,recursive:updated, andrecursive:removedevents for mirror job tracking
- Migrated the entire app from Electron + React to Tauri 2 + Svelte 5; the Rust engine now runs in-process instead of as a separate sidecar binary, and bundles are much smaller
- Updated gosh-dl engine from v0.3.2 (git) to v0.5.0 (crates.io), with engine-level batch operations and recursive HTTP support
pause_allandresume_allnow return per-download outcomes (succeeded/skipped/failed) instead of nothing, and pausing now also covers queued downloads- Replaced electron-updater with the Tauri updater (signed artifacts via GitHub Releases). The 2.x updater cannot deliver this release, so upgrading from 2.x requires a one-time manual download; existing download history, settings, and engine state are picked up in place (gosh-dl migrates
engine.dbautomatically on first run), and the old 2.x package stays installed until removed manually - Window position and size reset once after upgrading (window state is now persisted by tauri-plugin-window-state)
- On Linux, the tray is menu-only: the tray popup with live download status is unavailable because libappindicator delivers no click events (the popup still works on macOS and Windows)
- Updated gosh-dl engine from v0.3.1 to v0.3.2
- Bumped app version to
2.0.6across frontend, Electron packaging, and Rust engine package metadata - Updated visible app version labels so the sidebar shell and About page report
2.0.6 - Updated API documentation examples to reflect app version
2.0.6and engine version0.3.2
- Downloads no longer fail permanently on mid-stream connection drops (engine fix: correctly classified as retryable)
- Fixed double retryability bug in error classification that prevented retries on ConnectionReset, 408, 429, and 5xx
- Fixed segment errors being hardcoded as non-retryable
- Single-stream downloads now retry with resume via Range requests or restart from byte 0
- Segment progress is now saved before marking failure, preventing progress loss
- Sibling segments are cancelled promptly on non-retryable errors instead of wasting bandwidth
- Default max_retries increased from 3 to 5 for improved reliability
- Bumped app version to
2.0.5across frontend, Electron packaging, and Rust engine package metadata - Updated gosh-dl engine from v0.3.0 to v0.3.1
- Updated visible app version labels so the sidebar shell and About page report
2.0.5 - Updated API and architecture documentation examples to reflect app version
2.0.5and engine version0.3.1
- Bumped app version to
2.0.4across frontend, Electron packaging, and Rust engine package metadata - Updated gosh-dl engine from v0.2.9 to v0.3.0
- Updated visible app version labels so the sidebar shell and About page report
2.0.4 - Updated API and architecture documentation examples to reflect app version
2.0.4and engine version0.3.0
- Bumped app version to
2.0.3across frontend, Electron packaging, and Rust engine package metadata - Updated gosh-dl engine from v0.2.8 to v0.2.9
- Updated visible app version labels so the sidebar shell and About page report
2.0.3 - Updated API documentation examples to reflect app version
2.0.3
- Fixed tray popup positioning by anchoring it to the actual tray icon instead of guessing from the primary display
- Fixed Linux tray popup rendering by avoiding the transparent popup path that produced unusable dark or gray menus
- Fixed right-click tray behavior by switching to a native context menu instead of reusing the transient popup
- Fixed stale app metadata and default user-agent strings that still reported older gosh-dl versions
- Updated gosh-dl engine from v0.2.2 to v0.2.8 — fixes large file downloads, torrent completion events, download persistence across restarts, and HTTP pause/resume
- Updated Electron from v35 to v40 (Chromium 134)
- Updated Vite from v6 to v7
- Updated React from v19.0 to v19.2
- Updated React Router from v7.1 to v7.13
- Updated Redux Toolkit from v2.5 to v2.11
- Updated remaining frontend and build dependencies to latest versions
- Updated engine version reported in app info from 0.1.0 to 0.2.8
- Updated sidebar version label and tech stack references in documentation
- Bumped app version to
2.0.1across frontend and Rust package metadata - Updated version label shown in the main sidebar UI
- Updated API reference example payload to reflect
2.0.1
- Statistics page with real-time download speed charts and historical data visualization
- Scheduler page with 168-cell weekly grid for bandwidth scheduling
- System tray popup with active download status and quick controls
- Auto-update notification toast and download progress modal
- Torrent file picker with tree-based file selection
- Drag-and-drop queue reordering for downloads
- Reset settings confirmation modal
- Notification dropdown system
- Complete UI overhaul across all pages and components
- Redesigned About page with centered hero layout and tech stack cards
- Improved Settings layout with fixed sidebar, modal scroll, and input padding
- Removed default menu bar on Linux and Windows
- Rewrote all project documentation to reflect current architecture
- Duplicate downloads appearing in queue
- White screen on launch
- Dependabot security vulnerabilities
- Settings About tab sidebar alignment
- Modal scroll behavior and input padding overlaps
- Phase 1 security and stability improvements
- Content Security Policy hardening
- Dependency vulnerability patches
- Updated gosh-dl engine to latest version
- Updated mainline DHT library to v6.0.1
- HTTP/HTTPS download support with multi-segment transfers
- BitTorrent protocol support (DHT, PEX, Local Peer Discovery)
- Magnet link support with metadata retrieval
- Torrent file parsing and selective file download
- Pause, resume, and cancel downloads
- Batch operations (Pause All, Resume All)
- Download queue management with configurable concurrent downloads
- Per-download speed limiting
- Custom output filename support
- Download history and persistence across sessions
- Configurable seed ratio
- Peer monitoring and statistics
- Auto-update tracker lists from community sources
- DHT, PEX, and LPD toggle settings
- Light, Dark, and System theme support
- Real-time progress tracking with speed metrics
- System tray integration with minimize-to-tray
- Native notifications on download completion
- Configurable download directory
- Concurrent downloads limit (1-20)
- Connections per server (1-16)
- Global download/upload speed limits
- Custom user agent selection
- Native Rust download engine (gosh-dl) - no external dependencies
- Cross-platform support: Windows, Linux, macOS
- SQLite database for local storage
- No telemetry or data collection