Releases: derrod/legendary
0.0.15 - Xen
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
- To just migrate all your EGS games to Legendary run
- 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 runninglegendary -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
- No has the
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
- This is unrelated to
- Now supports disabling the file check when importing via
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"
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 fordownload
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
- Verification can be skipped if
- This will also update the game if it is not the latest version
- Verifies a game install and redownloads file that do not match the expected hash
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 forlaunch
/ `language´ game override config option- Overrides language code used when launching the game
--wrapper
parameter forlaunch
- Can be used to provide a wrapper script, e.g.
--wrapper gamemoderun
- Can be used to provide a wrapper script, e.g.
locale
global config option- Can be used to provide a country/language other than
en-US
for the store and launching games
- Can be used to provide a country/language other than
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 forinstall_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
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
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!"
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 appdownload-saves
to download all saves for one or all apps to a directory in the default install dirsync-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 prefixLGDRY_WINE_BINARY
andLGDRY_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"
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
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 toinstall
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, uselist-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
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 toinstall
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, uselist-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"
Another minor relase with a few more niche features as well as some game specific fixes.
Added:
download
was renamed toinstall
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, uselist-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"
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 fordownload
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 forlist-games
andlist-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
- Useful for the new
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)