For Keyman for Android, add the new `keyman-version` parameter to the
api.keyman.com/package-version call so that updates to packages that are
not supported on the current version of Keyman will not be offered. This
supports the scenario where an updated keyboard or lexical model depends
on a newer version of Keyman. Note that an older version of the keyboard
or lexical model package will not be offered (the user can still
download and install an older version manually, but generally, the
recommended solution is to upgrade Keyman; there would be significant
cost to add support for querying and installation of older version
keyboards on the server side, for limited benefit).
Relates-to: keymanapp/api.keyman.com#325
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content
Fixes: #14838
Test-bot: skip
* Remove Server's 'config.json' redundant user options handling
* Refactor options.ts in Server and kmc to share common cross-platform
code
* Move option defaults into common code and sync with .pas defaults
* Rename config.ts to standardPaths.ts to better represent the remaining
purpose of the module.
Fixes: #13458
Also address fixup after renaming a layer so that it does not touch the
key `layer` property, because that refers actually to "modifier", not
"layer" (these terms were conflated in the original design).
Fixes: #15340
Test-bot: skip
When a new OSK is attached, we need to set its active keyboard and
lexical model. These are undocumented API contracts between Keyman
Engine for Web and Keyman Developer Server, so this appears to have
changed in v.19 for keyboards (although the sync is also necessary for
v.18).
Fixes: #15217
Test-bot: skip
If a Keyman Cloud keyboard is legacy and has no source available, make
this more obvious to the author when they attempt to clone it. Add also
messages to help the author complete the other required steps to clone
a keyboard.
Fixes: #15606
Test-bot: skip
fix(web): fix `KeyboardStub.validateForCustomKeyboard`
This change fixes a misleading error message in `validateForCustomKeyboard` - `KR` is not the region as the error implies - furthermore it doesn't make sense to check `KR` since it is the optional [keyboard registration function](https://help.keyman.com/developer/engine/web/18.0/reference/interface/registerKeyboard), so this change removes it.
Add Base Keyboard, Proxy Settings, and Keyman System Settings
documentation and links to the Options context help.
Fixes: keymanapp/help.keyman.com#10
Test-bot: skip
chore(web): remove outdated `*_load.js` files
This change removes unused `*_load.js` files and inlines the code from `laokeys_load.js`. Current Keyman versions no longer produce _load.js files when compiling a keyboard, so these files were pretty outdated.
docs(web): remove unnecessary mentioning of Keyman 17 from docs
Some pages were mentioning Keyman 17 although the content applies to newer versions as well. This change therefore removes the version number from those places.
This change removes unused `*_load.js` files and inlines the code from
`laokeys_load.js`. Current Keyman versions no longer produce _load.js
files when compiling a keyboard, so these files were pretty outdated.
Build-bot: skip build:web
Test-bot: skip
Some pages were mentioning Keyman 17 although the content applies to
newer versions as well. This change therefore removes the version
number from those places.
Build-bot: skip
Test-bot: skip
chore(web): improve the KeymanWeb integration documentation
- replace use of `kmw` with `keyman`
- unify pattern to load keyboards: do it in `keyman.init().then()` instead of in the document `onload`
Part-of: keymanapp/keyman.com#449
Since we removed the .kmx keyboard loading from Keyman 19 the test page
no longer works. This change hides the link to the test page.
Build-bot: skip
Test-bot: skip
The guide examples load `keymanweb.js` from the CDN, but the documentation
explaining the examples showed loading local file. This change adjusts
the docs to show loading from CDN.
Built-bot: skip
Test-bot: skip