Make it possible to select by build id
Tries to find build with build id first
If no build is found with specified build id then try to use it as build index
If build id or index is not valid then default to build index 0
Make CDN url template handling more generic
Add option to list available CDNs
Change default Galaxy CDN priority to "edgecast,akamai_edgecast_proxy,fastly"
Check to see if extras are already complete by getting file size from content-length header or API response
Don't trust file size from API responses for extras by default
Add option --trust-api-for-extras to make lgogdownloader trust API responses for extras to be correct
DLC files can now be included/excluded separately
Bumped game details cache version number
Game specific config file changes:
- "dlc" option is deprecated and will be ignored
- "include" option is added
Configuration file $XDG_CONFIG_HOME/lgogdownloader/transformations.json can be used to set rules for transforming gamenames.
New subdir templates: %gamename_transformed% and %gamename_transformed_firstletter%
"--list transformations" can be used to show transformed gamenames
The downloader now shows total size to be downloaded
Added --check-free-space option to check if there is enough free space and abort if not enough is available
Removed --list-details option
Added --list-format to select a format that --list uses
"no_details" is the same as --list previously and the default value
"details" is the same as --list-details was previously
"json" is JSON formatted output
GOG changed something and now the server sometimes responds with gzip compressed XML data
Set CURLOPT_ACCEPT_ENCODING to enable decoding of a response when Content-Encoding header is received
Moved zlib decompression from GalaxyAPI::getResponse to GalaxyAPI::getResponseJson and made it automatic when detecting zlib header
Adds basic support for filtering games using tags that the user can set on account page
Add option --list-tags to list all the tags user has assigned
Add option --tag to filter games using the tags
Removes openssl thread locking callbacks required by OpenSSL <= 1.0.2
Other SSL libraries and newer OpenSSL should be handled by libcurl in a way that is thread-safe
Makes downloader use duplicate handler for extras
This should help to avoid a race condition mentioned in issue #200 (Crashes when downloading "secure") because the downloader no longer tries to download the same file from multiple threads