mirror of
https://github.com/nimbold/Firelink.git
synced 2026-07-26 12:08:27 +00:00
b71a58ae06
- Dispatch executeAddDownloads asynchronously after closing the sheet to avoid swallowing dismiss()
12 KiB
12 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.6.2] - 2026-06-08
Fixes
- Fix a bug where confirming a duplicate resolution failed to close the Add Downloads window, misleading users into thinking the download didn't start.
- Fix keyboard shortcut collision that caused the main window to intercept Enter/Escape keys when the duplicate resolution sheet was open.
- Fix UI freeze when checking release notes for an update by parsing HTML asynchronously on a background thread.
- Improve Sparkle changelog formatting by converting HTML tags to clean Markdown instead of stripping them into an unreadable block of text.
- Change the internal
Process xxxxxstatus message to a cleanerStarting...message when queueing a new download. - Fix
EXC_BREAKPOINTcrash on app launch in production builds by prioritizingBundle.mainoverBundle.modulewhen accessing resources.
[0.6.1] - 2026-06-08
New Features
- No new user-facing features in this patch release.
Improvements
- Package bundled
yt-dlpandffmpegexecutables into the macOS app bundle so media extraction works in release builds. - Resolve bundled media engines from both app resources and SwiftPM resources to support packaged apps and local development builds.
Changes
- Fetch release-time media engine binaries in GitHub Actions instead of storing large binaries in git.
- Use the changelog entry for GitHub release page descriptions so published release notes match the source tree.
- Remove stale media add-on update language now that media engines are bundled with the app.
- Update Firelink Companion to
1.0.8.
Fixes
- Replace the stale pinned FFmpeg download URL with Martin Riedl's latest macOS ARM64 release redirect.
- Fail release builds early when
yt-dlporffmpegcannot be fetched or made executable. - Remove unused media inspector and media download entry-point code left behind by the removed engine update flow.
- Prevent Firelink Companion global capture from canceling browser downloads unless the native app confirms the local API handoff.
[0.6.0] - 2026-06-08
New features
- Enhance mixed media support and add duplicate resolution.
- Redesign settings panes and enhance update flows.
- Improve yt-dlp fetching speed and redesign media detection UI.
- Enhance media engine settings with cookie extraction and update checks.
- Modernize Integration settings UI and add official install button.
- Integrate yt-dlp to DownloadController and add global queue support.
- Implement smart progressive disclosure UI and media extraction engine.
- Implement gatekeeper architecture for on-demand media engine binaries.
- Inline Sparkle update checks to avoid unnecessary modals.
Changes
- Add backward compatibility support for extension tokens.
- Update Firelink-Extension submodule to latest.
- Update app icons and icon generation scripts.
- Tone down icon gradient to 1.9x for modern subtle look.
- Increase gradient contrast for stronger lighting effect.
- Switch to lighter gradient (+1 to 0).
- Revert to plain mode without gradient.
- Apply premium gradient to the correct new icon and app icon.
- Remove redundant version string from up-to-date message.
- Update appcast.xml with valid signature for new framework-embedded dmg.
Fixes
- Cap max height of download links text editor.
- Harden media download flow.
- Pass extractor arguments to yt-dlp download process.
- Restore single click selection by removing simultaneousGesture.
- Restore Download Properties routing and gestures.
- Pass UUID as String for download properties WindowGroup to prevent routing failures.
- Size column fallback and table row interactions.
- Media download UX and table row selection.
- Media downloads connections, progress parsing, file size, and selection highlight.
- Stabilize yt-dlp metadata and add-on updates.
- Block automatic metadata fetch for private IP addresses (security).
- Actually update extension icons with the 1.9x gradient icon.
- Correctly remove black padding and mask corners.
- Harden Sparkle release metadata.
- Correct Sparkle SUNoUpdateError code to prevent false error messages.
[0.5.7] - 2026-06-06
New features
- Replaced the basic in-app update checker with the industry-standard Sparkle 2 framework.
- Added secure, automatic in-app updates using EdDSA cryptographic signatures.
[0.5.6] - 2026-06-05
New features
- Added the official transparent GitHub icon to the Source Code link in the About page.
Changes
- Compacted the About settings pane to reduce vertical padding, placing the app identity and updates prominently at the top.
- Consolidated developer, credits, and legal links into a single unified footer section in the About pane.
Fixes
- Fixed a build script bug that prevented bundled images (like the GitHub icon) from being copied into the final app bundle.
[0.5.5] - 2026-06-05
New features
- Added a compact Download Properties inspector with a persistent progress summary and redownload-aware transfer settings.
- Added authenticated metadata probing so batch previews can use custom or saved credentials.
Changes
- Updated Download Properties disclosure sections so their full title row opens and closes them.
- Compacted Add Downloads with a smaller summary strip, queue picker, and clearer per-file speed limit wording.
- Expanded download table hit areas so double-clicks register across empty cell space.
Fixes
- Fixed active downloads that could remain stuck at 99% until manually stopped by detecting
aria2completion through RPC. - Fixed Chunk Map layout overlap in Download Properties.
- Fixed Download Properties controls that implied completed or active file identity edits would apply immediately.
[0.5.4] - 2026-06-04
New features
- Added direct double-click access to Download Properties for unfinished downloads.
- Added a
make verifycommand for local build and Firefox extension manifest checks.
Changes
- Updated Firefox integration to probe the same local fallback ports used by the app.
- Updated global speed limiting so changes apply to active downloads through
aria2RPC. - Declared SwiftPM resources and added development fallbacks for app icons and Firefox extension copying.
- Narrowed saved site-login matching so plain host patterns match exact hosts unless a wildcard is used.
Fixes
- Fixed browser handoff failures when the default local extension port is unavailable.
- Fixed dropped
Refererheaders from browser extension requests. - Fixed scheduler configurations that could be enabled without any runnable queue target.
- Fixed unsafe file names from URLs, metadata responses, and manual property edits.
- Fixed a possible duplicate-open glitch when double-clicking unfinished downloads.
[0.5.3] - 2026-06-04
New features
- Added
ChunkMapViewto visualize active segmented downloads usingaria2RPC with minimal performance overhead. - Added seamless drag-and-drop support for URLs and text files in the main window and dock icon.
Changes
- Refactored all Settings panes to use standard macOS HIG
Formand.toolbarlayouts. - Updated the "Add Downloads" dialog to use native macOS
.toolbarwith integrated cancel actions.
Fixes
- Fixed a DNS rebinding vulnerability by rigorously validating the
Hostheader within the local extension server. - Fixed a potentially unbounded memory leak in the download console buffer by introducing a strict 512KB cap.
- Fixed an intermittent UI hang during the
aria2cversion check by fully decoupling the process execution into a detached background task.
[0.5.2] - 2026-06-04
Fixes
- Fixed the hit-testing area on Settings tabs so the entire tab frame is clickable, not just the text/icon.
- Re-architected the Settings tab bar layout to perfectly distribute available horizontal space, ensuring symmetric right/left padding.
[0.5.1] - 2026-06-04
Changes
- Added sleek SF Symbol icons to the Settings capsule tabs to improve visual scannability and modernize the interface.
[0.5.0] - 2026-06-04
New features
- Added a dedicated Speed Limiter UI to the main sidebar for instant global bandwidth throttling.
- Integrated Settings directly into the main application window instead of a separate macOS scene, paving the way for future Windows/Linux cross-platform parity.
Changes
- Modernized Settings with a sleek horizontal tab bar layout.
- Added persistent state retention across views (remembers the last visited settings tab and custom speed limits).
- Compacted the README file to be more concise and user-friendly.
Fixes
- Fixed a critical memory crash (
EXC_BAD_ACCESS) inside the Download Table caused by ephemeral string sorting during active downloads. - Fixed sidebar layout glitches to prevent text overlap during scroll.
[0.4.3] - 2026-06-03
Changes
- Refined About page UI and simplified the delete confirmation dialog.
Fixes
- Optimized disk writes and UI state updates to significantly reduce main thread CPU usage and SSD wear during concurrent downloads and table resizing.
[0.4.2] - 2026-06-03
Features added
- Added double-click to open completed files directly from the download table.
- Added redownload functionality for completed or failed items.
- Added 'Copy Address' context menu action.
- Added a monochrome template tray icon loaded explicitly with precise dimensions.
Changes
- Improved context menu organization and conditionally displayed actions based on download status.
[0.4.1] - 2026-06-03
Features added
- Added app theming engine with Look and Feel settings.
- Added Font Size, List Row Density, and Menu Bar Icon settings.
- Added tray icon and context menu for main window and queues.
- Added site logins integration directly into the Add Downloads window.
Changes
- Updated the paste hint to use a visual Command icon.
Fixes
- Resolved SwiftUI infinite layout freeze caused by MenuBarExtra binding.
- Fixed a bug with Light/System theme appearance.
- Fixed phantom state issues with Menu Bar Icon setting and conditionally applied theme backgrounds to preserve native macOS translucency.
[0.4.0] - 2026-06-03
Changes
- Reorganized Settings sections so related download preferences sit together and app diagnostics live under App.
- Hardened the release workflow with explicit macOS 26 SDK checks, newer GitHub Actions, and app signature verification.
- Prefer the bundled
aria2cbinary inside release builds.
Fixes
- Fixed queue-specific starts so one queue no longer starts unrelated queued downloads.
- Fixed scheduler completion handling so empty queues do not trigger post-download system actions.
- Fixed queue drag reordering when moving items downward.
- Fixed scheduler Automation permission prompting.
Features added
- Added scheduler controls with explicit Automation permission UI.
- Added global and per-download speed limits.
- Added advanced transfer options for checksums, headers, cookies, and mirror URLs.
[0.3.0] - 2026-06-02
Added
- Zero-Config Setup: Firelink now automatically bundles the
aria2cengine and all of its dynamic library dependencies internally viadylibbundler. End-users no longer need to install Homebrew oraria2cmanually!
Changed
- README Redesign: Modernized the README with a clean layout, centered App Icon header, and updated roadmap.
- CI Releases: The GitHub Actions DMG release pipeline now automatically fetches and packages dependencies during builds.
[0.2.1] - 2026-06-02
Changed
- Fixed CI release runner specifying macOS 26.
[0.2.0] - 2026-06-01
Added
- In-App Update Checker: Built-in GitHub release checks inside the Settings About pane.
- Queue Management: Advanced drag-and-drop priority ordering and queue management controls.
- Download Recovery: Built-in download recovery and automated retry policies.
- Initial core download engine with
aria2csupport. - Native macOS Settings pane.
- Smart file categorization and organization based on extension detection.
- Keychain-secured authentication integration.