Skip to content

Latest commit

 

History

History
168 lines (134 loc) · 7.74 KB

File metadata and controls

168 lines (134 loc) · 7.74 KB

Changelog

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.

[3.0.0] - 2026-06-09

Added

  • 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 *_recursive mirror commands, get_disk_space, perform_system_action, read_settings_json, and get_pending_open_requests
  • New recursive:added, recursive:updated, and recursive:removed events for mirror job tracking

Changed

  • 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_all and resume_all now 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.db automatically 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)

Known Issues

  • 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)

[2.0.6] - 2026-03-11

Changed

  • Updated gosh-dl engine from v0.3.1 to v0.3.2
  • Bumped app version to 2.0.6 across 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.6 and engine version 0.3.2

Fixed

  • 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

[2.0.5] - 2026-03-08

Changed

  • Bumped app version to 2.0.5 across 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.5 and engine version 0.3.1

[2.0.4] - 2026-03-08

Changed

  • Bumped app version to 2.0.4 across 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.4 and engine version 0.3.0

[2.0.3] - 2026-03-08

Changed

  • Bumped app version to 2.0.3 across 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

  • 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

[2.0.2] - 2026-03-07

Changed

  • 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

[2.0.1] - 2026-02-12

Changed

  • Bumped app version to 2.0.1 across frontend and Rust package metadata
  • Updated version label shown in the main sidebar UI
  • Updated API reference example payload to reflect 2.0.1

[2.0.0] - 2026-02-08

Added

  • 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

Changed

  • 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

Fixed

  • Duplicate downloads appearing in queue
  • White screen on launch
  • Dependabot security vulnerabilities
  • Settings About tab sidebar alignment
  • Modal scroll behavior and input padding overlaps

Security

  • Phase 1 security and stability improvements
  • Content Security Policy hardening
  • Dependency vulnerability patches

[1.1.1] - 2026-01-09

Changed

  • Updated gosh-dl engine to latest version
  • Updated mainline DHT library to v6.0.1

[1.0.0] - 2025

Added

Download Features

  • 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

BitTorrent

  • Configurable seed ratio
  • Peer monitoring and statistics
  • Auto-update tracker lists from community sources
  • DHT, PEX, and LPD toggle settings

User Interface

  • 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

Settings

  • Configurable download directory
  • Concurrent downloads limit (1-20)
  • Connections per server (1-16)
  • Global download/upload speed limits
  • Custom user agent selection

Technical

  • 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