Skip to content

Releases: derrod/legendary

0.0.15 - Xen

30 May 01:17
Compare
Choose a tag to compare

This Release has been superseeded by 0.0.17 which includes important bug fixes, use that instead!

0.0.15 finally marks another major feature release for Legendary. This time bringing Epic Games Launcher synchronization features for easy import/export of your game library on both Linux and Windows and various small improvements.

Additions:

  • egl-sync command
    • With minimal setup it is now possible to sync game installations between Legendary and the Epic Games Launcher
    • This can be a one time sync or be configured to happen automatically when games are installed/updated/uninstalled or listed
      • To just migrate all your EGS games to Legendary run legendary egl-sync --import-only --one-shot
    • If EGL is installed via Lutris in the default location it will be automatically picked up, otherwise specifying the wine prefix is required
    • DLC is currently not supported and you might have both Legendary or EGL asking to install DLC that the other has already installed
    • Games can be updated via either program after they have been synced and automatic sync is enabled
    • When automatic sync is not enabled, egl-sync needs to be executed manually for Legendary to pick up new games, updates, or uninstallations. For example via running legendary -y egl-sync --one-shot
    • See the README or legendary egl-sync -h for further details on available options

Changes:

  • list-games / list-installed
    • The format has been changed slightly to allow for easier copy-pasting of app names
    • Installed list now includes install size
  • launch
    • No has the --no-wine parameter/no_wine option/LGDRY_NO_WINE env var which may be useful in case a wrapper is used that handles WINE and other things
    • LGDRY_WRAPPER environment variable was added to set a wrapper command/script
  • import-game
    • Now supports disabling the file check when importing via --disable-check
    • When importing a game that was installed via the Epic Games Launcher verification will no longer be required
      • This is unrelated to egl-sync and works with any game install created with the Epic Games Launcher even when EGL is no longer installed

Other Fixes/Improvements:

  • Games that have executable paths starting with a / will now work (e.g. Hyper Light Drifter)
  • Fixed an issue where Legendary would try to fetch data from the API before it was authenticated
  • Add support for Epic Games Launcher installation manifests
  • Make Epic LFS helpers work on Linux
  • Fix priority for wrapper options (cli > env > config)
  • Show error instead of crashing if game installation cannot be deleted

0.0.14 - "Lambda Core"

22 May 13:07
Compare
Choose a tag to compare

Also available on PyPI: https://pypi.org/project/legendary-gl/0.0.14/

Another minor release (can you spot the trend?), finally bringing importing and verifying games as well as some fixes that should clear up some confusion the download resume feature has caused.

Additions:

  • verify-game command
    • Verifies the integrity of the specified games' files and shows mismatches
  • repair command / --repair flag for download command
    • Verifies a game install and redownloads file that do not match the expected hash
      • Verification can be skipped if verify-game had been run beforehand
    • This will also update the game if it is not the latest version
  • import-game command
    • This can be used to import an existing game installation
    • Verification is optional, but will be required before updates can be installed
  • --language parameter for launch / `language´ game override config option
    • Overrides language code used when launching the game
  • --wrapper parameter for launch
    • Can be used to provide a wrapper script, e.g. --wrapper gamemoderun
  • locale global config option
    • Can be used to provide a country/language other than en-US for the store and launching games

Improvements/Fixes:

  • Show correct version if --platform override is used
  • Show warning if savegame was modified while reading
  • Fix crash if any Unreal Marketplace assets are in asset list
  • ~ will now correctly resolve to the home directory when used for install_dir in the config
  • Resume file improvements/fixes
    • Check if files actually exist when trying to resume
    • Also include hash, this makes resume files version-agnostic and allows starting a download on an older version and resume on a newer one (e.g. if a patch has been released in the meantime)
    • Tell user that resume file is being used even when log level is INFO
  • Save existing base urls so manual downpatching can be done only with specifying the manifest
  • Clean up download manager logging a bit

0.0.13 Window hotfix

16 May 12:00
Compare
Choose a tag to compare

Identical to https://github.com/derrod/legendary/releases/tag/0.0.12 except a Windows specific fix.

Linux binary is included for completeness' sake and is the same one as 0.0.12.

0.0.12 changes:
This release fixes a whole bunch of issues with cloud saves and a few other bugs:

  • Situations where a game has no local or cloud save are now correctly handled
  • Cloud save file exclude/include filters specified in game metadata are not honored (can be disabled with --disable-filters in case it misbehaves)
  • Fixed a crash that could occur during update attempts if the installation dir was overriden or changed after a game has been installed
  • Show error instead of crash if old manifest can't be loaded for patching purposes

0.0.12 Bugfix release

16 May 10:55
Compare
Choose a tag to compare

Windows users please use 0.0.13 instead!

This release fixes a whole bunch of issues with cloud saves and a few other bugs:

  • Situations where a game has no local or cloud save are now correctly handled
  • Cloud save file exclude/include filters specified in game metadata are not honored (can be disabled with --disable-filters in case it misbehaves)
  • Fixed a crash that could occur during update attempts if the installation dir was overriden or changed after a game has been installed
  • Show error instead of crash if old manifest can't be loaded for patching purposes

0.0.11 "Forget About Freeman!"

15 May 09:11
Compare
Choose a tag to compare

Broken, use https://github.com/derrod/legendary/releases/tag/0.0.12 instead!

Legendary 0.0.11 brings a bunch of new features and improvements, including basic support for cloud saves, automatic DLC installation, and more options to make third party integrations easier.

Additions:

  • Cloud save support
    • list-saves to show all saves, optionally filtered for one app
    • download-saves to download all saves for one or all apps to a directory in the default install dir
    • sync-saves to upload/download savegames from Epic's cloud
  • auth command
    • --code to directly provide authentication/exchange code to legendary for non-interactive authentication
    • --delete to remove current user authentication
  • launch command
    • --wine and --wine-prefix parameters to override wine binary and prefix
    • LGDRY_WINE_BINARY and LGDRY_WINE_PREFIX environment variables for the same
      • Command line parameters always have priority over the config file or environment variables!
  • install/download command
    • --prefix/--exclude/--install-tag can now be specified multiple times for more verbose filtering
    • DLC can now be installed automatically after main game finishes installing
    • If a game has cloud save support a message will notify the user of how to potentially sync existing saves

Fixes and improvements:

  • Support serializing manifests and chunks as well as packing files into an EGS compatible format
  • Add API functions for managing, uploading, and downloading cloud saves
  • Remove shebangs from non-executable python files
  • Respect XDG_CONFIG_HOME setting for legendary config directory
  • Updated EGS User-Agent

0.0.10 "Surface Tension"

05 May 14:29
Compare
Choose a tag to compare

Another smaller release (this is becoming a pattern isn't it) with a few important fixes and improvements.

General changes:

  • --download-only now has the alias --no-install

Improvements:

  • Further improved upon the --enable-reordering algorithm
    • This is mainly relevant for Metro Exodus and reduces the cache requirement from 1.7 to 1.2 GiB (enabled by default)
    • More improvements may be possible to also get Metro below the 1 GiB default limit
  • Cleaned up downloader code a bit
  • Added some more debug logging for future issues

Fixes:

  • Fixed no default timeout being set

0.0.9 - Another bugfix release

04 May 17:55
Compare
Choose a tag to compare

This is a bugfix release for the 0.0.7 version with the following changes:

  • Fixed disk space check and base dir creation
  • Added warning for EQU8 anti-cheat

Original 0.0.7 changelog:

Another minor relase with a few more niche features as well as some game specific fixes.

Added:

  • download was renamed to install
    • download will remain but will behave lilke the --no-install flag is set in the future, please adjust any scripts or other integrations accordingly
  • New --enable-reordering option to attempt to optimize file processing order
    • With this enabled legendary will attempt to group files that share many chunks together to reduce memory usage for apps that have lots of duplicated data
    • This reduces the memory requirement for installing World War Z from 5.3 GiB to 499 MiB, making it possible to install the game with the default memory limit (it is enabled by default for that title)
    • However for the majority of games this option will do nothing or have very little effect but make the install process slower, generally it is not advised to use it unless necessary
  • --exclude and --install-tag filtering options
    • --exclude works just like --prefix and allows excluding a file or directory
      • Right now this option can only be specified once, that will be changed in a future release
    • --install-tag works together with install tags from manifests, only some games have them, use list-files to see which ones exit
  • Added--dl-timeout to configure download connection timeouts
    • The default was also increased from 5 to 10 seconds

Fixes/Under-the-hood Improvements:

  • Always get all available CDNs when installing a game
  • Fix SHA hash in JSON manifest parser
  • Increase download connection timeouts
  • Added helpers for game specific workarounds
  • Minor CLI help adjustments
  • Minor logging cleanups and changes

0.0.8 aka "I fucked up" release

04 May 14:33
Compare
Choose a tag to compare

This release has no new changes to legendary itself over 0.0.7, however due to some packaging mishaps on my side the packages built for 0.0.7 were broken. This release is just there to fix that.

The attached binaries are identical to 0.0.7 and will still echo that version. This release is purely for PyPI and downstream packages.

Original 0.0.7 changelog:

Another minor relase with a few more niche features as well as some game specific fixes.

Added:

  • download was renamed to install
    • download will remain but will behave lilke the --no-install flag is set in the future, please adjust any scripts or other integrations accordingly
  • New --enable-reordering option to attempt to optimize file processing order
    • With this enabled legendary will attempt to group files that share many chunks together to reduce memory usage for apps that have lots of duplicated data
    • This reduces the memory requirement for installing World War Z from 5.3 GiB to 499 MiB, making it possible to install the game with the default memory limit (it is enabled by default for that title)
    • However for the majority of games this option will do nothing or have very little effect but make the install process slower, generally it is not advised to use it unless necessary
  • --exclude and --install-tag filtering options
    • --exclude works just like --prefix and allows excluding a file or directory
      • Right now this option can only be specified once, that will be changed in a future release
    • --install-tag works together with install tags from manifests, only some games have them, use list-files to see which ones exit
  • Added--dl-timeout to configure download connection timeouts
    • The default was also increased from 5 to 10 seconds

Fixes/Under-the-hood Improvements:

  • Always get all available CDNs when installing a game
  • Fix SHA hash in JSON manifest parser
  • Increase download connection timeouts
  • Added helpers for game specific workarounds
  • Minor CLI help adjustments
  • Minor logging cleanups and changes

0.0.7 "Questionable Ethics"

04 May 14:08
Compare
Choose a tag to compare

Another minor relase with a few more niche features as well as some game specific fixes.

Added:

  • download was renamed to install
    • download will remain but will behave lilke the --no-install flag is set in the future, please adjust any scripts or other integrations accordingly
  • New --enable-reordering option to attempt to optimize file processing order
    • With this enabled legendary will attempt to group files that share many chunks together to reduce memory usage for apps that have lots of duplicated data
    • This reduces the memory requirement for installing World War Z from 5.3 GiB to 499 MiB, making it possible to install the game with the default memory limit (it is enabled by default for that title)
    • However for the majority of games this option will do nothing or have very little effect but make the install process slower, generally it is not advised to use it unless necessary
  • --exclude and --install-tag filtering options
    • --exclude works just like --prefix and allows excluding a file or directory
      • Right now this option can only be specified once, that will be changed in a future release
    • --install-tag works together with install tags from manifests, only some games have them, use list-files to see which ones exit
  • Added--dl-timeout to configure download connection timeouts
    • The default was also increased from 5 to 10 seconds

Fixes/Under-the-hood Improvements:

  • Always get all available CDNs when installing a game
  • Fix SHA hash in JSON manifest parser
  • Increase download connection timeouts
  • Added helpers for game specific workarounds
  • Minor CLI help adjustments
  • Minor logging cleanups and changes

0.0.6 "Residue Processing"

30 Apr 10:38
Compare
Choose a tag to compare

Version 0.0.6 again comes with some fixes and under-the-hood improvements. But also a few new commands and flags.

Additions:

  • --prefix flag for download command to only download files that start with specified prefix (case-insensitive)
    • Disables installing, mainly meant for research purposes where only select files are required (might be extended in the future)
  • --csv/--tsv flags for list-games and list-installed to get a CSV/TSV list of apps
  • New list-files command that can be used to list the files in a manifest
    • Useful for the new --prefix flag to determine which files are needed
    • This supports additional flags such as CSV output or creating a list of hashes consumable by sha1sum -c e.g. for checking downloads
    • --manifest can be used to load the manifest data from an arbitrary file instead

Fixes/Improvements:

  • Changed download task creation to properly handle all manifests
  • Fix --offline launch flag that was broken unless specified in config
  • Support manifests that have build ids in them (unused as of yet?)
  • Refactor manifet loading to make it usable outside of prepare_download
  • Save some memory by clearing the raw manifest data after it has been fully read
  • Improve pre-installation warnings (unique, added FNA warning)