Keyboard Support

Contact and Search Homepage

Header bottom

Other versions
Version 18.0 (home page)Version 17.0 (home page, current version)Version 16.0 (home page)Version 15.0 (home page)Version 14.0 (home page)Version 13.0Version 12.0Version 11.0Version 10.0Version 9.0Version 8.0 (home page)Version 7.0 (home page)Version 6.0 (home page)Version 5.0 (home page)Version 4.0 (home page)

On this page

Keyman Developer Version History

13.0.110 stable

Published 2020-07-15.

  • Bug fix(Compiler): Lexical model compiler no longer attempts to form npm link when the package is installed (#3352)
  • Bug fix(Compiler): Lexical model compiler merges wordlist entries for duplicate words during compilation (#3351)

13.0.109 stable

Published 2020-06-03.

  • Bug Fix(Keyboard Editor): Touch Layout Compiler fixes invalidly formatted strings during compile (#3204)

13.0.101 stable

Published 2020-02-24.

  • Bug Fix(Keyboard Editor): Touch Layout Editor could crash switching templates (#2721)
  • Bug Fix(Keyboard Editor): Touch Layout Editor would not always accept character map insertions (#2736)

13.0.100 stable

Published 2020-02-19.

  • Chore: Keyman Developer 13.0.100 release

13.0.76 beta

Published 2020-02-18.

  • Bug Fix(Install): Upgrading would lose user settings (resolves after 2 upgrades) (#2668)

13.0.75 beta

Published 2020-02-17.

  • Bug Fix(IDE): In some situations, the context help window could cause Developer to crash (#2661)
  • Bug Fix(IDE): Attempting to import a blank OSK into the Touch Layout Editor would eventually crash (#2663)

13.0.73 beta

Published 2020-02-13.

  • Bug Fix(IDE/Model Editor): Would never be set into modified state for changes exclusively in a wordlist. (#2634)
  • Bug Fix(IDE/Model Editor): Add context help (#2634)
  • Bug Fix(IDE/Model Editor): Add Ctrl+PgUp/Ctrl+PgDn hotkeys for switching pages (#2634)
  • Bug Fix(IDE/Model Editor): Add Alt+Left/Alt+Right hotkeys for switching views (#2634)
  • Bug Fix(IDE/Model Editor): Saving file from source view now gets latest changes correctly (#2634)

13.0.72 beta

Published 2020-02-12.

  • Bug Fix(IDE/Debugger): MIME type mismatch on some systems could cause web test to fail (#2633)

13.0.66 beta

Published 2020-02-11.

  • Bug Fix(Compiler): Merge of .keyboard_info files would not always get platform support correct (#2621)
  • Bug Fix(Compiler): Missing keyboard file led to misleading error in package compiler (#2620)
  • Bug Fix(Compiler): Double-click to drop character onto touch layout was disabled (#2619)

13.0.65 beta

Published 2020-01-28.

  • Feature(Compiler): Hotkeys defined in .kmn no longer need to be quoted (#2432)
  • Feature(IDE): Enhanced Lexical Model Editor (#2396)
  • Feature(IDE): Show QRCode for web debugger URLs in Keyboard and Package editors (#2433)
  • Feature(IDE): F7 in Project window compiles the whole project (#2442)
  • Feature(IDE): Default Project Path is now Documents\Keyman Developer\Projects (#2449)
  • Feature(Tools): Add unsupported kmdecomp decompiler utility (#2419)
  • Feature(Tools): Add x64 version of kmcomp for macOS (#2352)
  • Bug Fix(Compiler): Missing author email was causing lexical model compiler to fail (#2388, 12.0:#2496)
  • Bug Fix(Compiler): Lexical model compiler was not handling SMP characters (#2438, 12.0:#2502)
  • Bug Fix(Compiler): Zero-length store names are no longer permitted (#2443)
  • Bug Fix(Compiler): Some keyboards were incorrectly marked as mobile-capable (#2334, 12.0:#2343)
  • Bug Fix(Compiler): nul in context caused incorrect context deletion for web keyboards 10.0 or newer (#2295)
  • Bug Fix(IDE): Remove version info from .kps when follow-keyboard-version is set (#2417)
  • Bug Fix(IDE): Make sure popup menus are never obscured in Project view (#2415)
  • Bug Fix(IDE): 'Show Help' was not working on Distribution tab in Project view (#2397)
  • Bug Fix(IDE): Character Map now drops characters instead of codes in visual editors (#2428)
  • Bug Fix(IDE): Text editor and other controls did not receive focus correctly (#2331, 12.0:#2340)
  • Bug Fix(IDE): Shortcuts in text editors were not working after #2331 (#2424, 12.0:#2425)
  • Bug Fix(IDE): Unicode characters could be silently lost when editing legacy Windows-1252 files (#2416)
  • Bug Fix(IDE): Deleting select platform in code view of touch layout editor could crash (#2294)
  • Bug Fix(Tools): Keyboard ID was not clean by default with Import Windows Keyboard (#2431)
  • Change(IDE): Rename UI references of 'TIKE' to 'Keyman Developer' (#2439)
  • Change(IDE): Application title no longer shows active project, only main window (#2441, #2291)

12.0.66 stable

Published 2020-01-20.

  • Bug Fix: Character Map was not reliably dropping into Text Editor (#2504)
  • Bug Fix: Lexical model compiler was not handling SMP characters (#2502)

12.0.65 stable

Published 2020-01-20.

  • Bug Fix: Missing author email was causing lexical model compiler to fail (#2496)

12.0.62 stable

Published 2019-12-06.

  • Bug Fix: Shortcuts in text editors were not working after #2331 (#2425)

12.0.55 stable

Published 2019-11-18.

  • Bug Fix: Some keyboards were incorrectly marked as mobile-capable (#2343)

12.0.54 stable

Published 2019-11-15.

  • Bug Fix: Text editor and other controls did not receive focus correctly (#2340)

12.0.50 stable

Published 2019-10-07.

  • Release 12.0

12.0.45 beta

Published 2019-10-05.

  • Touch Layout Editor: Make default padding in touch layout editor match default padding in KeymanWeb. (#2170)

12.0.44 beta

Published 2019-10-04.

  • Package Editor: Lexical models do not have embedded version numbers, so remove this from the user interface. (#2164)
  • Touch Layout Editor: Dropping character from Character Map onto Touch Layout Editor now saves the change. (#2163)

12.0.41 beta

Published 2019-09-30.

  • General: Keyman Desktop 11 would crash if installed together with Keyman Developer 12. (#2148)

12.0.40 beta

Published 2019-09-29.

  • General: Context help was not showing correctly on startup. (#2145)

12.0.39 beta

Published 2019-09-27.

  • General: Introduces a Welcome screen and improves workflow for starting use of Keyman Developer. (#2134)
  • General: Fix version numbers for kmlmc, kmlmp and kmlmi. (#2129)
  • General: .js files now open in Keyman Developer for editing. (#2140)

12.0.37 beta

Published 2019-09-25.

  • Compiler: Add -lexical-model command line option for building lexical model template projects to kmconvert. (#2120)
  • Debugger: Remove legacy 'Install keyboard' link in web test and cleanup look somewhat. (#2122)
  • Compiler: Support colour log messages and cleanup logging. (#2128)
  • Help: Fix some of the issues with Context Help, and address one specific topic - touch layout editor. (#2132)

12.0.36 beta

Published 2019-09-24.

  • General: File type icons were mismatched (#2112)
  • Project: Shift layer in basic touch layout template had incorrect modifier for period (.) on shift layer (#2113)
  • Touch layout editor: Adding or deleting a playform or layer and making no other changes would not stick (#2114)
  • General: On Windows 7 and 8, in some circumstances dialog boxes could appear behind the main form (#2115)

12.0.34 beta

Published 2019-09-20.

  • Add basic wordlist editor to Keyman Developer (#2086)

12.0.33 beta

Published 2019-09-19.

  • Disable canonicalization of BCP 47 codes when building keyboard and model projects from template because it's inadequate (#2084)
  • Prevent package metadata preprocessor from treating .model.js files as keyboard files when they don't exist (#2085)

12.0.30 beta

Published 2019-09-11.

  • Clarify the project filename that will be created and simplify how the Browse button works in Project Template dialogs (#2073)

12.0.28 beta

Published 2019-09-09.

  • Character preview was not updating in mobile web touch test (#2061)

12.0.27 beta

Published 2019-09-08.

  • Make sure New Project actually starts a new, blank project (#2059)
  • Don't overwrite a BCP 47 code that the user has chosen when writing project templates (#2060)

12.0.23 beta

Published 2019-09-02.

  • Add kmlmc, kmlmi and kmlmp command line tools for building lexical models (#2024)

12.0.15 beta

Published 2019-08-16.

  • Add support for lexical models in packages for development tools (#1977)

12.0.9 beta

Published 2019-07-29.

  • Initial beta release of Keyman Desktop 12

  • Pull Requests

  • New Features:

    • Lexical model compiler - currently only available from source (#1766)
    • Add keyboard source analysis and automated regression test tool "kmanalyze" (#1696)

2019-06-12 11.0.1360.0 stable

  • No changes

2019-06-05 11.0.1357.0 stable

  • No changes

2019-04-29 11.0.1355.0 stable

  • No changes

2019-04-24 11.0.1354.0 stable

  • Bug fix: Keyman Developer touch layout editor would not save key caps for subkeys (#1731)
  • Bug fix: Compiler could occasionally fail with undefined results when using Unicode store names (#1736)

2019-04-06 11.0.1353.0 stable

  • Bug fix: For large keyboards, Keyman Developer would generate a .js file that Chrome was unable to parse (#1717)

2019-02-27 11.0.1352.0 stable

  • No changes

2019-02-26 11.0.1351.0 stable

  • Not released

2019-02-25 11.0.1350.0 stable

  • 11.0 Stable release

2019-02-25 11.0.1313.0 beta

  • No changes to Keyman Developer

2019-02-21 11.0.1312.0 beta

  • Bug fix: Connect buttons to actions in Distribution tab in Project (#1606)
  • Bug fix: Fix crash saving new keyboard when missing files are referenced (#1605)
  • Bug fix: Fix resizing of text editor windows (#1607)

2019-02-20 11.0.1311.0 beta

  • No changes to Keyman Developer

2019-02-19 11.0.1310.0 beta

  • Bug fix: Developer does not focus the text editor automatically after load (#1582)

2019-02-15 11.0.1309.0 beta

  • Bug fix: Developer was not maintaining project state between page loads (#1580)
  • Bug fix: Developer now maintains the view state when switching between Design and Code views of touch layout editor (#1579)
  • Bug fix: New Project Wizard wasn't adding metadata files to project (#1578)
  • Bug Fix: Package RTL keyboard metadata was being overwritten if .kmx was after .js in package file list (#1576)

2019-02-14 11.0.1308.0 beta

  • Change: Adds option to check filename conventions (#1549)

2019-02-01 11.0.1307.0 beta

  • Change: Removed unused test window (#1560)

2019-01-18 11.0.1306.0 beta

  • Change: Update included KeymanWeb to 11.0.206 (#1537)

2019-01-17 11.0.1305.0 beta

  • Change: Allow the "display underlying" flag to be set for each platform (#1539)

2019-01-15 11.0.1304.0 beta

  • Change: Tidy up ambiguities in user interface in touch layout editor (#1534)

2019-01-15 11.0.1303.0 beta

  • No changes to Keyman Developer

2019-01-10 11.0.1302.0 beta

  • Change: Update included KeymanWeb to 11.0.205

2019-01-07 11.0.1301.0 beta

  • Bug fix: Developer does not open a new project after it is created (#1499)
  • Bug fix: Developer does not enable Install button in Package Editor after compile (#1498)
  • Bug fix: Developer would sometimes ask for ethnologue.txt on upgrade (#1481)
  • Change: Options dialog Editor tab layout polished (#1482)

2019-01-02 11.0.1300.0 beta

  • Initial beta release of Keyman Developer 11

  • Pull Requests

  • New Features:

    • New Project from template and Import Keyboard (#1210, #1216, #1240)
    • kmconvert command line utility (#1207)
    • New code editor using open source Monaco component (#1153, #1154, #1155, #1156, #1252, #1274)
    • Web views now use Chromium, not MSHTML (IE) (#1078, #1086, #1435, #1374, #1354, #1248)
    • Support Linux targets (#1239)
    • Added oskbulkrenderer tool for generating sample on screen keyboards (#1428)
  • Changes:

    • Tidy up of installer to make future upgrades easier (#1175)
    • Opening or creating a project now closes current editor files (#1242)
    • Projects can now include other related files such as (#1243)
    • Keyman Developer now treats files as UTF-8 by default (#1244, #1355)
    • kmcomp now adds language subtag names to keyboard_info files (#1426)
    • kmcomp now supports -add-help-link parameter when bulding .keyboard_info files (#1346)
    • Refactored how keyboard_info metadata is generated (#1158)
    • Improved performance of web server (#1433)
    • Current project is now shown in title bar (#1369)
    • Tweaked setup user interface and structure (#1098, #1175, #1178, #1245, #1238)
  • Bug Fixes:

    • Support for display (avoiding crash) when loading large icons (#1416)
    • Importing .kvks into .keyman-touch-layout no longer uses incorrect layer names for some rare modifiers (#1415)
    • Various bug fixes for touch layout editor (#1414, #1405)
    • Various bug fixes and regressions for project view (#1368, #1247, #1241, #1228, #1157)
    • Fixed surrogate pair support in some debugger status views (#1246)

10.0.1206 stable

Published 2018-11-28.

  • Add parameter -add-help-link to kmcomp (#1346)

10.0.1205 stable

Published 2018-11-07.

  • Mitigation for issues with installation under certain languages in Windows 10 1803 or later (#1299)

10.0.1204 stable

Published 2018-09-28.

  • Fix crash in Keyman Developer package editor when a compiled .js keyboard is missing (#1224)

10.0.1202 stable

Published 2018-09-12.

  • Refactor how keyboard_info metadata is generated (#1174)

10.0.1201 stable

Published 2018-07-06.

  • No changes to Keyman Developer (update to KeymanWeb script)

10.0.1200 stable

Published 2018-06-28.

  • 10.0 stable release

2018-06-27 10.0.1113.0 beta

  • No changes to Keyman Developer (update to KeymanWeb)

2018-06-26 10.0.1112.0 beta

  • Keyman Developer no longer crashes if a .kpj.user file is deleted while in use (#1017)

2018-06-21 10.0.1111.0 beta

  • No changes to Keyman Developer (update to KeymanWeb)

2018-06-20 10.0.1110.0 beta

  • Script subtags are now appended for more scripts in the Keyboard languages dialog (#1006)
  • KeymanWeb 10.0 compiler now computes indexes correctly when deadkey and any used in a secondary group (#1008)

2018-06-19 10.0.1109.0 beta

  • No changes to Keyman Developer

2018-06-15 10.0.1108.0 beta

  • No changes to Keyman Developer

2018-06-13 10.0.1107.0 beta

  • Add Unicode 11.0 characters

2018-06-12 10.0.1106.0 beta

  • No changes to Keyman Developer

2018-06-11 10.0.1105.0 beta

  • No changes to Keyman Developer

2018-06-09 10.0.1104.0 beta

  • No changes to Keyman Developer

2018-06-07 10.0.1103.0 beta

  • No changes to Keyman Developer

2018-06-05 10.0.1102.0 beta

  • Improved crash reporting stability (#940)

2018-06-03 10.0.1101.0 beta

  • Open Packages Page now opens the browser in Package Editor (#926)
  • Source editor no longer left-trims comments (#925)

2018-06-01 10.0.1100.0 beta

  • No changes to Keyman Developer

2018-05-31 10.0.1099.0 beta

  • No changes to Keyman Developer

2018-05-30 10.0.1098.0 beta

  • Validate and lookup language names automatically in package editor (#911)
  • Feature: add .kmp download links from debug web server (#910)

2018-05-29 10.0.1097.0 beta

  • Prevent a crash when attempting to load an invalid project file (#909)
  • Hide debug status panel in Test Mode (#908)

2018-05-28 10.0.1096.0 beta

  • Fix for crash in regression testing restart (#907)

2018-05-28 10.0.1095.0 beta

  • Renames touch layout extension from -layout.js to .keyman-touch-layout (#897)

2018-05-26 10.0.1094.0 beta

  • Check that build succeeded before attempting to start debugger (#900)

2018-05-25 10.0.1093.0 beta

  • Make longpress slash darker in touch layout editor (#898)

2018-05-22 10.0.1092.0 beta

  • No changes to Keyman Developer

2018-05-17 10.0.1091.0 beta

  • No changes to Keyman Developer

2018-05-11 10.0.1090.0 beta

  • Fixed missing icons in project view (#864)

2018-05-11 10.0.1087.0 beta

  • Opening an editor by double-clicking a message in message window can crash Developer (#857)

2018-05-09 10.0.1086.0 beta

  • No changes to Keyman Developer (KeymanWeb updated)

2018-05-08 10.0.1085.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1084.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1083.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1082.0 beta

  • Fixes support for 'beep' statements in keyboard stores when compiling for web or mobile targets (#733)

2018-05-07 10.0.1081.0 beta

  • No changes to Keyman Developer

2018-05-07 10.0.1080.0 beta

  • No changes to Keyman Developer

2018-05-07 10.0.1079.0 beta

  • No changes to Keyman Developer

2018-05-04 10.0.1078.0 beta

  • No changes to Keyman Developer

2018-05-04 10.0.1077.0 beta

  • Correctly show the messages window after a compile (#822)

2018-05-04 10.0.1076.0 beta

  • Don't create a blank project on 'opening' a project, either on startup or via menu (#815)
  • Scroll text editor cursor into view after undo (#821)

2018-05-04 10.0.1075.0 beta

  • Ensure that compiled visual keyboard associates with correct base keyboard (#817)

2018-05-03 10.0.1074.0 beta

  • Restrict modifier options to a small set by default in touch layout editor (#810)

2018-05-03 10.0.1073.0 beta

  • Checking for online update when it is already running in background can crash Developer (#813)
  • Avoid crash if online update already running (#814)

2018-05-03 10.0.1072.0 beta

  • Touch layout editor no longer leaves broken JSON when deleting or modifying some keys (#811)

2018-05-03 10.0.1071.0 beta

  • Special keys imported from a visual keyboard into a touch layout now display correctly (#812)

2018-04-30 10.0.1070.0 beta

  • BCP 47 picker in package editor now does name lookups and constrains codes as required by target operating systems (#746, #766)

2018-04-30 10.0.1066.0 beta

  • Fixed broken test for valid match/nomatch output (#793)

2018-04-27 10.0.1061.0 beta

  • Fixed broken context help (#779)

2018-04-25 10.0.1060.0 beta

  • No changes in Keyman Developer (updated KeymanWeb)

2018-04-25 10.0.1059.0 beta

  • No changes in Keyman Developer (updated KeymanWeb)

2018-04-25 10.0.1058.0 beta

  • No changes in Keyman Developer

2018-04-12 10.0.1057.0 beta

  • No changes in Keyman Developer

2018-03-31 10.0.1056.0 beta

  • Web compiler was not escaping quote character in v10.0 keyboards (#719)

2018-03-22 10.0.1055.0 beta

  • No changes in Keyman Developer

2018-03-22 10.0.1054.0 beta

  • Initial beta release of Keyman Developer 10

10.0 alpha

  • Keyman Developer moved to open source (#121)
  • Keyman Developer now supports BCP 47 tags throughout (#543)
  • KeymanWeb is now continuously integrated with Developer, ensuring that each update uses the most current version possible (#122)
    • Additional KeymanWeb compatibility fixes (#349)
  • Keyman Developer now connects only to and for online tools (#653)


  • Keyman Developer compiler now generates keyboards that distinguish left and right ctrl/alt for web (#313)
  • Packages can now include .js files for deployment to iOS and Android (#461)
  • The keyboard compiler now generates .js files that do not include version numbers in the filename (#528)
  • The keyboard compiler now supports treating warnings as errors for packages and web keyboards (#620, #662, #665)
  • Web keyboard compiler now fully supports all deadkey scenarios (#627)
  • Keyboard compiler now compiles .kvks to .kvk (#536)

Editors and debuggers

  • Keyman Developer visual editors now support keyboards that distinguish left and right ctrl/alt for web/mobile targets (#342)
  • Web debugger now shows character codes above the text editor (#573)
  • Visual keyboard files are now saved by default in .kvks XML format to make version control simpler (#536)


  • The &version store is now optional and the compiler will determine and report on the minimum version required if it is not present (#334)
  • T_ keys in mnemonic layouts are now better supported in touch keyboards (#660)


  • Added support for processing .keyboard_info files to command line compiler (#331)

9.0.523 stable

  • Fix: When a longpress popup is being edited, selecting another primary key can copy the details to that key's popup (additional scenario, I4926)
  • Update: Updated KeymanWeb to latest build 408

9.0.519 stable

  • Fix: When a longpress popup is being edited, selecting another primary key can copy the details to that key's popup (I4926)
  • Fix: If 'find char under cursor automatically' is on, OSK editor opens charmap if it is closed (I4927)
  • Fix: Keyman 9 product installers should test for XP or Vista (I4934)
  • Fix: Redraw not reliably working in text editor (I4962)
  • Fix: Importing a KMN into a KVK does not work if includecodes are in the keyboard (I4979)
  • Fix: Keyboard fonts dialog has incorrect tab order (I4980)
  • Fix: Character Map is being updated even when not visible (I4981)
  • Fix: Defined character constants cannot be referenced correctly in other stores (I4982)
  • Fix: Starting a subprocess can fail due to constant buffer for CreateProcessW (I4983)

9.0.518 stable

  • Fixed: Compiler does not warn on an index() statement that has an offset one past the key (I4914)
  • Improved: Text editor refresh is now faster after fix for I4870 (I4918)

9.0.517 stable

  • Fixed: Blank font filename entry in JSON metadata UI editor crashes on save [CrashID:tike.exe_9.0.516.0_009CD793_EAssertionFailed] (I4878)

9.0.516 stable

  • Fixed: Keyman Developer crashes when starting regression test [CrashID:tike.exe_9.0.511.0_0058BC63_EInvalidOperation] (I4839)
  • Fixed: Editor does not always refresh immediately with new theming (I4870)
  • Fixed: OSK font and Touch Layout font should be the same in Developer (I4872)
  • Fixed: Keyman Configuration test windows do not always display correctly (I4874)
  • Fixed: RTL flag is not mapped in the JSON editor (I4875)
  • Fixed: Default "eng" language should be added if missing during debug to JSON (I4876)
  • Fixed: JSON format is inconsistent with documentation (I4877)
  • Added: "Treat hints and warnings as errors" option to compiler (I4865)
  • Added: "Warn on deprecated features" option to compiler (I4866)
  • Added: "Test for code after use()" warning to compiler (I4867)
  • Added: Branding editor needs smoother interactions with test window (I4873)

9.0.515 stable

  • Added: Dynamically refresh Branding Pack UI Test window as edits happen (I4855)
  • Fixed: Support view of particular pages of Keyman Configuration and missing pages in KCT Test (I4856)
  • Fixed: Allow edit of dtd files in kct editor (I4857)
  • Fixed: Asset files not always upgrading in Keyman Developer (I4858)

9.0.514 stable

  • Added: New File dialog now creates folders automatically (I4852)
  • Fixed: Inconsistent display of panels through Developer (I4851)

9.0.513 stable

  • Fixed: Backspace doesn't always work in the keyboard debugger (I4838)

9.0.512 stable

  • Added: Update KeymanWeb to build 403 (I4837)
  • Added: Context-sensitive help missing V8 and V9 keywords (I4840)
  • Added: Restructure version 9 developer help (I4841)
  • Fixed: Ctrl+N, Ctrl+O not working in Developer Project view (I2986)
  • Fixed: Compiler does not recognise baselayout, layer or platform at the start of a line (I4784)
  • Fixed: Character Identifier cells are too narrow for entire U+xxxxxx caption (I4832)
  • Fixed: Character Identifier blank font grid needs formatting (I4834)
  • Fixed: Project window needs Keyman 9 icons (I4835)
  • Fixed: Character Map and Character Identifier don't match tokens at start of line (I4842)
  • Fixed: Delete key doesn't work in the keyboard debugger (I4845)
  • Fixed: Code editor does not get focus automatically when file is loaded (I4847)

9.0.511 stable

  • Added: Refresh Keyman Developer look and feel for release (I4796)
  • Added: Split Path and Name boxes in New File dialogs (I4798)
  • Added: Add Character Identifier to Keyman Developer (I4807)
  • Added: Add character preview to debug window (I4808)
  • Added: Track keystrokes in debug status form (I4809)
  • Added: Add Restart Debugger button to debug status window (I4815)
  • Added: Note in compile log if symbols are included in build (I4823)
  • Added: Add Unicode 8.0.0 to Keyman Developer 9 (I4829)
  • Fixed: Convert to Characters tool is inconsistent (I4797)
  • Fixed: Preview keys are wrong colour in Developer (I4799)
  • Fixed: Targets box overlaps name box in keyboard editor (I4810)
  • Fixed: Hide JSON metadata tab for desktop keyboards (I4811)
  • Fixed: Tab order in Details page for Keyboard Editor is incorrect (I4812)
  • Fixed: Keyboard preview background colour is incorrect (I4813)
  • Fixed: Image preview in package editor doesn't refresh after changes (I4814)
  • Fixed: Tidy up display of key in debug status window (I4816)
  • Fixed: Regression test buttons have incorrect labels (I4817)
  • Fixed: Remove obsolete files from Keyman Developer source (I4818)
  • Fixed: Keyman Developer home page in About dialog is incorrect (I4819)
  • Fixed: Keyboard fonts dialog box has incorrect control types (I4820)
  • Fixed: Update icons for version 9.0 in New File dialog (I4821)
  • Fixed: Form sizes are incorrect with new theming (I4822)
  • Fixed: Fonts don't always load correctly in KeymanWeb test page (I4824)
  • Fixed: Make kmcomp command line details consistent (I4825)
  • Fixed: Navigation keys don't work in debugger (I4826)
  • Fixed: Key down debug events are not always processed correctly (I4827)
  • Fixed: Font identifier miscalculates percentages when supplementary plane characters in string (I4828)

9.0.510 stable

  • Keyboard debugger does not always activate profile correctly (I4767)
  • Add "open in code view" default option for keyboards (I4751)
  • Opening a keyboard externally can open it multiple times (I4749)
  • V9.0 - Enable SHIFT+ESC to pause debugger with TSF (I4033)

9.0.509 stable

  • Package compiler (buildpkg) needs to specify username and password on command line (I4763)
  • Buildpkg needs to support different paths for msi and kmp files (I4764)
  • Add "open in code view" default option for keyboards (I4751)
  • Double-click on message does not find source line since build 500 (I4765)
  • EthnologueCode system store does not correlate to control on first page of wizard for messages (I4766)
  • Keyboard debugger does not always activate profile correctly (I4767)
  • Opening a keyboard externally can open it multiple times (I4749)
  • KeymanWeb key is no longer required for debugger in Keyman Developer (I4768)
  • Keyman Developer missing keymanweb-osk.ttf from layoutbuilder install (I4747)
  • Command line package compiler should trap exceptions and report rather than crashing (I4769)
  • Product compiler does not create output path if required (I4756)
  • Add "open in code view" default option for keyboards (I4751)
  • If kmcmpdll.dll does not exist in debug path, try default paths (I4770)
  • Update regressiontest app for Engine and Developer 9.0 (I4771)

9.0.508 stable

  • Fixed: Project files need to build package installers (I4734)
  • Added: Clean and Build single file commands to project (I4735)
  • Fixed: Product files don't include version in output filename in project (I4736)
  • Fixed: Clean package should also clean installer (I4737)
  • Fixed: Product compiler crashes with stack overflow in build 507 (I4738)
  • Fixed: Don't show "keep in touch" for non-keyman products (I4740)
  • Fixed: Package installer compiler references wrong path for compiled package file (I4741)
  • Fixed: Product compiler does not save .msi or .pxx into project output folder (I4743)
  • Fixed: Keyman Developer 9.0 fails to upgrade from Developer 8.0 cleanly (I4744)

9.0.505 stable

  • Fixed: Crash when developer tries Upload to Tavultesoft and internet connection is down [CrashID:tike.exe_9.0.504.0_0068E2DC_ESOAPHTTPException] (I4726)
  • Fixed: Changing font while touch layout editor in Code mode results in broken \ rules (I4727)
  • Fixed: Saving a keyboard with a locked feature file causes Developer to crash [CrashID:tike.exe_9.0.504.0_0045876A_EFCreateError] (I4728)
  • Fixed: If you attempt to load a non-XML file as a project, it silently fails and overwrites the file (I4729)
  • Fixed: Loading a kvk file in a keyboard, where content is invalid, crashes developer [CrashID:tike.exe_9.0.504.0_0078D23F_EVisualKeyboardLoader] (I4730)

9.0.504 stable

  • Fixed: Project display crashes if project render output file is locked [CrashID:tike.exe_9.0.489.0_0045876A_EFCreateError] (I4654)
  • Fixed: Developer crashes when changing font settings and in code view for touch layout if not on first line [CrashID:tike.exe_9.0.487.0_0069BE51_ERangeError] (I4655)
  • Fixed: Loading a non-project file as a project crashes Developer [CrashID:tike.exe_9.0.497.0_00813E09_EProjectLoader] (I4703)
  • Fixed: Compiling a standalone keyboard crashes Developer [CrashID:tike.exe_9.0.503.0_00A4316C_EAccessViolation] (I4720)
  • Fixed: Developer crashes if a file is in use and a reload is attempted (I4721)
  • Fixed: Keyboard uploads fail due to incorrect server name (I4722)
  • Fixed: Switching from source tab to design tab in layout fails to refresh the layout (I4723)
  • Fixed: Compiler generates warnings for JSON files if output path is source path (I4724)

9.0.502 stable

  • Project no longer crashes if file parameters change during build (I4710)
  • Closing a modified package no longer crashes Developer (I4708)

9.0.501 stable

  • kmcomp no longer modifies project files during a build (I4709)

9.0.500 stable

  • Add silent and warning-as-error parameters to kmcomp (I4706)
  • Add clean target to kmcomp (I4707)

9.0.499 stable

  • Add KeymanDeveloperPath environment variable to installer (I4705)

9.0.498 stable

  • Project files should be formatted XML (I4704)

9.0.497 stable

  • section should be in project .user file (I4700)
  • If version is not specified in keyboard file, it gets blank instead of 1.0 in kmcomp .kpj (I4701)
  • Package actions crash if package not part of a project [CrashID:tike.exe_9.0.496.0_008033BD_EAccessViolation] (I4702)

9.0.496 stable

  • Remove VCL dependency for mrulist (I4697)
  • Split project and user preferences files (I4698)
  • Compile .kpj files from kmcomp (I4699)
  • Split UI actions from non-UI actions in projects (I4694)
  • Debugger needs to use project file filename not internal name (I4695)
  • Refactor compile into project file action (I4686)
  • Split project UI actions into separate classes (I4687)
  • Add build path to project settings (I4688)
  • Redesign package editor as left tabbed (I4689)
  • Pull keyboard version into package version when adding a keyboard (I4690)
  • Always save project automatically (I4691)
  • Add Clean as project action (I4692)
  • Fix crash when creating left tabbed page control without images (I4693)

9.0.495 stable

  • Move Developer help to online only (I4677)
  • Fixup Ctrl+PgUp, Ctrl+PgDn, Alt+Left, Alt+Right hotkeys (I4678)
  • Remember focus for active editor when swapping editors (I4679)
  • Ctrl+S often activates the "select key" dialog in editor (I4680)
  • mnemoniclayout store should be enough to block design view (I4681)
  • Installing a keyboard with an OSK from Developer fails to install the OSK (I4682)

9.0.489 stable

  • WiX file generator in Keyman Developer was failing due to security (I4643)

9.0.488 stable

  • Debug host keyboard did not correctly map through some Keyman keyboard keys (I4156)

9.0.485 stable

  • Keyman Developer failed to import kvk xml file (I4619)

9.0.484 stable

  • context statement in output could fail in some situations in KeymanWeb compiler (I4611)

9.0.476 stable

  • The text editor in the keyboard wizard is no longer blanked in some circumstances when switching tabs (I4557)
  • Keyboard parser no longer forces keyboard version to 9.0 (I4558)
  • Debugger development - disable debug tip when stopping debugging (I4331)

9.0.475 stable

  • JSON search needs to do cleanname on the keyboard filename to find candidates (I4508)

9.0.474 stable

  • Consolidate the compile action into single command (I4504)
  • Add JSON metadata editor to keyboard wizard (I4505)
  • Add command to send email with targets (I4506)
  • Move tab close button onto tabs (I4507)

9.0.473 stable

  • Add kmw_embedcss to feature support in Developer (I4369)
  • Tab and Dismiss keys have been removed from touch templates (I4475)
  • Added source version of KMW to Keyman Developer (I4476)

9.0.472 stable

  • The dismiss keyboard and tab buttons should not be required by Keyman Developer now (I4447)
  • Sometimes when saving, the list of &WINDOWSLANGUAGES is doubled (I4329)
  • Standard fonts should not be downloaded to devices in test window (I4448)
  • Font CSS responds as ISO-8859-1 instead of UTF-8 (I4449)
  • Layout Builder is missing OSK special keys font in some situations (I4450)
  • Touch layout editor polish (I4330)

9.0.471 stable

  • JSON hosting for installing keyboard into native app has wrong extension (I4437)
  • Keyboard debugger does not show button control in desktop mode (I4438)
  • If more than one language listed for a keyboard, the JSON file becomes invalid (I4440)

9.0.469 stable

  • Download Keyboard dialog does not display correctly (I4414)
  • OSK does not show underlying characters if base keyboard is not loaded (I4415)

9.0.467 stable

  • Manual Activate dialog is misformatted (I4408)
  • Wrong font selected in keyboard debugger touch layout (I4409)
  • Metrics should be visible in touch layout editor (I4410)
  • Character map allows Ctrl+Click to insert character (I4411)
  • Wrong font selected in keyboard debugger touch layout (I4409)

9.0.463 stable

  • Line number comments are no longer incorrectly added to non-debug builds (I4384)

9.0.460 stable

  • Web and touch keyboards now support custom stylesheets with &kmw_embedcss (I4368)
  • Line number comments are now included in generated Javascript when compiling with debug (I4373)

9.0.458 stable

  • Added: Require Windows 7 or later for install (I4313)

9.0.454 stable

  • Fixed: Compiling a product installer failed with xsl security error (I3734)

9.0.453 stable

  • Fixed: Clicking Remove Feature when no feature selected crashes [CrashID:tike.exe_9.0.449.0_00987F63_EAccessViolation] (I4247)

9.0.452 stable

  • Fixed: File format dropdown should be disabled in project view (I3733)
  • Fixed: Crash opening project in read-only location [CrashID:tike.exe_9.0.443.0_005E202D_EOleException] (I4212)
  • Added: Added BCP-47 language codes to unicodedata (I4257)
  • Fixed: Keyboard font dialog crashed if in text editor view (I4258)
  • Added: Generate a .json file when compiling keyboard for web (I4259)
  • Added: Add link to install keyboard file into native app into debug web (I4260)
  • Added: Build 357 of KeymanWeb into Developer (I4261)
  • Fixed: Compile to web and test fails when keyboard version is not 1.0 (I4263)
  • Fixed: If Keyman Developer is running, double clicking a file in Explorer doesn't open it (I4264)

9.0.449 stable

  • Keyboard wizard crashes with missing template-default.js when adding Touch Layout (I4226)

9.0.448 stable

  • Manifests missing or malformed in some executables (I4205)
  • Block U_0000-U_001F and U_0080-U_009F in layout files (I4198)
  • adding a subkey array generates an invalid "?" id (I4213)
  • template-default should be called template-latin (I4217)
  • Activate/Purchase dialogs are incomplete and the Buy Modules button doesn't work (I4090)

9.0.447 stable

  • Add Windows compatibility values to all manifests (I4194)

9.0.443 stable

  • Need keyboard version control in Keyman Developer Wizard (I4157)
  • Keyboardversion is not compiled into kmw js (I4155)
  • keyboardversion is not read by KeymanWeb compiler and applied to filename. (I4154)

9.0.442 stable

  • Edit platform button still in editor even though it does nothing (Bug) (I4126)
  • OSK Import KMX breaks some shift states (Bug) (I4127)
  • Edit Platform dialog is deleted but button is still there in touch layout editor (Bug) (I4129)
  • Build php help files to (Tweak) (I4135)
  • Add keyboard version information to Keyman Configuration (Tweak) (I4136)
  • Don't prompt to sort out L/R shift on save of keyboard (Bug) (I4137)
  • If the KVK is removed from the keyboard, it can still be imported into the touch layout until the file is closed (Bug) (I4138)
  • Compress layout file when compiling to KMW (Tweak) (I4139)
  • Add keyboard version information to keyboards (Develop) (I4140)
  • Warn when unusable key ids are used (Develop) (I4141)
  • Validate key ids are in an acceptable format (Develop) (I4142)
  • Support modifier layers of KVK when importing a KMX (Bug) (I4143)
  • When character is dropped or double-clicked to insert into html text field, no modified event is triggered (Bug) (I4144)
  • Deadkeys are corrupted by KeyboardParser (Bug) (I4145)
  • When importing OSK into touch layout, unused layers are populated with base layer (Bug) (I4146)
  • If a touch layout is added to a keyboard, it doesn't get saved until the tab is visited (Bug) (I4147)
  • Touch layout editor is missing a number of standard key names (Bug) (I4148)
  • If a touch layout key has no id, the builder fails to load the json (Bug) (I4149)
  • Double clicking on a key should activate its 'nextlayer' in touch layout editor (Tweak) (I4150)
  • key id is not saved until field is blurred in touch layout editor (Bug) (I4151)
  • Resizing a key with the grab handle causes other keys to overlap during the resize operation (Bug) (I4152)
  • Pressing and releasing Ctrl in touch layout editor should allow selection of standard keys a-la layout editor (Tweak) (I4153)

9.0.441 stable

  • Double-click on Character Map when in Touch Layout Editor crashes TIKE (I4110)
  • Double-click in char map when no input element focused in touch layout editor crashes TIKE (I4111)
  • Installer links should be to (I4115)
  • KMW compiler should warn when extended shift flags are used (I4118)
  • KMW compiler should only warn unassociated keys that are not special keys (I4119)
  • Remove platform properties from touch layout editor as font details are now accessible via Keyboard|Font menu (I4120)
  • Rename 'subkey' to 'touch+hold popup' (I4121)
  • traditional touch template has K_SEMICOLON and K_SQUOTE wrongly named key ids (I4122)
  • Keyman Developer installer should required Vista or later (I4123)

9.0.440 stable

  • Keyman Developer installer icon is still v8.0 style (I4100)
  • Touch layout editor still has the font options in its Edit Platform dialog (I4091)

9.0.439 stable

  • Trace compile errors in subfiles in Keyman Developer (I4081)
  • Make details tab scrollable with mouse wheel (I4082)
  • When errors encountered in JSON layout file, locate the error in the source view (I4083)
  • Remove old font selection controls from wizard (I4085)
  • About should be version 9.0 style (I4086)
  • Splash should be version 9.0 style (I4084)
  • KeymanWeb compiler does not clear messages before starting (I4087)

9.0.438 stable

  • Keyman Developer Keyboard Font dialog helpful to reduce font confusion (I4057)
  • Touch Layout Import OSK fails with weird error if OSK is missing (I4058)
  • If OSK is not saved, then changes do not flow through in Touch Layout Import (I4059)
  • KeymanWeb compiler should validate the layout file (I4060)
  • KeymanWeb compiler needs defined codes for some errors (I4061)
  • Touch Layout platforms do not allow font size specification (I4062)
  • Web Debugger needs to embed fonts for OSK and text area (I4063)
  • Touch layout editor does not apply fonts consistently to keys (I4064)
  • Deleting a touch layout layer leaves a "null" entry in the layout file (I4065)

9.0.437 stable

  • Layout editor needs to refresh character map (I4046)
  • TIKE shows an error if you try to save before viewing the touch layout tab (I4047)
  • Various fixes and features for touch layout editor: (I4049)
    • Deselecting main key does not disable subkey or clear other controls
    • Drag+drop not sticking
    • Drag+drop not allowing drop at end
    • Key height not right
    • Not showing editor in line for key
    • Not showing key code on key
    • No wedges showing
    • No delete icon showing
    • Deselecting does not disable controls
    • If inserting or removing key padding, the key display does not refresh correctly
    • 'Label:' label should be removed
    • Key id does not update on keyboard view when changed
  • Character map does not show currently selected char from keyboard view (I4049)
  • Button UI not displaying in KMDev KMW test window (I4048)

9.0.436 stable

  • Add support for Redo to Keyman Developer actions (I4032)
  • Enable SHIFT+ESC to pause debugger with TSF (I4033)
  • Restructure keyboard wizard for source views and features (I4034)
  • Parsing of UTF-8 in JSON layout file crashes TIKE (I4035)
  • Keyboard Debug HTTP Host should be thread safe (I4036)
  • Keyboard HTTP debugger sometimes caches old keyboards (I4037)

9.0.434 stable

  • Redesign Keyboard Wizard to integrate V9 features (I4021)
  • Rework Import KMX to work with V9.0 Debug Host Keyboard (I4022)
  • Touch Layout Editor crashes with file in use sometimes (I4023)
  • Installer is missing jquery support files for Configuration UI (I4011)

Legacy "What's New" sections

8.0.0 stable

Fully integrated source editors

  • Changes to source are instantly reflected in the Design Editor and vice-versa
  • Keyboard, Package and Distribution editors all have Source tabs
  • On Screen Keyboard Editor integrated into Keyboard Editor
  • Keyboard, Package and Distribution editors feature integrated upload to Tavultesoft

Much improved character map

  • Displays all characters from Unicode 5.0
  • Filter characters by range, name, font and more
  • Exceptionally clear display with ClearType and font linking
  • Resizeable character cells

Tightly integrated project

  • Project provides a clear step-by-step process for developing keyboard solutions
  • Links in the project take you to tutorials, help, and more

User Interface Redesign

  • Much clearer user interface - every screen revisited and polished

Language Changes

  • 'notany' Statement - provides the opposite of the 'any' statement
  • Maximum store or rule length now 4095 characters, up from 255
  • New system stores for KeymanWeb and On Screen Keyboard links

Keyboard Icons

  • Keyboard icons support 256 colour and transparency


  • New tutorials for Packages, Branding and Distribution

KeymanWeb Pack

  • KeymanWeb compiler and design tools integrated into Keyboard Editor
  • KeymanWeb keyboard test window

Branding Pack

  • Create your own product using the Branding Pack and the Keyman Engine
  • Fully customisable user interface for your product with Branding Editor
  • Distribution Editor to create a Windows Installer .msi for your product
  • Customer Relationship Manager
    • manage your customers and their licences from your desktop
    • fully integrated with the Tavultesoft Online Store
  • Simple integration of your product into Tavultesoft Online Store for instant online sales
  • Integration with WiX provides modern installation techniques for product installers
  • Keyman Engine separated from Keyman Desktop to enable straightforward use in your own product

Modern installation and operating system support

  • Modern Windows Installer for straightforward deployment
  • Windows Vista support
  • Unicode support throughout Keyman Developer
  • Automated online updates