# Keyman Developer Version History ## 2020-02-24 13.0.101 stable * 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) ## 2020-02-19 13.0.100 stable * Chore: Keyman Developer 13.0.100 release ## 2020-02-18 13.0.76 beta * Bug Fix(Install): Upgrading would lose user settings (resolves after 2 upgrades) (#2668) ## 2020-02-17 13.0.75 beta * 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) ## 2020-02-13 13.0.73 beta * 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) ## 2020-02-12 13.0.72 beta * Bug Fix(IDE/Debugger): MIME type mismatch on some systems could cause web test to fail (#2633) ## 2020-02-11 13.0.66 beta * 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) ## 2020-01-28 13.0.65 beta * 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) ## 2020-01-20 12.0.66 stable * Bug Fix: Character Map was not reliably dropping into Text Editor (#2504) * Bug Fix: Lexical model compiler was not handling SMP characters (#2502) ## 2020-01-20 12.0.65 stable * Bug Fix: Missing author email was causing lexical model compiler to fail (#2496) ## 2019-12-06 12.0.62 stable * Bug Fix: Shortcuts in text editors were not working after #2331 (#2425) ## 2019-11-18 12.0.55 stable * Bug Fix: Some keyboards were incorrectly marked as mobile-capable (#2343) ## 2019-11-15 12.0.54 stable * Bug Fix: Text editor and other controls did not receive focus correctly (#2340) ## 2019-10-07 12.0.50 stable * Release 12.0 ## 2019-10-05 12.0.45 beta * Touch Layout Editor: Make default padding in touch layout editor match default padding in KeymanWeb. (#2170) ## 2019-10-04 12.0.44 beta * 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) ## 2019-09-30 12.0.41 beta * General: Keyman Desktop 11 would crash if installed together with Keyman Developer 12. (#2148) ## 2019-09-29 12.0.40 beta * General: Context help was not showing correctly on startup. (#2145) ## 2019-09-27 12.0.39 beta * 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) ## 2019-09-25 12.0.37 beta * 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) ## 2019-09-24 12.0.36 beta * 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) ## 2019-09-20 12.0.34 beta * Add basic wordlist editor to Keyman Developer (#2086) ## 2019-09-19 12.0.33 beta * 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) ## 2019-09-11 12.0.30 beta * Clarify the project filename that will be created and simplify how the Browse button works in Project Template dialogs (#2073) ## 2019-09-09 12.0.28 beta * Character preview was not updating in mobile web touch test (#2061) ## 2019-09-08 12.0.27 beta * 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) ## 2019-09-02 12.0.23 beta * Add kmlmc, kmlmi and kmlmp command line tools for building lexical models (#2024) ## 2019-08-16 12.0.15 beta * Add support for lexical models in packages for development tools (#1977) ## 2019-07-29 12.0.9 beta * Initial beta release of Keyman Desktop 12 * [Pull Requests](https://github.com/keymanapp/keyman/pulls?utf8=%E2%9C%93&q=is%3Apr+merged%3A2019-02-25..2019-08-04+label%3Adeveloper+base%3Amaster) * 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](https://github.com/keymanapp/keyman/pulls?utf8=%E2%9C%93&q=is%3Apr+merged%3A2018-07-01..2019-01-01+label%3Adeveloper+-label%3Acherry-pick+-label%3Astable) * 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 history.md (#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) ## 2018-11-28 10.0.1206 stable * Add parameter `-add-help-link` to kmcomp (#1346) ## 2018-11-07 10.0.1205 stable * Mitigation for issues with installation under certain languages in Windows 10 1803 or later (#1299) ## 2018-09-28 10.0.1204 stable * Fix crash in Keyman Developer package editor when a compiled .js keyboard is missing (#1224) ## 2018-09-12 10.0.1202 stable * Refactor how keyboard_info metadata is generated (#1174) ## 2018-07-06 10.0.1201 stable * No changes to Keyman Developer (update to KeymanWeb script) ## 2018-06-28 10.0.1200 stable * 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 *api.keyman.com* and *keyman.com* for online tools (#653) ### Compilers * 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) ### Language * 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) ### Tools * 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 help.keyman.com (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 keyman.com (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 ### Tutorials * 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