Add support for builds on multiple branches
This is an edge case I haven't encountered before, but apparently it's possible for a build to be on multiple branches at the same time (at the very least, the default master and a beta one). This would make the branch property of product.json files an array instead of null/string (with a single element in almost every case). Alternatively, the build could also be listed twice, in a denormalized fashion - just like the API does it.
BROK The InvestiGator currently has version 1.4.8 available via roll back from the master branch and also from a dedicated beta channel named after the version. Build id, published date and everything else is identical, only the branch differs. Response content from https://content-system.gog.com/products/1252694989/os/windows/builds?generation=2 below for posterity:
{
"total_count": 88,
"count": 6,
"items": [
{
"build_id": "58928999546942343",
"product_id": "1252694989",
"os": "windows",
"branch": null,
"version_name": "1.5.3.7",
"tags": [
"receiver_v2",
"csb_11_0_0_w_19",
"11_0_0_19"
],
"public": true,
"date_published": "2025-08-26T15:15:14+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/07\/83\/0783659ae585027d29363cd0b172cb6b"
},
{
"build_id": "58880509110441043",
"product_id": "1252694989",
"os": "windows",
"branch": null,
"version_name": "1.5.2",
"tags": [
"receiver_v2",
"csb_11_0_0_w_19",
"11_0_0_19"
],
"public": true,
"date_published": "2025-08-09T21:45:39+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/3c\/86\/3c86262277d2dd6cfc3caa7731573b8c"
},
{
"build_id": "58326746111321867",
"product_id": "1252694989",
"os": "windows",
"branch": null,
"version_name": "1.4.8",
"tags": [
"receiver_v2",
"csb_11_0_0_w_19",
"11_0_0_19"
],
"public": true,
"date_published": "2025-01-30T21:37:26+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/77\/dd\/77ddfb7d3b1e2a5e8e67df650349133f"
},
{
"build_id": "57316509858366998",
"product_id": "1252694989",
"os": "windows",
"branch": null,
"version_name": "1.4.7",
"tags": [
"receiver_v2",
"editor_v_1_4_0",
"csb_10_6_1_w_158"
],
"public": true,
"date_published": "2024-02-17T10:27:12+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/bd\/56\/bd564ee7b75774470579ad6b0396c774"
},
{
"build_id": "57101968185977286",
"product_id": "1252694989",
"os": "windows",
"branch": null,
"version_name": "1.4.6.1",
"tags": [
"receiver_v2",
"editor_v_1_4_0",
"csb_10_6_1_w_158"
],
"public": true,
"date_published": "2023-12-05T10:19:59+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/ba\/72\/ba726854a6837eb1721dbe22f20eff63"
},
{
"build_id": "58326746111321867",
"product_id": "1252694989",
"os": "windows",
"branch": "1.4.8",
"version_name": "1.4.8",
"tags": [
"receiver_v2",
"csb_11_0_0_w_19",
"11_0_0_19"
],
"public": true,
"date_published": "2025-01-30T21:37:26+0000",
"generation": 2,
"link": "https:\/\/gog-cdn-fastly.gog.com\/content-system\/v2\/meta\/77\/dd\/77ddfb7d3b1e2a5e8e67df650349133f"
}
],
"has_private_branches": true
}