Files
GOGUpdater/CHANGELOG.md
T

4.5 KiB

Changelog

[1.2.0] — 2026-06-06

Features

  • Background threading — library refresh, update checks and downloads now run off the GUI thread, so the app no longer freezes during network or disk I/O
  • Parallel product-info fetching — up to 16 concurrent requests dramatically speed up library refresh and update checks (previously one request per game, sequentially)
  • Download progress — per-file byte progress bar with live transfer speed, plus a Cancel button to abort an in-progress download

Improvements

  • "Scan Existing Installers" now matches sanitized folder names and marks detected games as managed, so they appear checked in the Library tab
  • In-session caching of product info and owned game IDs in the GOG API client, cleared at the start of each manual refresh
  • Atomic writes for config.json, metadata and auth tokens — a crash mid-write can no longer corrupt them
  • User-Agent header now reports the real application version
  • File logging to ~/.config/gogupdater/gogupdater.log (2 MB rotation) plus verbose diagnostics and logging of uncaught exceptions raised inside Qt slots

Fixes

  • Background workers were garbage-collected before running, so "Refresh Library" and "Check for Updates" did nothing — workers are now kept alive until their thread finishes
  • Download resume no longer corrupts files when the server ignores the HTTP Range request (falls back to a full re-download)

Tests

  • Added unit tests for folder-name sanitization, version comparison, prune strategies, atomic writes and the threading helpers; rewrote the stale constants test to match the current module

[1.1.0] — 2026-05-13

Features

  • Dedicated Pruning tab — global keep-count setting with four strategies: latest N only, latest N + oldest, latest N + one per year, latest N + one per year + oldest
  • Per-game pruning overrides — exclude individual games from global pruning or set a custom keep count, configurable via the existing game settings dialog
  • Prune confirmation dialog shows a per-platform preview (Windows and Linux pruned independently — no cross-platform version comparison)

Changes

  • Pruning controls removed from Status tab and moved to the new Pruning tab
  • Fixed bug in prune_old_versions(): installer list was reassigned inside the loop and latest_version was not updated after pruning

[1.0.1] — 2026-05-12

Improvements

  • Version decision cache — ambiguous version comparisons are stored in config.json; the dialog is shown only once per version pair, answer is reused on subsequent checks
  • Library → Status propagation — after "Refresh Library", the Status tab is automatically populated for both platforms without additional API calls; product data fetched during library refresh is reused directly
  • Download logic refactored into _run_download_for_platform() shared helper

[1.0.0] — 2026-04-09

Features

  • GOG OAuth2 authentication — browser-based login, paste authorization code
  • Game library browser with checkboxes for management, DLCs as sub-items
  • Windows / Linux platform switcher in Library and Status tabs (games shown only for platforms where installers exist)
  • Per-language installer management — each language tracked independently, version comparison per language
  • Language selection tab — choose which languages to download globally
  • English-only mode — single toggle to skip language subfolders entirely
  • Bonus content support — soundtracks, wallpapers, manuals etc. stored in GameName/Bonus/
  • Per-game settings override — double-click any game in Library to configure languages, english-only and bonus per game
  • Folder name sanitization — strips ®, ™, replaces : with -, collapses spaces
  • Version comparison — numeric dot-separated comparison with GOG suffix stripping; ambiguous versions ask user via dialog
  • Status tab — per-language version display, color-coded status (up to date, update available, not downloaded, unversioned)
  • Download with resume support (HTTP Range), real filename extracted from CDN URL
  • Prune old versions — keep N most recent, configurable per platform
  • Metadata integrity check — stale entries (manually deleted files) cleaned automatically on each check
  • Scan existing installers — detect already-downloaded files from correct folder structure and import into metadata
  • Version history dialog — double-click game in Status tab to see all downloaded versions with delete options
  • DLC installers stored in parent game's folder, not separate folders
  • Windows-only games do not download bonus content to Linux path and vice versa