mirror of
https://github.com/nimbold/Firelink.git
synced 2026-09-01 13:38:01 +00:00
chore(release): prepare Firelink 1.4.0
Document the Torrent and Properties release, align desktop version metadata, and pin the published Companion 2.2.0.
This commit is contained in:
@@ -5,6 +5,53 @@ 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/),
|
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).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.4.0] - 2026-08-27
|
||||||
|
|
||||||
|
This release adds built-in Torrent downloads and a dedicated Properties window, while making regular downloads, browser handoffs, and cross-platform packages more dependable.
|
||||||
|
|
||||||
|
### New features
|
||||||
|
|
||||||
|
- **Torrent downloads**
|
||||||
|
- Add `.torrent` files and magnet links from the Add window, file associations, `magnet:` links, and Firelink Companion.
|
||||||
|
- Resolve remote metadata before enqueueing and safely reuse validated Torrent metadata.
|
||||||
|
- Select files, prioritize pieces, preallocate or allocate as needed, verify existing data, remove unselected files safely, and add per-file web seeds.
|
||||||
|
- Manage trackers and exclusions, tracker timing, DHT/IPv6/PEX/LPD discovery, encryption, peer limits, network identity, and resource limits.
|
||||||
|
- View file progress, piece availability, connected and listed peers, seeders, upload totals and speed, and the info hash.
|
||||||
|
- Set upload limits, seed time or ratio, stop timeout, concurrent seed slots, and move Torrent data to a new location.
|
||||||
|
- Use a dedicated Torrents category with pause, resume, retry, redownload, and safe cleanup.
|
||||||
|
- **Download and Torrent Properties windows**
|
||||||
|
- Open a selected download in its own window with overview, transfer, and advanced controls.
|
||||||
|
- Use Torrent tabs for file selection, trackers, peers, options, and live diagnostics.
|
||||||
|
- Edit supported settings while a transfer is active, including speed, connections, Torrent upload and peer limits, seeding, verification, allocation, and encryption.
|
||||||
|
- Inspect allocation, exact progress, resume failures, destinations, and current diagnostics; copy long URLs or paths and export magnet links where available.
|
||||||
|
- Keep the window size during the app session while the window follows the current theme and locale.
|
||||||
|
- **Adaptive mirror selection**
|
||||||
|
- Optionally use recent transfer performance to choose among multiple mirrors. Mirror statistics stay private on this device.
|
||||||
|
- **Transfer and layout visibility**
|
||||||
|
- Show the file-allocation phase while a normal download prepares its destination.
|
||||||
|
- Remember the main-window size and position and the Folders collapse preference between launches.
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
|
||||||
|
- Improve normal-download recovery across restarts, stale transfers, redirects, mirrors, connection-pool slowdowns, retries, and resume operations without saved credentials.
|
||||||
|
- Improve media recovery and resume messaging, preserve exact progress at the end of a transfer, and restore adaptive YouTube formats. This responds to the interrupted-YouTube-download report in [#36](https://github.com/nimbold/Firelink/issues/36).
|
||||||
|
- Make browser and deep-link inputs arrive in order, keep magnet clipboard handoffs usable, and make Add-window destination and metadata validation clearer.
|
||||||
|
- Improve the download table, sidebar, Add window, Settings, RTL keyboard navigation, and accessibility behavior at narrow window sizes.
|
||||||
|
- Add clear guidance for the macOS first-launch security warning and safe approval steps, responding to [#34](https://github.com/nimbold/Firelink/issues/34).
|
||||||
|
- Refresh bundled engines and dependencies, resume interrupted engine downloads safely, and strengthen package, release, and cross-platform verification.
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
- Retry affected transfers through the system resolver when a VPN or network tunnel leaves aria2 unable to resolve a host, addressing [#35](https://github.com/nimbold/Firelink/issues/35).
|
||||||
|
- Prevent late or duplicate lifecycle events from reviving, removing, or misreporting a download after a newer action has already won.
|
||||||
|
- Keep replacement, removal, and pre-admission cleanup from leaving stale queue entries, partial files, or misleading progress behind.
|
||||||
|
- Keep completed, paused, failed, and retrying downloads authoritative while allocation and progress updates arrive asynchronously.
|
||||||
|
- Make scheduled actions, speed limits, logs, persisted settings, and browser credentials safer when several changes happen close together.
|
||||||
|
|
||||||
|
### Compatibility
|
||||||
|
|
||||||
|
- Use [Firelink Companion `2.2.0`](https://github.com/nimbold/Firelink-Extension/releases/tag/v2.2.0), or the [latest Companion release](https://github.com/nimbold/Firelink-Extension/releases/latest), with Firelink `1.4.0`.
|
||||||
|
|
||||||
## [1.3.1] - 2026-07-30
|
## [1.3.1] - 2026-07-30
|
||||||
|
|
||||||
This hotfix improves filename handling, localized display details, and release reliability across platforms.
|
This hotfix improves filename handling, localized display details, and release reliability across platforms.
|
||||||
|
|||||||
+1
-1
Submodule Extensions/Browser updated: 0afa2b0a27...3fe0a52a59
@@ -28,9 +28,9 @@ It uses a Rust and Tauri backend with a React and TypeScript interface. Required
|
|||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
Firelink `1.3.1` is the latest desktop release.
|
Firelink `1.4.0` is the latest desktop release.
|
||||||
|
|
||||||
It is paired with [the latest Firelink Companion release, `2.1.0`](https://github.com/nimbold/Firelink-Extension/releases/tag/v2.1.0). The Companion did not change for this hotfix.
|
Use [the latest Firelink Companion release, `2.2.0`](https://github.com/nimbold/Firelink-Extension/releases/tag/v2.2.0) with Firelink. The Companion is maintained in the [Firelink-Extension repository](https://github.com/nimbold/Firelink-Extension).
|
||||||
|
|
||||||
The project is actively maintained. See the [changelog](CHANGELOG.md) for release history and current work.
|
The project is actively maintained. See the [changelog](CHANGELOG.md) for release history and current work.
|
||||||
|
|
||||||
@@ -40,8 +40,12 @@ Translations are available for English, Simplified Chinese, Hebrew, Persian, Ukr
|
|||||||
|
|
||||||
- Segmented HTTP and HTTPS downloads with retries, speed limits, and connection controls.
|
- Segmented HTTP and HTTPS downloads with retries, speed limits, and connection controls.
|
||||||
- Media and playlist downloads through yt-dlp, FFmpeg, and Deno.
|
- Media and playlist downloads through yt-dlp, FFmpeg, and Deno.
|
||||||
|
- BitTorrent downloads from `.torrent` files, magnet links, and browser handoff, with file selection, web seeds, seeding, and live diagnostics.
|
||||||
|
- Standalone Download and Torrent Properties windows with live controls, transfer details, and safe Torrent relocation.
|
||||||
|
- Adaptive mirror selection for multi-source downloads.
|
||||||
- An Add window for metadata, duplicate handling, save locations, and download options.
|
- An Add window for metadata, duplicate handling, save locations, and download options.
|
||||||
- Persistent queues with pause, resume, retry, redownload, and scheduling.
|
- Persistent queues with pause, resume, retry, redownload, and scheduling.
|
||||||
|
- Visible allocation and resume status with clearer transfer diagnostics.
|
||||||
- Live speed and connection controls for active downloads.
|
- Live speed and connection controls for active downloads.
|
||||||
- A customizable download table with sorting, column selection, reordering, and bulk actions.
|
- A customizable download table with sorting, column selection, reordering, and bulk actions.
|
||||||
- File organization with categories, default folders, and per-download locations.
|
- File organization with categories, default folders, and per-download locations.
|
||||||
@@ -95,7 +99,7 @@ Only use these steps for Firelink downloaded from the [official GitHub release p
|
|||||||
|
|
||||||
## Browser integration
|
## Browser integration
|
||||||
|
|
||||||
[Firelink Companion `2.1.0`](https://github.com/nimbold/Firelink-Extension/releases/tag/v2.1.0) connects browser downloads, links, and media pages to Firelink. Use the latest Companion release with the latest Firelink release; no extension update is needed for Firelink `1.3.1`.
|
[Firelink Companion `2.2.0`](https://github.com/nimbold/Firelink-Extension/releases/tag/v2.2.0) connects browser downloads, links, media pages, magnets, and Torrent metadata to Firelink. Use the [latest Companion release](https://github.com/nimbold/Firelink-Extension/releases/latest) with the [latest Firelink release](https://github.com/nimbold/Firelink/releases/latest).
|
||||||
|
|
||||||
Captured links open Firelink's Add window for review before they are started or queued.
|
Captured links open Firelink's Add window for review before they are started or queued.
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "firelink",
|
"name": "firelink",
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "firelink",
|
"name": "firelink",
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource-variable/inter": "^5.3.0",
|
"@fontsource-variable/inter": "^5.3.0",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "firelink",
|
"name": "firelink",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"description": "A fast cross-platform desktop download manager powered by Rust, Tauri, React, aria2, and yt-dlp.",
|
"description": "A fast cross-platform desktop download manager powered by Rust, Tauri, React, aria2, and yt-dlp.",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"homepage": "https://github.com/nimbold/Firelink",
|
"homepage": "https://github.com/nimbold/Firelink",
|
||||||
|
|||||||
Generated
+1
-1
@@ -1395,7 +1395,7 @@ checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "firelink"
|
name = "firelink"
|
||||||
version = "1.3.1"
|
version = "1.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"apple-native-keyring-store",
|
"apple-native-keyring-store",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "firelink"
|
name = "firelink"
|
||||||
version = "1.3.1"
|
version = "1.4.0"
|
||||||
description = "A fast cross-platform desktop download manager powered by Rust and Tauri"
|
description = "A fast cross-platform desktop download manager powered by Rust and Tauri"
|
||||||
authors = ["NimBold"]
|
authors = ["NimBold"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "Firelink",
|
"productName": "Firelink",
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"identifier": "com.nimbold.firelink",
|
"identifier": "com.nimbold.firelink",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "node scripts/stage-engines.js && npm run dev",
|
"beforeDevCommand": "node scripts/stage-engines.js && npm run dev",
|
||||||
|
|||||||
@@ -1636,7 +1636,7 @@ runEngineChecks(false);
|
|||||||
value={settings.torrentPeerIdPrefix}
|
value={settings.torrentPeerIdPrefix}
|
||||||
label={t($ => $.settings.network.torrentPeerIdPrefix)}
|
label={t($ => $.settings.network.torrentPeerIdPrefix)}
|
||||||
description={t($ => $.settings.network.torrentPeerIdPrefixDescription)}
|
description={t($ => $.settings.network.torrentPeerIdPrefixDescription)}
|
||||||
placeholder="-FL-1-3-1-"
|
placeholder="-FL-1-4-0-"
|
||||||
maxLength={20}
|
maxLength={20}
|
||||||
onCommit={settings.setTorrentPeerIdPrefix}
|
onCommit={settings.setTorrentPeerIdPrefix}
|
||||||
onError={showTorrentNetworkInputError}
|
onError={showTorrentNetworkInputError}
|
||||||
@@ -1646,7 +1646,7 @@ runEngineChecks(false);
|
|||||||
value={settings.torrentPeerAgent}
|
value={settings.torrentPeerAgent}
|
||||||
label={t($ => $.settings.network.torrentPeerAgent)}
|
label={t($ => $.settings.network.torrentPeerAgent)}
|
||||||
description={t($ => $.settings.network.torrentPeerAgentDescription)}
|
description={t($ => $.settings.network.torrentPeerAgentDescription)}
|
||||||
placeholder="Firelink/1.3.1"
|
placeholder="Firelink/1.4.0"
|
||||||
maxLength={128}
|
maxLength={128}
|
||||||
onCommit={settings.setTorrentPeerAgent}
|
onCommit={settings.setTorrentPeerAgent}
|
||||||
onError={showTorrentNetworkInputError}
|
onError={showTorrentNetworkInputError}
|
||||||
|
|||||||
Reference in New Issue
Block a user