Repository navigation
v2.0.0
This release redesigns VideoGameTrackarr from top to bottom, with a flat new look, a new sidebar, more views for every list and a new Overview, plus a round of security hardening.
✨ New: Redesigned Look and Navigation
The whole app has a new flat design, inspired by DieCastCollectionTracker.
- Clean slate and near-white surfaces with thin borders instead of shadows, in light, dark and high-contrast modes. Your accent color still sets the tone.
- A new sidebar groups pages into Library, Insights and System, and becomes a drawer on phones.
- Global search in the header finds games, hardware, series and collections from anywhere.
- Every page has a sticky toolbar with its actions and breadcrumbs, in place of the old page titles, tabs and breadcrumb bar.
- Confirm dialogs show a spinner while they work, so you can tell a resync or restore has started. Notifications are restyled and appear in the bottom-right corner.
- Native scrollbars follow light and dark mode.
✨ New: Games List Views
The Games page has a new toolbar and three ways to browse.
- Pick Covers, Table or Overview under View, and set the card size under Options. Both are remembered in your browser.
- Sort and Filter have their own menus, search sits beside the breadcrumbs, and active filters show as chips you can remove.
- Redesigned game cards: the cover is the card, and selecting games no longer shifts the grid.
- The A–Z rail now fills the window's height.
✨ New: Redesigned Game, Hardware and Event Pages
Detail pages have a large hero with the game's artwork faded into the page, and content split into sections.
- The hero shows info pills (owned/wishlisted, play status, rating, platforms, series and collection), with store links as chips and actions in the toolbar.
- About shows the summary, a Platforms card and a Release dates card. Screenshots, artwork, videos and add-ons follow.
- Library, Progress, Play sessions, Tags and Notes are lists of rows with their own actions. Removing a copy or session can be undone.
- Library rows show each copy's format, an Owned/Wishlist pill, and a line with the price when a wishlisted copy is on sale.
- Device, accessory, event and IGDB preview pages use the same hero and sections.
- Back now steps back through where you came from. After removing a game, you land on the Games list.
✨ New: Overview
The Dashboard is now the Overview.
- Headline tiles for games owned, wishlist, hardware owned, playtime and hardware value.
- Quick add, Now playing with a Backlog link, and strips of recently played and added games and hardware.
- Needs attention tiles for custom games, missing add-ons, duplicate copies and accessories without hardware.
- The Events and On sale teasers and the release calendars are still there.
✨ New: Insights Breakdowns
Insights shows stat tiles and bar charts by play status, platform, genre, hardware manufacturer and hardware platform. Clicking a play status or platform opens the Games list filtered to it.
✨ New: Change Password
You can now change your password under Settings → General → Account → Password. Changing it signs out every other session.
⚡ Improvements
- Series, Collection and Platform pages get Covers/Table/Overview views and separate Games and Add-ons sections. Show what I'm missing and Include add-ons are now Options toggles.
- The Collections, Series and Platforms pages get search, Cards/Table views, a card size and a Sort menu. The Platforms table also shows owned and wishlisted counts.
- Hardware gets the same toolbar, a Filter dialog (status, manufacturer, type and platform) with removable chips, and separate Devices and Accessories sections. Its search, sort and filters are now remembered while you browse.
- Hardware cards lead with the product photo.
- Missing Add-ons shows a section for each game you own.
- Events are split into Ongoing and Upcoming.
- Duplicates, Orphaned accessories and On sale use the new list styles.
- Settings pages use grouped rows: General (Display, Regional, Data, Share, Account), Integrations (one group per service), Jobs (run, progress and schedule per job) and Emulation (one group per BIOS system).
- The login page, first-run setup and About show the logo.
- Public share pages get a slim header with tabs, search with a Sort menu, and the new game page hero.
- Your currency choice is now saved to your account, so it follows you to other browsers.
🐛 Fixes
- Fixed resync showing no progress. The spinner appeared behind the confirm dialog.
- Fixed Missing games appearing in Recently added on the Overview.
🌍 Translations
- All new and changed screens are translated into English, Spanish, French and Portuguese.
🏗️ Infrastructure
- Security hardening from a full audit:
- Uploads are limited to JPEG, PNG, WebP and GIF images up to 20 MB.
- Backup restores are capped at 256 MB.
- API keys are kept out of error messages.
- The app sends security headers, including a Content-Security-Policy.
- Login takes the same time whether or not a username exists.
- Reusing an old sign-in token signs out every session.
- Signing out, or a session expiring, clears the offline cache.
- The emulator only loads ROMs and BIOS files from your own server.
- A warning is logged at startup if
JWT_SECRET_KEYis shorter than 32 characters.
- Updated Pillow and several frontend dependencies with security fixes. The old Material 3 theme packages and the Roboto font were removed.
- Two database migrations add the account currency and sign-in token reuse detection.
📚 Documentation
- The README's feature list is updated for the redesign. The setup code and
FORWARDED_ALLOW_IPSare documented in the README,.env.exampleand the Nginx example.
📝 Good to Know
- Setup code for new installs: first-run setup now asks for a one-time code. It's printed in the server log (
docker compose logs) while no account exists, or you can set your own withSETUP_CODEin.env. Existing installs aren't affected. - Share links: sharing is now off until you turn it on under Settings → General → Share, and you can turn it off again there. Existing share links keep working.
- Behind a reverse proxy? Set
FORWARDED_ALLOW_IPSto your proxy's address so rate limits count each visitor separately. - Remembered Games filters and views from v1.34.0 may reset once after upgrading.