We have data available to return older versions of models and keyboards for downlevel Keyman versions. This would be an improvement on not returning anything if a keyboard/model is too new.
This would impact e.g.
- model search api api.keyman.com/model?q=bcp47:...
- online update api
- keyboard search api
Things to consider:
- how do we handle deprecated keyboards, e.g. renamed keyboards
- data collection during keyboard/model deployment from downloads.keyman.com - currently the data is all retrieved from the current commit snapshot of the keyboards/lexical-models repositories, and finding older versions would be expensive. Given we cannot easily calculate min version from source but need to use .keyboard_info/.model_info, the only really viable method is to have a helper on downloads.keyman.com that returns all .keyboard_info/.model_info files (which could maybe be returned dynamically as an array in a JSON response?)