Skip to content

feat(android): add keyman-version to package-version check#16139

Open
mcdurdin wants to merge 1 commit into
masterfrom
feat/android/325-add-keyman-version-check-to-package-version
Open

feat(android): add keyman-version to package-version check#16139
mcdurdin wants to merge 1 commit into
masterfrom
feat/android/325-add-keyman-version-check-to-package-version

Conversation

@mcdurdin

Copy link
Copy Markdown
Member

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

User Testing

  • TEST_UPGRADE: Install an older version of a keyboard and lexical model from downloads.keyman.com, and then check for updates, and verify that the packages are updated successfully.

  • TEST_MISSING_KEYBOARD: Create a keyboard package with an id that is not on Keyman Cloud, and install it. Check for updates and verify that the app functions correctly and does not offer updates for the keyboard.

  • TEST_MISSING_MODEL: Create a model package with an id that is not on Keyman Cloud, and install it. Check for updates and verify that the app functions correctly and does not offer updates for the keyboard.

(It is not currently possible to test the scenario where a keyboard/model requires a newer Keyman version in the app, but the outcome should be identical to the missing keyboard/model outcome.)

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
@keymanapp-test-bot

keymanapp-test-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown

User Test Results

Test specification and instructions

  • TEST_UPGRADE (OPEN)
  • TEST_MISSING_KEYBOARD (OPEN)
  • TEST_MISSING_MODEL (OPEN)
Results Template
# Test Results

* **TEST_UPGRADE (OPEN):** notes
* **TEST_MISSING_KEYBOARD (OPEN):** notes
* **TEST_MISSING_MODEL (OPEN):** notes

Test Artifacts

@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S32 milestone Jun 25, 2026
@mcdurdin mcdurdin requested a review from jahorton June 25, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant