github a1175815821/MegaDownloader-Revival v2.6.3

one hour ago

MegaDownloader Revival v2.6.3 — Actionable failure banner, configurable update checks & natural Simplified Chinese

Download — MegaDownloader.exe (single file, all 15 DLLs embedded) or MegaDownloader-Revival-win-x86.zip (portable archive).

Upgrading — close the application, then replace the executable for the single-file edition, or replace the application files with the new ZIP contents. Settings and the download queue remain in %LOCALAPPDATA%\MegaDownloader\. Existing manual language choices and download data are preserved; an uncustomized Simplified Chinese language copy is refreshed to the new wording automatically.

Requirements — Windows 7 SP1 or later · .NET Framework 4.8 (built into Windows 10 1903+).

A failure banner you can act on, update checks on your terms, a fully rewritten natural Simplified Chinese UI, and another round of download / extraction reliability fixes. This release consolidates the user-facing audit fixes since 2.6.2 (24 + 9 + 4 items plus high-risk paths), keeps the 2.6 workbench and the existing single-file / ZIP delivery, and removes dead code.

MegaDownloader v2.6.3 workbench, shown in Simplified Chinese with demonstration tasks

What changes for you

  • A failure banner you can act on. Failed tasks raise a persistent banner with a count. Dismiss it and it stays hidden until the count changes — no more half-second pop-back. "Retry now" retries only recoverable failures; quota failures keep their resume data, and permanently dead links (dead link / wrong key / no permission / broken MetaMAC) are skipped so they don't burn quota.
  • Update checks on your terms. Choose "Manual check only" plus an interval in hours; the background checker no longer pops up on a fixed timer. Help → Check for updates still works on demand and reports the result. An invalid interval (zero / negative / non-numeric) is rejected without saving.
  • Natural Simplified Chinese. All 511 zh-CN strings were rewritten as natural Simplified Chinese (链接 instead of 连接, 任务包 instead of 封装, consistent 设置/保存/文件夹/账号/属性/会话/视频/网络/优先级/重置). On upgrade, an existing language copy that you never customized is synced to the new built-in pack automatically — no need to delete language files by hand.
  • More reliable downloads and extraction. Split keys mangled by chat apps are recognised again; multi-volume archives wait and extract as a set; 7z extraction commits transactionally and rolls back on failure; over-long archive names get unique hash suffixes; encrypted multi-volume RAR errors are localized.
  • Readable themes and safer exits. Light/dark accent, surface and quota-banner text meet WCAG 4.5:1 contrast. Closing the window while extracting (or with queued tasks) warns about corruption danger; waiting for volumes alone no longer triggers a false warning. Proxy host:port parsing and startup queue-load recovery are fixed.
  • Settings polish. "Manual check only" and the hour unit are translated across 10 languages; the browse buttons on the download / template / VLC path rows are content-sized and no longer stretch over their input boxes, including after language switches and window resizing.

Symptoms fixed in this release

  • A failed task's banner reappeared half a second after closing it, and "Retry now" could retry permanently dead links → the banner stays dismissed until the count changes, and retry filters out permanent failures while preserving quota resume data.
  • The update reminder popped up on a fixed schedule even when you only wanted manual checks → "Manual check only" plus a custom hour interval is honoured, and a stale URL/version from a failed check is no longer reused.
  • Simplified Chinese read like machine translation ("连接", "封装") and old installs never saw new wording → the pack is rewritten and uncustomized user copies sync on upgrade.
  • A link whose key was split by spaces/newlines from a chat app stopped working, and the body text was glued into the key → split keys are cleaned only when the result matches the exact key length, and the link type is re-detected from the cleaned text.
  • A multi-volume archive could be reported complete or stuck while later volumes were still arriving → volumes are registered, waited on and completed as one set; a missing first volume can still be registered.
  • A failed 7z extraction could leave renamed files or staging residue → extraction writes to a one-time staging directory and commits via a safe target map, restoring originals on failure.
  • Two long archive names differing only at the end collided → a stable SHA256-based suffix keeps them unique.
  • Encrypted multi-volume RAR without/with a wrong password showed a raw English stack → a localized friendly message is shown.
  • Stop→Start could revive an old download backoff task, and stopping after many chunk failures threw a null-reference → backoff tasks carry a generation check, and the error path records a real detail or "(no error detail recorded)".
  • A streaming upstream failure returned a 502 with leftover media headers → residual headers are cleared and the body length is declared precisely (including gzip).
  • The browse button on a Settings path row stretched to ~593px and covered the input box → buttons are content-driven and stay clear of the input after resize/language change.

Details

Downloading, extraction and error handling

  • Recover 43-character file keys and 22-character folder keys split by inserted whitespace, adopting the cleaned result only when it equals the standard key length; re-identify the link type from cleaned text so folder links are not misjudged by file-key length.
  • Close the multi-volume wait state machine with a new EsperandoVolumenes state: multiple codes of one archive register, wait, complete or fail together; later volumes join the same wait record and refresh the window. The enum value is appended at the end and persisted by symbolic name to keep old queue numeric compatibility.
  • 7z extraction writes to a one-time staging directory, then commits via an "original relative name → PathGuard safe target" map; the old predictive pre-rename is removed and failures restore original files and names. Managed ZIP/RAR/TAR extraction follows the same "clear the preserved table only on successful commit, restore on failure" rule.
  • Archive entry names over 240 characters get a stable hash suffix from the first six bytes of SHA256; staging performs real target mapping and duplicate-target detection per entry.
  • The extracted ledger combines length, modification time and a SHA256 digest of the first 8 KB instead of a single timestamp, computed outside the global queue lock; changing volumes are not misjudged by an old completion ledger.
  • Localize encrypted multi-volume RAR password errors; IsIncompleteVolumeError() no longer treats every Cannot open... as a missing volume without diagnostic evidence and a multipart context.
  • Download backoff tasks record a generation and check it before waiting, re-queueing and spawning workers; chunk-error self-healing clears FechaUltimoErrorChunk. Stopping after repeated chunk failures no longer throws a null-reference.
  • The streaming 502 path clears residual Content-Length, Content-Range, Accept-Ranges, Content-Disposition, Content-Encoding and Content-Type media headers and declares the body via ContentLength (gzip returns the compressed length).

Interface, theme and interaction

  • Add a persistent failure banner with a count, dismiss-stays-hidden behaviour, count-change re-notification, and a "Retry now" that filters permanent failures and preserves quota resume data; the banner auto-hides when the failure count reaches zero.
  • Light/dark accent, surface and quota-banner text reach WCAG 4.5:1 contrast (White-on-Red fixed), with a theme-contrast regression.
  • Make the browse buttons on the download / template / VLC path rows content-sized so they no longer cover their input boxes across language switches and 720/880/1080 widths.
  • Warn about corruption danger when closing the window during extraction or with queued tasks; waiting for volumes alone (no active extraction, no pending queue) no longer raises the warning.

Language and wording

  • Rewrite all 511 Simplified Chinese strings as natural Simplified Chinese with consistent terminology, and add the two previously missing keys (failure banner, update-interval error).
  • Sync an uncustomized on-disk user language copy to the new built-in pack on upgrade; customized copies are left untouched.
  • Translate "Manual check only" across 10 languages and the update-interval unit (小时 / 小時 / hours / …) instead of an untranslated "h".
  • Update the About contact email to a1175815821@163.com.

Update checks and startup recovery

  • Make update checks configurable: "Manual check only" plus an hour interval disables the fixed background timer; Help → Check for updates still works on demand. Reject an invalid interval without saving.
  • Updater clears the ByRef URL and version before each check so a network/XML failure cannot reuse a stale result; while backgrounded or minimized it records the queued/suppressed version to avoid per-second re-entry, and reschedules when a new version appears.
  • The startup queue-load failure path uses transient write protection only; genuine corruption is classified by the loader, so a transient file lock no longer restores an old .bak over the current queue, and recovery can re-engage after a load failure.

Code and documentation cleanup

  • Remove 18 unreferenced dead members across 14 source files (148 lines): the decommissioned IPC remoting entry point, an unwired SSL callback and button handlers, an XP version check, and redundant wrapper methods. No fully unreferenced types remain.
  • Delete the stray build artifact My Project/Resources.resources (384 KB; the build generates resources under obj/), move two root-level audit notes into docs/, and remove empty directories and stale .gitignore entries.

MegaDownloader v2.6.3 settings with automatic language selection

Documentation and verification

  • Debug and Release builds compile without warnings, and their complete regression suites pass 1102 assertions each (924 → 1006 → 1102). New cases cover failure-banner retry / permanent filtering, theme contrast, browse-button geometry, a Simplified-vs-Traditional glyph guard, user language-copy sync, encrypted multipart RAR messages, split keys, long-name hash uniqueness, non-first-volume waiting, and the StreamingModule raw-TCP 502 response.
  • The release ZIP keeps the explicit list: the executable, 15 dependency DLLs and runtime configuration — 17 files. All 15 DLLs are also embedded in the standalone EXE; the EXE inside the ZIP matches the standalone asset. Logs, PDBs, user data, test output, temporary screenshots and local tooling are excluded from commits and uploads.
  • Version metadata, three READMEs, the changelog, contributor guides, issue template and screenshots are synchronized. Display/update version: 2.6.3; assembly/file/project/update-feed version: 2.6.3.0.
  • Real MEGA transfers, full process cold-start measurements and multi-monitor/high-DPI behavior on other devices are outside this isolated verification. RAR4/RAR5/legacy-volume and TAR real samples are verified manually by the maintainer, not in the regression fixtures.

简体中文摘要

2.6.3 汇总 2.6.2 之后的多轮用户可见审计修复,新增可一键重试的失败横幅与可配置更新检查,整体重写简体中文文案,并加固下载与解压可靠性、清理死代码。

  • 失败任务弹出常驻横幅并显示计数,关闭后保持隐藏、计数变化才重新提醒;「立即重试」只重试可恢复失败(配额失败保留断点),永久失效链接跳过以免消耗配额。
  • 更新检查可选「仅手动检查」加自定义间隔(小时),后台不再固定定时弹窗;帮助菜单仍可手动检查。检查失败不再沿用旧 URL/版本。
  • 511 条简中文案整体重写为自然简体(链接/任务包等统一术语),旧安装升级时未自定义的语言副本自动同步;「仅手动检查」与小时单位按语言显示,浏览按钮不再拉宽压住输入框。
  • 分裂 key 链接重新识别;多卷归档成套等待与解压;7z 事务式提交、失败回滚;超长归档名哈希唯一化;加密多卷 RAR 错误本地化;流媒体 502 清除残留媒体头;下载退避代际与取消空引用修复。
  • 深浅色主题对比度达 WCAG 4.5:1;解压中关窗提示损坏风险;代理 host:port 解析与启动队列加载失败恢复修复。
  • 移除 18 个零引用死成员(14 文件、148 行)与构建产物 Resources.resources,文档归档整理。Debug / Release 完整回归各通过 1102 项断言。
  • 升级前关闭程序,单文件版替换 EXE,ZIP 版替换包内程序文件;配置与队列仍保存在 %LOCALAPPDATA%\MegaDownloader\。发布包仅含规定的 17 个文件,两个资产中的 EXE 一致。本轮未验证真实 MEGA 传输与完整冷启动。

完整明细见 CHANGELOG。

Кратко по-русски

2.6.3 объединяет несколько раундов исправлений аудита после 2.6.2: баннер ошибок с повтором, настраиваемую проверку обновлений, полностью переписанный естественный упрощённый китайский и повышение надёжности загрузки и распаковки.

  • Неудачные задачи показывают постоянный баннер со счётчиком; после закрытия он скрыт, пока счётчик не изменится. «Повторить» повторяет только восстановимые сбои (сбои квоты сохраняют докачивание); безнадёжные ссылки пропускаются.
  • Проверка обновлений: «Только ручная проверка» плюс интервал в часах; фоновая проверка больше не всплывает по таймеру. Справка → Проверить обновления работает по запросу.
  • Все 511 строк zh-CN переписаны как естественный упрощённый китайский; неизменённые пользовательские копии синхронизируются при обновлении. «Только ручная проверка» и единица часов переведены; кнопки обзора не растягиваются поверх полей ввода.
  • Разделённые ключи снова распознаются; многотомные архивы ждут и распаковываются комплектом; 7z распаковывается транзакционно с откатом; сверхдлинные имена получают уникальные хеш-суффиксы; ошибки зашифрованных многотомных RAR локализованы; ответ 502 стриминга очищает остаточные заголовки.
  • Контраст светлой/тёмной темы соответствует WCAG 4.5:1; закрытие окна во время распаковки предупреждает о риске повреждения; исправлены разбор proxy host:port и восстановление загрузки очереди при старте.
  • Удалены 18 неиспользуемых мёртвых членов (14 файлов, 148 строк) и артефакт сборки Resources.resources; документы упорядочены. Наборы Debug / Release проходят по 1102 проверки.
  • Для обновления закройте приложение и замените EXE либо файлы из ZIP. Настройки и очередь остаются в %LOCALAPPDATA%\MegaDownloader\. ZIP содержит ровно 17 файлов; EXE в ZIP совпадает с отдельным активом. Реальные передачи MEGA и полный холодный запуск в этой изолированной проверке не выполнялись.

Full Changelog: v2.6.2...v2.6.3

Don't miss a new MegaDownloader-Revival release

NewReleases is sending notifications on new releases.