Skip to content

Releases: playlite-app/playlite

Playlite v4.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 00:41

[4.3.0] - 2026-07-25

Added

  • Itch.io integration: local library detection of owned games, installed games, and playtime synchronization with
    butler.db integrated with the new standardized platform enumerators
  • IndieGala integration: installed-game detection via IGClient's installed.json, with an optional full-library
    mode reading the account's owned-games list from config.json and cross-referencing it with installed titles
    to reuse their complete metadata; game tags are run through the existing RAWG tag-classification pipeline
  • Xbox App / Microsoft Store integration: installed-game detection via Gaming Services, locating game folders
    through each drive's .GamingRoot marker and reading MicrosoftGame.config manifests — covers both
    first-party and third-party titles, with downloadable content and non-standalone add-ons automatically
    excluded based on manifest structure
  • Amazon Games integration: full library import via account login (device-registration authentication flow),
    cross-referenced with the Amazon Games App's local database for installed games — installed titles are matched by
    exact product ID and flagged accordingly within the imported library, rather than imported as a separate list
  • Epic Games Store full library import via account login (OAuth2 device-registration flow), in addition to the
    existing installed-game detection via local manifest files — library titles are resolved through the Epic
    catalog API and deduplicated by namespace to correctly separate base games from DLC and soundtracks
  • EA App integration: installed-game detection via a user-configured install folder, now also recovering
    previously installed (currently uninstalled) titles from EA's local install history — an intentional
    reflection of how the EA App itself retains this information, not a detection gap
  • Battle.net integration: installed-game detection via the Agent's product.db (parsed as raw protobuf, no
    external dependency), enriched with aggregate.json when present for display name, executable path, and last
    played time, with a static fallback catalog (adapted from Playnite) for titles aggregate.json doesn't cover
    — internal Agent/Desktop app entries are excluded from the imported list
  • GOG integration: full library import via account login (OAuth2 with PKCE) alongside installed-game detection
    via a user-configured games folder, matched against store titles by prefix instead of exact name to account
    for store-only suffixes (e.g. "Deluxe Edition") that don't appear in the installed folder name

Fixed

  • The manual "Add Game" platform dropdown still offered the outdated "Battle.net" and "Itch.io"
    values, which no longer match the standardized enum; manually added games using those options
    would have become invisible to platform filtering.
  • Platform filtering errors resolved by strictly standardizing platform identifiers to PascalCase (e.g., BattleNet,
    LegacyGames, Itch) across Rust enums/structs and frontend types, eliminating spaces and special characters that
    broke filter matching
  • Rust documentation corrected and updated in legacy.rs and gamebrain/models.rs

Improved

  • Import command success/empty messages/login success messages standardized across all platform sources via shared
    format_import_summary/format_import_empty/format_login_success helpers in commands/platforms/core.rs,
    replacing inconsistent per-platform phrasing with a single consistent format.
  • Frontend rendering of platform names now utilizes a centralized PlatformDisplayNames dictionary to map internal
    PascalCase codes to their proper commercial names (e.g., Battle.net, Itch.io) across all UI components
  • Platform settings screens standardized across all integrations: page titles now show only the platform name,
    descriptions and account-connection labels use consistent imperative phrasing, and the import button includes
    the platform name and is disabled (with an explanatory tooltip) rather than hidden when a required connection
    or credentials are missing, ImportedItemsBox now renders its checkmark from the component itself instead of
    relying on it being hardcoded into each translated string, Detected-path listings and icons unified across
    platforms with a fixed local path
  • GOG's import button is no longer hidden entirely while logged out; it now stays visible but
    disabled, with a tooltip explaining that an account connection is required — consistent with how
    other platforms present unmet prerequisites.
  • Manually selected paths (EA, GOG, Legacy Games) now persist consistently across sessions through a shared
    useLocalStoragePlatformPath hook, replacing per-component localStorage handling
  • Reorganized platform-name translation keys into a single contiguous block for easier maintenance
  • OAuth token storage extended to support provider-specific auxiliary data (e.g. Amazon Games' device serial) without
    affecting previously stored tokens.
  • Catalog lookups for the Epic Games library parallelized (up to 8 concurrent requests), reducing full-library
    import time from several minutes to a few seconds on larger libraries

Removed

  • The per-platform icon from the library/favorites game card badge (StandardGameCard), which now shows the platform
    name as text only.

Download the installer below.

Playlite v4.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 21:02

[4.2.0] - 2026-07-13

Added

  • Automatic advance for the Hero carousel on the Home and Trending pages (manual navigation via the arrow buttons
    remains available at any time)

Fixed

  • Hero banner on Home repeatedly canceling in-progress cover image requests whenever the recommendation-based slide
    resolved after other sources — the "highlighted game" was being recalculated on every render instead of computed once
    with a stable, append-only slide order
  • Rendered more/fewer hooks violation on the Trending page caused by hooks being called after conditional early return
    statements; all hooks now run unconditionally before any early return
  • Toggling a favorite in the Library or Favorites pages re-rendering every card in the grid instead of just the one
    affected, caused by the full games array being listed as a dependency of an unrelated playlist callback

Improved

  • Library and Favorites pages now render through a virtualized grid (react-window v2), mounting only the cards
    currently visible on screen instead of all of them at once — removes the 300+ms render commits seen on larger
    libraries and keeps performance flat as more platform integrations add more games over time
  • Game card components (StandardGameCard, ActionButton, GameActionsMenu, CachedImage) memoized with
    React.memo, with callbacks stabilized end-to-end across GameLibraryContext, UIContext, and every page that
    renders game cards
  • Duplicated card markup and logic between Library and Favorites consolidated into a shared LibraryGameCard component
  • CachedImage no longer reads localStorage on every render (moved to a one-time lazy initializer) and skips its
    async local-cache resolution cycle entirely when the "save covers locally" setting is off

Download the installer below.

Playlite v4.1.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 12:12

[4.1.2] - 2026-07-07

Improved

  • Platforms configuration window internals fully refactored: the monolithic useStoresConfig hook was split into
    one dedicated hook per platform (Steam, Epic, Heroic, Ubisoft, Legacy Games), now living under hooks/plataforms/
    and only loading/persisting state relevant to that platform instead of all five at once on every tab switch
  • Shared UI building blocks extracted for the platform settings screens (headers, detected-paths boxes, import
    progress indicators, action buttons/footers, path pickers), reducing duplicated markup across Steam, Epic,
    Heroic, Ubisoft, Legacy Games, and Wine tabs
  • External links and auto-detected file/config paths for each platform moved into dedicated constants files
    instead of being hardcoded inline in the components
  • Credential inputs on the Steam tab are now disabled while previously saved credentials are loading, preventing
    a rare race condition where in-progress typing could be overwritten once the stored credentials arrived
  • Accessible labels (aria-label) added to path and credential inputs across all platform settings screens for
    screen reader support

Download the installer below.

Playlite v4.1.1

Choose a tag to compare

@github-actions github-actions released this 02 Jul 22:41

[4.1.1] - 2026-07-02

Fixed

  • GameBrain similar-games response failing to parse when a game's rating was null, causing the "Similar to My Profile"
    section to silently return empty results for affected anchor games
  • Missing becauseOf field in profile-similar recommendations due to incomplete camelCase serialization, resulting in
    an empty badge/tooltip on similar game cards

Download the installer below.

Playlite v4.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 21:03

[4.1.0] - 2026-07-02

Added

  • Ko-fi donation button in the app header, always visible for quick access
  • "Support Playlite" section in Settings → About, with Ko-fi donation link and alternative ways to support
    (GitHub Sponsors, official website, bug reports)
  • Official landing page link in the Quick Settings documentation section
  • Custom Ko-fi icon component added to the icons library, consistent with the existing icons

Improved

  • Steam settings help callout redesigned to match the visual language of other info/warning callouts in the
    app (icon + colored title + tinted border box), replacing the previous detached Badge component
  • Frontend type definitions standardized to camelCase across four modules (scanner, PCGW, GameBrain,
    subscriptions), with corresponding #[serde(rename_all = "camelCase")] added to the matching Rust structs —
    internal Rust field names unchanged

Download the installer below.

Playlite v4.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 16:21

[4.0.0] - 2026-06-26

Added

  • Game search by characteristics in Wishlist using the GameBrain API
  • Media tab in game details window with screenshots, trailers, and videos
  • Similar games tab in game details window
  • Technical details tab in game details window with system requirements, language support, and controller
    compatibility (data sourced from PCGamingWiki)

Improved

  • Game details window restructured into tabbed navigation for better content organization
  • PCGamingWiki integration expanded to surface technical data directly in the UI

Download the installer below.

Playlite v3.4.0

Choose a tag to compare

@github-actions github-actions released this 24 May 20:13

[3.4.0] - 2026-05-24

Added

  • Full internationalization (i18n) support using i18next and react-i18next
  • Brazilian Portuguese (pt-BR) and English (en) language support
  • Automatic language detection based on operating system locale
  • Language selector in Settings → About section
  • User language preference persisted across sessions via localStorage
  • 11 translation namespaces covering all UI strings: common, settings, library, playlist, trending, wishlist, errors,
    dialog, updater, game_detail, plataforms
  • 630 translation keys mapped across all views, components, dialogs, and windows
  • Translation documentation and guidelines for users and contributors

Improved

  • Steam review labels now fully translated via i18n instead of hardcoded map
  • Error messages in non-React modules migrated to i18n instance
  • Confirmation dialog fallback strings internationalized
  • Architecture ready for additional languages — only locale JSON files required

Download the installer below.

Playlite v3.3.1

Choose a tag to compare

@github-actions github-actions released this 11 May 15:53

[3.3.1] - 2026-05-11

Added

  • Automated CI/CD release pipeline with GitHub Actions
  • Automatic updater artifact generation
  • Cryptographic signing for updater packages
  • Automated latest.json generation
  • Improved release distribution workflow

Improved

  • Release engineering and deployment process
  • Cross-platform packaging pipeline
  • Update reliability and integrity verification

Download the installer below.

Project Update: v3.1.0 - Library Automation and UI Refinement

Choose a tag to compare

@Alan-oliveir Alan-oliveir released this 12 Feb 13:55
b576fa1

Project Update: v3.1.0 - Library Automation & UI Refinement

This minor update focuses on bridging the gap between your digital storefronts and your local machine. Version 3.1.0 introduces powerful automation tools for library management and a significant overhaul of the user interface components for a smoother, more consistent experience.

New Features

  • Local Directory Scanner: You can now point Playlite to your game folders. The app will automatically scan, identify, and add local executables to your library, streamlining the transition from disk to dashboard.
  • Enhanced Steam Integration: The Steam importer has been upgraded to not only fetch your library but also identify currently installed games automatically, syncing their status within Playlite.
  • Unified UI Framework: A massive refactor of UI components. Dialogs, tooltips, and modals now follow a strictly consistent design language, improving accessibility and visual flow across the entire app.

Improvements

  • Backend Integration Overhaul: Significant refactoring of the Rust backend to improve how the frontend communicates with core services, resulting in faster data serialization and lower latency.
  • GamerPower API Patch: Fixed an issue with image loading from the GamerPower integration. Thumbnails for active giveaways now load reliably with improved error handling for external CDN failures.
  • Responsive Dialogs: All system dialogs have been rewritten to be more responsive and provide better feedback during long-running tasks like library imports.

Fixed

  • Resolved an edge case where Steam imports would stall if a game had missing metadata.
  • Fixed broken image placeholders in the "Free Games" tab.

Installation (Windows)

Download the new installer Playlite_3.1.0_x64_en-US.msi and run it. The updater will handle the migration of your existing database automatically.


What's Changed

Full Changelog: v3.0.0...v3.1.0

Playlite 3.0.0 – Stable Update Foundation

Choose a tag to compare

@Alan-oliveir Alan-oliveir released this 02 Feb 23:24

Project Update: v3.0.0 - Major Architecture Overhaul & Intelligent Recommendations

This major release transforms Playlite from a passive game manager into an intelligent, proactive curator. This version introduced a sophisticated Hybrid Recommendation System and significantly hardened the application against network instability with a robust "Offline-First" architecture.

New Features

  • Hybrid Recommendation Engine (v4.0): Moving beyond simple tag matching, Playlite now uses a hybrid algorithm combining Content-Based Filtering (your library) with Collaborative Filtering (community trends). It understands nuances like "Favorite Series" and "Genre Fatigue."
  • Explainable AI (Tooltips): We believe algorithms shouldn't be black boxes. Hover over any recommendation to see exactly why it was picked (e.g., "98% Tag Match", "Trending in Community", "Part of your Favorite Series").
  • Robust Auto-Update System: A fully integrated update pipeline that ensures data safety. Major updates now automatically trigger an ACID-compliant database backup locally before applying changes, ensuring zero data loss during migrations.
  • Resilient Offline Mode: The "Trending" and "Free Games" tabs no longer break without internet. The app implements a smart caching strategy that serves stale content with a visual indicator when offline, while automatically filtering out expired giveaways.
  • User Feedback Loop: Added a "Not Useful" button to recommendations. The system learns from your dislikes and instantly updates the UI (Optimistic Update) while persisting the blacklist.

Improvements

  • Smart Caching: Differentiated TTL (Time-To-Live) logic ensures dynamic lists (like Trending) refresh daily, while static game data is cached for weeks to save bandwidth.
  • UX Refinements: New ToggleSwitch components, cleaner settings menus, and granular control over algorithm weights (Balance between Discovery vs. Familiarity).
  • Performance: Optimized the Rust backend services (rawg.rs, gamerpower.rs) to handle network failures silently without crashing the frontend.

Installation (Windows)

Uninstall and remove data of any previous version. Download the new version of the installer Playlite_2.0.0_x64_en-US.msi, and run it to install the new version.

Note: As the database structure has changed, a fresh import of your library might be recommended.


Full Changelog: v2.0.0...v3.0.0