diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6e3ab..2374145 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,27 @@ All notable changes to Firelink will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.1] - 2026-07-17 + +This patch release focuses on transfer reliability, browser captures, and easier download control. + +### New +- Add YouTube playlist downloads with smoother queueing and scrolling for large playlists. +- Add live per-download connection controls, clipboard capture for the Add window, and byte-level progress updates. + +### Improved +- Recover slow or stalled transfers more reliably and apply connection defaults consistently, addressing [#19](https://github.com/nimbold/Firelink/issues/19) and [#20](https://github.com/nimbold/Firelink/issues/20). +- Make pause, resume, retry, cancel, remove, and completion handling more consistent when actions or background events overlap. +- Improve playlist state, media size estimates, and large-list performance. +- Keep clipboard, browser, and deep-link handoffs behind the startup consent explanation, and make that boundary clearer. +- Refresh bundled engines and dependencies while strengthening cross-platform package and diagnostic checks. + +### Fixed +- Fix Gmail and other authenticated browser downloads that could lose their filename or save a sign-in page after a redirect, including Chrome Incognito, addressing [#21](https://github.com/nimbold/Firelink/issues/21). +- Keep browser-capture metadata, cookies, and destinations tied to the correct download through redirects. +- Prevent invalid URLs, late download events, stale progress, and abandoned media work from creating misleading rows or leftover temporary files. +- Keep sensitive local paths, credentials, and persisted records protected in errors, diagnostics, and download state. + ## [1.1.0] - 2026-07-15 This is a stability-focused release with safer downloads, browser handoffs, settings, and cross-platform packages. diff --git a/Extensions/Browser b/Extensions/Browser index cc7d858..656ef06 160000 --- a/Extensions/Browser +++ b/Extensions/Browser @@ -1 +1 @@ -Subproject commit cc7d8580b472cf0e8f0a915fb1b520d5d54e7e11 +Subproject commit 656ef06d15fb7805e3fcb80aaa2a02cb3a2b00c4 diff --git a/README.md b/README.md index bbee2c8..613f977 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ **A fast, focused desktop download manager for macOS, Windows, and Linux.** - [![Version](https://img.shields.io/badge/version-1.1.0-6f42c1?style=flat-square)](https://github.com/nimbold/Firelink/releases) + [![Version](https://img.shields.io/badge/version-1.1.1-6f42c1?style=flat-square)](https://github.com/nimbold/Firelink/releases) [![macOS](https://img.shields.io/badge/macOS-111111?style=flat-square&logo=apple&logoColor=white)](#platforms) [![Windows](.github/badges/windows.svg)](#platforms) [![Linux](https://img.shields.io/badge/Linux-FCC624?style=flat-square&logo=linux&logoColor=black)](#platforms) @@ -33,19 +33,20 @@ ## Why Firelink -Firelink is a desktop download manager for fast transfers, browser capture, media extraction, scheduling, and clear file placement. +Firelink is a cross-platform desktop download manager for direct transfers, browser capture, media extraction, scheduling, and clear file placement. -It is now a cross-platform Rust/Tauri app with a React and TypeScript interface. A native backend coordinates downloads with aria2, yt-dlp, FFmpeg, Deno, and SQLite. +It combines a Rust/Tauri backend with a React and TypeScript interface. Bundled aria2, yt-dlp, FFmpeg, Deno, and SQLite support the download and media workflows. -The current desktop release is **1.1.0**, paired with Firelink Companion **2.0.4**. +The current desktop release is **1.1.1**, paired with Firelink Companion **2.0.5**. -This stability-focused release adds a secure Windows portable build and strengthens queues, browser handoffs, media metadata, persistence, and packaged release checks. +This release adds YouTube playlist downloads, live connection controls, clipboard capture, and clearer byte-level progress. It also improves slow-transfer recovery, authenticated browser captures, and startup consent handling. ## Features - **Segmented downloads** with aria2, retries, speed limits, and connection controls. - **Media downloads** with yt-dlp, FFmpeg, Deno, live progress, speed, and ETA. -- **Add window** for metadata, duplicates, location choices, captured links, and clipboard-prefilled URLs. +- **Playlist downloads** for YouTube playlists with queueing and efficient large-list rendering. +- **Add window** for metadata, duplicates, location choices, captured links, clipboard-prefilled URLs, and live connection limits. - **Persistent queues** with pause, resume, retry, redownload, sorting, multi-select, and bulk actions. - **Scheduling** with start/stop windows, speed rules, and post-queue actions. - **File organization** with categories, default folders, a collapsible Folders section, per-download overrides, and reveal/trash actions. @@ -61,16 +62,17 @@ Download desktop builds from [GitHub Releases](https://github.com/nimbold/Fireli | --- | --- | --- | | **macOS Apple silicon** | `.dmg` | Not notarized. If macOS blocks the first launch, approve Firelink in **System Settings -> Privacy & Security**. | | **Windows x64** | NSIS `.exe` installer | Unsigned. Windows SmartScreen may warn until code signing is added. | -| **Windows x64 portable** | `.zip` archive | Extract to a writable folder and launch `firelink.exe`. App data stays under the archive's `data/` directory. | +| **Windows x64 portable** | `.zip` archive | Extract to a writable folder and launch `firelink.exe`. See the expandable notes below. | | **Linux x64** | `.deb`, `.rpm`, or `.AppImage` | Use `.deb` for Debian-family systems, `.rpm` for Fedora/RPM-family systems, or AppImage as the self-contained package. AppImage may need executable permission. | Bundles include the required engines. Users do not need aria2, yt-dlp, FFmpeg, Deno, Python, Homebrew, or another package manager. The native packages use the distribution's normal desktop runtime dependencies. AppImage is self-contained but uses the normal per-user application-data locations. -### Windows portable +
+Windows portable ZIP notes -The portable ZIP is an opt-in secondary distribution: +The portable ZIP is an opt-in secondary distribution. Extract it to a writable folder and launch `firelink.exe`: - Keep the extracted folder writable; avoid `Program Files`, read-only media, and folders that block SQLite or WebView writes. - Settings, queues, logs, and WebView data stay beside `firelink.exe` under `data/`. @@ -81,6 +83,8 @@ The portable ZIP is an opt-in secondary distribution: - Saved absolute download locations may need to be selected again after moving the folder to another drive. - The installer remains the supported path for `firelink://` browser launch registration. +
+ ## Browser Extension

@@ -89,7 +93,7 @@ The portable ZIP is an opt-in secondary distribution: Read manual Chromium install instructions

-Firelink Companion sends browser links and downloads to the desktop app. +Firelink Companion connects browser links and downloads to the desktop app. What it adds: @@ -101,9 +105,9 @@ What it adds: - Fallback to the browser download when Firelink is closed or rejects a handoff. - Captured links always open Firelink's Add window before anything is added to the download list. -Install the extension, open Firelink, then pair it from **Settings -> Integrations**. Firefox users can install from Mozilla Add-ons. Chromium users can use the [manual load-unpacked flow](https://github.com/nimbold/Firelink-Extension#manual-chromium-installation) with `firelink-chromium.zip` from the [extension releases](https://github.com/nimbold/Firelink-Extension/releases). Firelink Companion 2.0.4 is the matching extension release for Firelink 1.1.0. +Install the extension, open Firelink, then pair it from **Settings -> Integrations**. Firefox users can install it from Mozilla Add-ons. Chromium users can load `firelink-chromium.zip` from the [extension releases](https://github.com/nimbold/Firelink-Extension/releases) with the [manual Chromium instructions](https://github.com/nimbold/Firelink-Extension#manual-chromium-installation). -The extension lives in [Firelink-Extension](https://github.com/nimbold/Firelink-Extension). This repo also vendors it as the `Extensions/Browser` submodule. +Use the latest [Firelink Companion release](https://github.com/nimbold/Firelink-Extension/releases) with Firelink 1.1.1. The source is in the [Firelink-Extension repository](https://github.com/nimbold/Firelink-Extension), which this repo vendors as the `Extensions/Browser` submodule. ## Platforms diff --git a/package-lock.json b/package-lock.json index 9b8d056..103430a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "firelink", - "version": "1.1.0", + "version": "1.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "firelink", - "version": "1.1.0", + "version": "1.1.1", "license": "MIT", "dependencies": { "@formkit/auto-animate": "^0.10.0", diff --git a/package.json b/package.json index 71e5aaa..19d030d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "firelink", "private": true, - "version": "1.1.0", + "version": "1.1.1", "description": "A fast cross-platform desktop download manager powered by Rust, Tauri, React, aria2, and yt-dlp.", "license": "MIT", "homepage": "https://github.com/nimbold/Firelink", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index b2d8832..930e84a 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1365,7 +1365,7 @@ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "firelink" -version = "1.1.0" +version = "1.1.1" dependencies = [ "apple-native-keyring-store", "async-trait", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 186b269..35c5549 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "firelink" -version = "1.1.0" +version = "1.1.1" description = "A fast cross-platform desktop download manager powered by Rust and Tauri" authors = ["NimBold"] edition = "2021" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index be1194e..6878ac3 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Firelink", - "version": "1.1.0", + "version": "1.1.1", "identifier": "com.nimbold.firelink", "build": { "beforeDevCommand": "node scripts/stage-engines.js && npm run dev",