Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Find a file
Marc Durdin bbeb799ac2 feat(ios): add keyman-version to package-version check
For Keyman for iOS, 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).

Also change order of handling for response so that error responses are
recognized even if non-error fields are present. (The current api
endpoint, before keymanapp/api.keyman.com#325 lands, can return `kmp`
and `version` fields even when an `error` field was present, and the iOS
code would see that as a valid response for upgrade, when it shouldn't.
The keymanapp/api.keyman.com#325 change ensures that the additional
fields are not set if there is an `error` field.)

Relates-to: keymanapp/api.keyman.com#325
2026-06-25 11:27:00 +02:00
.github chore: update multi-labeler to 5.0.0 2026-06-16 10:33:34 +02:00
android Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
common chore(web): address code review comments 2026-06-08 19:27:12 +02:00
core fix: use meson subsystem and needs_exe_wrapper for cross builds on Windows 2026-06-10 05:43:42 +02:00
developer Merge pull request #16076 from keymanapp/feat/developer/16068-run-project-validation-from-tike 2026-06-15 22:17:10 +10:00
docs Merge pull request #16029 from keymanapp/docs/website-composer-exec 2026-06-02 20:51:35 +10:00
ios feat(ios): add keyman-version to package-version check 2026-06-25 11:27:00 +02:00
linux Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
mac Merge branch 'master' into chore/ios/additional-logging-for-xcodebuild 2026-05-20 13:32:37 +10:00
oem/firstvoices Merge pull request #15993 from keymanapp/chore/ios/fv-cert 2026-05-22 10:22:17 -04:00
resources Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
web Merge pull request #16067 from keymanapp/fix/web/validateForCustomKeyboard 2026-06-10 12:44:41 +02:00
windows docs(windows): add context documentation for additional Advanced options 2026-06-10 11:21:04 +02:00
.clang-format feat(linux): work on 2nd round of comments on PR 11816 2024-06-20 17:44:21 +02:00
.editorconfig chore(linux): Address a few more lintian warnings 2022-03-15 15:32:10 +01:00
.eslintrc.cjs maint: patchup eslint configuration 2025-05-02 14:06:33 +07:00
.flake8 chore(linux): Add integration tests for ibus-keyman 2021-11-04 09:22:28 +01:00
.gitattributes maint(common): use LF line endings for scripts 2025-08-18 17:50:28 +02:00
.gitignore refactor(windows): rename keymanx64 proj keymanhp 2025-09-30 15:33:16 +10:00
.nycrc.json feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
.shellcheckrc maint(linux): remove several shellcheck directives and warnings 2025-09-23 18:30:16 +02:00
build.sh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-10-08 10:46:53 +11:00
configure-repo.sh chore: update docs and non-standard readlink refs 2023-02-22 10:41:54 +07:00
CONTRIBUTING.md chore: add maint to CONTRIBUTING.md 2025-04-29 11:15:55 +07:00
crowdin.yml fix(common): Remove custom language mappings in crowdin.yml 2026-01-13 10:49:52 +07:00
HISTORY.md auto: increment master version to 19.0.248 2026-06-16 13:01:42 -05:00
LICENSE.md maint(linux): fix lintian warnings 2025-05-13 20:07:32 +02:00
package-lock.json chore(deps): bump qs and express 2026-06-02 10:53:38 +00:00
package.json Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
README.md docs(common): update README with number of languages and keyboards 2025-05-21 20:36:20 +02:00
TIER.md Update TIER.md 2022-11-14 07:34:26 +11:00
tsconfig.base.json refactor(web): change @keymanapp/web-utils to keyman/common/web-utils 2025-11-06 07:24:36 +01:00
tsconfig.json refactor(web): move sentry-manager and es-bundling to common 2025-11-06 15:28:04 +01:00
VERSION.md auto: increment master version to 19.0.248 2026-06-16 13:01:42 -05:00

Keyman

Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have so far contributed well over 1,000 keyboard layouts for over 2,500 languages!

License

Copyright (c) SIL Global.

Keyman is an open source project distributed under the MIT license.

Get Involved

Development Status

Important Links