github derrod/legendary 0.20.14
0.20.14 - Nova Prospekt

latest releases: 0.20.34, 0.20.33, 0.20.32...
3 years ago

Hotfix available

Please use https://github.com/derrod/legendary/releases/tag/0.20.15 instead.

Release Highlights

Starting with this release Legendary offers the option to log into your Epic account via an embedded web view. This greatly simplifies the sign-in process for first-time users or those not all too familiar with the technical language used during the manual login flow.

legendary_gui_login

This feature is already available in the Windows binaries and can be easily installed on most Linux distributions. The prebuilt Linux binaries do not currently support it but may in the future.

Installation notes

  • Windows: use the prebuilt .exe or install legendary via pip install legendary-gl[webview] - no further dependencies required!
  • Linux:
    1. Install legendary 0.20.14+ and pywebview 3.4+ (e.g. using pip install -U legendary-gl[webview])
    2. Install PyGObject
      • On Debian/Ubuntu this can be done via sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
      • See the PyGObject documentation for instllation instructions for other systems
  • macOS: unsupported

Notes for third-party package maintainers

Legendary requires pywebview of version 3.4 or higher. If your distribution provides recent enough packages for pywebview you can add it and its dependencies for one of its supported web engines to your legendary package. See the pywebview documentation for details.

While pywebview supports both Qt (QtWebKit / QtWebEngine) and GTK (WebKit2) as rendering engines, only GTK has been tested extensively and is the recommended option.

Should you want/need to use Qt as the dependency in your package please make sure all login options work correctly. At least in my testing on my build machine (running an older Ubuntu LTS release) Qt did not function correctly in some cases.

CLI changes

  • alias command
    • alias add <app name> <alias> will now also resolve aliases used in place of the app name
  • auth command
    • --disable-webview flag to force manual authentication flow even if webview is available
    • Pasting the complete JSON response during manual login will also work if user is unsure what they're supposed to copy
  • install command
    • --skip-dlcs flag to skip asking if the user wants to install DLCs
  • import-game command
    • No longer allows for installing DLC without the base game already being installed (#351)
    • Will now ask the user if they want to import DLC like install does.
    • --with-dlcs flag to automatically attempt to import all DLC
    • --skip-dlcs flag to skip asking if the user wants to import DLCs

Bug fixes and improvements

  • Use exponential backoff when downloading a file fails to avoid runaway CPU usage (#347)
  • Legendary does no longer attempt to read ".egstore" folder for DLC when importing
  • No more re-login after client has already logged in once (unless session is about to expire), e.g. when installing DLC
  • Added pywebview as optional dependency in setup.py to make legendary[webview] option available via PyPI

Don't miss a new legendary release

NewReleases is sending notifications on new releases.