Replace the legacy cookie and reCAPTCHA scraper with AllDebrid's official browser PIN authorization and API-key flow. Persist verified account identity and premium status, include AllDebrid in direct and bulk checks, and migrate stale web-only configurations to reauthorization. Remove the unconditional three-second scheduler delay while retaining provider-reported slot limits. Preserve official error codes and terminate unavailable-link, unsupported-link, authentication, IP, and server restriction failures without retries or provider cooldowns.
942 lines
61 KiB
Markdown
942 lines
61 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to Multi-Debrid Downloader are documented in this file.
|
||
|
||
## [2.0.66] - 2026-08-23
|
||
|
||
### AllDebrid authentication
|
||
|
||
- Replace the legacy website and cookie workflow with AllDebrid's official browser PIN authorization.
|
||
- Store the issued API key securely and use the official API for account details, host availability, link inspection, and link unlocking.
|
||
- Close the authorization window automatically after activation while keeping manual close, timeout, and repeated-open behavior deterministic.
|
||
- Require existing legacy browser-login configurations to authorize again instead of treating an empty session as a usable account.
|
||
|
||
### Account status
|
||
|
||
- Validate AllDebrid API and browser-authorized accounts through the official user endpoint.
|
||
- Display and persist username, email address, premium state, and expiration time in the account table.
|
||
- Include AllDebrid in active-account checks, full-account checks, direct row checks, and activation checks.
|
||
- Preserve the PIN-issued API key while editing a browser-authorized account.
|
||
|
||
### Download scheduling and recovery
|
||
|
||
- Remove the unconditional three-second delay before every AllDebrid download while continuing to honor live simultaneous-download limits reported by the provider.
|
||
- Treat unavailable links and unsupported link or host responses as terminal item failures without retrying unrelated downloads.
|
||
- Treat invalid, missing, blocked, banned, server-restricted, and IP-restricted credentials as terminal authentication failures without provider cooldowns.
|
||
- Preserve official AllDebrid error codes alongside their messages so retry and cooldown decisions remain precise.
|
||
|
||
## [2.0.65] - 2026-08-23
|
||
|
||
### Extract now behavior
|
||
|
||
- Extract only archive sets that are already complete on disk without starting or re-queueing downloads.
|
||
- Skip incomplete multipart sets while leaving every queued, failed, or missing part unchanged.
|
||
- Start every currently extractable package in a multi-selection even when other selected packages are not ready.
|
||
- Extract complete sets from a package immediately while its unrelated incomplete sets continue waiting for a later download.
|
||
- Keep the existing error response when none of the selected packages contains a complete extractable archive set.
|
||
|
||
### Compatibility correction
|
||
|
||
- Remove the automatic missing-archive download repair introduced in 2.0.64 so `Extract now` remains a strictly local post-processing action.
|
||
|
||
## [2.0.64] - 2026-08-23
|
||
|
||
### Manual extraction repair
|
||
|
||
- Turn `Extract now` into a recovery action when archive files from an earlier failed extraction are no longer available locally.
|
||
- Re-download only missing archive parts while preserving complete sibling parts and unrelated finished files.
|
||
- Extract already complete archive sets immediately while missing sets from the same package download in parallel.
|
||
- Include queued, failed, cancelled, and reconnecting multipart siblings in the same selected repair run.
|
||
- Keep manual extraction recovery pending across download failures, Stop, application restarts, and disabled automatic extraction.
|
||
- Resume extraction automatically after every required repair item finishes successfully.
|
||
- Allow direct retries from failed child archive rows as well as selected parent packages.
|
||
|
||
### Lifecycle integrity
|
||
|
||
- Persist manual repair intent and validated item IDs in session state and local full backups.
|
||
- Validate persisted repair IDs against their owning package during session loading.
|
||
- Keep failed repair runs and later successful retries in separate package generations and run contexts.
|
||
- Prevent pending repairs from producing premature successful package or run results.
|
||
- Clear repair intent only after a terminal extraction attempt, while preserving it across aborts and disk-capacity retries.
|
||
- Revalidate accounts and lifecycle state immediately before committing a repair batch.
|
||
|
||
## [2.0.63] - 2026-08-23
|
||
|
||
### Archive recovery and password handling
|
||
|
||
- Detect English, German, and misdecoded CRC and checksum failures from native and JVM extractors.
|
||
- Corroborate archive corruption across independent extraction backends and re-download only the named damaged multipart volume once per package generation.
|
||
- Keep encrypted archives and genuine wrong-password results out of destructive re-download recovery.
|
||
- Try every real RAR5 password candidate even when archive metadata does not reliably report encryption.
|
||
- Distinguish corrupted encrypted RAR and ZIP data, missing volumes, locked files, and open failures from incorrect passwords.
|
||
- Remove redundant full password passes and bound package recovery to one deduplicated retry set.
|
||
- Report password-attempt progress without exposing candidate values and isolate failing progress observers from the extraction process.
|
||
- Parse JVM daemon requests safely for passwords containing JSON metacharacters and Unicode.
|
||
- Remove successful-password payloads from the JVM protocol and redact diagnostic buffers before any error can reach logs.
|
||
|
||
### Extraction lifecycle and data safety
|
||
|
||
- Resume extraction automatically after temporary disk-capacity waits, including manual archive selections, with generation-, owner-, and timer-safe retry plans.
|
||
- Keep Stop, shutdown, disabled packages, stale callbacks, and changed run owners from restarting old extraction work.
|
||
- Preserve retry, pacing, disk, and provider cooldowns across Pause and Resume.
|
||
- Make standalone manual extraction stoppable through the normal toolbar lifecycle.
|
||
- Reject missing, incomplete, ambiguous, or non-archive manual targets before starting any selected batch.
|
||
- Resolve opaque archive files by signature without mutating files during preflight and commit valid batch plans atomically.
|
||
- Keep full-package cleanup enabled for complete manual extraction while protecting partial selections and packages with open downloads.
|
||
- Convert unexpected post-processing exceptions into deterministic extraction failures instead of successful package results.
|
||
- Requeue interrupted integrity checks after restart and clear stale transient post-processing labels.
|
||
|
||
### Cleanup and queue isolation
|
||
|
||
- Preserve independent downloads that happen to share the same package filename during startup recovery.
|
||
- Honor recycle-bin cleanup for previously extracted archives instead of deleting them permanently.
|
||
- Protect files owned by other packages in shared output folders, including archive companions, and verify file identity immediately before cleanup.
|
||
- Reset a corrupted download only after its old file was successfully removed or quarantined.
|
||
- Keep selected download runs scoped when packages are disabled, added later, or waiting for unrelated extraction work.
|
||
- Prevent selective starts from launching or stopping post-processing for other packages.
|
||
|
||
### Status, IPC, and release integrity
|
||
|
||
- Prioritize active downloads, integrity checks, extraction, password search, finalization, cleanup, and disk waits over historical sibling errors while retaining full details in tooltips.
|
||
- Keep pending, waiting-for-parts, active extraction, and historical failure states visually distinct after restart.
|
||
- Translate the complete dynamic extraction status set in German and English.
|
||
- Validate manual extraction IPC requests in a side-effect-free trusted handler and propagate stale or invalid selections as actionable errors.
|
||
- Compile the bundled JVM extractor before every main and Windows release build and reject stale source/class combinations.
|
||
- Verify every shipped JVM class, source digest, and library byte-for-byte in unpacked, Setup, and Portable release artifacts.
|
||
|
||
## [2.0.62] - 2026-08-23
|
||
|
||
### Manual extraction
|
||
|
||
- Run package and child archive extraction while downloads are stopped or paused and while sibling downloads remain open.
|
||
- Validate manual targets before replacing stale post-processing, then drain the previous extractor and coordinator before starting the new operation.
|
||
- Return actionable manual extraction errors through IPC instead of silently leaving items pending.
|
||
- Keep queued and delayed sibling downloads unchanged when starting or stopping a selected-item run.
|
||
|
||
### Archive progress and recovery
|
||
|
||
- Preserve password-attempt status across progress pulses and show the real finalization percentage instead of counting an active archive as complete.
|
||
- Include finalization progress in the package progress bar and retain archive names, elapsed time, and counters in tooltips.
|
||
- Retry complete archive sets that were previously marked attempted without a terminal extraction result.
|
||
- Add automatically recovered archive parts to the active run so every reset file is downloaded again.
|
||
|
||
### Package status
|
||
|
||
- Replace misleading aggregate counts such as `20 retries` with the actionable `Retrying link conversion` package state.
|
||
- Keep mixed extraction failures concise while retaining detailed item-level attempts and diagnostics.
|
||
|
||
## [2.0.61] - 2026-08-23
|
||
|
||
### RAR extraction reliability
|
||
|
||
- Recognize explicit WinRAR directory entries even when the native listing omits trailing path separators.
|
||
- Preserve strict file-directory collision protection by matching typed directory entries with counted archive occurrences.
|
||
- Keep the original JVM archive or CRC error when a failed partial output has already been removed.
|
||
- Prevent stale partial-output events from terminating the JVM extractor or replacing the actionable extraction error.
|
||
|
||
### Windows persistence
|
||
|
||
- Retry short-lived Windows file locks while atomically saving the notification outbox during runtime and startup.
|
||
|
||
## [2.0.60] - 2026-08-22
|
||
|
||
### Manual extraction
|
||
|
||
- Extract a selected archive part together with its complete multipart set instead of requiring the parent package action.
|
||
- Extract multiple selected packages in one action and keep each archive set isolated by its full source path.
|
||
- Re-read the current archive password list for every manual retry and keep unrelated failed archives untouched.
|
||
- Keep child and package extraction states synchronized through pending, active, completed, and failed phases.
|
||
|
||
### Download status and controls
|
||
|
||
- Separate download completion from post-processing with a stable 90 percent download and 10 percent extraction progress model.
|
||
- Replace ambiguous package counters with actionable download, retry, extraction, disk-wait, and failure summaries.
|
||
- Restore pointer and keyboard sorting for every Downloads column, including the visible service column.
|
||
- Preserve verified availability while downloads start or retry and infer online state for active or completed transfers.
|
||
|
||
### Runtime reliability
|
||
|
||
- Release cancelled provider conversion work promptly so Stop returns to a startable state without assigning false account cooldowns.
|
||
- Prevent stale Mega-Debrid web jobs from blocking later conversions after cancellation.
|
||
- Route link-address copying through the validated Electron clipboard bridge with explicit success and failure feedback.
|
||
- Clear manual extraction state when packages or the complete queue are removed.
|
||
|
||
## [2.0.59] - 2026-08-22
|
||
|
||
### Extraction reliability
|
||
|
||
- Recognize successfully extracted WinRAR, RAR, and 7-Zip files even when native progress output contains control characters or no parseable completion line.
|
||
- Prevent completed extractions from being reported as `No extracted files detected` and allow affected packages to be retried normally after updating.
|
||
- Preserve extractor-specific renamed filenames across shortened Windows extraction paths.
|
||
- Keep 7-Zip directory structures intact when RAR flat extraction is active and reject colliding flat RAR targets before extraction starts.
|
||
|
||
## [2.0.58] - 2026-08-22
|
||
|
||
### DLC drag and drop
|
||
|
||
- Restore direct DLC drag-and-drop imports into Downloads without routing dropped containers through the link collector preview.
|
||
- Resolve dropped file paths through Electron's supported preload bridge instead of relying on renderer-only file properties.
|
||
- Bound explicit link collector metadata enrichment so unavailable hoster checks cannot leave the interface permanently busy.
|
||
|
||
## [2.0.57] - 2026-08-22
|
||
|
||
### Window appearance
|
||
|
||
- Force the native Electron window theme to dark so the Windows title bar remains black across local, server, and Remote Desktop user profiles.
|
||
|
||
## [2.0.56] - 2026-08-22
|
||
|
||
### Notification Center
|
||
|
||
- Added rich Discord embeds for final package results, run summaries, remaining-volume alerts, and confirmed download stalls and recoveries.
|
||
- Wait for downloads, extraction, remuxing, cleanup, and deferred post-processing before reporting a package or run as finished.
|
||
- Persist pending notifications across restarts with ordered delivery, bounded retries, rate-limit handling, expiration, and a controlled shutdown drain.
|
||
- Support immediate package notifications or two-minute success digests while always delivering enabled failure notifications immediately.
|
||
- Added configurable run-scoped remaining-volume, download-stall, cooldown, and recovery alerts that ignore expected waits and short self-healing interruptions.
|
||
- Expanded History with separate download, extraction, remux, post-processing, and total durations plus final file, archive, part, output, and failure-phase details.
|
||
- Keep webhook details, local paths, account data, and credentials out of persisted notification events and failure messages.
|
||
|
||
### Recurring daily schedule
|
||
|
||
- Replaced the one-time Downloads scheduler with a recurring local-time schedule that can begin today or tomorrow.
|
||
- Persist daily schedules across restarts and reconcile them after startup, account changes, suspend, and resume.
|
||
- Prevent duplicate starts for the same local day while handling daylight-saving changes, missed dates, empty queues, active runs, unavailable accounts, and retryable start failures.
|
||
- Added strict time validation, a next-start countdown, and visible save errors.
|
||
|
||
### Stop and restart lifecycle
|
||
|
||
- Serialize full-queue, package, and item starts through one lifecycle so starts requested during stopping run once after existing work drains.
|
||
- Prevent late recovery callbacks and stale task finalizers from reviving stopped work or replacing a newer run.
|
||
- Release cancelled Real-Debrid, AllDebrid, and BestDebrid web waits without blocking later requests.
|
||
- Show the current lifecycle phase, reason, provider retry countdown, pending start, and remaining work.
|
||
- Keep active and deferred post-processing bound to the run that owns it.
|
||
|
||
### Interface polish
|
||
|
||
- Added coordinated fade and size transitions when package rows expand or collapse while respecting the animation preference.
|
||
- Added global expand and collapse actions to Downloads and the link collector, including packages outside the active filter.
|
||
- Kept the Downloads package action visible in a responsive toolbar and disabled it for an empty queue.
|
||
- Changed contextual help to open on pointer hover or keyboard focus and grouped download filters into a compact sidebar section.
|
||
|
||
### Extraction safety and coordination
|
||
|
||
- Validate complete archive target plans before any extraction writes, including invalid Windows names, aliases, duplicate targets, and file-directory collisions.
|
||
- Track concrete extraction outputs per package generation across writes, renames, partial results, removal, and restarts.
|
||
- Limit nested extraction, renaming, audio processing, cleanup, and library collection to files owned by the producing package.
|
||
- Added one global extraction coordinator for the configured parallel limit across packages and extraction modes, with fair scheduling and live limit changes.
|
||
- Hold multipart disk reservations and extraction permits until the real child process closes and output ownership is finalized.
|
||
- Keep run and package cancellation isolated and prevent recursive discovery of unrelated archives in shared roots.
|
||
|
||
### Telemetry and History
|
||
|
||
- Added completed, partial, failed, and cancelled package results with separate download, extraction, remux, post-processing, and total durations.
|
||
- Record file counts, downloaded bytes, archive groups, parts, outputs, failure phases, and error categories in History and final run summaries.
|
||
- Preserve mixed package outcomes and separate download, offline, extraction, remux, and cleanup failure totals.
|
||
|
||
## [2.0.55] - 2026-08-22
|
||
|
||
### 1Fichier imports
|
||
|
||
- Resolve original 1Fichier filenames, exact sizes, and availability in batches before downloads start.
|
||
- Keep resolved filenames when a debrid provider returns only a generic `download.bin` name.
|
||
- Group supported 1Fichier mirror domains under one hoster identity.
|
||
- Display the full `1Fichier` hoster name consistently in the link collector and Downloads.
|
||
|
||
### DDownload imports
|
||
|
||
- Resolve public DDownload filenames, exact sizes, and availability before links enter the download queue.
|
||
- Treat removed files as offline while keeping protected or inconclusive pages available for later retry.
|
||
- Preserve resolved DDownload filenames when a debrid provider later returns only `download.bin`.
|
||
- Normalize `ddownload.com` and `ddl.to` under one DDownload hoster identity.
|
||
|
||
### Link collector
|
||
|
||
- Rebuilt the link collector as a package-oriented preview with expandable file rows, resolved metadata, availability filters, stable selection, and selected or complete transfer to Downloads.
|
||
- Route pasted links, clipboard detections, text files, drag-and-drop, and DLC containers through inspection before they enter the download queue.
|
||
- Show known hosters as icons with full-name tooltips and a text fallback when an icon cannot be loaded.
|
||
- Restore exported queue JSON through the structured queue importer while keeping text files in the link collector preview.
|
||
- Open the link analysis dialog directly from Ctrl+L and the File menu.
|
||
|
||
## [2.0.54] - 2026-08-21
|
||
|
||
### Update validation
|
||
|
||
- Published a controlled follow-up version so installations running v2.0.53 can verify the repaired in-app updater handoff end to end.
|
||
|
||
## [2.0.53] - 2026-08-21
|
||
|
||
### In-app updates
|
||
|
||
- Started the verified NSIS installer directly before application shutdown so Windows Server and RDP process-job cleanup cannot terminate an intermediate PowerShell launcher.
|
||
- Kept the running application open when Windows rejects the installer process instead of reporting a successful update and quitting without an installer.
|
||
- Delegated the complete process handoff to the installer with a 60-second graceful wait and a verified post-termination wait before replacing application files.
|
||
|
||
## [2.0.52] - 2026-08-21
|
||
|
||
### Rolling account statistics
|
||
|
||
- Added a true rolling Last 24 Hours range directly after Today in Statistics.
|
||
- Attributed downloaded traffic to the exact Real-Debrid, Mega-Debrid, or Debrid-Link account that produced each direct link.
|
||
- Displayed the known account username with its provider while retaining safe fallback labels for accounts without checked identity data.
|
||
- Kept the rolling total accurate across midnight, account disablement, deletion, application restarts, and session-statistics resets.
|
||
- Started exact rolling account collection after the upgrade without inventing historical account ownership from older daily totals.
|
||
|
||
### Statistics precision and performance
|
||
|
||
- Kept primary statistics data totals in gigabytes above 1 TB so large daily volumes remain precise, for example 1,250 GB instead of 1.2 TB.
|
||
- Stored traffic in sparse minute buckets with a bounded 48-hour retention window.
|
||
- Maintained the visible 24-hour aggregate incrementally and kept raw minute history out of frequent renderer snapshots.
|
||
- Preserved full rolling history in encrypted full backups while removing account IDs and labels from support statistics.
|
||
|
||
## [2.0.51] - 2026-08-21
|
||
|
||
### In-app updates
|
||
|
||
- Refreshed the latest release metadata immediately before every installer download instead of reusing a previous update check.
|
||
- Read the running version from the installed package metadata so the displayed version cannot lag behind the installed application.
|
||
- Added a release gate that rejects packaged main bundles built for an older version.
|
||
- Kept a dismissed update prompt closed for the same target version until the next application start while still allowing newer releases and manual checks to appear.
|
||
- Changed the Update available button from blue to green.
|
||
|
||
### Release verification
|
||
|
||
- Added real Windows process-order and installed-package version coverage for the complete update handoff.
|
||
- Required a fresh application build after the release version changes before packaging the installer.
|
||
|
||
## [2.0.50] - 2026-08-21
|
||
|
||
### In-app updates
|
||
|
||
- Deferred silent installer startup until the current application process has fully exited so the new version can acquire the single-instance lock.
|
||
- Added an installer-level process handoff that also protects upgrades launched by v2.0.48 and v2.0.49.
|
||
- Reduced the delay between a verified update download and application shutdown from five seconds to 250 milliseconds.
|
||
- Added Windows process-order regression coverage and made the public release verifier require the update-safe NSIS include.
|
||
|
||
## [2.0.49] - 2026-08-21
|
||
|
||
### Download table
|
||
|
||
- Added a right-click column menu with a one-step reset to the default column layout.
|
||
- Clarified visible-column state with green checkmarks, normal menu text, and a centered reset action.
|
||
- Kept availability labels aligned across one- and two-digit package counts while reducing excess spacing before the online state.
|
||
|
||
### Account status
|
||
|
||
- Added the last successful or failed account-check time directly below each stored status.
|
||
- Updated relative check times automatically while the application remains open.
|
||
- Changed expired premium access to the existing Free Account state instead of leaving stale Premium active text visible.
|
||
|
||
### History
|
||
|
||
- Updated an already open History view immediately after a completed or deleted package is stored without polling or repeatedly reloading the full history file.
|
||
- Removed multi-selected history entries through one validated IPC request and one atomic history-file update.
|
||
- Preserved configured history limits above 500 entries during single and bulk removal operations.
|
||
|
||
### Remaining volume
|
||
|
||
- Added a translated hover explanation when the remaining download volume contains files whose sizes are not known yet.
|
||
- Kept fully known queues unchanged while exposing the same explanation to assistive technology.
|
||
|
||
## [2.0.48] - 2026-08-20
|
||
|
||
### Download table
|
||
|
||
- Eliminated brief flicker and snap-back when moving download columns left or right.
|
||
- Made column moves respond immediately while keeping transitions smooth and column widths stable.
|
||
- Kept column move controls vertically centered throughout the animation.
|
||
- Prevented live download updates, rapid repeated moves, and in-flight settings saves from reverting the selected column order.
|
||
- Applied column changes instantly when animations are disabled.
|
||
|
||
## [2.0.47] - 2026-08-20
|
||
|
||
### Live updates
|
||
|
||
- Standardized running download snapshots and progress metrics on a 750 ms cadence for every queue size.
|
||
- Aligned session volume, remaining volume, speed, ETA, the header speed sparkline, and the bandwidth chart to the same refresh interval.
|
||
- Removed the extra active-download renderer delay so the UI presents each completed snapshot immediately without stacking latency.
|
||
- Prevented normal progress updates from retriggering rolling metric transitions before the previous transition can finish.
|
||
|
||
## [2.0.46] - 2026-08-20
|
||
|
||
### Archive passwords
|
||
|
||
- Restored the saved archive password list automatically when the Extraction settings section is opened.
|
||
- Kept the visible password list intact after settings saves, account updates, and live state refreshes.
|
||
- Prevented late password-list loads from overwriting unsaved edits and invalidated stale loads during backup imports.
|
||
- Kept archive passwords out of general renderer snapshots and exposed them only through a dedicated trusted IPC channel.
|
||
|
||
## [2.0.45] - 2026-08-19
|
||
|
||
### Account availability
|
||
|
||
- Kept a configured Real-Debrid account pool authoritative when every account is disabled instead of reviving legacy browser-login fields.
|
||
- Released stale in-memory Real-Debrid cooldown and sticky state when an account is explicitly re-enabled so the Start action becomes available without restarting the application.
|
||
- Preserved configured per-account daily limits and usage while refreshing only transient runtime state.
|
||
|
||
## [2.0.44] - 2026-08-17
|
||
|
||
### Live updates
|
||
|
||
- Reduced visible download, remaining-volume, speed, ETA, and availability refresh churn for queues with 250 or more items by using a calm 500 ms cadence.
|
||
- Updated live speed sparklines and the bandwidth chart to redraw every 500 ms instead of every 250 ms.
|
||
- Kept small queues responsive and retained the stronger 700 ms protection for queues with 1,500 or more items.
|
||
|
||
## [2.0.43] - 2026-08-16
|
||
|
||
### Product identity
|
||
|
||
- Renamed the packaged application, installer, portable executable, support bundles, update repository, and public download references to Multi-Debrid-Downloader.
|
||
- Migrated the legacy application data directory automatically so existing settings, accounts, queue state, history, statistics, and runtime logs remain available after the rename.
|
||
- Preserved the existing Windows application identity to support in-place updates while retaining the legacy data directory as a safe fallback when Windows temporarily blocks the migration.
|
||
- Updated diagnostics, exported link headers, host checks, user agents, release verification, and public documentation to use the current product name.
|
||
|
||
### Account runtime
|
||
|
||
- Added a Runtime tab to account management with provider summaries for available accounts, active downloads, and daily traffic.
|
||
- Added per-account runtime details for current state, active downloads, daily traffic, session success rate, last use, and cooldown or skip reason.
|
||
- Kept API and browser accounts with matching identifiers isolated by provider and access mode throughout runtime attribution.
|
||
- Removed runtime counters for deleted accounts and limited renderer data to sanitized states and aggregate counters without credentials, API responses, or raw provider errors.
|
||
|
||
## [2.0.42] - 2026-08-15
|
||
|
||
### Real-Debrid accounts
|
||
|
||
- Added support for multiple Real-Debrid API-token and browser-login accounts in the same account pool.
|
||
- Kept every browser account in an isolated persistent or transient session so cookies, tokens, login windows, and queued actions cannot leak between accounts.
|
||
- Added independent account activation, daily limits, daily usage, lifetime usage, status records, identity details, editing, removal, and credential reveal controls.
|
||
- Migrated existing single-account Real-Debrid settings and browser sessions into the new pool without discarding saved credentials or account status.
|
||
- Assigned opaque account identifiers and kept API tokens, browser tokens, cookies, and credential-derived fingerprints out of renderer state and diagnostics.
|
||
|
||
### Rotation and recovery
|
||
|
||
- Rotated eligible Real-Debrid API and browser accounts with fair ordering, sticky reuse, in-flight exclusion, account cooldowns, and daily-limit enforcement.
|
||
- Continued within the same conversion request after account-specific authentication, rate-limit, timeout, and transport failures.
|
||
- Kept provider-wide hoster failures and permanent link failures from cooling down or rotating otherwise healthy accounts.
|
||
- Attributed downloaded traffic to the exact account that generated the unrestricted link while preserving provider-wide totals.
|
||
- Rebuilt account rotation state immediately after live account, credential, enablement, or limit changes.
|
||
|
||
### Account checks and login behavior
|
||
|
||
- Refreshed an account before enabling it and rolled the toggle back when the account is invalid or cannot be checked.
|
||
- Preserved Real-Debrid usernames and email addresses independently in browser-account status rows.
|
||
- Prevented manually closed Real-Debrid login windows from reopening through queued or repeated work.
|
||
- Restricted browser window creation to explicit login actions so activation, status checks, downloads, missing sessions, and fair-use failures remain noninteractive.
|
||
- Cleaned up aborted, failed, deleted, and superseded browser sessions without allowing delayed probes to restore stale tokens or status records.
|
||
|
||
### Interface and downloads
|
||
|
||
- Added precise service filtering and alphabetical service ordering to the account-add dialog.
|
||
- Kept Real-Debrid API and browser-login choices available after another Real-Debrid account has already been configured.
|
||
- Continued link availability checks after downloads start so items cannot remain stuck on Checking while actively downloading.
|
||
- Added account-specific login, check, edit, enable, disable, remove, and reveal actions throughout the settings interface.
|
||
|
||
## [2.0.41] - 2026-08-15
|
||
|
||
### Accounts
|
||
|
||
- Split account refresh into active-account and all-account checks with matching result counts.
|
||
- Show failed check results for disabled accounts when all configured accounts are refreshed.
|
||
- Apply individual and bulk account enablement changes immediately while settings are saved, with automatic rollback after a failed save.
|
||
- Re-enable parent providers and Mega-Debrid modes when an individual disabled account or API key is enabled.
|
||
- Disable the active-account refresh action when no enabled checkable account exists.
|
||
- Added Windows-style account selection with Ctrl or Command, selected-account counts, batch removal, and global Escape clearing.
|
||
- Removed the redundant global account activation switch so individual account toggles remain authoritative.
|
||
- Added persistent, resizable account-table columns and retained their widths across restarts.
|
||
- Moved the account-enabled control below the daily limit field in the account editor.
|
||
- Added an explicit reveal action for stored credentials while keeping secrets out of renderer snapshots, diagnostics, and copied account details.
|
||
- Kept credential reveal requests scoped to the selected account and validated through the trusted application boundary.
|
||
- Stored Debrid-Link usernames and email addresses separately and migrated legacy cached identities that placed usernames in the email column.
|
||
- Kept missing Debrid-Link email addresses empty instead of duplicating another identity field.
|
||
- Simplified username and email tooltips to show only the copy action while preserving accessible labels.
|
||
- Added a dedicated Action column with stable edge alignment across window sizes and resizable table layouts.
|
||
- Kept account selections visually distinct without leaving a stale focus outline after Escape.
|
||
- Prevented double-clicking an account action button from opening the account editor behind its context menu.
|
||
- Simplified account menu headings to one hoster and access-type label without dangling separators or empty identity fields.
|
||
|
||
### Downloads and queue controls
|
||
|
||
- Moved the Remaining metric above the all-time Total value in the download summary.
|
||
- Kept the currently selected priority as a disabled no-op so choosing it does not close the package context menu.
|
||
- Reordered high, standard, and low priority packages consistently while preserving stable order inside each priority group.
|
||
- Added smooth package movement when priority changes and extended the reorder transition to three seconds for easier visual tracking.
|
||
- Renamed the package-only motion preference to a general animation setting shared by package disclosure, priority movement, and history details.
|
||
- Cancelled active package movement immediately when animations are disabled.
|
||
- Removed phantom horizontal and vertical scrollbars from newly opened package context menus.
|
||
- Moved the cleanup confirmation opt-out below the dialog actions and aligned the decision controls consistently.
|
||
|
||
### Statistics
|
||
|
||
- Added a durable daily statistics ledger for downloaded data, completed files, failed results, active transfer duration, and provider outcomes.
|
||
- Made Today, Seven Days, and 30 Days aggregate every available day immediately instead of waiting for a complete calendar window.
|
||
- Preserved existing all-time counters while extending totals with newly recorded success, failure, duration, and provider result metrics.
|
||
- Added real file counts, success rates, average transfer speed, failure counts, and provider result totals to ranged statistics.
|
||
- Kept daily statistics bounded and normalized during load, save, backup export, and restore.
|
||
|
||
### History and interface
|
||
|
||
- Rebuilt the history table around one shared resizable grid so headers, rows, expanded details, and horizontal scrolling stay aligned.
|
||
- Persisted history column widths and kept them responsive across compact and wide windows.
|
||
- Anchored the history Action column to the table edge and aligned size values directly below their header.
|
||
- Reworked expanded history details into a cleaner grouped surface for provider, files, duration, average speed, target folder, and source URLs.
|
||
- Added smooth history expand and collapse motion governed by the general animation preference.
|
||
- Kept history disclosure immediate when animations are disabled.
|
||
|
||
## [2.0.40] - 2026-08-15
|
||
|
||
### Interface
|
||
|
||
- Fixed package rows continuing to slide after package expand and collapse motion was disabled in Settings.
|
||
- Applied the no-motion preference immediately to virtual row positions, heights, and opacity.
|
||
|
||
## [2.0.39] - 2026-08-15
|
||
|
||
### Settings
|
||
|
||
- Fixed settings saves after upgrades when account status records or legacy renderer data omit optional fields.
|
||
- Restored download starts and account actions that persist settings before continuing.
|
||
|
||
## [2.0.38] - 2026-08-15
|
||
|
||
### Interface
|
||
|
||
- Added a general setting to disable package expand and collapse motion on remote or lower-performance systems while keeping it enabled by default.
|
||
|
||
## [2.0.37] - 2026-08-14
|
||
|
||
### Account status
|
||
|
||
- Added persistent Real-Debrid API and browser-session account checks with premium status and account identity details.
|
||
- Updated the Real-Debrid account row automatically after a successful browser login and preserved the result across settings saves and restarts.
|
||
|
||
### Provider errors
|
||
|
||
- Limited failed conversion messages to providers that were actually attempted.
|
||
- Prevented aggregated fallback details from being mislabeled as a Debrid-Link failure.
|
||
|
||
### Interface
|
||
|
||
- Replaced the application and documentation artwork with the refreshed Multi-Debrid Downloader icon.
|
||
- Made populated username and email cells copy their value to the clipboard with a single click while keeping empty cells inactive.
|
||
|
||
### Downloads
|
||
|
||
- Restored smooth package expand and collapse motion without disabling large-queue virtualization.
|
||
- Kept package contents mounted throughout collapse transitions, including packages crossing the visible viewport boundary.
|
||
- Added a Remaining metric for unfinished download volume, with a lower-bound indicator when some file sizes are still unknown.
|
||
|
||
## [2.0.36] - 2026-08-14
|
||
|
||
### Download performance
|
||
|
||
- Restored the proven 2.0.28 download-processing baseline after later builds caused severe throughput drops and prolonged disk-wait states during large parallel queues.
|
||
- Removed the per-chunk stream failure race that accumulated pending promise reactions throughout long-running downloads.
|
||
- Preserved the startup reliability, credential protection, storage safeguards, large-queue virtualization, and updater behavior included in 2.0.28.
|
||
|
||
### Release safety
|
||
|
||
- Rebuilt the Windows installer and portable package from the verified rollback branch.
|
||
- Revalidated the complete client and backup API test suites before publication.
|
||
|
||
## [2.0.28] - 2026-08-12
|
||
|
||
### Startup reliability
|
||
|
||
- Fixed Electron security registration so native WebContents and session APIs retain their required receiver during application startup.
|
||
- Fixed packaged renderer IPC validation for case-insensitive Windows file paths.
|
||
- Added explicit startup and renderer-load error logging for future launch diagnostics.
|
||
|
||
## [2.0.27] - 2026-08-12
|
||
|
||
### Startup reliability
|
||
|
||
- Fixed Windows renderer startup validation so the packaged application accepts its own local renderer path regardless of path casing.
|
||
- Prevented the startup navigation guard from blocking the application window on case-insensitive Windows file systems.
|
||
|
||
## [2.0.26] - 2026-08-12
|
||
|
||
### Log storage
|
||
|
||
- Added a configurable log location in AppData or in a dedicated Desktop folder.
|
||
- Migrated recognised log files safely when changing location while keeping settings, credentials, and runtime data in AppData.
|
||
- Preserved active trace settings during log migration and routed startup recovery diagnostics to the selected log location.
|
||
|
||
## [2.0.25] - 2026-08-12
|
||
|
||
### Credential and application security
|
||
|
||
- Encrypted persisted provider credentials with the operating system credential protection and migrated legacy plaintext values safely.
|
||
- Removed provider secrets from renderer snapshots, account-check responses, settings backups, support diagnostics, and copied account details.
|
||
- Added passphrase-protected local backup encryption while keeping legacy backup import available without writing the legacy format again.
|
||
- Hardened Electron navigation, redirects, permissions, popup handling, remote-login windows, and IPC sender validation.
|
||
- Restricted remote diagnostics to loopback by default, Bearer authentication, POST-only mutations, rate limiting, non-cacheable responses, and token-free support URLs.
|
||
|
||
### Storage reliability
|
||
|
||
- Added volume-aware capacity reservations before download writes, archive extraction, and media remux operations.
|
||
- Accounted for concurrent reservations and a configurable safety margin so parallel work cannot overbook the same volume.
|
||
- Parked capacity-blocked work without consuming regular retry attempts and exposed structured disk-wait state for automatic recovery.
|
||
|
||
### Large queue performance
|
||
|
||
- Virtualized package and file rows with fixed row heights and overscan to keep very large queues responsive.
|
||
- Preserved logical range selection, select-all behavior, column dragging, context actions, expansion state, and inline renaming outside the rendered viewport.
|
||
- Kept the existing scroll container and limited DOM work without adding another runtime dependency.
|
||
|
||
### Status and reliability
|
||
|
||
- Removed archive names from visible finalization progress in both German and English while retaining compact phase progress.
|
||
- Added focused regression coverage for credential migration, backup encryption, Electron trust boundaries, diagnostics authentication, disk reservations, and virtualized download rows.
|
||
|
||
## [2.0.24] - 2026-08-11
|
||
|
||
### Download queue
|
||
|
||
- Kept every package in its existing visible queue position when downloads start, finish, pause, retry, or change status.
|
||
- Removed status-driven package grouping and the obsolete automatic progress-sorting setting.
|
||
- Blocked start, package start, item start, and resume actions when no active usable download account is available.
|
||
- Kept the initial Start action disabled until the main process confirms that an eligible account is active.
|
||
|
||
### Disk and extraction recovery
|
||
|
||
- Added a dedicated disk-wait recovery path for full, quota-limited, temporarily busy, and stalled write targets.
|
||
- Retried disk-blocked downloads automatically after storage becomes writable without consuming the normal download retry budget.
|
||
- Prioritized `Waiting for disk` at package level when one or more files are blocked by storage.
|
||
- Reported completed downloads with extraction failures as failed packages instead of showing a misleading completed file count.
|
||
- Removed redundant provider names from start, download, data-wait, and disk-wait status labels while preserving diagnostic details.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for unavailable and disabled accounts, resume protection, disk-write recovery, retry accounting, package-level disk waits, extraction failures, compact runtime statuses, and stable queue ordering.
|
||
- Verified the complete client suite, TypeScript compilation, production build, release metadata, archive contents, and application self-check.
|
||
|
||
## [2.0.23] - 2026-08-11
|
||
|
||
### Update experience
|
||
|
||
- Changed the available-update header action to a dedicated light-blue treatment with dark high-contrast text.
|
||
- Added cumulative release notes for every stable version newer than the installed application, ordered from newest to oldest.
|
||
- Excluded draft releases, prereleases, the installed version, and older versions from cumulative update notes.
|
||
- Added a bounded vertical scroll area so long multi-version changelogs remain usable without overflowing the update dialog.
|
||
|
||
### Download queue
|
||
|
||
- Unified RapidGator main and short-link domains under one host identity for icons, host counts, routing, limits, and cooldowns.
|
||
- Centered service and status values beneath their corresponding column headings.
|
||
- Removed archive filenames from visible password-cracking progress while retaining full technical details in the status tooltip.
|
||
- Kept active packages in their activation order and appended newly active packages behind downloads that were already running.
|
||
- Removed status-driven automatic package expansion so collapse state changes only through explicit user actions.
|
||
|
||
### Account handling
|
||
|
||
- Separated Mega-Debrid API and Web Login credential pools so adding, editing, disabling, or removing one mode no longer changes the other mode.
|
||
- Migrated legacy shared Mega-Debrid credentials and disabled-account states into the explicitly enabled access mode, falling back to the preferred mode only for ambiguous legacy configurations.
|
||
- Kept mode-specific account availability and provider selection synchronized with live settings changes.
|
||
- Applied added, edited, disabled, and re-enabled Mega-Debrid accounts to the active scheduler without requiring an application restart.
|
||
- Invalidated cached Mega-Debrid Web Login sessions immediately when Web credentials change, prevented older in-flight, retried, and queued requests from restoring invalidated cookies, and left API-only changes isolated.
|
||
- Released only Mega-Debrid reset-parked queue items when a usable account pool becomes available while preserving unrelated retry delays.
|
||
- Prevented new Mega-Debrid account forms from exposing stored credentials in an unrelated token field.
|
||
- Removed both mode-specific Mega-Debrid credential pools from persisted settings when credential storage is disabled.
|
||
- Synchronized item and package status immediately when a provider retry is queued.
|
||
|
||
### Reliability and testing
|
||
|
||
- Kept the latest release notes as a fallback when the release history cannot be loaded.
|
||
- Added regression coverage for cumulative version filtering, ordering, update colors, changelog scrolling, RapidGator aliases, centered queue cells, compact password progress, independent Mega-Debrid API and Web Login pools, credential persistence, legacy migration, live session invalidation, live account-pool refresh, stable active ordering, and user-controlled package expansion.
|
||
- Verified the update dialog with twelve version sections at a 1120 by 760 pixel viewport.
|
||
|
||
## [2.0.22] - 2026-08-11
|
||
|
||
### History management
|
||
|
||
- Added a permanently visible destructive toolbar action for clearing the complete download history without selecting individual entries.
|
||
- Kept full-history deletion behind the existing confirmation dialog and disabled the action while history is empty or loading.
|
||
- Added complete English localization for the new history action.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for full-history action visibility, danger styling, loading state, empty state, and dispatch behavior.
|
||
- Verified the updated History toolbar at 1920 and 1120 pixel window widths without horizontal overflow.
|
||
|
||
## [2.0.21] - 2026-08-11
|
||
|
||
### Responsive interface
|
||
|
||
- Refined Downloads, Link Collector, Settings, History, and Statistics layouts for 1920, 1366, and 1120 pixel window widths.
|
||
- Kept the Downloads action column reachable in compact windows while preserving useful space for names, status, service, speed, and availability.
|
||
- Moved the compact sidebar control into reserved header space so it no longer overlaps view content.
|
||
- Wrapped Link Collector search and actions cleanly at narrow widths without creating global horizontal scrolling.
|
||
- Reworked History pagination to keep the page size, information control, range, and navigation visible without overlap.
|
||
|
||
### Interaction and accessibility
|
||
|
||
- Added keyboard controls for moving Download columns and exposed sort state, mixed selection state, and active filters to assistive technology.
|
||
- Added keyboard-complete custom selectors, theme choices, account tabs, loading announcements, error announcements, and empty-search feedback in Settings.
|
||
- Added confirmation before removing collections or selected collection links, unique link-selection labels, and disabled empty collection submission.
|
||
- Added confirmation before resetting session or all-time statistics and accessible labels for the live bandwidth chart.
|
||
- Completed English localization for new pagination, account feedback, link-selection, and copy-control accessibility text.
|
||
- Replaced clickable text-only copy targets with native buttons and improved focus, control-border, success, warning, and danger contrast in both themes.
|
||
|
||
### Visual consistency
|
||
|
||
- Changed the live header speed graph and Statistics bandwidth line to the shared success green.
|
||
- Improved table-heading, progress, availability, account-status, and destructive-action contrast across all primary views.
|
||
- Preserved full service and status details through labels and tooltips when compact layouts require ellipsis.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for compact table visibility, keyboard column movement, destructive confirmations, History pagination, accessible copy actions, Settings control states, and the updated chart colors.
|
||
- Expanded the visual verification matrix across every primary view at all supported audit widths.
|
||
|
||
## [2.0.20] - 2026-08-11
|
||
|
||
### Downloads and selection
|
||
|
||
- Added package selection through a normal row click while preserving Control, Command, and Shift selection behavior.
|
||
- Added package expansion and collapse through a double-click on unused row space while keeping the disclosure button available.
|
||
- Kept renaming, checkboxes, progress meters, links, form controls, and action buttons isolated from the row disclosure gesture.
|
||
- Replaced segmented selection markers with a continuous three-pixel success-colored edge across adjacent selected packages and files.
|
||
- Extended package selection markers across card separators so consecutive selected packages no longer show one-pixel gaps.
|
||
|
||
### Sidebar motion
|
||
|
||
- Removed the empty sidebar rail when the sidebar is collapsed.
|
||
- Added synchronized 520-millisecond width and panel transitions for smooth sidebar opening and closing.
|
||
- Kept the sidebar edge control visible and reachable while the sidebar content is fully hidden.
|
||
- Preserved the requested sidebar motion when Windows application animations are disabled.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for zero-width sidebar collapse, synchronized sidebar motion, package row selection, double-click disclosure boundaries, and continuous selection markers.
|
||
- Added rendered-pixel verification for the updated interactions and continuous selection edge.
|
||
|
||
## [2.0.19] - 2026-08-11
|
||
|
||
### Interface fixes
|
||
|
||
- Restored smooth sidebar selection movement in development builds when React StrictMode restarts layout effects.
|
||
- Kept the active sidebar entry visible immediately while the shared selection marker moves to its new position.
|
||
- Disabled the service filter when fewer than two concrete services are available, preventing an empty or redundant dropdown from opening.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for StrictMode transition initialization and service-filter availability states.
|
||
|
||
## [2.0.18] - 2026-08-11
|
||
|
||
### Downloads and status handling
|
||
|
||
- Preserved package byte totals, completed-item counts, and extraction progress when finished files are removed immediately from the queue.
|
||
- Persisted cleaned package contributions so progress remains stable across application restarts.
|
||
- Preserved final history file counts, byte totals, providers, and source URLs after immediate cleanup.
|
||
- Reset selected files and their package post-processing state atomically after extraction failures.
|
||
- Waited for cancelled extraction work and resume-state cleanup before restarting reset downloads.
|
||
- Replaced contradictory unchecked package availability counters with a compact unchecked state.
|
||
- Reduced extraction errors, pending extraction phases, password phases, and archive processing to concise visible status labels while retaining full diagnostics in tooltips and logs.
|
||
- Cleared stale archive labels before final package state notifications and history updates.
|
||
- Removed native whole-row dragging that could create a large drag preview while preserving header column reordering and explicit package move actions.
|
||
- Expanded inline package-name editing to the full available name-column width.
|
||
|
||
### Settings and account management
|
||
|
||
- Added history retention choices for the latest 100 or 250 entries.
|
||
- Kept permanent history retention selectable after using a bounded history preset.
|
||
- Replaced native settings selectors with smooth, keyboard-accessible dropdowns for consistent opening and closing motion.
|
||
- Reworked account creation into a compact searchable service table with separate service and access-type columns.
|
||
- Displayed only the credentials required by the selected account type.
|
||
- Separated usernames and email addresses in the account overview so verified email data no longer replaces a stored username.
|
||
- Kept Mega-Debrid access types explicit as `Mega-Debrid (API)` and `Mega-Debrid (Web)`.
|
||
|
||
### Interface fixes
|
||
|
||
- Centered the package sidebar heading and added a high-contrast light-blue module accent.
|
||
- Positioned context menus and nested menus before they become visible, preventing first-frame jumps at window edges.
|
||
- Closed open context menus immediately when another package or file is clicked.
|
||
- Kept context menus inside narrow application windows without introducing horizontal overflow.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for cleanup-safe package progress, persisted progress aggregates, extraction reset state, compact availability, extraction diagnostics, native drag suppression, full-width renaming, animated settings selectors, account identity fields, and viewport-safe context menus.
|
||
|
||
## [2.0.17] - 2026-08-10
|
||
|
||
### Interface fixes
|
||
|
||
- Added smooth horizontal opening and closing transitions to the Backup, Logs, Remote Support, and Diagnostics submenus.
|
||
- Kept nested menus mounted during closing so their exit motion remains visible instead of disappearing immediately.
|
||
- Preserved left-side submenu placement in narrow windows without restoring horizontal overflow.
|
||
- Removed hidden submenu actions from keyboard navigation and respected reduced-motion preferences.
|
||
- Simplified Mega-Debrid API service labels by removing redundant access-mode suffixes while retaining the complete source label as a tooltip.
|
||
- Reduced download and extraction status cells to the active operation and percentage while keeping diagnostic details in tooltips.
|
||
|
||
### Reliability and testing
|
||
|
||
- Branded the development Electron executable with the application name, version metadata, and product icon for Windows system dialogs.
|
||
- Made development launches resilient to stale executable locks by isolating each runtime executable.
|
||
- Added regression coverage for persistent nested-menu rendering, hidden interaction states, and the shared submenu transition.
|
||
- Added a Windows regression check for development executable metadata.
|
||
|
||
## [2.0.16] - 2026-08-10
|
||
|
||
### Downloads and telemetry
|
||
|
||
- Started bandwidth-history collection with the active download session instead of waiting for the Statistics view to be opened.
|
||
- Kept the latest 60 seconds of speed samples available when Statistics is opened later.
|
||
- Updated the sidebar link counter immediately as individual files finish, fail, or leave the active queue.
|
||
- Added locale-aware thousands separators to package, link, and hoster counters.
|
||
|
||
### Interface fixes
|
||
|
||
- Kept nested application-menu entries visible in narrow windows without introducing a horizontal scrollbar.
|
||
- Opened nested right-side menus toward the available left side of the application frame.
|
||
- Changed enabled settings switches to the semantic success color.
|
||
- Changed online file indicators to the semantic success color.
|
||
- Removed overlapping light text fragments from the dark-on-green progress labels and strengthened their weight.
|
||
- Made service and status labels react to their actual column width, with compact labels and complete accessible names and tooltips.
|
||
- Shortened Mega-Debrid service labels in narrow columns while preserving the full account description as a tooltip.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for background bandwidth sampling, 60-second history trimming, nested menu overflow, enabled switch colors, progress-label clipping, responsive service/status cells, immediate queue counts, and localized sidebar counters.
|
||
|
||
## [2.0.15] - 2026-08-10
|
||
|
||
### Highlights
|
||
|
||
- Unified live speed reporting across the header, package table, and sidebar with a single telemetry source and consistent two-decimal formatting.
|
||
- Reworked account creation into one clear service and access-type selector with the relevant credentials form directly below it.
|
||
- Improved dense download views with responsive status labels, clearer progress text, and safer package expansion behavior.
|
||
|
||
### Downloads and telemetry
|
||
|
||
- Removed the redundant Add links toolbar action so Start is now the first download control.
|
||
- Removed the additional renderer delay for large active queues, allowing manager telemetry to appear without a second buffering interval.
|
||
- Kept the header sparkline, package speeds, and sidebar speed synchronized from the same package telemetry snapshot.
|
||
- Preserved known file sizes when an unrestrict response does not provide a replacement size, preventing temporary queue-total drops when a download starts.
|
||
- Restricted package expansion and collapse to the visible disclosure button so ordinary row clicks no longer change the package state.
|
||
- Added compact window labels for link conversion, active downloads, and extraction while retaining complete status details in tooltips and accessibility labels.
|
||
- Removed duplicated access-mode wording from Mega-Debrid service labels while preserving the complete source label as a tooltip.
|
||
|
||
### Interface and accessibility
|
||
|
||
- Added clipped dual-color progress labels so text remains light over the unfilled track and dark over the green fill.
|
||
- Added a dedicated orange bandwidth-chart accent with a restrained matching area fill.
|
||
- Changed active premium account indicators to the success color.
|
||
- Kept the File, Settings, and Help menus inside the application frame at narrow window widths.
|
||
- Added semantic progressbar values and accessible labels to package and file size/progress meters.
|
||
|
||
### Settings and accounts
|
||
|
||
- Replaced the expandable account-type list with a single service/access selector.
|
||
- Displayed the selected account type description and exactly one matching credentials form.
|
||
- Retained the existing account validation, protected secret fields, and save flow.
|
||
|
||
### Reliability and testing
|
||
|
||
- Added regression coverage for stable file-size transitions, unified speed telemetry, responsive status presentation, service-label cleanup, progress contrast, package disclosure behavior, account selection, premium status colors, chart colors, toolbar ordering, and narrow application menus.
|
||
|
||
## [2.0.14] - 2026-08-10
|
||
|
||
### Highlights
|
||
|
||
- Added immediate English/German language switching across the complete interface. New installations now start in English, while existing installations retain their previous language behavior until changed.
|
||
- Added RapidGator file-size discovery before downloads start and accelerated large queue checks with bounded parallel requests.
|
||
- Added package and file availability states with aligned online counters, clear colors, and automatic migration of existing column layouts.
|
||
- Reworked the Downloads workspace for substantially denser queues, smoother interaction, clearer selection, and responsive column sizing.
|
||
- Rebuilt the project README with current documentation and a sanitized screenshot of the application.
|
||
|
||
### Downloads workspace
|
||
|
||
- Reduced package rows to 40 pixels and file rows to 38 pixels so more queue entries fit on screen.
|
||
- Removed the previous blue package-card treatment in favor of flat rows and restrained separators.
|
||
- Changed progress fills to green and unified package/file value contrast.
|
||
- Added stable minimum widths and proportional column distribution so labels and values remain readable at normal window sizes.
|
||
- Centered all data columns while preserving left alignment for package and file names.
|
||
- Increased the action column width and reserved scrollbar space to prevent clipping.
|
||
- Normalized expand buttons to a fixed 30 × 30 pixel footprint.
|
||
- Added a 300 ms measured expand/collapse animation for package files.
|
||
- Added smooth, pointer-based full-column reordering. The dragged header and every visible cell move together while neighboring columns glide aside.
|
||
- Added persistent column-order migration with the new Availability column.
|
||
- Added RapidGator and DDownload hoster icons with full-name tooltips and text fallback for unknown hosters.
|
||
|
||
### Availability and metadata
|
||
|
||
- Added package-level online counters with separate online, partial, offline, and checking states.
|
||
- Added file-level Online and Offline indicators.
|
||
- Aligned availability symbols, counts, separators, and labels on fixed axes.
|
||
- Read RapidGator file names and sizes from the public file page without creating a debrid download.
|
||
- Replaced sequential link checks with bounded concurrency and duplicate-request sharing.
|
||
- Improved retry behavior for transient RapidGator metadata failures.
|
||
- Updated known file and package sizes while the queue is checked.
|
||
- Corrected the sidebar Total value to represent the current queue instead of the historical all-time download counter.
|
||
|
||
### Selection and package controls
|
||
|
||
- Fixed global Select all and Deselect all synchronization for memoized package rows.
|
||
- Increased selection checkboxes to 18 × 18 pixels.
|
||
- Added a green selected-row background and a clear left selection edge.
|
||
- Added Shift range selection across visible package and file rows.
|
||
- Added Escape handling to clear the complete selection, including when a checkbox has focus.
|
||
- Removed the redundant package activation checkbox; activation remains available through context actions.
|
||
- Preserved additive Ctrl/Command selection and bulk actions.
|
||
|
||
### Navigation and animation
|
||
|
||
- Added a shared sliding selection indicator to the main navigation.
|
||
- Added matching sliding indicators to Downloads filters, Settings sections, History ranges, and Statistics periods.
|
||
- Fixed initial category selection so newly opened views appear selected immediately instead of fading in from an empty state.
|
||
- Preserved intentional interface animations when the operating system requests reduced motion.
|
||
- Added slide-in and slide-out transitions to the File, Settings, and Help menus.
|
||
- Kept menu panels within the application window at narrow widths.
|
||
- Added rolling number transitions for package, link, session, total-size, and hoster statistics.
|
||
|
||
### Interface and layout
|
||
|
||
- Added the application icon and a bordered product identity area to the main header.
|
||
- Standardized sidebar geometry across Link collector, Settings, History, and Statistics.
|
||
- Reworked Downloads sidebar actions as permanently recognizable bordered buttons.
|
||
- Moved Monitor clipboard directly above the statistics panel, added the same button surface, and reduced the lower gap.
|
||
- Made clipboard toggling optimistic so the checkbox responds immediately and safely rolls back on an IPC failure.
|
||
- Hid the redundant Files display mode and retained a focused package workflow.
|
||
- Improved header, menu, account-table, progress-value, and status text contrast.
|
||
- Unified the speed indicator with the rest of the application shell.
|
||
- Fixed duplicated Speed wording in the Downloads sidebar summary.
|
||
|
||
### Localization
|
||
|
||
- Added persistent `English` and `Deutsch` language settings.
|
||
- Localized navigation, menus, settings, dialogs, notifications, tooltips, empty states, status labels, history entries, pagination, and update flows.
|
||
- Fixed remaining German history statuses appearing while English was selected.
|
||
- Kept existing installations compatible while setting English as the default for new installations.
|
||
- Localized manual update checks and the GitHub release changelog display.
|
||
|
||
### History, settings, and accounts
|
||
|
||
- Matched History action buttons to the Downloads action-button design.
|
||
- Centered History column headings except Package / File.
|
||
- Changed removed history entries to red and completed entries to green.
|
||
- Unified account-table header text with the primary high-contrast text color.
|
||
- Kept Account Overview and Usage Rules within a stable viewport layout.
|
||
- Aligned the update-check action to the right and kept Save settings visibly disabled when no changes are pending.
|
||
|
||
### Development and reliability
|
||
|
||
- Assigned the downloader development server a fixed port to prevent another Electron project from being opened accidentally.
|
||
- Added strict development URL resolution for the correct Vite instance.
|
||
- Packaged the application icon as an unpacked resource and resolved it from the correct development or installed path for window and tray use.
|
||
- Improved settings migration for language and column-order versions.
|
||
- Added regression coverage for localization, availability, column dragging, navigation indicators, queue totals, metadata checks, selection, clipboard behavior, and responsive layout contracts.
|
||
|
||
## [2.0.13] - 2026-08-10
|
||
|
||
- Rebuilt the primary desktop workspace across Downloads, Link collector, Settings, History, and Statistics.
|
||
- Added compact navigation, contextual sidebars, dense data tables, account management improvements, and responsive layouts.
|
||
- Improved update visibility, dialogs, context menus, notifications, keyboard focus, error recovery, and theme behavior.
|
||
|
||
## [2.0.12] - 2026-08-10
|
||
|
||
- Prevented static Settings text from being selected while keeping editable fields selectable.
|
||
|
||
## [2.0.11] - 2026-08-10
|
||
|
||
- Stabilized the account-management layout when switching between Overview and Usage Rules.
|