Immutable
release. Only release title and notes can be modified.
This release represents an intermediate milestone on the path to add support for additional stores in vangogh. I took an opportunity to resolve some technical debt, simplify code in few areas and prepare vangogh for upcoming additions. There are some nice quality of life improvements for GOG.com as well.
BREAKING CHANGES
tl;dr; of what you need to do for your setup:
- Add
-additional-datatosynccommand to restore previous default behavior of getting all data from all sources - Replace
download-typewithno-dlc,no-extrasas needed. See compose.yml for details.
Full details:
- Lots of data migrations to (1) make data sourced from GOG.com clearly separated from other data; (2) make other stores data use that store id vs GOG.com id. Among other things, this would allow easier reuse of that data with other stores products.
- This has led to some reduced functionality - search by other stores data has been removed. I'll work on restoring that in the future, but right now this is not a priority
synccommand options have been dramatically simplified. Most importantly - additional data (everything that's not required for downloads) is now an OPTIONAL parameter (-additional-data). If you were usingvangogh syncbefore - you need to change that tovangogh sync -additional-datato get the same amount of data. However, now you can runvangogh syncand it would only update everything required for downloads (including updated installers)- Downloads now more aggressively skip existing files if name and file size match. Previously during downloads vangogh would force downloading updated installers, however this is redundant and wasteful. Now, for installers - vangogh would (1) force update checksum from GOG.com servers; (2) check if installer with the same file name and size exists; (3) skip downloading if those parameters match; (4) perform validation using latest checksum. This should positively reduce amount of data downloaded, especially for large installers that update frequently (e.g. Stellaris).
- Most other
syncoptions have been removed. It already should be possible to replicate most (if not all) individual steps that sync performs, so those were just adding complexity with no value. If there's a use-case that's now impossible to achieve - let me know. download-typeparameter for all commands have been replaced withno-extrasandno-dlc. Download type is concept vangogh inherited from GOG.com and it doesn't make much sense with other stores.- /update page and all custom code to prepare data for it was removed. Among other things this means RSS updates are no longer published. This is replaced with per-store top level navigation (only GOG.com currently) and that store sections - e.g. Search, Owned, Catalog, Wishlist, Sale for GOG. In those sections I've added new sort and filter options that implement similar functionality as /update sections previously. For example - lasted updated installers are Owned > Updated. Steam news updates are Catalog > News. Latest GOG.com releases are Catalog > Release. Those views are powered by search, so they don't need to be prepared like /update data and always display latest available information.
- Product types are now prefixed with the origin, e.g.
details->gog-details
Other changes
- Compatibility now displays Steam Machine compatibility data (when available)
- It's now possible to go to the next page from the top of the screen on paginated views. GOG > Search adds "Next page" link to search query display. GOG > all other sections enable
from-to of totalto be used as a link to go to the next page. - Lots of improvements in page URLs - those are now shorter and more descriptive
- id parameter is now validated for better security in operations that change data (e.g. wishlist, tags)
- New sort options added to search - download completion date, Steam news updated date - they power new GOG section views, but can be used in any query
- Binaries changes: (1) innoextract has been added to binaries (Linux binaries only) for theo; (2) VC Redist has been updated to the latest version
- Downloads from vangogh should now properly report progress (e.g. in the browser)
theo changes
Required version of theo for this release is v0.5.47
- Added Proton 11.0 to list of Steam Proton versions
- Removed vangogh special types for handling product metadata - now using store-native types (e.g. gog-details)
- theo can now use innoextract for faster extraction of GOG.com installers. It'll be downloaded from vangogh for Linux or must be already installed with Homebrew or other means on macOS
- Data directories paths are now unified between vangogh and theo
- Fixed launch options, specifically environmental variables, not applying correctly
- theo now uses
-no-dlcto control DLC installation (same parameter as vangogh). This applies to GOG and EGS games. SteamCMD seemingly always installs all DLC (or I wasn't able to figure out how to control this yet) - EGS launch options now default to standalone mode, making it possible to launch more games (e.g. The Last of Us Part 1 and 2)