Ctrl K
ComunidadGuías…

CHANGELOG.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
## v1.0.238 (2026-11-06)

### Changes
- Send a User-Agent header when fetching NZB files (#14) (3a8d225)

## v1.0.237 (2026-11-04)

### Changes
- chore: bump vitest to 4.1.12, override minimatch 11, audit fix glob (56ed752)

## v1.0.236 (2026-11-04)

### Changes
- fix metadata review collisions and ignored scan items (0a5bae1)
- fix frontend: api client, polling, translations, build and tests (4162d5e)
- fix local-media paths, Steam prices, GOG tokens, path guard (9556003)
- security: tighten auth, TLS, perms, logging; update tests (025f2c7)
- fix frontend: remove react-query, stale pages and unused code (4e5d30f)
- fix imports, downloads, IGDB, indexer, resort and state files (aca8282)
- security: headless requires api key, sanitize GOG and emulator paths (c81928c)

## v1.0.235 (2026-11-04)

### Changes
- fix platform folder names: align with Batocera, RetroBat and ES-DE (4a6cef3)

## v1.0.234 (2026-11-04)

### Changes
- fix large library performance: resort, sync, scan and page loads (331a607)

## v1.0.233 (2026-11-01)

### Changes
- fix NZBGet state mapping and handle job id restarts (1de31ee)

## v1.0.232 (2026-11-01)

### Changes
- chore: update dependencies for security fixes (f42aeb6)
- fix problems page: resolve state, selection filter, bulk delete (8427f39)

## v1.0.231 (2026-11-01)

### Changes
- fix problems page timeouts with fewer columns and no disk checks (7b1a528)

## v1.0.230 (2026-11-01)

### Changes
- handle nzb files directly in nzbget and sabnzbd (88db9c2)

## v1.0.229 (2026-10-28)

### Changes
- follow magnet redirects in Transmission to fix Prowlarr 301s (b58761b)

## v1.0.228 (2026-10-17)

### Changes
- make postgres and mariadb work: schema, dates, migration and connection checks (5af6c81)

## v1.0.227 (2026-10-10)

### Changes
- Translations completed (b1ccf5b)

## v1.0.226 (2026-10-10)

### Changes
- keep linked updates across scans, fix title cleanup, merges and list status (a6b4fcf)

## v1.0.225 (2026-10-10)

### Changes
- run setup as PUID and keep prefill folders writable (8d926c7)

## v1.0.224 (2026-10-10)

### Changes
- run as PUID/PGID and fix config folder ownership on start (a91e1cc)

## v1.0.223 (2026-09-30)

### Changes
- harden imports, deletes and library scans (e01371a)
- treat a game whose files are gone as missing and search it again (f5a1985)
- name imports once and never replace a library file (6d7e4a6)
- stop the monitor from grabbing a game twice (0921d0f)
- show rejected releases, sent queries and indexer errors in search (1df13a6)
- never overwrite an existing file on import (346eb0c)
- show the detected platform in the release search table (7c21a94)

## v1.0.222 (2026-09-28)

### Changes
- tighten api auth, the emulator player and secret handling (af7e5a4)

## v1.0.221 (2026-09-28)

### Changes
- move to webpack-dev-server 6 (3e16af4)
- move to react router 7 (ff7ef8b)
- update vulnerable dev dependencies in the lockfile (549a32d)

## v1.0.220 (2026-09-27)

### Changes
- keep platforms on legacy entries and fix duplicate label warnings (3ffac1d)
- map a platform per download from the queue (623f245)
- only match tracker names on equality (d3d9c66)
- key download history by client (7cbc441)
- match tracked releases by their real name (fed9dea)
- track downloads per client and by transmission hash (a581953)
- show client status messages and fall back in manual import (4d7f7a1)
- keep jackett categories and deluge ssl in automatic search (4431977)
- fix platform pickers and igdb ids in the library (76ecea7)
- only clean up rar volumes that were actually extracted (4622bab)
- fix wrong igdb platform ids and duplicated unwanted extensions (472c854)
- map missing qbittorrent states and handle the no-subfolder layout (7c99360)
- create a missing sabnzbd category and scope history to it (f769863)
- label deluge torrents and map queued and finished states (db2431a)
- fix nzbget queue actions, history states and nzb names (f5995b0)
- fix transmission labels, ids and finished state (a345fc5)
- keep seeding torrents intact on import and ask before deleting (281ea23)
- add a security policy (34fb2a5)
- match IGDB platforms in the add picker by id (559b634)
- let a platform tag in the title beat a coarse console category (984ceb8)
- only fetch the configured category from download clients (05ce7c8)

## v1.0.219 (2026-09-04)

### Changes
- make the manual full re-download opt-in (10e5185)

## v1.0.218 (2026-09-04)

### Changes
- retry the apps a prefill run skipped (c1450ab)

## v1.0.217 (2026-08-31)

### Changes
- pass one --os per operating system to the prefill (d2455ef)

## v1.0.216 (2026-08-31)

### Changes
- add an update button for the prefill tools (5f3d168)

## v1.0.215 (2026-08-31)

### Changes
- run scheduled prefills without --force (aa057cb)

## v1.0.214 (2026-08-25)

### Changes
- keep the about link clear of the floating language switcher (2488bf6)

## v1.0.213 (2026-08-25)

### Changes
- make about reachable from the sidebar footer and the retroarr wordmark (242cc4b)

## v1.0.212 (2026-08-25)

### Changes
- add ko-fi and paypal donation links next to github sponsors (4536a88)

## v1.0.211 (2026-08-25)

### Changes
- add persistent prefill run history and a dedicated prefill log channel (8f07da7)

## v1.0.210 (2026-08-21)

### Changes
- persist prefill schedules immediately and add per-provider time windows (83ab3d9)

## v1.0.209 (2026-08-21)

### Changes
- per-provider prefill schedules and a stop button for running prefills (355d760)

## v1.0.208 (2026-08-20)

### Changes
- revert steam session reuse: it invalidated the prefill login; show selected family titles safely (c05dccd)

## v1.0.207 (2026-08-20)

### Changes
- show steam family library in the picker by reusing steamprefill's session (3a9fd6e)

## v1.0.206 (2026-08-20)

### Changes
- prefill: saved selection always wins over --all, and gui save keeps family picks (51580e4)

## v1.0.205 (2026-08-20)

### Changes
- prefill only selected games by default and add a steam game picker in the gui (a57d936)

## v1.0.204 (2026-08-20)

### Changes
- sanitize illegal name chars to a dash and let per-game rename fix mangled folders (5cea12b)

## v1.0.203 (2026-08-20)

### Changes
- sanitize file/folder names against the windows-reserved set on linux (20246da)

## v1.0.202 (2026-08-20)

### Changes
- fix prefill startup crash: give the non-root user a writable HOME (46ed5b3)

## v1.0.201 (2026-08-20)

### Changes
- fix emulatorjs cdn path (stable->latest) and document monitoring + lancache (b0873a7)

## v1.0.200 (2026-08-20)

### Changes
- lancache prefill: add battle.net and epic, generalize provider orchestration (c15d6db)

## v1.0.199 (2026-08-18)

### Changes
- lancache phase 2: orchestrate bundled steamprefill to warm the cache (636b943)

## v1.0.198 (2026-08-18)

### Changes
- lancache integration phase 1: settings, reachability status, steam reconcile (19063e9)

## v1.0.197 (2026-08-18)

### Changes
- fix slow game detail load: stop blocking GetById on a live igdb fetch (6142241)

## v1.0.196 (2026-08-18)

### Changes
- map & import game search for main games; fix stale-chunk hard-refresh (890ab9a)

## v1.0.195 (2026-08-18)

### Changes
- ci do not fail image build when emulatorjs cdn is unavailable (ab5cfc9)

## v1.0.194 (2026-08-18)

### Changes
- ci retry emulatorjs downloads on transient http errors too (7fc41ac)

## v1.0.193 (2026-08-18)

### Changes
- ci harden emulatorjs asset download against transient CDN failures (055e9cb)

## v1.0.192 (2026-08-18)

### Changes
- fix game card status: show availability check/x instead of blank box (16236b5)

## v1.0.191 (2026-08-18)

### Changes
- fix SharpCompress 0.48 API: Open renamed to OpenArchive (c3687ab)
- chore fix dependabot vulnerabilities (d4f0e6b)

## v1.0.190 (2026-08-18)

### Changes
- feat monitor toggle on game detail page, move card marker top-left (fd7cf54)

## v1.0.189 (2026-08-18)

### Changes
- feat per-game and per-platform monitoring toggle (7e0f70d)

## v1.0.188 (2026-06-04)

### Changes
- Add explicit queue buttons to search results (57dd10f)

## v1.0.187 (2026-05-31)

### Changes
- feat epic free games (b947ced)

## v1.0.186 (2026-05-31)

### Changes
- test epic account wiring (2d85788)

## v1.0.185 (2026-05-25)

### Changes
- fix patch rename versions (6fddb0b)

## v1.0.184 (2026-05-25)

### Changes
- fix search result age (d9bd993)

## v1.0.183 (2026-05-25)

### Changes
- fix wishlist reload loop (7891c6d)

## v1.0.182 (2026-05-24)

### Changes
- auto-rename imported games and bind preferred release group (7624c7c)

## v1.0.181 (2026-05-24)

### Changes
- prompt for api key on first launch when bootstrap fails (3dd1eea)

## v1.0.180 (2026-05-24)

### Changes
- reconnect signalr hub when api key changes (02e55ef)

## v1.0.179 (2026-05-24)

### Changes
- fix monitor settings duplicating defaults on every save (6f73ef4)

## v1.0.178 (2026-05-24)

### Changes
- auto-search and download for monitored games (e9f51bd)

## v1.0.177 (2026-05-24)

### Changes
- wishlist auto-poller, webhook events, and payload presets (59fd480)

## v1.0.176 (2026-05-24)

### Changes
- add steam price tracking for wishlisted games (3a30401)

## v1.0.175 (2026-05-24)

### Changes
- translate proxy settings ui in all 7 languages (88fd6e3)

## v1.0.174 (2026-05-16)

### Changes
- add http and socks5 proxy for outgoing connections (66dbc41)

## v1.0.173 (2026-04-30)

### Changes
- stop dropping real games and fix epic store graphql request shape (7366995)

## v1.0.172 (2026-04-30)

### Changes
- harden epic http requests, surface logs, extend sync timeout (0370b73)

## v1.0.171 (2026-04-30)

### Changes
- add epic store metadata provider via public graphql (cfedd19)

## v1.0.170 (2026-04-30)

### Changes
- add epic games account integration with library sync (da816f8)

## v1.0.169 (2026-04-30)

### Changes
- link in-game patches and dlcs to parent on windows-style platforms (3664067)

## v1.0.168 (2026-04-30)

### Changes
- scope rename preview to the requested game, skip orphan scan (9cca4b0)

## v1.0.167 (2026-04-30)

### Changes
- skip already-imported and already-queued items during discovery scan (1357d4a)

## v1.0.166 (2026-04-30)

### Changes
- add translations for thegamesdb and steamgriddb provider sections (d286ee8)

## v1.0.165 (2026-04-30)

### Changes
- add discover-only scan with persistent import queue (446684b)

## v1.0.164 (2026-04-30)

### Changes
- extend per-platform metadata source override to thegamesdb and steamgriddb (604ba72)

## v1.0.163 (2026-04-30)

### Changes
- add steamgriddb image-only fallback for missing artwork (b269a3a)

## v1.0.162 (2026-04-30)

### Changes
- add thegamesdb metadata provider as third fallback (4a2843f)

## v1.0.161 (2026-04-30)

### Changes
- split connections and indexers into focused settings tabs (3ea5c67)

## v1.0.160 (2026-04-30)

### Changes
- fix screenscraper false-positive quota on every authenticated response (edf44a9)

## v1.0.159 (2026-04-30)

### Changes
- route unresolved platform scans to Unknown sentinel (fa33de6)

## v1.0.158 (2026-04-29)

### Changes
- align docs and landing with code, strip em-dashes (19aa025)

## v1.0.157 (2026-04-29)

### Changes
- surface screenscraper quota and auth errors in search (c08ac85)

## v1.0.156 (2026-04-29)

### Changes
- refresh documentation screenshots (2ce1684)

## v1.0.155 (2026-04-29)

### Changes
- stop scanning inside folder-mode game folders (54ac347)
- chore: bump version to v1.0.154 [skip ci] (338cfbf)
- drop em-dash from skip message (19719ef)
- wire api key + locale into screenshot capture script (3cf80b3)

## v1.0.154 (2026-04-29)

### Changes
- drop em-dash from skip message (19719ef)
- wire api key + locale into screenshot capture script (3cf80b3)

## v1.0.153 (2026-04-29)

### Changes
- keep gog dlc and patch installers attached to parent game (fd6aa84)

## v1.0.152 (2026-04-29)

### Changes
- prune container orphans on repair and heal (76f9257)
- show region flag outside hover overlay (a825496)
- stop merging regional dumps as duplicates (2853679)
- stop scanning inside .psvita and .ps4 folders (02b44ae)

## v1.0.151 (2026-04-29)

### Changes
- patch dependabot-flagged npm vulnerabilities (928e487)

## v1.0.150 (2026-04-29)

### Changes
- expand scanner extensions to match batocera coverage (682f520)
- add folder aliases for batocera variant slugs (17091a5)

## v1.0.149 (2026-04-29)

### Changes
- show cue companions in game detail files (edec7ad)

## v1.0.148 (2026-04-28)

### Changes
- close gog download stream before handing to import (feb9e8f)

## v1.0.147 (2026-04-28)

### Changes
- surface real reason when post-download import fails (23957d6)

## v1.0.146 (2026-04-28)

### Changes
- auto-create folders and surface permission diagnostics (174d425)

## v1.0.145 (2026-04-28)

### Changes
- let post-download import work without Directory.Exists check (17b8866)

## v1.0.144 (2026-04-28)

### Changes
- stage gog downloads then route via postdownload processor (f511532)

## v1.0.143 (2026-04-28)

### Changes
- surface folder/gog endpoint error reasons in the toast (0ac2248)

## v1.0.142 (2026-04-28)

### Changes
- stop folder + gog endpoints from 400/500 on unmounted libraries (8efaa8f)

## v1.0.141 (2026-04-28)

### Changes
- claim cue from bin and stop merging cross-platform releases (a11f46e)

## v1.0.140 (2026-04-28)

### Changes
- resync game files on rescan, route gog downloads to library (873afb5)

## v1.0.139 (2026-04-28)

### Changes
- register cue/bin companions as game files (66f38ae)

## v1.0.138 (2026-04-27)

### Changes
- auto-merge duplicates after platform heal (3186d46)

## v1.0.137 (2026-04-27)

### Changes
- encrypt postgres password and rebuild library search (6caf688)

## v1.0.136 (2026-04-27)

### Changes
- drop tracked perf-baseline scratch dir from repo (1eecc9b)

## v1.0.135 (2026-04-27)

### Changes
- detect and merge duplicate game rows in health check (81f4a6e)

## v1.0.134 (2026-04-27)

### Changes
- pair cue/bin and stem-matched companions into one game (a71f82c)

## v1.0.133 (2026-04-27)

### Changes
- wire web emulation by slug and stop false update prompts (7069152)

## v1.0.132 (2026-04-27)

### Changes
- surface full rom path in ui, harden scanner and rom serving (72f4051)

## v1.0.131 (2026-04-19)

### Changes
- wire platform fk to existing Games collection (dc21025)

## v1.0.130 (2026-04-19)

### Changes
- add library health check, repair and reset flow (59e445f)

## v1.0.129 (2026-04-19)

### Changes
- bump 8.0.x deps and silence raw-sql warnings (a51fde0)
- keep library views reactive via signalr bridge (2bb3ada)
- harden game validation and rescue orphan platforms (0232aba)
- validate PlatformId server-side before persisting (5f4b144)
- finish dropping the stale platform block from controller (addf97b)
- clean up platform mapping and tighten detector (8d11068)

## v1.0.128 (2026-04-17)

### Changes
- strip any absolute url from the rom query param (17e896c)

## v1.0.127 (2026-04-17)

### Changes
- use relative urls in emulator player html (d885094)

## v1.0.126 (2026-04-17)

### Changes
- send emulator player back through Content() (3eac77f)

## v1.0.125 (2026-04-17)

### Changes
- scope coop/coep to the spa fallback only (ac9df79)

## v1.0.124 (2026-04-17)

### Changes
- use credentialless coep so psp works and covers keep loading (eb20935)

## v1.0.123 (2026-04-17)

### Changes
- trim filler comments and toast text (3af1cb9)

## v1.0.122 (2026-04-17)

### Changes
- clean up disclaimer and site phrasing (0aa004b)
- tighten user-facing strings (fb3346a)
- trim xml doc noise and tighten log messages (c01fda6)

## v1.0.121 (2026-04-17)

### Changes
- trust private-range proxies by default (7084e54)

## v1.0.120 (2026-04-17)

### Changes
- fix regex ordering and pin cross-origin headers in swag config (962a8a2)

## v1.0.119 (2026-04-17)

### Changes
- drop duplicate proxy_http_version from swag config (97362d6)

## v1.0.118 (2026-04-17)

### Changes
- add swag subdomain config (a21241f)

## v1.0.117 (2026-04-17)

### Changes
- exempt rom endpoint from api key auth (33f6277)

## v1.0.116 (2026-04-17)

### Changes
- show readable banner when SharedArrayBuffer isn't exposed (cc279d1)

## v1.0.115 (2026-04-17)

### Changes
- write emulator html directly and widen cert SAN (c664023)

## v1.0.114 (2026-04-17)

### Changes
- fix covers dropping and reverse proxy scheme detection (f19cd61)

## v1.0.113 (2026-04-17)

### Changes
- optional https on port 2728 with self-signed cert (a71ea03)

## v1.0.112 (2026-04-17)

### Changes
- explain threaded cores need https or localhost (3440c61)

## v1.0.111 (2026-04-16)

### Changes
- serve emulator page from backend with coop/coep headers (ff5e544)

## v1.0.110 (2026-04-16)

### Changes
- throttle scan events and fix emulator 401 on remote access (7f275ec)

## v1.0.109 (2026-04-16)

### Changes
- also scan loose files in folder-mode platform dirs (0b70f23)

## v1.0.108 (2026-04-16)

### Changes
- fix switch 2 sharing foldername with switch, making it unreachable (c944678)

## v1.0.107 (2026-04-15)

### Changes
- clear missing on merge rediscovery and add adhoc platform heal (9577a8e)

## v1.0.106 (2026-04-15)

### Changes
- show protondb slot on pc and steam cards and sort by tier (4f51bf8)

## v1.0.105 (2026-04-15)

### Changes
- heal wrong platform from path and push live refresh after fix (b7f4d24)

## v1.0.104 (2026-04-15)

### Changes
- add library filters for missing and protondb plus retention setting (8812366)

## v1.0.103 (2026-04-15)

### Changes
- flag stale games as missing and sweep orphans on full scan (5148beb)

## v1.0.102 (2026-04-14)

### Changes
- stamp media urls with api key so img and video load on lan (da50f8f)

## v1.0.101 (2026-04-14)

### Changes
- metadata updates stop choking on region-variant duplicates (3615a52)

## v1.0.100 (2026-04-14)

### Changes
- delete moves to trash, not a wipe no more folder-wide mistakes (482ef7b)

## v1.0.99 (2026-04-14)

### Changes
- log the inner cause when game update fails (cc59fa6)

## v1.0.98 (2026-04-14)

### Changes
- fix game update 500, sidebar 401 on lan, cache serializer cycle (6820779)

## v1.0.97 (2026-04-14)

### Changes
- api access: show retrieval hint when bootstrap can't fetch the key (87a838c)

## v1.0.96 (2026-04-14)

### Changes
- harden auth, encrypt creds, new retro UI (65573f1)
- fix: include ProtonDbTier in GameDetails API response, enlarge badges (d7fea34)
- chore: bump version to v1.0.91 [skip ci] (5393336)
- chore: bump version to v1.0.70 [skip ci] (f347632)

## v1.0.94 (2026-03-21)

### Changes
- feat: ProtonDB compatibility ratings for Steam games (3e9678c)

## v1.0.93 (2026-03-20)

### Changes
- fix: resume Steam sync progress on ConnectionsTab remount (e791beb)

## v1.0.92 (2026-03-20)

### Changes
- fix: Steam sync timeout for large libraries (7477e9e)
- perf: server-side pagination, bulk reviews, response compression, PlatformId index (d0734b7)
- chore: bump version to v1.0.91 [skip ci] (2027cfc)

## v1.0.91 (2026-03-20)

### Changes


## v1.0.90 (2026-03-20)

### Changes


## v1.0.89 (2026-03-20)

### Changes
- security: mask credentials in API responses, extend log redaction (2bfa355)
- README: add PlayStation serial number detection to features list (2fa5f49)
- Fix platform icons: replace IGDB-based ID map with RetroArr internal IDs (5314352)

## v1.0.88 (2026-03-20)

### Changes
- Fix PSX serial prefix not stripped from game titles (3058a54)

## v1.0.87 (2026-03-20)

### Changes
- Fix invisible scraper modal: replace raw divs with Modal component (942ba04)

## v1.0.86 (2026-03-20)

### Changes
- Fix dead rescan buttons: remove disabled guard, let backend be authority (11077ed)

## v1.0.85 (2026-03-20)

### Changes
- Fix lint: replace catch(err: any) with catch(err: unknown) (a2f8a16)
- Fix rescan buttons: add cancel endpoint, visible error feedback, stuck detection (2f78d8c)

## v1.0.84 (2026-03-20)

### Changes
- Fix metadata rescan replacement, persistent progress, library performance (6f468cf)

## v1.0.83 (2026-03-20)

### Changes
- Add per-platform metadata source selection (IGDB/ScreenScraper) (239ddcd)

## v1.0.82 (2026-03-20)

### Changes
- Fix platform rules: PS Vita, PS3, PS4, PSP, PSX, Switch extensions + RetroBat aliases (100f814)

## v1.0.81 (2026-03-20)

### Changes
- Fix GOG patch downloads missing extensions + scanner creating duplicates (c8d254f)

## v1.0.80 (2026-03-19)

### Changes
- Fix GOG downloads missing file extensions (198c250)

## v1.0.79 (2026-03-19)

### Changes
- Render game description as HTML instead of raw text (823167f)
- Show GOG downloads in Downloads page with progress tracking (9e1e82c)

## v1.0.78 (2026-03-19)

### Changes
- Fix GOG download: use embed.gog.com API + redirect handling + token refresh (b5bb7df)

## v1.0.77 (2026-03-19)

### Changes
- Fix GOG downloads parser: handle nested language-wrapped format (ba60aae)

## v1.0.76 (2026-03-19)

### Changes
- Fix UNIQUE constraint crash in MetadataReview ConfirmMatch (7fb4a90)

## v1.0.75 (2026-03-19)

### Changes
- Fix scan regression: library root /media blocked + platform detection never used (e0a7957)

## v1.0.74 (2026-03-19)

### Changes
- Fix scanner randomly stopping + missing platforms with loose files (bcad635)

## v1.0.73 (2026-03-19)

### Changes
- Auto-export metadata images/videos to platform folders (RetroBat/Batocera/ES convention) (9eb543e)
- Add local media support: images + videos from RetroBat/Batocera folder convention (e017162)
- Fix ScreenScraper returning only cover: fetch full details via jeuInfos after search (795f623)

## v1.0.72 (2026-03-19)

### Changes
- Add scraper choice dialog for metadata rescan + dual-source candidates in metadata review (21a04d6)

## v1.0.71 (2026-03-19)

### Changes
- Fix ScreenScraper metadata not applied when selecting search results in Edit Game modal (773ac71)
- chore: bump version to v1.0.70 [skip ci] (d78b4c7)
- Add diagnostic logging to ScreenScraper search + lookup controller (6be3016)
- Fix ScreenScraper API: correct base URL, pass dev credentials to test endpoint, add error logging (a760128)
- chore: bump version to v1.0.69 [skip ci] (e8aa7ad)
- Initial commit (bec24f8)

## v1.0.70 (2026-03-19)

### Changes
- Add diagnostic logging to ScreenScraper search + lookup controller (6be3016)
- Fix ScreenScraper API: correct base URL, pass dev credentials to test endpoint, add error logging (a760128)
- chore: bump version to v1.0.69 [skip ci] (e8aa7ad)
- Initial commit (bec24f8)

## v1.0.69 (2026-03-19)

### Changes
- Initial commit (bec24f8)

## v1.0.68 (2026-03-19)

### Changes
- Rewrite Logging and Cleanup (4b241fd)
- Initial commit (6374e98)

## v1.0.67 (2026-03-18)

### Changes
- Fix ScreenScraper search: use jeuRecherche.php for text search (0ceed94)

## v1.0.66 (2026-03-18)

### Changes
- Add PS1 serial prefixes, ScreenScraper system IDs, update docs (404f428)

## v1.0.65 (2026-03-18)

### Changes
- fix: exclude folder-level operations from per-game rename in GameDetails (6d556b4)
- feat: supplementary file rename for DLC/Patch files (fe4f867)
- chore: bump version to v1.0.64 [skip ci] (85c143d)
- fix: space-version normalization always overwrites partial _versionRegex match (9a7e393)
- Fix Switch TitleID classification, add Vita/PSP serials, scene tag stripping, docs (b016d29)
- fix: scanner stops prematurely - per-platform exception isolation + faster batching (f861eae)
- fix: cleanup stale games + resync files on rescan (2fb49e9)
- chore: bump version to v1.0.63 [skip ci] (47c7aa2)
- feat: supplementary content detection (Updates, DLCs, Patches) (24fcacd)
- fix: raise IgdbPlatformId duplicate threshold in audit test (973bdd7)
- fix: update test expectations to match corrected GetPlatformFromExtension returns (7c2a000)
- feat: add 80+ platform definitions matching RetroBat system list (7ef646f)
- fix: correct platform mapping for Game Boy, GBC, Master System, Game Gear (afb0bc8)
- docs: redesign README with logo header, cleaner layout (afc1bd4)
- feat: revision detection, scanner backfill, Files tab fix, extended region support (41c7dbe)
- feat: region and language detection from ROM filenames (a1b9c27)

## v1.0.64 (2026-03-18)

### Changes
- fix: space-version normalization always overwrites partial _versionRegex match (9a7e393)
- Fix Switch TitleID classification, add Vita/PSP serials, scene tag stripping, docs (b016d29)
- fix: scanner stops prematurely - per-platform exception isolation + faster batching (f861eae)
- fix: cleanup stale games + resync files on rescan (2fb49e9)
- chore: bump version to v1.0.63 [skip ci] (47c7aa2)
- feat: supplementary content detection (Updates, DLCs, Patches) (24fcacd)
- fix: raise IgdbPlatformId duplicate threshold in audit test (973bdd7)
- fix: update test expectations to match corrected GetPlatformFromExtension returns (7c2a000)
- feat: add 80+ platform definitions matching RetroBat system list (7ef646f)
- fix: correct platform mapping for Game Boy, GBC, Master System, Game Gear (afb0bc8)
- docs: redesign README with logo header, cleaner layout (afc1bd4)
- feat: revision detection, scanner backfill, Files tab fix, extended region support (41c7dbe)
- feat: region and language detection from ROM filenames (a1b9c27)

## v1.0.63 (2026-03-18)

### Changes
- feat: supplementary content detection (Updates, DLCs, Patches) (24fcacd)
- fix: raise IgdbPlatformId duplicate threshold in audit test (973bdd7)
- fix: update test expectations to match corrected GetPlatformFromExtension returns (7c2a000)
- feat: add 80+ platform definitions matching RetroBat system list (7ef646f)
- fix: correct platform mapping for Game Boy, GBC, Master System, Game Gear (afb0bc8)
- docs: redesign README with logo header, cleaner layout (afc1bd4)
- feat: revision detection, scanner backfill, Files tab fix, extended region support (41c7dbe)
- feat: region and language detection from ROM filenames (a1b9c27)

## v1.0.62 (2026-03-18)

### Changes
- fix: scanner missing games + UNIQUE constraint violations (daafbe5)

## v1.0.61 (2026-03-18)

### Changes
- ci: improve GHA cache pruning to enforce 5GB cap (3ae235e)
- fix: prevent duplicate redacted headers on logging settings save (8b53b04)
- chore: bump version to v1.0.60 [skip ci] (d122b46)
- perf: fix timeout on resort scan, fix-platforms, and metadata review for large libraries (7cd3a2a)
- fix: resolve nullability warnings in CachedGameRepository (1b2bedd)

## v1.0.60 (2026-03-18)

### Changes
- perf: fix timeout on resort scan, fix-platforms, and metadata review for large libraries (7cd3a2a)
- fix: resolve nullability warnings in CachedGameRepository (1b2bedd)

## v1.0.59 (2026-03-17)

### Changes
- Initial release (c732ec7)

## v1.0.58 (2026-03-17)

### Changes
- feat: rename on server, region flags, PS3 title fix, import review workflow (ce5a1c3)

## v1.0.57 (2026-03-17)

### Changes
- perf: fix log flooding and slow library loading with 15K+ games (f7a2a76)

## v1.0.56 (2026-03-17)

### Changes
- feat: persistent structured logging system with NLog, per-feature files, correlation IDs, redaction, and Settings UI (4b35e81)
- feat: auto-refresh UI on library events and optimize performance (bc5765a)
- refactor: simplify navigation to 5 primary items (8787fa6)
- refactor: replace hardcoded colors with theme tokens (3a38645)
- fix: add missing CSS variable aliases and 6 new theme presets (7d92353)

## v1.0.55 (2026-03-17)

### Changes
- Fix game file download handler to avoid popup blocker (d41c3bd)

## v1.0.54 (2026-03-17)

### Changes
- Fix platform detection when library root IS a platform folder (7175cfc)

## v1.0.53 (2026-03-17)

### Changes
- Fix CI: add dotnet restore step to quality-gate in docker-build.yml (9322665)

## v1.0.52 (2026-03-17)

### Changes
- Fix re-scan platform correction for existing games (b5d98ff)

## v1.0.51 (2026-03-17)

### Changes
- Fix deterministic platform classification in Media Scanner (c75fc77)

## v1.0.50 (2026-03-17)

### Changes
- Harden codebase and CI/CD pipeline (5d62ef9)

## v1.0.49 (2026-03-17)

### Changes
- Add Game folder creation, post-download content detection and rename (0107b9f)

## v1.0.48 (2026-03-17)

### Changes
- Add batch platform fix: auto-detect correct platform from file path (4ca358f)
- Fix wrong platform assignment and Resort container extension handling (fb5df49)

## v1.0.47 (2026-03-17)

### Changes
- Add 3DO platform, update all platform extensions from Batocera/RetroBat audit, add FileSetResolver (7ad0ed0)

## v1.0.46 (2026-03-17)

### Changes
- Resort UI: add search, folder filter, and platform reassignment (b7e20d4)

## v1.0.45 (2026-03-17)

### Changes
- Fix resort: skip D1 when game is in a valid alternative platform folder (818a44f)
- Fix resort: file-mode games (ROMs) skip D2 rename, preserve filename (b802cfc)

## v1.0.44 (2026-03-16)

### Changes
- Add Resort/Rename system: detection, preview, apply engine + UI (403ed34)
- feat: add frontend compatibility mode (RetroBat/Batocera folder naming) (d288396)

## v1.0.43 (2026-03-16)

### Changes
- Fix core logic defects: import dedup, file sync, path resolution, metadata platform, GoG cancellation (833d1b5)

## v1.0.42 (2026-03-16)

### Changes
- fix: audit hardening - 11 defect fixes + tests (a71a97b)
- feat: enhance Map & Import with game selector + file type detection (9069bfe)

## v1.0.41 (2026-03-16)

### Changes
- (no tracked changes)

## v1.0.40 (2026-03-16)

### Changes
- fix: seed Platforms table on startup + harden GetGameFiles (af29c2d)
- fix: prevent 500 on GetGameFiles - add try-catch + remove dynamic cast (b134f03)

## v1.0.39 (2026-03-16)

### Changes
- fix: classify DLC files in SyncGameFilesFromDisk alongside Patches (fc9f230)
- refactor: deterministic ResolveGameFolder without fallback scan (7fdda91)
- fix: ResolveGameFolder with fallback scan + auto-persist game.Path (505d66a)
- feat: DLC subfolder routing + fix Game Files not showing (8a8630b)
- feat: auto-detect [Update]/[Patch] releases and import to Patches/ subfolder (d20c349)

## v1.0.38 (2026-03-16)

### Changes
- fix: multi-platform game support in download import pipeline (a50c063)

## v1.0.37 (2026-03-16)

### Changes
- feat: show game name in Downloads Queue and Unmapped tabs (3e64101)

## v1.0.36 (2026-03-16)

### Changes
- feat: GameFile tracking, patch routing, create-from-file, platform ID fix (4fd1da8)
- fix: MergeMetadataIntoExisting now copies Path/ExecutablePath from scanner (9b6d0c9)

## v1.0.35 (2026-03-16)

### Changes
- fix: UpdateAsync calls require (int id, Game game) signature (0879452)

## v1.0.34 (2026-03-16)

### Changes
- feat: Downloads menu with hover sub-menu, Not Mapped Files tab, Patches tab (166e9f1)
- feat: Sonarr/Radarr-style game folder management + targeted download import (67e2a3e)

## v1.0.33 (2026-03-16)

### Changes
- feat: game files listing + download + GOG download-to-folder in GameDetails (3c4b507)

## v1.0.32 (2026-03-16)

### Changes
- fix: TryFetchMetadata IGDB ID dedup now platform-aware (1c46f53)

## v1.0.31 (2026-03-16)

### Changes
- fix: platform scan not finding games - 4 bugs fixed (cefa930)

## v1.0.30 (2026-03-16)

### Changes
- fix: resolve 3 C# compilation errors in MediaController metadata rescan (cf575b2)

## v1.0.29 (2026-03-16)

### Changes
- feat: Library redesign with platform sidebar, per-platform scan/rescan, lint fixes (c9ff6ae)
- fix: EmulatorController PlatformIdToCore used IGDB IDs instead of internal IDs (b624caa)

## v1.0.28 (2026-03-16)

### Changes
- fix: remove hardcoded Xbox/macOS filter from Library platform list (c9ebdee)

## v1.0.27 (2026-03-16)

### Changes
- fix: add missing DB migration columns for metadata review fields (2344ad6)
- fix: scanner platform detection - match by FolderName OR Slug, add missing platform rules (0bbff23)

## v1.0.26 (2026-03-16)

### Changes
- feat: harden metadata scraper with multi-variant search, scoring, and review queue (c5ea2a4)

## v1.0.25 (2026-03-16)

### Changes
- fix: download activity badge stuck at stale count (3e20293)

## v1.0.24 (2026-03-16)

### Changes
- fix: complete platform rule coverage for all 70+ platforms (152f9d7)
- fix: MediaScanner platform detection and persistence (c6f88f1)
- fix: replace hardcoded Spanish tooltip in GameCard with t('deleteFromLibrary') (033aaf4)
- fix: set PlatformId during import so games appear in library under correct platform (0a802af)

## v1.0.23 (2026-03-15)

### Changes
- fix: coerce state to string before toLowerCase in Status.tsx (numeric enum from API) (d9ae5a2)
- fix: update About page with current features, dynamic version, remove outdated DBI/USB references (da28ea5)

## v1.0.22 (2026-03-15)

### Changes
- fix: add missing #endregion for Request/Response Models region (3f1162c)

## v1.0.21 (2026-03-15)

### Changes
- feat: download tracking system with History, Blacklist, Unmapped, and tabbed Status UI (7db59f1)
- Fix false Imported state: PostDownloadProcessor now returns PostDownloadResult (c3a5286)

## v1.0.20 (2026-03-15)

### Changes
- Refactor post-download to Sonarr-inspired tracked download pipeline (af19ad8)

## v1.0.19 (2026-03-15)

### Changes
- Add category filter to DownloadMonitor, improve game name cleaning at import (00f161b)

## v1.0.18 (2026-03-15)

### Changes
- Fix download processing: null-safety, safe SABnzbd parsing, manual import button (a72007b)

## v1.0.17 (2026-03-15)

### Changes
- Fix DownloadPlatformTracker crash: handle non-URL entries in LookupByName (e00bd8a)

## v1.0.16 (2026-03-15)

### Changes
- Add platform-aware download processing, category filtering, and manual platform mapping (b92e174)

## v1.0.15 (2026-03-15)

### Changes
- Fix Status page: replace hardcoded localhost:5002 URLs with apiClient for Docker/production compatibility (c103cda)

## v1.0.14 (2026-03-15)

### Changes
- Update dependencies: eslint 9 flat config, react-fontawesome v3, Node 22, remove deprecated packages (e3c15b5)

## v1.0.13 (2026-03-15)

### Changes
- Fix download routing: recognize 'usenet' protocol for SABnzbd/NZBGet client selection (f4035ba)

## v1.0.12 (2026-03-15)

### Changes
- UI: fix platform tag contrast, smart back button, modern translucent badges (e91fa7f)

## v1.0.11 (2026-03-15)

### Changes
- Align Prowlarr integration with official API spec: add grabs, subcategories, category IDs (fbdccf7)
- Fix Prowlarr search returning 0 results: add required limit parameter to API call (bc2b301)

## v1.0.10 (2026-03-15)

### Changes
- Optimize Docker build: enable GHA layer cache, add cache mounts for npm/NuGet, reduce context size (5278016)
- Replace hardcoded changelog with dynamic version/changelog from backend API (56f8f52)

## v1.0.9 (2026-03-15)

### Changes
- Add editable search query field + smarter query sanitization for better indexer results (746afb8)

## v1.0.8 (2026-03-15)

### Changes
- Fix search pipeline: correct IndexerFlags type, Jackett error/protocol handling, age display (8195282)
- Sanitize search query: strip colons and special chars that break indexer searches (ea75065)

## v1.0.7 (2026-03-15)

### Changes
- Fix Prowlarr search: IndexerFlags type mismatch + remove silent error swallow (935bf9f)
- Fix scanner UNIQUE constraint crash when game already matched by IgdbId (cdc099e)

## v1.0.6 (2026-03-14)

### Changes
- Fix missing PreferredRunner column in database migration (e397e77)
- Upgrade CI: opt into Node.js 24, bump docker/build-push-action to v6 (5ba915e)
- Fix search returning silent empty results: surface provider diagnostics to frontend (14a79ac)

## v1.0.5 (2026-03-14)

### Changes
- RetroArr v1.0.4 - Self-hosted game library manager & PVR (247209b)

## v1.0.4 (2026-03-14)

### Changes
- Rewrite README: fix platform count, add missing features, add TOC/config/dev sections (02b81ef)

## v1.0.3 (2026-03-14)

### Changes
- Replace roadmap with Linux Gaming, Plugin System, and App Store sections (e03ea37)
- Add tests for Linux exports, plugin loader, and plugin executor (1574ae3)
- Add Linux export UI and register services in DI container (5f991e4)
- Update app store manifests for Unraid, CasaOS, and Synology (3c3a74e)
- Add plugin engine with fault isolation, circuit breaker, and example plugins (94b260c)
- Add Linux gaming integrations: Proton/Wine runner detection, Lutris/Steam/desktop exports (6670723)
- fix: Prowlarr release search returns no results due to nullable type mismatch (efe7c48)
- refactor: core logic audit rewrite (R1-R12) (bcf0e63)
- chore: bump version to v1.0.1 [skip ci] (634abf8)

## v1.0.2 (2026-03-14)

### Changes
- Fix Docker build: remove deleted app_logo.ico COPY, regenerate ico (05b48a3)
- chore: bump version to v1.0.1 [skip ci] (976e0fd)
- Replace hardcoded colors in TSX inline styles with theme variables (9448b2c)
- Consolidate theme system: replace hardcoded colors with CSS variables (94bc603)
- Remove unused assets and dependencies, optimize images (07d4570)
- Wire up centralized API client and refactor Settings shell (858834a)
- Extract shared UI components and Settings tab sub-components (dbb8063)
- feat: RetroArr v1.0.0 - Self-hosted game library manager & PVR (261613b)

## v1.0.1 (2026-03-14)

### Changes
- Replace hardcoded colors in TSX inline styles with theme variables (9448b2c)
- Consolidate theme system: replace hardcoded colors with CSS variables (94bc603)
- Remove unused assets and dependencies, optimize images (07d4570)
- Wire up centralized API client and refactor Settings shell (858834a)
- Extract shared UI components and Settings tab sub-components (dbb8063)
- feat: RetroArr v1.0.0 - Self-hosted game library manager & PVR (261613b)

## v1.0.0 (2026-03-14)

### RetroArr - Initial Public Release

- Self-hosted game library manager & PVR inspired by Radarr/Sonarr
- Intelligent library scanning with 80+ platform support
- Rich metadata integration (IGDB, Steam, ScreenScraper)
- Download client support (qBittorrent, Transmission, Deluge, SABnzbd, NZBGet)
- Prowlarr and Jackett indexer integration
- EmulatorJS web player with save states for retro platforms
- Steam and GOG library sync
- Modern React frontend with code splitting and React Query
- Docker support (amd64/arm64) with pre-downloaded emulator cores
- Multi-language UI (EN, DE, ES, FR, RU, ZH, JA)
- GitHub Actions CI/CD with GHCR container publishing