On the OpenWrt side, OpenWrt would need to be build with Global build settings ---> [*] Create JSON info files per build image. The generated json files would need to get merged (I use a python script for that) and the result be placed into the release folder (at least somewhere predictable).
Since past releases do not support the creation of json files, I can only create the json data by hand/script.
EDIT: I have added the 19.07 release. It is just a copy of the the snapshot data. Now the script to generate the data.json would need to be added to the server. The data.json would now also need to contain the download link template for each release in the file.
@richb-hanover-priv can you provide a full set of json files for openwrt master (some snapshot)? That would help testing and extending the selector. It looks like those can be only be generated by building all images. I do not have the computer resources to do that.
@tmomas thanks, that is awesome. I have updated the demo. The links for 19.07.0 are mostly broken, since the file names have changed between releases. That would need to be fixed by hand/heuristics...
The data.json for one release is 154KB in size, zip compressed it is 22KB (assuming the webserver compresses the data).
Additional releases should not increase the size much, since the data is mostly redundant.
Four JSON files were invalid due to some wild text fragments (race condition?). I fixed them by hand.
This should be placed where the downloads happen, i.e. on downloads.openwrt.org
Would be great though if the firmware selector page could be adapted to the current styling, and be easily adapted to a new styling of the whole site later on.